Save transactions to array.
Signed-off-by: Nicolás Ortega Froysa <nicolas@ortegas.org>
This commit is contained in:
parent
9a0a4e03d0
commit
bea2957889
22
pacundo.pl
22
pacundo.pl
@ -83,6 +83,8 @@ die("Failed to load pacman log file.\n$!");
|
|||||||
my $found_txs = 0;
|
my $found_txs = 0;
|
||||||
my $in_tx = 0;
|
my $in_tx = 0;
|
||||||
|
|
||||||
|
my @undo_txs;
|
||||||
|
|
||||||
while ($found_txs < $num_txs && defined(my $line = $pacman_log->readline)) {
|
while ($found_txs < $num_txs && defined(my $line = $pacman_log->readline)) {
|
||||||
# Remeber that we're reading this in reverse order
|
# Remeber that we're reading this in reverse order
|
||||||
if (!$in_tx && $line =~ /\[ALPM\] transaction completed/) {
|
if (!$in_tx && $line =~ /\[ALPM\] transaction completed/) {
|
||||||
@ -92,11 +94,23 @@ while ($found_txs < $num_txs && defined(my $line = $pacman_log->readline)) {
|
|||||||
$found_txs++;
|
$found_txs++;
|
||||||
$in_tx = 0;
|
$in_tx = 0;
|
||||||
} elsif ($line =~ /\[ALPM\] (upgraded|downgraded)/) {
|
} elsif ($line =~ /\[ALPM\] (upgraded|downgraded)/) {
|
||||||
my ($action, $package, $oldver, $newver) = $line =~ /\[ALPM\] (upgraded|downgraded) ([^\s]+) \((.*) -> (.*)\)/;
|
my ($action, $pkg_name, $oldver, $newver) = $line =~ /\[ALPM\] (upgraded|downgraded) ([^\s]+) \((.*) -> (.*)\)/;
|
||||||
print("$action $package $oldver -> $newver\n");
|
push(@undo_txs,
|
||||||
|
{
|
||||||
|
'action' => $action,
|
||||||
|
'pkg_name' => $pkg_name,
|
||||||
|
'oldver' => $oldver,
|
||||||
|
'newver' => $newver,
|
||||||
|
}
|
||||||
|
);
|
||||||
} elsif ($line =~ /\[ALPM\] (installed|removed)/) {
|
} elsif ($line =~ /\[ALPM\] (installed|removed)/) {
|
||||||
my ($action, $package) = $line =~ /\[ALPM\] (installed|removed) ([^\s]+)/;
|
my ($action, $pkg_name) = $line =~ /\[ALPM\] (installed|removed) ([^\s]+)/;
|
||||||
print("$action $package\n");
|
push(@undo_txs,
|
||||||
|
{
|
||||||
|
'action' => $action,
|
||||||
|
'pkg_name' => $pkg_name,
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user