From: git@ipfire.org
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 2.x development tree branch, master, updated. e35d81be8c6ddb797e329ad1ad3288267ba23d05
Date: Sat, 16 May 2015 13:04:41 +0200 [thread overview]
Message-ID: <20150516110442.113952237D@argus.ipfire.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 7234 bytes --]
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 2.x development tree".
The branch, master has been updated
via e35d81be8c6ddb797e329ad1ad3288267ba23d05 (commit)
via be131623add2c819e6433e8d593ddcfc5c5b0441 (commit)
via 1af34aa810cc86fb182635cca0bb6ac783ab584d (commit)
via 9f1f68f17ade67dbd52a58837f7a47a8458055e4 (commit)
from b47472c1865f1777251a43376286ce884b8a4ba8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e35d81be8c6ddb797e329ad1ad3288267ba23d05
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sat May 16 13:03:34 2015 +0200
core90: don't remove meta-linux-pae.
commit be131623add2c819e6433e8d593ddcfc5c5b0441
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sat May 16 13:02:42 2015 +0200
core90: add updated pakfire file to update.
commit 1af34aa810cc86fb182635cca0bb6ac783ab584d
Author: Arne Fitzenreiter <arne_f(a)ipfire.org>
Date: Sat May 16 13:00:12 2015 +0200
pakfire: skip corrupt "meta-" file.
This was created by a bug in dep resolve at upgrade.
commit 9f1f68f17ade67dbd52a58837f7a47a8458055e4
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Sat May 16 12:57:28 2015 +0200
pakfire: fix dep resolve at upgrade.
-----------------------------------------------------------------------
Summary of changes:
config/rootfiles/core/90/filelists/files | 2 ++
config/rootfiles/core/90/update.sh | 2 +-
src/pakfire/lib/functions.pl | 24 +++++++++++++++++++++--
src/pakfire/pakfire | 33 ++++++++++++++++++--------------
4 files changed, 44 insertions(+), 17 deletions(-)
Difference in files:
diff --git a/config/rootfiles/core/90/filelists/files b/config/rootfiles/core/90/filelists/files
index 431dcd6..ee596a0 100644
--- a/config/rootfiles/core/90/filelists/files
+++ b/config/rootfiles/core/90/filelists/files
@@ -5,6 +5,8 @@ etc/rc.d/init.d/network-trigger
etc/rc.d/init.d/networking/functions.network
etc/rc.d/init.d/networking/red.up/99-geoip-database
etc/rc.d/rcsysinit.d/S90network-trigger
+opt/pakfire/pakfire
+opt/pakfire/lib/functions.pl
srv/web/ipfire/cgi-bin/country.cgi
srv/web/ipfire/cgi-bin/ddns.cgi
srv/web/ipfire/cgi-bin/firewall.cgi
diff --git a/config/rootfiles/core/90/update.sh b/config/rootfiles/core/90/update.sh
index e57bc17..facefc8 100644
--- a/config/rootfiles/core/90/update.sh
+++ b/config/rootfiles/core/90/update.sh
@@ -265,7 +265,7 @@ if [ ! "$(grep "^flags.* pae " /proc/cpuinfo)" == "" ]; then
echo "Name: linux-pae" > /opt/pakfire/db/installed/meta-linux-pae
echo "ProgVersion: 0" >> /opt/pakfire/db/installed/meta-linux-pae
echo "Release: 0" >> /opt/pakfire/db/installed/meta-linux-pae
- rm -f /opt/pakfire/db/meta/meta-linux-pae 2>&1 > /dev/null
+# rm -f /opt/pakfire/db/meta/meta-linux-pae 2>&1 > /dev/null
fi
fi
diff --git a/src/pakfire/lib/functions.pl b/src/pakfire/lib/functions.pl
index d14e031..6bf85af 100644
--- a/src/pakfire/lib/functions.pl
+++ b/src/pakfire/lib/functions.pl
@@ -2,7 +2,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2015 IPFire Team <info(a)ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -393,6 +393,7 @@ sub dbgetlist {
foreach $file (@files) {
next if ( $file eq "." );
next if ( $file eq ".." );
+ next if ( $file eq "meta-" );
next if ( $file =~ /^old/ );
open(FILE, "<$Conf::dbdir/meta/$file");
@meta = <FILE>;
@@ -589,6 +590,25 @@ sub resolvedeps {
return @all;
}
+sub resolvedeps_recursive {
+ my @packages = shift;
+ my @result = ();
+
+ foreach my $pkg (@packages) {
+ my @deps = &Pakfire::resolvedeps($pkg);
+
+ foreach my $dep (@deps) {
+ push(@result, $dep);
+ }
+ }
+
+ # Sort the result array and remove dupes
+ my %sort = map{ $_, 1 } @result;
+ @result = keys %sort;
+
+ return @result;
+}
+
sub cleanup {
my $dir = shift;
my $path;
@@ -695,7 +715,7 @@ sub getpak {
}
unless ($file) {
- message("No filename given in meta-file. Please phone the developers.");
+ message("No filename given in meta-file.");
exit 1;
}
diff --git a/src/pakfire/pakfire b/src/pakfire/pakfire
index 3d0270a..8bca061 100644
--- a/src/pakfire/pakfire
+++ b/src/pakfire/pakfire
@@ -2,7 +2,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2015 IPFire Team <info(a)ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -255,14 +255,11 @@
} elsif ("$ARGV[0]" eq "upgrade") {
&Pakfire::upgradecore();
my @upgradepaks = &Pakfire::dblist("upgrade", "noweb");
- my @temp, $pak;
-
- foreach (@upgradepaks) {
- @temp = &Pakfire::resolvedeps("$_");
- foreach (@temp) { push(@upgradepaks,$_) if $_; }
- }
-
+
if (@upgradepaks) {
+ # Resolve the dependencies of the to be upgraded packages
+ my @deps = &Pakfire::resolvedeps_recursive(@upgradepaks);
+
&Pakfire::message("");
&Pakfire::message("PAKFIRE UPGR: We are going to install all packages listed above.");
if ($interactive) {
@@ -277,16 +274,24 @@
}
}
- ### Download first
+ # Download packages
foreach $pak (@upgradepaks) {
- #system("mv $Conf::dbdir/meta/meta-$pak $Conf::dbdir/meta/old-meta-$pak");
&Pakfire::getpak("$pak", "");
}
-
+
+ # Download dependencies
+ foreach $pak (@deps) {
+ &Pakfire::getpak("$pak", "");
+ }
+
+ # Install dependencies first
+ foreach $pak (@deps) {
+ &Pakfire::setuppak("$pak");
+ }
+
+ # Install all upgrades
foreach $pak (@upgradepaks) {
- if (&Pakfire::upgradepak("$pak")) {
- #system("mv $Conf::dbdir/meta/old-meta-$pak $Conf::dbdir/meta/meta-$pak");
- }
+ &Pakfire::upgradepak("$pak");
}
} elsif ("$ARGV[0]" eq "list") {
hooks/post-receive
--
IPFire 2.x development tree
reply other threads:[~2015-05-16 11:04 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150516110442.113952237D@argus.ipfire.org \
--to=git@ipfire.org \
--cc=ipfire-scm@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox