From 1be510f9529cb082f802408b472a77d074b394c0 Mon Sep 17 00:00:00 2001
From: Nicolas Vigier <boklm@mageia.org>
Date: Sun, 14 Apr 2013 13:46:12 +0000
Subject: Add zarb MLs html archives

---
 .../20130208/a0c61144/attachment-0001.obj          | 140 +++++++++++++++++++++
 .../attachments/20130208/a0c61144/attachment.obj   | 140 +++++++++++++++++++++
 2 files changed, 280 insertions(+)
 create mode 100644 zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment-0001.obj
 create mode 100644 zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment.obj

(limited to 'zarb-ml/mageia-dev/attachments/20130208/a0c61144')

diff --git a/zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment-0001.obj b/zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment-0001.obj
new file mode 100644
index 000000000..17cfc7ba4
--- /dev/null
+++ b/zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment-0001.obj
@@ -0,0 +1,140 @@
+commit f2056220a3255557942a3916a0869701751f5e35
+Author: Thierry Vignaud <thierry.vignaud@gmail.com>
+Date:   Fri Feb 8 18:35:06 2013 +0100
+
+    (install_logger) keep a separate counter for erasures
+    
+    only initialize $total_pkg:
+    - when starting a new transaction
+    - or on first erasure in transaction
+    
+    (_compute_pkg_total) kill it (no more needed)
+    
+    adjust testsuite accordingly
+
+diff --git a/NEWS b/NEWS
+index b1057d8..e8d3cf9 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,5 @@
++- keep a separate counter for erasures
++
+ Version 7.17 - 5 February 2013, by Thierry Vignaud
+ 
+ - fix counting for erasures
+diff --git a/t/superuser--obsolete-and-conflict.t b/t/superuser--obsolete-and-conflict.t
+index be3af8b..5284618 100644
+--- a/t/superuser--obsolete-and-conflict.t
++++ b/t/superuser--obsolete-and-conflict.t
+@@ -31,10 +31,10 @@ sub test1 {
+ 
+     my $arch = urpm::cfg::get_arch();
+     test_urpmi("b c", sprintf(<<'EOF', $arch, $arch));
+-      1/3: c
+-      2/3: b
++      1/2: c
++      2/2: b
+ removing package a-1-1.%s
+-      3/3: removing a-1-1.%s
++      1/1: removing a-1-1.%s
+ EOF
+     check_installed_and_remove('b', 'c');
+ }
+diff --git a/urpm/install.pm b/urpm/install.pm
+index 9a3ec05..25b9611 100644
+--- a/urpm/install.pm
++++ b/urpm/install.pm
+@@ -91,29 +91,33 @@ Standard logger for transactions
+ =cut
+ 
+ # install logger callback
+-my ($erase_logger, $index);
++my ($erase_logger, $index, $total_pkg, $uninst_count);
+ sub install_logger {
+     my ($urpm, $type, undef, $subtype, $amount, $total) = @_;
+-    my $total_pkg = $urpm->{nb_install};
+     local $| = 1;
+ 
+     if ($subtype eq 'start') {
+ 	$urpm->{logger_progress} = 0;
+ 	if ($type eq 'trans') {
++	    $total_pkg = $urpm->{nb_install};
+ 	    $urpm->{logger_count} ||= 0;
++	    $uninst_count = 0;
+ 	    my $p = N("Preparing...");
+ 	    print $p, " " x (33 - length $p);
+ 	} else {
+ 	    my $pname;
++	    my $cnt;
+ 	    if ($type eq 'uninst') {
++		$total_pkg = $urpm->{trans}->NElements - $index if !$uninst_count;
++		$cnt = ++$uninst_count;
+ 		$pname = N("removing %s", $urpm->{trans}->Element_fullname($index));
+ 		$erase_logger->($urpm, undef, undef, $subtype);
+ 	    } else {
+ 		# index already got bumped in {callback_open}:
+ 		$pname = $urpm->{trans}->Element_name($index-1);
++		++$urpm->{logger_count} if $pname;
++		$cnt = $pname ? $urpm->{logger_count} : '-';
+ 	    }
+-	    ++$urpm->{logger_count} if $pname;
+-	    my $cnt = $pname ? $urpm->{logger_count} : '-';
+ 	    my $s = sprintf("%9s: %-22s", $cnt . "/" . $total_pkg, $pname);
+ 	    print $s;
+ 	    $s =~ / $/ or printf "\n%9s  %-22s", '', '';
+diff --git a/urpm/main_loop.pm b/urpm/main_loop.pm
+index 5729035..ce1ea97 100644
+--- a/urpm/main_loop.pm
++++ b/urpm/main_loop.pm
+@@ -29,7 +29,7 @@ use urpm::select;
+ use urpm::orphans;
+ use urpm::get_pkgs;
+ use urpm::signature;
+-use urpm::util qw(any difference2 find intersection member partition untaint);
++use urpm::util qw(difference2 find intersection member partition untaint);
+ 
+ #- global boolean options
+ my ($auto_select, $no_install, $install_src, $clean, $noclean, $force, $parallel, $test);
+@@ -309,32 +309,6 @@ sub _run_transaction {
+     !$fatal;
+ }
+ 
+-# computes the number of packages to install or to erase -
+-# side-effects: urpm->{nb_install}
+-my $fullname2name_re = qr/^(.*)-[^\-]*-[^\-]*\.[^\.\-]*$/;
+-sub _compute_pkg_total {
+-    my ($urpm, $state, $options) = @_;
+-    $urpm->{nb_install} = 0;
+-
+-    # first account for install/erasures we will schedule (upgrades count twice as they involve erasure of the older package):
+-    foreach my $set (@{$state->{transaction} || []}) {
+-	my ($install, $upgrade) = partition {
+-	    my $pkg = $urpm->{depslist}[$_];
+-	    $pkg && !$pkg->flag_installed;
+-	} @{$set->{upgrade}};
+-	my $remove = $options->{'allow-force'} ? [] : $set->{remove} || [];
+-	my ($rm_count, $inst_count, $up_count) = (scalar(@$remove), scalar(values @$install), scalar(keys @$upgrade));
+-	$urpm->{nb_install} += $rm_count + $inst_count + 2 * $up_count;
+-    }
+-
+-    # account for erases added by rpm (removal through obsoletes):
+-    foreach my $fn (keys %{$state->{transaction_state}{rejected} || {}}) {
+-	my ($n) = $fn =~ $fullname2name_re;
+-	next if !keys %{$state->{transaction_state}{rejected}{$fn}{obsoleted}};
+-	$urpm->{nb_install}++ if any { !/^\Q$n/ } keys %{$state->{transaction_state}{rejected}{$fn}{obsoleted}};
+-    }
+-}
+-
+ =item run($urpm, $state, $something_was_to_be_done, $ask_unselect, $_requested, $callbacks)
+ 
+ Run the main urpm loop:
+@@ -425,9 +399,6 @@ sub run {
+     my $migrate_back_rpmdb_db_version = 
+       $urpm->{root} && urpm::select::should_we_migrate_back_rpmdb_db_version($urpm, $state);
+ 
+-    #- compute package total:
+-    _compute_pkg_total($urpm, $state, $options);
+-
+     #- now process each remove/install transaction
+     foreach my $set (@{$state->{transaction} || []}) {
+ 
\ No newline at end of file
diff --git a/zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment.obj b/zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment.obj
new file mode 100644
index 000000000..17cfc7ba4
--- /dev/null
+++ b/zarb-ml/mageia-dev/attachments/20130208/a0c61144/attachment.obj
@@ -0,0 +1,140 @@
+commit f2056220a3255557942a3916a0869701751f5e35
+Author: Thierry Vignaud <thierry.vignaud@gmail.com>
+Date:   Fri Feb 8 18:35:06 2013 +0100
+
+    (install_logger) keep a separate counter for erasures
+    
+    only initialize $total_pkg:
+    - when starting a new transaction
+    - or on first erasure in transaction
+    
+    (_compute_pkg_total) kill it (no more needed)
+    
+    adjust testsuite accordingly
+
+diff --git a/NEWS b/NEWS
+index b1057d8..e8d3cf9 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,5 @@
++- keep a separate counter for erasures
++
+ Version 7.17 - 5 February 2013, by Thierry Vignaud
+ 
+ - fix counting for erasures
+diff --git a/t/superuser--obsolete-and-conflict.t b/t/superuser--obsolete-and-conflict.t
+index be3af8b..5284618 100644
+--- a/t/superuser--obsolete-and-conflict.t
++++ b/t/superuser--obsolete-and-conflict.t
+@@ -31,10 +31,10 @@ sub test1 {
+ 
+     my $arch = urpm::cfg::get_arch();
+     test_urpmi("b c", sprintf(<<'EOF', $arch, $arch));
+-      1/3: c
+-      2/3: b
++      1/2: c
++      2/2: b
+ removing package a-1-1.%s
+-      3/3: removing a-1-1.%s
++      1/1: removing a-1-1.%s
+ EOF
+     check_installed_and_remove('b', 'c');
+ }
+diff --git a/urpm/install.pm b/urpm/install.pm
+index 9a3ec05..25b9611 100644
+--- a/urpm/install.pm
++++ b/urpm/install.pm
+@@ -91,29 +91,33 @@ Standard logger for transactions
+ =cut
+ 
+ # install logger callback
+-my ($erase_logger, $index);
++my ($erase_logger, $index, $total_pkg, $uninst_count);
+ sub install_logger {
+     my ($urpm, $type, undef, $subtype, $amount, $total) = @_;
+-    my $total_pkg = $urpm->{nb_install};
+     local $| = 1;
+ 
+     if ($subtype eq 'start') {
+ 	$urpm->{logger_progress} = 0;
+ 	if ($type eq 'trans') {
++	    $total_pkg = $urpm->{nb_install};
+ 	    $urpm->{logger_count} ||= 0;
++	    $uninst_count = 0;
+ 	    my $p = N("Preparing...");
+ 	    print $p, " " x (33 - length $p);
+ 	} else {
+ 	    my $pname;
++	    my $cnt;
+ 	    if ($type eq 'uninst') {
++		$total_pkg = $urpm->{trans}->NElements - $index if !$uninst_count;
++		$cnt = ++$uninst_count;
+ 		$pname = N("removing %s", $urpm->{trans}->Element_fullname($index));
+ 		$erase_logger->($urpm, undef, undef, $subtype);
+ 	    } else {
+ 		# index already got bumped in {callback_open}:
+ 		$pname = $urpm->{trans}->Element_name($index-1);
++		++$urpm->{logger_count} if $pname;
++		$cnt = $pname ? $urpm->{logger_count} : '-';
+ 	    }
+-	    ++$urpm->{logger_count} if $pname;
+-	    my $cnt = $pname ? $urpm->{logger_count} : '-';
+ 	    my $s = sprintf("%9s: %-22s", $cnt . "/" . $total_pkg, $pname);
+ 	    print $s;
+ 	    $s =~ / $/ or printf "\n%9s  %-22s", '', '';
+diff --git a/urpm/main_loop.pm b/urpm/main_loop.pm
+index 5729035..ce1ea97 100644
+--- a/urpm/main_loop.pm
++++ b/urpm/main_loop.pm
+@@ -29,7 +29,7 @@ use urpm::select;
+ use urpm::orphans;
+ use urpm::get_pkgs;
+ use urpm::signature;
+-use urpm::util qw(any difference2 find intersection member partition untaint);
++use urpm::util qw(difference2 find intersection member partition untaint);
+ 
+ #- global boolean options
+ my ($auto_select, $no_install, $install_src, $clean, $noclean, $force, $parallel, $test);
+@@ -309,32 +309,6 @@ sub _run_transaction {
+     !$fatal;
+ }
+ 
+-# computes the number of packages to install or to erase -
+-# side-effects: urpm->{nb_install}
+-my $fullname2name_re = qr/^(.*)-[^\-]*-[^\-]*\.[^\.\-]*$/;
+-sub _compute_pkg_total {
+-    my ($urpm, $state, $options) = @_;
+-    $urpm->{nb_install} = 0;
+-
+-    # first account for install/erasures we will schedule (upgrades count twice as they involve erasure of the older package):
+-    foreach my $set (@{$state->{transaction} || []}) {
+-	my ($install, $upgrade) = partition {
+-	    my $pkg = $urpm->{depslist}[$_];
+-	    $pkg && !$pkg->flag_installed;
+-	} @{$set->{upgrade}};
+-	my $remove = $options->{'allow-force'} ? [] : $set->{remove} || [];
+-	my ($rm_count, $inst_count, $up_count) = (scalar(@$remove), scalar(values @$install), scalar(keys @$upgrade));
+-	$urpm->{nb_install} += $rm_count + $inst_count + 2 * $up_count;
+-    }
+-
+-    # account for erases added by rpm (removal through obsoletes):
+-    foreach my $fn (keys %{$state->{transaction_state}{rejected} || {}}) {
+-	my ($n) = $fn =~ $fullname2name_re;
+-	next if !keys %{$state->{transaction_state}{rejected}{$fn}{obsoleted}};
+-	$urpm->{nb_install}++ if any { !/^\Q$n/ } keys %{$state->{transaction_state}{rejected}{$fn}{obsoleted}};
+-    }
+-}
+-
+ =item run($urpm, $state, $something_was_to_be_done, $ask_unselect, $_requested, $callbacks)
+ 
+ Run the main urpm loop:
+@@ -425,9 +399,6 @@ sub run {
+     my $migrate_back_rpmdb_db_version = 
+       $urpm->{root} && urpm::select::should_we_migrate_back_rpmdb_db_version($urpm, $state);
+ 
+-    #- compute package total:
+-    _compute_pkg_total($urpm, $state, $options);
+-
+     #- now process each remove/install transaction
+     foreach my $set (@{$state->{transaction} || []}) {
+ 
\ No newline at end of file
-- 
cgit v1.2.1