]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - config/rootfiles/core/44/update.sh
Updated kernel (2.6.32.28).
[people/pmueller/ipfire-2.x.git] / config / rootfiles / core / 44 / update.sh
index eeb68f01bbfff824e6ca9e6cc0b6b892dd5595b3..eedc44f60b26c9cb47da49d1a7ac7537b2464744 100644 (file)
@@ -24,7 +24,7 @@
 . /opt/pakfire/lib/functions.sh
 /usr/local/bin/backupctrl exclude >/dev/null 2>&1
 #
-KVER="2.6.32.26"
+KVER="2.6.32.28"
 MOUNT=`grep "kernel" /boot/grub/grub.conf | tail -n 1`
 # Nur den letzten Parameter verwenden
 echo $MOUNT > /dev/null
@@ -85,6 +85,8 @@ cp -vf /boot/grub/grub.conf /boot/grub/grub.conf.org
 #
 /etc/init.d/snort stop
 /etc/init.d/squid stop
+/etc/init.d/ipsec stop
+
 #
 #
 # Remove old snort...
@@ -101,8 +103,11 @@ echo Unpack the updated files ...
 tar xvf /opt/pakfire/tmp/files --preserve --numeric-owner -C / \
        --no-overwrite-dir
 
-# Re-read crontab
-fcrontab -z
+#
+# Change collectd init symlinks
+#
+rm -f /etc/rc.d/rc3.d/S21collectd
+ln -f -s ../init.d/collectd /etc/rc.d/rc3.d/S29collectd
 
 # Remove old pakfire cronjob.
 rm -f /etc/fcron.daily/pakfire-update
@@ -167,11 +172,65 @@ if [ ! -z $SWAP ]; then
        echo "WARNING! swap not found!!!"
 fi
 
+#new strongswan need keyexchange=ikev1 because this is not default anymore
+mv /var/ipfire/vpn/ipsec.conf /var/ipfire/vpn/ipsec.conf.org
+grep -v "keyexchange=ikev1" /var/ipfire/vpn/ipsec.conf.org > /var/ipfire/vpn/ipsec.conf
+sed -i "s|^conn [A-Za-z].*$|&\n\tkeyexchange=ikev1|g" /var/ipfire/vpn/ipsec.conf
+chown nobody:nobody /var/ipfire/vpn/ipsec.conf
+
+#new squid has some changed options. Build a basic config to be able start squid.
+mv /var/ipfire/proxy/squid.conf /var/ipfire/proxy/squid.conf.org
+grep -v "header_access " /var/ipfire/proxy/squid.conf.org | \
+grep -v "error_directory " | \
+grep -v "cache_dir null" | \
+grep -v "reply_body_max_size 0" > /var/ipfire/proxy/squid.conf
+echo >> /var/ipfire/proxy/squid.conf
+echo error_directory /etc/squid/errors >> /var/ipfire/proxy/squid.conf
+chown nobody:nobody /var/ipfire/proxy/squid.conf
+
+#Convert extrahd entries to UUID
+cp -f /var/ipfire/extrahd/devices /var/ipfire/extrahd/devices.org
+while read entry
+do
+       device=`echo $entry | cut -f1 -d";"`
+       uuid=`blkid  -c /dev/null -s UUID -o value /dev/$device`
+       if [ ! -z $uuid ]; then
+               sed -i -e "s|$device|UUID=$uuid|g" /var/ipfire/extrahd/devices
+               sed -i -e "s|/dev/$device|UUID=$uuid|g" /var/ipfire/extrahd/fstab
+               sed -i -e "s|/dev/$device|UUID=$uuid|g" /etc/fstab
+       fi
+done < /var/ipfire/extrahd/devices.org
+
 #
 # Start services
 #
 /etc/init.d/squid start
 /etc/init.d/snort start
