From 1be510f9529cb082f802408b472a77d074b394c0 Mon Sep 17 00:00:00 2001 From: Nicolas Vigier Date: Sun, 14 Apr 2013 13:46:12 +0000 Subject: Add zarb MLs html archives --- zarb-ml/mageia-dev/2012-December/020708.html | 308 +++++++++++++++++++++++++++ 1 file changed, 308 insertions(+) create mode 100644 zarb-ml/mageia-dev/2012-December/020708.html (limited to 'zarb-ml/mageia-dev/2012-December/020708.html') diff --git a/zarb-ml/mageia-dev/2012-December/020708.html b/zarb-ml/mageia-dev/2012-December/020708.html new file mode 100644 index 000000000..ebcc14514 --- /dev/null +++ b/zarb-ml/mageia-dev/2012-December/020708.html @@ -0,0 +1,308 @@ + + + + [Mageia-dev] [soft-commits] [6663] para + + + + + + + + + +

[Mageia-dev] [soft-commits] [6663] para

+ Pascal Terjan + pterjan at gmail.com +
+ Mon Dec 10 10:40:37 CET 2012 +

+
+ +
On Mon, Dec 10, 2012 at 9:38 AM,  <root at mageia.org> wrote:
+> Revision 6663 Author pterjan Date 2012-12-10 10:38:12 +0100 (Mon, 10 Dec
+> 2012)
+>
+> Log Message
+>
+> para
+
+And this one did not get the one I changed in git, I will edit svn log :(
+
+> Modified Paths
+>
+> build_system/iurt/trunk/iurt
+>
+> Modified: build_system/iurt/trunk/iurt
+> ===================================================================
+> --- build_system/iurt/trunk/iurt	2012-12-10 03:38:14 UTC (rev 6662)
+> +++ build_system/iurt/trunk/iurt	2012-12-10 09:38:12 UTC (rev 6663)
+> @@ -173,6 +173,9 @@
+>      [ "", "concurrent-run", 0, "",
+>      "Allow several iurt to run on different machines (slower)",
+>      sub { $run{concurrent_run} = 1 }, "Activating concurrent run checks" ],
+> +    [ "", "parallel", 1, "<n>",
+> +    "Build up to <n> packages in parallel",
+> +    sub {($run{parallel}) = @_; 1}, "Enabling parallel build" ],
+>      [ "d", "dir", -1, "",
+>      "Directory where to find packages to rebuild",
+>      sub { $run{extra_dir} = \@_; 1 }, "Adding extra source packages
+> directories" ],
+> @@ -813,33 +816,16 @@
+>  #$SIG{INT} = $s;
+>  $run{main} = 1;
+>
+> -my $rebuild;
+> -$run{group} = 0 if @{$run{todo}} == 1;
+> -if ($run{group}) {
+> -    $rebuild = 1;
+> -    $urpmi->set_local_media($local_spool);
+> -    $urpmi->order_packages(\%provides, $luser)
+> -	or die "FATAL $program_name: could not order packages";
+> -}
+> -#
+> -# The build loop
+> -#
+> -my $prev_done = $done;
+> -do {
+> -    $rebuild = 0;
+> -    $done = $prev_done;
+> -    my $i;
+> -    for ($i; $i < @{$run{todo}}; $i++) {
+> -	my ($dir, $srpm, $status) = @{$run{todo}[$i]};
+> -	
+> +sub rebuild_one {
+> +	my ($dir, $srpm, $status) = @_;
+>  	# CM: Set argv[0] (in the C sense) to something we can easily spot and
+>  	#     understand in process list
+>  	$0 = "Iurt: $run{distro_tag} $run{my_arch} $run{media} $srpm";
+>
+> -	$status or next;
+> -	$done{$srpm} and next;
+> +	$status or return;
+> +	$done{$srpm} and return;
+>  	$done{$srpm} = 1;
+> -	check_version(\%run, $srpm, \%srpm_version) or next;
+> +	check_version(\%run, $srpm, \%srpm_version) or return;
+>  	if ($run{debug}) { $run{debug}++ == 2 and exit() }
+>  	$done++;
+>  	plog('NOTIFY', "Build package $srpm [$done/$to_compile]");
+> @@ -849,7 +835,7 @@
+>  	    $run{status}{$srpm} = 'missing';
+>  	    dump_cache_par(\%run);
+>  	    dump_status($local_spool, \%run);
+> -	    next;
+> +	    return;
+>  	}
+>  	# FIXME unfortunately urpmi stalls quite often
+>  	my $retry = 0;
+> @@ -864,14 +850,14 @@
+>  	
+>  	if (!$run{use_old_chroot}) {
+>  	    $chroot_tmp = create_temp_chroot(\%run, $config,
+> -		$chroot_tmp, $chroot_ref) or next;
+> +		$chroot_tmp, $chroot_ref) or return;
+>  	}
+>
+>  	if (!$urpmi->urpmi_command($chroot_tmp)) {
+>  	    plog('DEBUG', "Creating chroot failed.\nCommand was: $chroot_tmp");
+> -	    next;
+> +	    return;
+>  	}
+> -	$srpm =~ /(.*)-[^-]+-[^-]+\.src\.rpm$/ or next;
+> +	$srpm =~ /(.*)-[^-]+-[^-]+\.src\.rpm$/ or return;
+>  	my ($maintainer, $cc);
+>  	if (!$run{warn}) {
+>  	    ($maintainer) = get_maint(\%run, $srpm);
+> @@ -885,7 +871,7 @@
+>  	#($maintainer, $cc) = ($config->{admin},'');
+>
+>  	plog('DEBUG', "creating user $luser in chroot");
+> -	add_local_user($chroot_tmp, \%run, $config, $luser, $run{uid}) or next;
+> +	add_local_user($chroot_tmp, \%run, $config, $luser, $run{uid}) or return;
+>
+>  	my $old_srpm = $srpm;
+>  	my ($ret, $spec);
+> @@ -908,7 +894,7 @@
+>  	    $run{status}{$srpm} = 'recreate_srpm_failure';
+>  	    dump_cache_par(\%run);
+>  	    dump_status($local_spool, \%run);
+> -	    next;
+> +	    return;
+>  	}
+>
+>  	(my $log_dirname = $srpm) =~ s/.*:(.*)\.src.rpm/$1/;
+> @@ -928,7 +914,7 @@
+>  	my $ok = $urpmi->install_packages($srpm, $chroot_tmp, $local_spool,
+> \%pack_provide, 'install_deps', "[REBUILD] install of build dependencies of
+> $srpm failed on $run{my_arch}", { maintainer => $maintainer },
+> "$path_srpm/$srpm");
+>  	if (!$ok) {
+>  	    $run{status}{$srpm} ||= 'install_deps_failure';
+> -	    next;
+> +	    return;
+>  	}
+>
+>  	# try to workarround the rpm -qa db4 error(2) from dbcursor->c_get:
+> @@ -1009,7 +995,7 @@
+>  	    # 20060615
+>  	    dump_cache_par(\%run);
+>  	    dump_status($local_spool, \%run);
+> -	    next;
+> +	    return;
+>  	}
+>
+>  	# do some cleaning if the compilation is successful
+> @@ -1019,7 +1005,7 @@
+>  	opendir my $binfh, "$chroot_tmp/home/$luser/rpmbuild/RPMS/";
+>  	my @packages;
+>  	foreach my $bindir (readdir $binfh) {
+> -	    -d "$chroot_tmp/home/$luser/rpmbuild/RPMS/$bindir" or next;
+> +	    -d "$chroot_tmp/home/$luser/rpmbuild/RPMS/$bindir" or return;
+>  	    opendir my $rpmfh, "$chroot_tmp/home/$luser/rpmbuild/RPMS/$bindir";
+>  	    push @packages, map {
+> "$chroot_tmp/home/$luser/rpmbuild/RPMS/$bindir/$_" } grep { !/src\.rpm$/ &&
+> /\.rpm$/ } readdir $rpmfh;
+>  	}
+> @@ -1028,7 +1014,7 @@
+>  	# segfaulting when trying to install packages
+>
+>  	if ($config->{check_binary_file}) {
+> -	    $urpmi->install_packages($srpm, $chroot_tmp, $local_spool,
+> \%pack_provide, 'binary_test', "[REBUILD] binaries packages generated from
+> $srpm do not install correctly", { maintainer => $maintainer } , at packages)
+> or next;
+> +	    $urpmi->install_packages($srpm, $chroot_tmp, $local_spool,
+> \%pack_provide, 'binary_test', "[REBUILD] binaries packages generated from
+> $srpm do not install correctly", { maintainer => $maintainer } , at packages)
+> or return;
+>  	} else  {
+>  	    my $successfile = "$local_spool/log/$srpm/binary_test_$srpm-1.log";
+>  	    open my $f, ">$successfile";
+> @@ -1066,7 +1052,64 @@
+>  	dump_status($local_spool, \%run);
+>  	# dump_cache each time so that concurrent process can get updated
+>  	dump_cache_par(\%run) if $run{concurrent_run};
+> +    return 1;
+> +}
+> +
+> +my $rebuild;
+> +$run{group} = 0 if @{$run{todo}} == 1;
+> +if ($run{group}) {
+> +    $rebuild = 1;
+> +    $urpmi->set_local_media($local_spool);
+> +    $urpmi->order_packages(\%provides, $luser)
+> +	or die "FATAL $program_name: could not order packages";
+> +}	
+> +#
+> +# The build loop
+> +#
+> +my $prev_done = $done;
+> +do {
+> +    $rebuild = 0;
+> +    $done = $prev_done;
+> +    my $i;
+> +    my %children;
+> +    for ($i; $i < @{$run{todo}}; $i++) {
+> +	my ($dir, $srpm, $status) = @{$run{todo}[$i]};
+> +	if ($run{parallel}) {
+> +	    my $pid;
+> +	    # First cleanup all the finished ones
+> +	    do {
+> +		$pid = waitpid(-1, WNOHANG);
+> +		if ($pid > 0) {
+> +		    plog('INFO', "Child $pid has exited");
+> +		    delete $children{$pid};
+> +	        }
+> +	    } while $pid > 0;
+> +	    while (scalar keys %children >= $run{parallel}) {
+> +		plog('INFO', "Too many children, waiting to fork more");
+> +		$pid = waitpid(-1, 0);
+> +		delete $children{$pid} if $pid > 0;
+> +	    }
+> +	    my $pid = fork;
+> +	    if ($pid) { #parent
+> +		$children{$pid} = 1;
+> +	    } elsif ($pid == 0) { #child
+> +		$chroot_tmp .= "_" . int($i);
+> +		rebuild_one($dir, $srpm, $status);
+> +		exit;
+> +	    } else {
+> +		die "could not fork";
+> +	    }
+> +	} else {
+> +	    rebuild_one($dir, $srpm, $status);
+> +	}
+>      }
+> +    if ($run{parallel}) {
+> +	foreach my $pid (keys %children) {
+> +	    plog('INFO', "Waiting for process $pid to exit");
+> +	    waitpid($pid, 0);
+> +	    delete $children{$pid};
+> +	}
+> +    }
+>      if ($run{group}) {
+>  	my $i;
+>  	for ($i; $i < @{$run{todo}}; $i++) {
+>
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ +
+More information about the Mageia-dev +mailing list
+ -- cgit v1.2.1