From a0e747dafc027d57976c799e23c17f5825a9739a Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Thu, 7 Aug 2014 00:58:21 +0200 Subject: [PATCH] core81: add changes to core81 updater. --- config/rootfiles/core/81/exclude | 20 ++++ config/rootfiles/core/81/filelists/ddns | 1 + config/rootfiles/core/81/filelists/files | 5 + config/rootfiles/core/81/filelists/lzo | 1 + config/rootfiles/core/81/filelists/openssh | 1 + config/rootfiles/core/81/filelists/openssl | 1 + config/rootfiles/core/81/meta | 1 + config/rootfiles/core/81/update.sh | 101 +++++++++++++++++++++ make.sh | 4 +- 9 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 config/rootfiles/core/81/exclude create mode 120000 config/rootfiles/core/81/filelists/ddns create mode 100644 config/rootfiles/core/81/filelists/files create mode 120000 config/rootfiles/core/81/filelists/lzo create mode 120000 config/rootfiles/core/81/filelists/openssh create mode 120000 config/rootfiles/core/81/filelists/openssl create mode 100644 config/rootfiles/core/81/meta create mode 100644 config/rootfiles/core/81/update.sh diff --git a/config/rootfiles/core/81/exclude b/config/rootfiles/core/81/exclude new file mode 100644 index 000000000..18e9b4d24 --- /dev/null +++ b/config/rootfiles/core/81/exclude @@ -0,0 +1,20 @@ +boot/config.txt +etc/collectd.custom +etc/ipsec.conf +etc/ipsec.secrets +etc/ipsec.user.conf +etc/ipsec.user.secrets +etc/localtime +etc/shadow +etc/ssh/ssh_config +etc/ssh/sshd_config +etc/ssl/openssl.cnf +etc/sudoers +etc/sysconfig/firewall.local +etc/sysconfig/rc.local +etc/udev/rules.d/30-persistent-network.rules +srv/web/ipfire/html/proxy.pac +var/ipfire/ovpn +var/log/cache +var/state/dhcp/dhcpd.leases +var/updatecache diff --git a/config/rootfiles/core/81/filelists/ddns b/config/rootfiles/core/81/filelists/ddns new file mode 120000 index 000000000..739516420 --- /dev/null +++ b/config/rootfiles/core/81/filelists/ddns @@ -0,0 +1 @@ +../../../common/ddns \ No newline at end of file diff --git a/config/rootfiles/core/81/filelists/files b/config/rootfiles/core/81/filelists/files new file mode 100644 index 000000000..4b0ae1e75 --- /dev/null +++ b/config/rootfiles/core/81/filelists/files @@ -0,0 +1,5 @@ +etc/system-release +etc/issue +etc/rc.d/init.d/firewall +srv/web/ipfire/cgi-bin/ddns.cgi +srv/web/ipfire/cgi-bin/ovpnmain.cgi diff --git a/config/rootfiles/core/81/filelists/lzo b/config/rootfiles/core/81/filelists/lzo new file mode 120000 index 000000000..8e11e78d3 --- /dev/null +++ b/config/rootfiles/core/81/filelists/lzo @@ -0,0 +1 @@ +../../../common/lzo \ No newline at end of file diff --git a/config/rootfiles/core/81/filelists/openssh b/config/rootfiles/core/81/filelists/openssh new file mode 120000 index 000000000..d8c77fd8e --- /dev/null +++ b/config/rootfiles/core/81/filelists/openssh @@ -0,0 +1 @@ +../../../common/openssh \ No newline at end of file diff --git a/config/rootfiles/core/81/filelists/openssl b/config/rootfiles/core/81/filelists/openssl new file mode 120000 index 000000000..e011a9266 --- /dev/null +++ b/config/rootfiles/core/81/filelists/openssl @@ -0,0 +1 @@ +../../../common/openssl \ No newline at end of file diff --git a/config/rootfiles/core/81/meta b/config/rootfiles/core/81/meta new file mode 100644 index 000000000..d547fa86f --- /dev/null +++ b/config/rootfiles/core/81/meta @@ -0,0 +1 @@ +DEPS="" diff --git a/config/rootfiles/core/81/update.sh b/config/rootfiles/core/81/update.sh new file mode 100644 index 000000000..67244c654 --- /dev/null +++ b/config/rootfiles/core/81/update.sh @@ -0,0 +1,101 @@ +#!/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 3 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) 2014 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +/usr/local/bin/backupctrl exclude >/dev/null 2>&1 + +# Remove old core updates from pakfire cache to save space... +core=80 +for (( i=1; i<=$core; i++ )) +do + rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire +done + +# Stop services +/etc/init.d/ipsec stop + +# Remove old strongswan files +rm -f \ + /etc/strongswan.d/charon/unity.conf \ + /usr/lib/ipsec/plugins/libstrongswan-unity.so \ + /usr/share/strongswan/templates/config/plugins/unity.conf + +rm -f /usr/local/bin/setddns.pl + +# Extract files +extract_files + +# Start services +/etc/init.d/dnsmasq restart +if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then + /etc/init.d/ipsec start +fi + + +# Update Language cache +perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang" + +# Uninstall the libgpg-error package. +rm -f \ + /opt/pakfire/db/installed/meta-libgpg-error \ + /opt/pakfire/db/rootfiles/libgpg-error + +# Fix broken proxy configuration permissions +chown -R nobody.nobody \ + /var/ipfire/proxy/advanced \ + /var/ipfire/proxy/acl-1.4 \ + /var/ipfire/proxy/enable \ + /var/ipfire/proxy/settings \ + /var/ipfire/proxy/squid.conf \ + /var/ipfire/proxy/transparent + +# Regenerate squid configuration file +sudo -u nobody /srv/web/ipfire/cgi-bin/proxy.cgi + +# Generate ddns configuration file +sudo -u nobody /srv/web/ipfire/cgi-bin/ddns.cgi + +# Update crontab +sed -i /var/spool/cron/root.orig -e "/setddns.pl/d" + +grep -q /usr/bin/ddns /var/spool/cron/root.orig || cat <> /var/spool/cron/root.orig + +# Update dynamic DNS records every five minutes. +# Force an update once a month +*/5 * * * * [ -f "/var/ipfire/red/active" ] && /usr/bin/ddns update-all +3 2 1 * * [ -f "/var/ipfire/red/active" ] && /usr/bin/ddns update-all --force +EOF + +fcrontab -z &>/dev/null + +sync + +# This update need a reboot... +#touch /var/run/need_reboot + +# Finish +/etc/init.d/fireinfo start +sendprofile + +# Don't report the exitcode last command +exit 0 diff --git a/make.sh b/make.sh index b50a07b23..bfb936515 100755 --- a/make.sh +++ b/make.sh @@ -25,8 +25,8 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.15" # Version number -CORE="80" # Core Level (Filename) -PAKFIRE_CORE="80" # Core Level (PAKFIRE) +CORE="81" # Core Level (Filename) +PAKFIRE_CORE="81" # Core Level (PAKFIRE) GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir -- 2.39.2