+if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then
+       /etc/init.d/ipsec start
+fi
+
+#
+# Rebuild qosscript if enabled
+#
+if [ -e /var/ipfire/qos/enable ]; then
+       /usr/local/bin/qosctrl stop
+       /usr/local/bin/qosctrl generate
+       /usr/local/bin/qosctrl start
+fi
+
+# Add pakfire and fireinfo cronjobs...
+grep -v "# fireinfo" /var/spool/cron/root.orig |
+grep -v "/usr/bin/sendprofile" |
+grep -v "# pakfire" |
+grep -v "/usr/local/bin/pakfire" > /var/tmp/root.tmp
+echo "" >> /var/tmp/root.tmp
+echo "# fireinfo" >> /var/tmp/root.tmp
+echo "%nightly,random * 23-4 /usr/bin/sendprofile >/dev/null 2>&1" >> /var/tmp/root.tmp
+echo "" >> /var/tmp/root.tmp
+echo "# pakfire" >> /var/tmp/root.tmp
+echo "%nightly,random * 23-4 /usr/local/bin/pakfire update >/dev/null 2>&1" >> /var/tmp/root.tmp
+fcrontab /var/tmp/root.tmp
 
 #
 # Modify grub.conf
@@ -203,6 +262,10 @@ if [ "${ROOT:0:7}" == "/dev/hd" ];then
        sed -i -e "s|${ROOT:0:8}|/dev/sda|g" /etc/fstab
 fi
 #
+# Don't show gpl on updated systens
+#
+touch /var/ipfire/main/gpl_accepted
+#
 # ReInstall grub
 #
 grub-install --no-floppy ${ROOT::`expr length $ROOT`-1} --recheck
@@ -214,7 +277,33 @@ perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
 # Delete old lm-sensor modullist to force search at next boot
 #
 rm -rf /etc/sysconfig/lm_sensors
-/usr/bin/logger -p syslog.emerg -t kernel "Upgrade finished. If you use a customized grub.cfg"
-/usr/bin/logger -p syslog.emerg -t kernel "Check it before reboot !!!"
-/usr/bin/logger -p syslog.emerg -t kernel " *** Please reboot... *** "
-touch /var/run/need_reboot
+#
+# Change version of Pakfire.conf
+#
+OLDVERSION=`grep "version = " /opt/pakfire/etc/pakfire.conf | cut -d'"' -f2`
+NEWVERSION="2.9"
+sed -i "s|$OLDVERSION|$NEWVERSION|g" /opt/pakfire/etc/pakfire.conf
+#
+# After pakfire has ended run it again and update the lists and do upgrade
+#
+echo '#!/bin/bash'                                        >  /tmp/pak_update
+echo 'while [ "$(ps -A | grep " update.sh")" != "" ]; do' >> /tmp/pak_update
+echo '    sleep 1'                                        >> /tmp/pak_update
+echo 'done'                                               >> /tmp/pak_update
+echo 'while [ "$(ps -A | grep " pakfire")" != "" ]; do'   >> /tmp/pak_update
+echo '    sleep 1'                                        >> /tmp/pak_update
+echo 'done'                                               >> /tmp/pak_update
+echo '/opt/pakfire/pakfire update -y --force'             >> /tmp/pak_update
+echo '/opt/pakfire/pakfire upgrade -y'                    >> /tmp/pak_update
+echo '/opt/pakfire/pakfire upgrade -y'                    >> /tmp/pak_update
+echo '/opt/pakfire/pakfire upgrade -y'                    >> /tmp/pak_update
+echo '/usr/bin/logger -p syslog.emerg -t core-upgrade-44 "Upgrade finished. If you use a customized grub.cfg"' >> /tmp/pak_update
+echo '/usr/bin/logger -p syslog.emerg -t core-upgrade-44 "Check it before reboot !!!"' >> /tmp/pak_update
+echo '/usr/bin/logger -p syslog.emerg -t core-upgrade-44 " *** Please reboot... *** "' >> /tmp/pak_update
+echo 'touch /var/run/need_reboot ' >> /tmp/pak_update
+#
+chmod +x /tmp/pak_update
+/tmp/pak_update &
+echo
+echo Please wait until pakfire has ended...
+echo