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, next has been updated via e97d4c98963477b5247005d33acd9d4b5fe1ca8e (commit) via a21df193794d422a85f822bd8cb3470b74826262 (commit) via cb3c00e01e4f41c2712914eb13e766fdaf7f8c99 (commit) via 79fac0111b3ecce2615d50690c492c1b4546b957 (commit) via 648f2001879954088dd830873b141b330def52e9 (commit) via 454a80d1dba502716ab72128da0fe1bbe2fe66c6 (commit) via 38b8efddca9432f119fc4f71605c5fdb79b2c492 (commit) via 739e4ba2296e67c6b8fd80163a07aa88113c6fbb (commit) via 465a08b6290e42e2dbf771505c0a87deb4ba756d (commit) via d6a15c76a779697faf64b727cfff35a871c1ee08 (commit) via bfa284b41cb96f44e9dc1fa948d865e1b9205c1e (commit) via 888c41dea8eae268d3a9518e83b863f1bfa871f3 (commit) via 9d05aa770ae2ee6b34c0a0921f83b7c4663b9af3 (commit) via 888726854ff409a6f57b01592083eb6256d65250 (commit) via 5f51d10373a8224027a14c055ec87e3109d58511 (commit) via e35d81be8c6ddb797e329ad1ad3288267ba23d05 (commit) via be131623add2c819e6433e8d593ddcfc5c5b0441 (commit) via 1af34aa810cc86fb182635cca0bb6ac783ab584d (commit) via 9f1f68f17ade67dbd52a58837f7a47a8458055e4 (commit) via b47472c1865f1777251a43376286ce884b8a4ba8 (commit) via 49d769c6e6eae844c6ffe30817024ea70bb2f60c (commit) via 45f95add11bf1e7335afea2585c2e6cf4b6cb0b1 (commit) via 7b9233935e451d4305e7454bfbcc964cfb53d2bb (commit) via 8fba24ec1503d9cf3ace983d35dc0bab54a1e510 (commit) via 0ee211ee6be85fa6d12bc6f9278fc2c0a44ea420 (commit) via 51ff5115a0d7e8b5ea99d8a0b1aaac1823487304 (commit) via 5f0a2ba1048850620c0aa44e80e0a58ff36039c3 (commit) via ab8775b7bb13ecfff12c9e94e107bd86b488e04d (commit) via 2fd3387aec57a23e43a70531aba3b58bbb11b19f (commit) via 9ba3be2bebcc589243a626d7b958be96b82ba3aa (commit) via 3a2e08b29df2e8a7899e8512adad45659a379a0d (commit) from e80a7ef36a74053fa40adb454700926242970c74 (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 e97d4c98963477b5247005d33acd9d4b5fe1ca8e Merge: e80a7ef a21df19 Author: Arne Fitzenreiter arne_f@ipfire.org Date: Sun May 31 20:08:58 2015 +0200
Merge branch 'master' into next
Conflicts: lfs/netsnmpd
-----------------------------------------------------------------------
Summary of changes: config/backup/includes/cyrus-imapd | 4 + config/rootfiles/common/web-user-interface | 1 + config/rootfiles/core/89/update.sh | 18 +++-- config/rootfiles/core/90/exclude | 1 - config/rootfiles/core/90/filelists/files | 2 + .../{oldcore/66 => core/90}/filelists/openldap | 0 config/rootfiles/core/90/update.sh | 32 +++----- config/rootfiles/packages/cyrus-imapd | 1 + html/cgi-bin/country.cgi | 88 ++++++++++------------ html/cgi-bin/geoip-block.cgi | 11 ++- html/cgi-bin/vpnmain.cgi | 6 -- lfs/cyrus-imapd | 6 +- lfs/elinks | 4 +- lfs/linux | 18 ++--- lfs/netsnmpd | 2 +- src/initscripts/init.d/firstsetup | 3 - src/pakfire/lib/functions.pl | 24 +++++- src/pakfire/pakfire | 33 ++++---- src/paks/cyrus-imapd/uninstall.sh | 1 + src/paks/linux-pae/install.sh | 41 +++++----- src/paks/net-snmp/uninstall.sh | 27 ------- src/paks/{net-snmp => netsnmpd}/install.sh | 0 src/paks/{igmpproxy => netsnmpd}/uninstall.sh | 2 +- src/paks/{net-snmp => netsnmpd}/update.sh | 0 24 files changed, 158 insertions(+), 167 deletions(-) create mode 100644 config/backup/includes/cyrus-imapd copy config/rootfiles/{oldcore/66 => core/90}/filelists/openldap (100%) delete mode 100644 src/paks/net-snmp/uninstall.sh rename src/paks/{net-snmp => netsnmpd}/install.sh (100%) copy src/paks/{igmpproxy => netsnmpd}/uninstall.sh (100%) rename src/paks/{net-snmp => netsnmpd}/update.sh (100%)
Difference in files: diff --git a/config/backup/includes/cyrus-imapd b/config/backup/includes/cyrus-imapd new file mode 100644 index 0000000..bb1bb3b --- /dev/null +++ b/config/backup/includes/cyrus-imapd @@ -0,0 +1,4 @@ +/usr/sieve +/var/imap +/var/ipfire/cyrusimap +/var/log/imap diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface index 5da892b..08b87a3 100644 --- a/config/rootfiles/common/web-user-interface +++ b/config/rootfiles/common/web-user-interface @@ -92,6 +92,7 @@ srv/web/ipfire/html/blob.gif srv/web/ipfire/html/clwarn.cgi srv/web/ipfire/html/dial.cgi srv/web/ipfire/html/favicon.ico +#srv/web/ipfire/html/graphs #srv/web/ipfire/html/images srv/web/ipfire/html/images/IPFire.png srv/web/ipfire/html/images/add.gif diff --git a/config/rootfiles/core/89/update.sh b/config/rootfiles/core/89/update.sh index 90a6d77..13c645a 100644 --- a/config/rootfiles/core/89/update.sh +++ b/config/rootfiles/core/89/update.sh @@ -75,15 +75,17 @@ chown nobody.nobody \ /var/run/ovpnserver.log
# Update OpenVPN/collectd configuration -files=`find /var/ipfire/ovpn/n2nconf/ -type d` -for i in $files; -do - if ! grep -q "status-version" $i/${i##*/}.conf; then - echo "# Logfile" >> $i/${i##*/}.conf - echo "status-version 1" >> $i/${i##*/}.conf +for i in /var/ipfire/ovpn/n2nconf/*/*.conf; do + name="${i##*/}" + name="${name%*.conf}" + + if ! grep -qE "^status-version" ${i}; then + echo "# Logfile" >> ${i} + echo "status-version 1" >> ${i} fi - if ! grep -q "status " $i/${i##*/}.conf; then - echo "status /var/run/openvpn/${i##*/}-n2n 10" >> $i/${i##*/}.conf + + if ! grep -qE "^status " ${i}; then + echo "status /var/run/openvpn/${name}-n2n 10" >> ${i} fi done
diff --git a/config/rootfiles/core/90/exclude b/config/rootfiles/core/90/exclude index 56e840d..73b7b73 100644 --- a/config/rootfiles/core/90/exclude +++ b/config/rootfiles/core/90/exclude @@ -15,7 +15,6 @@ etc/sudoers etc/sysconfig/firewall.local etc/sysconfig/modules etc/sysconfig/rc.local -etc/udev/rules.d/30-persistent-network.rules srv/web/ipfire/html/proxy.pac var/ipfire/firewall/geoipblock var/ipfire/fwhosts/custmgeoipgrp 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/filelists/openldap b/config/rootfiles/core/90/filelists/openldap new file mode 120000 index 0000000..80c324f --- /dev/null +++ b/config/rootfiles/core/90/filelists/openldap @@ -0,0 +1 @@ +../../../common/openldap \ No newline at end of file diff --git a/config/rootfiles/core/90/update.sh b/config/rootfiles/core/90/update.sh index 4835c5a..34dacf1 100644 --- a/config/rootfiles/core/90/update.sh +++ b/config/rootfiles/core/90/update.sh @@ -208,6 +208,13 @@ sudo -u nobody /srv/web/ipfire/cgi-bin/vpnmain.cgi # Update Language cache perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+# Remove old udev configuration +rm -vf /etc/udev/rules.d/30-persistent-network.rules + +# Remove pids from dhcp client because it hang at normal shutdown +# so let the sysvinit kill it +rm -f /run/dhcpcd-*.pid + # # Start services # @@ -218,22 +225,9 @@ if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then /etc/init.d/ipsec start fi
-case "$(uname -m)" in - i?86) - case "$(find_device "/")" in - xvd* ) - echo Skip remove grub2 files, because pygrub fail. - rm -f /boot/grub/* - echo config will recreated by linux-pae install. - ;; - * ) - # - # Update to GRUB2 config - # - grub-mkconfig > /boot/grub/grub.cfg - ;; - esac -esac +if [ -e /boot/grub/grub.cfg ]; then + grub-mkconfig > /boot/grub/grub.cfg +fi
# Upadate Kernel version uEnv.txt if [ -e /boot/uEnv.txt ]; then @@ -247,7 +241,7 @@ fi
# Force (re)install pae kernel if pae is supported -rm -rf /opt/pakfire/db/*/meta-linux-pae +rm -rf /opt/pakfire/db/installed/meta-linux-pae if [ ! "$(grep "^flags.* pae " /proc/cpuinfo)" == "" ]; then ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` BOOTSPACE=`df /boot -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` @@ -258,9 +252,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 - echo "Name: linux-pae" > /opt/pakfire/db/meta/meta-linux-pae - echo "ProgVersion: 0" >> /opt/pakfire/db/meta/meta-linux-pae - echo "Release: 0" >> /opt/pakfire/db/meta/meta-linux-pae +# rm -f /opt/pakfire/db/meta/meta-linux-pae 2>&1 > /dev/null fi fi
diff --git a/config/rootfiles/packages/cyrus-imapd b/config/rootfiles/packages/cyrus-imapd index 0c0485e..bbaec3f 100644 --- a/config/rootfiles/packages/cyrus-imapd +++ b/config/rootfiles/packages/cyrus-imapd @@ -146,6 +146,7 @@ var/imap/msg var/imap/proc var/imap/ptclient var/imap/socket +var/ipfire/backup/addons/includes/cyrus-imapd var/ipfire/cyrusimap var/ipfire/cyrusimap/cyrus.conf var/ipfire/cyrusimap/imapd.conf diff --git a/html/cgi-bin/country.cgi b/html/cgi-bin/country.cgi index 60c2e58..f2ae813 100644 --- a/html/cgi-bin/country.cgi +++ b/html/cgi-bin/country.cgi @@ -23,12 +23,9 @@ use strict;
use Locale::Codes::Country;
-my $flagdir = '/srv/web/ipfire/html/images/flags'; +my $col; my $lines = '1'; my $lines2 = ''; -my @flaglist=(); -my @flaglistfiles=(); -my $flag = '';
require '/var/ipfire/general-functions.pl'; require "${General::swroot}/geoip-functions.pl"; @@ -41,44 +38,41 @@ require "${General::swroot}/header.pl"; &Header::openbigbox('100%', 'left');
&Header::openbox('100%', 'left', $Lang::tr{'country codes and flags'}); -print "<table class='tbl'>"; -print "<tr><th style='width=5%;'><b>$Lang::tr{'flag'}</b></th>"; -print "<th style='width=5%;'><b>$Lang::tr{'countrycode'}</b></th>"; -print "<th style='width=40%; text-align:left;'><b>$Lang::tr{'country'}</b></th>"; -print "<th> </th>"; -print "<th style='width=5%;'><b>$Lang::tr{'flag'}</b></th>"; -print "<th style='width=5%;'><b>$Lang::tr{'countrycode'}</b></th>"; -print "<th style='width=40%; text-align:left;'><b>$Lang::tr{'country'}</b></th></tr>"; - -@flaglist = <$flagdir/*>; - -undef @flaglistfiles; - -foreach (@flaglist) -{ - if (!-d) { push(@flaglistfiles,substr($_,rindex($_,"/")+1)); } -} -my $col=""; -foreach $flag (@flaglistfiles) -{ + +print<<END; +<table class='tbl'> + <tr> + <th style='width=5%'><b>$Lang::tr{'flag'}</b></th> + <th style='width=5%'><b>$Lang::tr{'countrycode'}</b></th> + <th style='width=40% text-align:left'><b>$Lang::tr{'country'}</b></th> + <th> </th> + <th style='width=5%'><b>$Lang::tr{'flag'}</b></th> + <th style='width=5%;'><b>$Lang::tr{'countrycode'}</b></th> + <th style='width=40% text-align:left;'><b>$Lang::tr{'country'}</b></th> + </tr> +END + +# Get a list of all supported country codes. +my @countries = Locale::Codes::Country::all_country_codes(); + +# Loop through whole country list. +foreach my $country (@countries) { $lines++;
- my $flagcode = uc(substr($flag, 0, 2)); - my $fcode = lc($flagcode); + # Convert country code into upper case. + my $country_uc = uc($country);
# Get flag icon for of the country. - my $flag_icon = &GeoIP::get_flag_icon($fcode); + my $flag_icon = &GeoIP::get_flag_icon($country); + + # Get country name. + my $name = &GeoIP::get_full_country_name($country);
- my $country = Locale::Country::code2country($fcode); - if($fcode eq 'eu') { $country = 'Europe'; } - if($fcode eq 'tp') { $country = 'East Timor'; } - if($fcode eq 'yu') { $country = 'Yugoslavia'; } if ($lines % 2) { - print "<td $col><a id='$fcode'><img src='$flag_icon' alt='$flagcode' title='$flagcode'/></a></td>"; - print "<td $col>$flagcode</td>"; - print "<td $col>$country</td></tr>\n"; - } - else { + print "<td $col><a id='$country'><img src='$flag_icon' alt='$country_uc' title='$country_uc'/></a></td>"; + print "<td $col>$country_uc</td>"; + print "<td $col>$name</td></tr>\n"; + } else { $lines2++; if($lines2 % 2) { $col="style='background-color:${Header::table2colour};'"; @@ -86,25 +80,25 @@ foreach $flag (@flaglistfiles) $col="style='background-color:${Header::table1colour};'"; } print "<tr>"; - print "<td $col><a id='$fcode'><img src='$flag_icon' alt='$flagcode' title='$flagcode'/></a></td>"; - print "<td $col>$flagcode</td>"; - print "<td $col>$country</td>"; + print "<td $col><a id='$country'><img src='$flag_icon' alt='$country_uc' title='$country_uc'/></a></td>"; + print "<td $col>$country_uc</td>"; + print "<td $col>$name</td>"; print "<td $col> </td>"; + + # Finish column when the last element in the array has passed and we have an uneven amount of items. + if ( $country eq $countries[-1] ) { + print "<td $col> </td>\n"; + print "<td $col> </td>\n"; + print "<td $col> </td></tr>\n"; + } } } - - print "</table>"; &Header::closebox();
&Header::closebigbox();
-print <<END -<div style='text-align:center'> -<a href='$ENV{'HTTP_REFERER'}'>$Lang::tr{'back'}</a> -</div> -END -; +print "<div style='text-align:center'><a href='$ENV{'HTTP_REFERER'}'>$Lang::tr{'back'}</a></div>\n";
&Header::closepage();
diff --git a/html/cgi-bin/geoip-block.cgi b/html/cgi-bin/geoip-block.cgi index ccbfa92..056b333 100644 --- a/html/cgi-bin/geoip-block.cgi +++ b/html/cgi-bin/geoip-block.cgi @@ -225,7 +225,16 @@ foreach my $location (@locations) { print "<td align='center' $col>$flag</td>\n"; print "<td align='center' $col>$ccode_uc</td>\n"; print "<td align='left' $col>$cname</td>$line_end\n"; - + + # Finish column when the last element in the array has passed and we have an uneven amount of items. + if(! ($lines2 % 2) && ($location eq $locations[-1] )) { + print "<td $col> </td>\n"; + print "<td $col> </td>\n"; + print "<td $col> </td>\n"; + print "<td $col> </td>\n"; + print "<td $col> </td></tr>\n"; + } + $lines2++; }
diff --git a/html/cgi-bin/vpnmain.cgi b/html/cgi-bin/vpnmain.cgi index 2a020ea..9490076 100644 --- a/html/cgi-bin/vpnmain.cgi +++ b/html/cgi-bin/vpnmain.cgi @@ -3029,12 +3029,6 @@ sub make_algos($$$$$) { if (!$is_aead) { push(@algo, $int); } - - if ($grp =~ m/^e(.*)$/) { - push(@algo, "ecp$1"); - } else { - push(@algo, "modp$grp"); - } }
push(@algos, join("-", @algo)); diff --git a/lfs/cyrus-imapd b/lfs/cyrus-imapd index 2a826cd..fc87bd6 100644 --- a/lfs/cyrus-imapd +++ b/lfs/cyrus-imapd @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2011 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2015 IPFire Team info@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 # @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = cyrus-imapd -PAK_VER = 3 +PAK_VER = 5
DEPS = ""
@@ -100,5 +100,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cp -f $(DIR_APP)/tools/mkimap /usr/bin sudo -u cyrus /usr/bin/mkimap /var/ipfire/cyrusimap/imapd.conf chown cyrus.mail /var/imap/socket + install -v -m 644 $(DIR_SRC)/config/backup/includes/cyrus-imapd \ + /var/ipfire/backup/addons/includes/cyrus-imapd @rm -rf $(DIR_APP) /usr/include/com_err.h @$(POSTBUILD) diff --git a/lfs/elinks b/lfs/elinks index 59f1426..2727423 100644 --- a/lfs/elinks +++ b/lfs/elinks @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2013 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2015 IPFire Team info@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 # @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = elinks -PAK_VER = 4 +PAK_VER = 5
DEPS = ""
diff --git a/lfs/linux b/lfs/linux index b2d2552..f59a709 100644 --- a/lfs/linux +++ b/lfs/linux @@ -24,11 +24,11 @@
include Config
-VER = 3.14.41 +VER = 3.14.43
-RPI_PATCHES = 3.14.41-grsec-ipfire1 -A7M_PATCHES = 3.14.41-grsec-ipfire1 -GRS_PATCHES = grsecurity-3.1-3.14.41-201505072056.patch.xz +RPI_PATCHES = 3.14.43-grsec-ipfire1 +A7M_PATCHES = 3.14.43-grsec-ipfire1 +GRS_PATCHES = grsecurity-3.1-3.14.43-201505191737.patch.xz
THISAPP = linux-$(VER) DL_FILE = linux-$(VER).tar.xz @@ -37,7 +37,7 @@ DIR_APP = $(DIR_SRC)/$(THISAPP) CFLAGS = CXXFLAGS =
-PAK_VER = 59 +PAK_VER = 61 DEPS = ""
VERSUFIX=ipfire$(KCFG) @@ -77,10 +77,10 @@ rpi-patches-$(RPI_PATCHES).patch.xz = $(URL_IPFIRE)/rpi-patches-$(RPI_PATCHES). arm7-multi-patches-$(A7M_PATCHES).patch.xz = $(URL_IPFIRE)/arm7-multi-patches-$(A7M_PATCHES).patch.xz $(GRS_PATCHES) = $(URL_IPFIRE)/$(GRS_PATCHES)
-$(DL_FILE)_MD5 = b28dfc6907c388c2adcc65aee2ad68ff -rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = 9c8b20647429a64d656999a3c7af890f -arm7-multi-patches-$(A7M_PATCHES).patch.xz_MD5 = a4a4103255e93bfcb02652212b0ae3fc -$(GRS_PATCHES)_MD5 = 8af3b27954311da581cc6f803f048779 +$(DL_FILE)_MD5 = 927f2343f298dfe531a8371f81356e53 +rpi-patches-$(RPI_PATCHES).patch.xz_MD5 = b5ba925ae1d4279d3ac0f03c27dd16eb +arm7-multi-patches-$(A7M_PATCHES).patch.xz_MD5 = b9c696fe4f22b05b81c168329ca33c94 +$(GRS_PATCHES)_MD5 = 35e26b1214b1b0b515ee67e5ce50633a
install : $(TARGET)
diff --git a/lfs/netsnmpd b/lfs/netsnmpd index 1ea0a4e..b513678 100644 --- a/lfs/netsnmpd +++ b/lfs/netsnmpd @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = netsnmpd -PAK_VER = 3 +PAK_VER = 4 DEPS = ""
############################################################################### diff --git a/src/initscripts/init.d/firstsetup b/src/initscripts/init.d/firstsetup index dca3e40..70c30b4 100644 --- a/src/initscripts/init.d/firstsetup +++ b/src/initscripts/init.d/firstsetup @@ -40,9 +40,6 @@ 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 - echo "Name: linux-pae" > /opt/pakfire/db/meta/meta-linux-pae - echo "ProgVersion: 0" >> /opt/pakfire/db/meta/meta-linux-pae - echo "Release: 0" >> /opt/pakfire/db/meta/meta-linux-pae 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@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@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") { diff --git a/src/paks/cyrus-imapd/uninstall.sh b/src/paks/cyrus-imapd/uninstall.sh index 0d2109e..6e1468e 100644 --- a/src/paks/cyrus-imapd/uninstall.sh +++ b/src/paks/cyrus-imapd/uninstall.sh @@ -22,6 +22,7 @@ ############################################################################ # . /opt/pakfire/lib/functions.sh +extract_backup_include stop_service ${NAME} make_backup ${NAME} remove_files diff --git a/src/paks/linux-pae/install.sh b/src/paks/linux-pae/install.sh index c980a01..27e665f 100644 --- a/src/paks/linux-pae/install.sh +++ b/src/paks/linux-pae/install.sh @@ -55,29 +55,24 @@ depmod -a $KVER-ipfire-pae # /usr/bin/dracut --force --xz /boot/initramfs-$KVER-ipfire-pae.img $KVER-ipfire-pae
- -ROOT="$(find_partition "/")" -case $ROOT in - xvd* ) - # - # We are on XEN so create new grub.conf / menu.lst for pygrub - # - echo "timeout 10" > /boot/grub/grub.conf - echo "default 0" >> /boot/grub/grub.conf - echo "title IPFire (pae-kernel)" >> /boot/grub/grub.conf - echo " kernel /vmlinuz-$KVER-ipfire-pae root=/dev/$ROOT rootdelay=10 panic=10 console=hvc0" \ - >> /boot/grub/grub.conf - echo " initrd /initramfs-$KVER-ipfire-pae.img" >> /boot/grub/grub.conf - echo "# savedefault 0" >> /boot/grub/grub.conf - ln -s grub.conf $MNThdd/boot/grub/menu.lst - ;; - * ) - # - # Update grub2 config - # - grub-mkconfig > /boot/grub/grub.cfg - ;; -esac +if [ -e /boot/grub/grub.cfg ]; then + # + # Update grub2 config + # + grub-mkconfig > /boot/grub/grub.cfg +else + # + # xen pv with pygrub need grub.conf / menu.lst + # + echo "timeout 10" > /boot/grub/grub.conf + echo "default 0" >> /boot/grub/grub.conf + echo "title IPFire (pae-kernel)" >> /boot/grub/grub.conf + echo " kernel /vmlinuz-$KVER-ipfire-pae root=/dev/$ROOT rootdelay=10 panic=10 console=hvc0" \ + >> /boot/grub/grub.conf + echo " initrd /initramfs-$KVER-ipfire-pae.img" >> /boot/grub/grub.conf + echo "# savedefault 0" >> /boot/grub/grub.conf + ln -s grub.conf $MNThdd/boot/grub/menu.lst +fi
# request a reboot if pae is supported if [ ! "$(grep "^flags.* pae " /proc/cpuinfo)" == "" ]; then diff --git a/src/paks/net-snmp/install.sh b/src/paks/net-snmp/install.sh deleted file mode 100644 index 31c5fec..0000000 --- a/src/paks/net-snmp/install.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -############################################################################ -# # -# This file is part of the IPFire Firewall. # -# # -# IPFire is free software; you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation; either version 2 of the License, or # -# (at your option) any later version. # -# # -# IPFire is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with IPFire; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Copyright (C) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -extract_files -restore_backup ${NAME} -start_service --background ${NAME} diff --git a/src/paks/net-snmp/uninstall.sh b/src/paks/net-snmp/uninstall.sh deleted file mode 100644 index a7b8a53..0000000 --- a/src/paks/net-snmp/uninstall.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -############################################################################ -# # -# This file is part of the IPFire Firewall. # -# # -# IPFire is free software; you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation; either version 2 of the License, or # -# (at your option) any later version. # -# # -# IPFire is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with IPFire; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Copyright (C) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -stop_service ${NAME} -make_backup ${NAME} -remove_files diff --git a/src/paks/net-snmp/update.sh b/src/paks/net-snmp/update.sh deleted file mode 100644 index 89c40d0..0000000 --- a/src/paks/net-snmp/update.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -############################################################################ -# # -# This file is part of the IPFire Firewall. # -# # -# IPFire is free software; you can redistribute it and/or modify # -# it under the terms of the GNU General Public License as published by # -# the Free Software Foundation; either version 2 of the License, or # -# (at your option) any later version. # -# # -# IPFire is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with IPFire; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Copyright (C) 2007 IPFire-Team info@ipfire.org. # -# # -############################################################################ -# -. /opt/pakfire/lib/functions.sh -./uninstall.sh -./install.sh diff --git a/src/paks/netsnmpd/install.sh b/src/paks/netsnmpd/install.sh new file mode 100644 index 0000000..31c5fec --- /dev/null +++ b/src/paks/netsnmpd/install.sh @@ -0,0 +1,27 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_files +restore_backup ${NAME} +start_service --background ${NAME} diff --git a/src/paks/netsnmpd/uninstall.sh b/src/paks/netsnmpd/uninstall.sh new file mode 100644 index 0000000..278218b --- /dev/null +++ b/src/paks/netsnmpd/uninstall.sh @@ -0,0 +1,28 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +extract_backup_includes +stop_service ${NAME} +make_backup ${NAME} +remove_files diff --git a/src/paks/netsnmpd/update.sh b/src/paks/netsnmpd/update.sh new file mode 100644 index 0000000..89c40d0 --- /dev/null +++ b/src/paks/netsnmpd/update.sh @@ -0,0 +1,26 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire is free software; you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation; either version 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2007 IPFire-Team info@ipfire.org. # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +./uninstall.sh +./install.sh
hooks/post-receive -- IPFire 2.x development tree