[buildd-tools-devel] [PATCH 6/6] Set Host and Build arch in resolver object. Make names consistent. Part two of using get instead of get_conf for arches

Wookey wookey at wookware.org
Tue Jan 17 03:07:39 UTC 2012


---
 lib/Sbuild/Build.pm        |   53 +++++++++++++++++++++++--------------------
 lib/Sbuild/ResolverBase.pm |   24 ++++++++++----------
 2 files changed, 40 insertions(+), 37 deletions(-)

diff --git a/lib/Sbuild/Build.pm b/lib/Sbuild/Build.pm
index e9be0ad..c3ccb04 100644
--- a/lib/Sbuild/Build.pm
+++ b/lib/Sbuild/Build.pm
@@ -271,8 +271,8 @@ sub run {
 	$self->set('Pkg End Time', $self->get('Pkg Start Time'));
 
 	# Acquire the architectures we're building for and on.
-	$self->set('Host_Arch', $self->get_conf('HOST_ARCH'));
-	$self->set('Build_Arch', $self->get_conf('BUILD_ARCH'));
+	$self->set('Host Arch', $self->get_conf('HOST_ARCH'));
+	$self->set('Build Arch', $self->get_conf('BUILD_ARCH'));
 
 	my $dist = $self->get_conf('DISTRIBUTION');
 	if (!defined($dist) || !$dist) {
@@ -466,6 +466,9 @@ sub run_chroot_session {
 
 	my $resolver = get_resolver($self->get('Config'), $session, $host);
 	$resolver->set('Log Stream', $self->get('Log Stream'));
+	$resolver->set('Arch', $self->get_conf('ARCH'));
+	$resolver->set('Host Arch', $self->get_conf('HOST_ARCH'));
+	$resolver->set('Build Arch', $self->get_conf('BUILD_ARCH'));
 	$resolver->set('Chroot Build Dir', $self->get('Chroot Build Dir'));
 	$self->set('Dependency Resolver', $resolver);
 
@@ -631,10 +634,10 @@ sub run_fetch_install_packages {
 	$self->set('Install Start Time', time);
 	$self->set('Install End Time', $self->get('Install Start Time'));
 	my @coredeps = @{$self->get_conf('CORE_DEPENDS')};
-	if ($self->get('Host_Arch') ne $self->get('Build_Arch')) {
+	if ($self->get('Host Arch') ne $self->get('Build Arch')) {
 	    my $crosscoredeps;
 	    $crosscoredeps = $self->get_conf('CROSSBUILD_CORE_DEPENDS');
-	    $resolver->add_dependencies('CORE', join(", ", @coredeps, @{$crosscoredeps->{$self->get('Host_Arch')}}) , "", "", "", "", "");
+	    $resolver->add_dependencies('CORE', join(", ", @coredeps, @{$crosscoredeps->{$self->get('Host Arch')}}) , "", "", "", "", "");
 	} else {
 	    $resolver->add_dependencies('CORE', join(", ", @coredeps) , "", "", "", "", "");
 	}
@@ -661,7 +664,7 @@ sub run_fetch_install_packages {
 				    join(", ", @{$self->get_conf('MANUAL_CONFLICTS_ARCH')}),
 				    join(", ", @{$self->get_conf('MANUAL_CONFLICTS_INDEP')}));
 
-	if ($self->get('Host_Arch') eq $self->get('Build_Arch')) {
+	if ($self->get('Host Arch') eq $self->get('Build Arch')) {
 	# for native building make and install dummy-deps package
 		$resolver->add_dependencies($self->get('Package'),
 						$self->get('Build Depends'),
@@ -681,9 +684,9 @@ sub run_fetch_install_packages {
 	} else { # cross-building
 		# install cross-deps. Hacked for now - need to generate dummy package
 		$self->log_subsection('Install cross build-dependencies (apt-get -a)');
-		$self->log('Cross-deps: Running apt-get -a' . $self->get('Host_Arch') . ' build-dep ' . $self->get('Package') . "\n");
+		$self->log('Cross-deps: Running apt-get -a' . $self->get('Host Arch') . ' build-dep ' . $self->get('Package') . "\n");
 		$resolver->run_apt_command(
-			{ COMMAND => [$self->get_conf('APT_GET'),  '-a' . $self->get('Host_Arch'), 'build-dep', '-yf', $self->get('Package')],
+			{ COMMAND => [$self->get_conf('APT_GET'),  '-a' . $self->get('Host Arch'), 'build-dep', '-yf', $self->get('Package')],
 			ENV => {'DEBIAN_FRONTEND' => 'noninteractive'},
 			USER => 'root',
 			DIR => '/' });
@@ -817,7 +820,7 @@ sub fetch_source_files {
     my $build_dir = $self->get('Chroot Build Dir');
     my $pkg = $self->get('Package');
     my $ver = $self->get('OVersion');
-    my $host_arch = $self->get('Host_Arch');
+    my $host_arch = $self->get('Host Arch');
 
     my ($dscarchs, $dscpkg, $dscver, @fetched);
 
@@ -1222,8 +1225,8 @@ sub build {
     my $dscdir = $self->get('DSC Dir');
     my $pkg = $self->get('Package');
     my $build_dir = $self->get('Chroot Build Dir');
-    my $host_arch = $self->get('Host_Arch');
-    my $build_arch = $self->get('Build_Arch');
+    my $host_arch = $self->get('Host Arch');
+    my $build_arch = $self->get('Build Arch');
 
     my( $rv, $changes );
     local( *PIPE, *F, *F2 );
@@ -1896,8 +1899,8 @@ sub generate_stats {
     $self->add_stat('Version', $self->get('Version'));
     $self->add_stat('Source-Version', $self->get('OVersion'));
     $self->add_stat('Machine Architecture', $self->get_conf('ARCH'));
-    $self->add_stat('Host Architecture', $self->get('Host_Arch'));
-    $self->add_stat('Build Architecture', $self->get('Build_Arch'));
+    $self->add_stat('Host Architecture', $self->get('Host Arch'));
+    $self->add_stat('Build Architecture', $self->get('Build Arch'));
     $self->add_stat('Distribution', $self->get_conf('DISTRIBUTION'));
     $self->add_stat('Space', $self->get('This Space'));
     $self->add_stat('Build-Time',
@@ -2028,7 +2031,7 @@ sub open_build_log {
 
     my $filename = $self->get_conf('LOG_DIR') . '/' .
 	$self->get('Package_SVersion') . '-' .
-	$self->get('Host_Arch') .
+	$self->get('Host Arch') .
 	"-$date";
 
     open($saved_stdout, ">&STDOUT") or warn "Can't redirect stdout\n";
@@ -2046,7 +2049,7 @@ sub open_build_log {
 	$SIG{'QUIT'} = 'IGNORE';
 	$SIG{'PIPE'} = 'IGNORE';
 
-	$PROGRAM_NAME = 'package log for ' . $self->get('Package_SVersion') . '_' . $self->get('Host_Arch');
+	$PROGRAM_NAME = 'package log for ' . $self->get('Package_SVersion') . '_' . $self->get('Host Arch');
 
 	if (!$self->get_conf('NOLOG') &&
 	    $self->get_conf('LOG_DIR_AVAILABLE')) {
@@ -2065,7 +2068,7 @@ sub open_build_log {
 		$self->log_symlink($filename,
 				   $self->get_conf('BUILD_DIR') . '/' .
 				   $self->get('Package_SVersion') . '_' .
-				   $self->get('Host_Arch') . '.build');
+				   $self->get('Host Arch') . '.build');
 	    }
 	}
 
@@ -2148,10 +2151,10 @@ sub open_build_log {
     my $hostname = $self->get_conf('HOSTNAME');
     $self->log("sbuild (Debian sbuild) $version ($release_date) on $hostname\n");
 
-    my $arch_string = $self->get('Build_Arch');
-    $arch_string = 'CROSS host=' . $self->get('Host_Arch') .
-	'/build=' . $self->get('Build_Arch')
-	if ($self->get('Host_Arch') ne $self->get('Build_Arch'));
+    my $arch_string = $self->get('Build Arch');
+    $arch_string = 'CROSS host=' . $self->get('Host Arch') .
+	'/build=' . $self->get('Build Arch')
+	if ($self->get('Host Arch') ne $self->get('Build Arch'));
     my $head1 = $self->get('Package') . ' ' . $self->get('Version') .
 	' (' . $arch_string . ') ';
     my $head2 = strftime("%d %b %Y %H:%M",
@@ -2165,8 +2168,8 @@ sub open_build_log {
     $self->log("Source Version: " . $self->get('OVersion') . "\n");
     $self->log("Distribution: " . $self->get_conf('DISTRIBUTION') . "\n");
     $self->log("Machine Architecture: " . $self->get_conf('ARCH') . "\n");
-    $self->log("Host Architecture: " . $self->get('Host_Arch') . "\n");
-    $self->log("Build Architecture: " . $self->get('Build_Arch') . "\n");
+    $self->log("Host Architecture: " . $self->get('Host Arch') . "\n");
+    $self->log("Build Architecture: " . $self->get('Build Arch') . "\n");
     $self->log("\n");
 }
 
@@ -2204,15 +2207,15 @@ sub close_build_log {
 	if (defined($self->get_conf('KEY_ID')) && $self->get_conf('KEY_ID')) {
 	    my $key_id = $self->get_conf('KEY_ID');
 	    $self->log(sprintf("Signature with key '%s' requested:\n", $key_id));
-	    my $changes = $self->get('Package_SVersion') . '_' . $self->get('Host_Arch') . '.changes';
+	    my $changes = $self->get('Package_SVersion') . '_' . $self->get('Host Arch') . '.changes';
 	    system (sprintf('debsign -k%s %s', $key_id, $changes));
 	}
     }
 
     my $subject = "Log for " . $self->get_status() .
 	" build of " . $self->get('Package_Version');
-    if ($self->get('Host_Arch')) {
-	$subject .= " on " . $self->get('Host_Arch');
+    if ($self->get('Host Arch')) {
+	$subject .= " on " . $self->get('Host Arch');
     }
     if ($self->get_conf('ARCHIVE')) {
 	$subject .= " (" . $self->get_conf('ARCHIVE') . "/" . $self->get_conf('DISTRIBUTION') . ")";
@@ -2311,7 +2314,7 @@ sub send_mime_build_log {
 		);
     }
 
-    my $changes = $self->get('Package_SVersion') . '_' . $self->get('Host_Arch') . '.changes';
+    my $changes = $self->get('Package_SVersion') . '_' . $self->get('Host Arch') . '.changes';
     if ($self->get_status() eq 'successful' && -r $changes) {
 	my $log_part = MIME::Lite->new(
 		Type     => 'text/plain',
diff --git a/lib/Sbuild/ResolverBase.pm b/lib/Sbuild/ResolverBase.pm
index 9ebd8e3..24c3dcd 100644
--- a/lib/Sbuild/ResolverBase.pm
+++ b/lib/Sbuild/ResolverBase.pm
@@ -88,9 +88,9 @@ sub setup {
 	}
 	print $F "APT::Install-Recommends false;\n";
 
-	if ($self->get_conf('HOST_ARCH') ne $self->get_conf('BUILD_ARCH')) {
-	    print $F "APT::Architecture=".$self->get_conf('HOST_ARCH');
-	    $self->log("Adding APT::Architecture ".$self->get_conf('HOST_ARCH')." to the apt config");
+	if ($self->get('Host Arch') ne $self->get('Build Arch')) {
+	    print $F "APT::Architecture=".$self->get('Host Arch');
+	    $self->log("Adding APT::Architecture ".$self->get('Host Arch')." to the apt config");
 	}
 	if ($self->get('Split')) {
 	    print $F "Dir \"$chroot_dir\";\n";
@@ -137,18 +137,18 @@ sub setup_dpkg {
     my $session = $self->get('Session');
 
     # If cross-building, set the correct foreign-arch
-    if ($self->get_conf('HOST_ARCH') ne $self->get_conf('BUILD_ARCH')) {
+    if ($self->get('Host Arch') ne $self->get('Build Arch')) {
 	$session->run_command(
-	    { COMMAND => ['sh', '-c', 'echo "foreign-architecture ' . $self->get_conf('HOST_ARCH') . '" > /etc/dpkg/dpkg.cfg.d/sbuild'],
+	    { COMMAND => ['sh', '-c', 'echo "foreign-architecture ' . $self->get('Host Arch') . '" > /etc/dpkg/dpkg.cfg.d/sbuild'],
 	      USER => 'root' });
         # We should get this much nicer interface with new dpkg upload.
-        # { COMMAND => ['dpkg', '--add-foreign-architecture ', $self->get_conf('HOST_ARCH')],
+        # { COMMAND => ['dpkg', '--add-foreign-architecture ', $self->get('Host Arch')],
         #   USER => 'root' });
 	if ($?) {
 	    $self->log_error("E: Failed to set dpkg foreign-architecture config\n");
 	    return 0;
 	}
-	$self->log("Setting dpkg foreign-architecture\n");
+	$self->log("Setting dpkg foreign-architecture to ".$self->get('Host Arch')."\n");
     }
 }
 
@@ -157,7 +157,7 @@ sub cleanup {
 
     #cleanup dpkg cross-config
     # rm /etc/dpkg/dpkg.cfg.d/sbuild
-    # later: dpkg --delete-foreign-architecture $host_arch
+    # later: dpkg --delete-foreign-architecture $self->get('Host Arch')
     $self->cleanup_apt_archive();
 }
 
@@ -387,7 +387,7 @@ sub dump_build_environment {
 
     my $status = $self->get_dpkg_status();
 
-    my $arch = $self->get_conf('ARCH');
+    my $arch = $self->get('Arch');
     my ($sysname, $nodename, $release, $version, $machine) = POSIX::uname();
     $self->log_subsection("Build environment");
     $self->log("Kernel: $sysname $release $arch ($machine)\n");
@@ -673,7 +673,7 @@ sub setup_apt_archive {
 	return 0;
     }
 
-    my $arch = $self->get_conf('BUILD_ARCH');
+    my $arch = $self->get('Build Arch');
     print DUMMY_CONTROL <<"EOF";
 Package: $dummy_pkg_name
 Version: 0.invalid.0
@@ -717,11 +717,11 @@ EOF
     my $positive = deps_parse(join(", ", @positive,
 				   @positive_arch, @positive_indep),
 			      reduce_arch => 1,
-			      host_arch => $self->get_conf('HOST_ARCH'));
+			      host_arch => $self->get('Host Arch'));
     my $negative = deps_parse(join(", ", @negative,
 				   @negative_arch, @negative_indep),
 			      reduce_arch => 1,
-			      host_arch => $self->get_conf('HOST_ARCH'));
+			      host_arch => $self->get('Host Arch'));
 
     $self->log("Merged Build-Depends: $positive\n") if $positive;
     $self->log("Merged Build-Conflicts: $negative\n") if $negative;
-- 
1.7.7.3




More information about the Buildd-tools-devel mailing list