]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - config/rootfiles/updater/update.sh
Updater create addon backup folder if it was missing
[ipfire-2.x.git] / config / rootfiles / updater / update.sh
index 476713c3847d7e24fd8f2df4b7f6efcd54a5aee4..498eed1dd0a4d9a365ce8f837547741deb629111 100755 (executable)
@@ -38,10 +38,10 @@ echo Update IPFire $OLDVERSION to $NEWVERSION
 echo
 #
 # check if we the backup file already exist
-if [ -e /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.bz2 ]; then
+if [ -e /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.gz ]; then
     echo Moving backup to backup-old ...
-    mv -f /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.bz2 \
-       /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION-old.tar.bz2
+    mv -f /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.gz \
+       /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION-old.tar.gz
 fi
 echo First we made a backup of all files that was inside of the
 echo update archive. This may take a while ...
@@ -51,19 +51,48 @@ echo opt/pakfire/etc/pakfire.conf >> /opt/pakfire/tmp/ROOTFILES
 echo var/spool/cron/root.orig >> /opt/pakfire/tmp/ROOTFILES
 echo etc/udev/rules.d/30-persistent-network.rules >> /opt/pakfire/tmp/ROOTFILES
 echo etc/sysconfig/lm_sensors >> /opt/pakfire/tmp/ROOTFILES
-#
-tar cjvf /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.bz2 \
+echo var/log/rrd >> /opt/pakfire/tmp/ROOTFILES
+echo var/log/vnstat >> /opt/pakfire/tmp/ROOTFILES
+echo var/updatexlerator >> /opt/pakfire/tmp/ROOTFILES
+echo lib/iptables >> /opt/pakfire/tmp/ROOTFILES
+echo lib/modules >> /opt/pakfire/tmp/ROOTFILES
+echo boot >> /opt/pakfire/tmp/ROOTFILES
+echo srv/web/ipfire/cgi-bin/fwhits.cgi >> /opt/pakfire/tmp/ROOTFILES
+echo srv/web/ipfire/cgi-bin/network.cgi >> /opt/pakfire/tmp/ROOTFILES
+echo srv/web/ipfire/cgi-bin/traffics.cgi >> /opt/pakfire/tmp/ROOTFILES
+echo srv/web/ipfire/cgi-bin/graphs.cgi >> /opt/pakfire/tmp/ROOTFILES
+echo srv/web/ipfire/cgi-bin/qosgraph.cgi >> /opt/pakfire/tmp/ROOTFILES
+#
+tar czvf /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.gz \
    -T /opt/pakfire/tmp/ROOTFILES --exclude='#*' -C / > /dev/null 2>&1 
 echo
 echo Update IPfire to $NEWVERSION ...
 #
+# On some systems the folder for addon backups is missing
+#
+if [ ! -e /var/ipfire/backup/addons/backup ]; then
+    mkdir -p /var/ipfire/backup/addons/backup
+fi
+#
 # Delete old collectd symlink
 #
 rm -rf /etc/rc.d/rc3.d/S20collectd
 #
-# Delete old lm-sensor modullist...
+# Delete squid symlink
 #
-rm -rf /etc/sysconfig/lm_sensors
+rm -rf /etc/rc.d/rc3.d/S99squid
+#
+# Delete old cgi files ...
+#
+rm -rf /srv/web/ipfire/cgi-bin/fwhits.cgi
+rm -rf /srv/web/ipfire/cgi-bin/network.cgi
+rm -rf /srv/web/ipfire/cgi-bin/traffics.cgi
+rm -rf /srv/web/ipfire/cgi-bin/graphs.cgi
+rm -rf /srv/web/ipfire/cgi-bin/qosgraph.cgi
+#
+# Delete old iptables libs...
+#
+rm -rf /lib/iptables
 #
 # Remove old kernel, configs, initrd, modules ...
 #
@@ -123,6 +152,19 @@ fi
 mkinitcpio -k $KVER-ipfire -g /boot/ipfirerd-$KVER.img
 #mkinitcpio -k $KVER-ipfire-smp -g /boot/ipfirerd-$KVER-smp.img
 #
+# ReInstall grub
+#
+grub-install --no-floppy ${ROOT::`expr length $ROOT`-1}
+#
+# Update fstab
+#
+grep -v "tmpfs" /etc/fstab > /tmp/fstab.tmp
+echo "none     /tmp            tmpfs   defaults,size=128M      0       0" >> /tmp/fstab.tmp
+echo "none     /var/log/rrd    tmpfs   defaults,size=64M       0       0" >> /tmp/fstab.tmp
+echo "none     /var/lock       tmpfs   defaults,size=16M       0       0" >> /tmp/fstab.tmp
+echo "none     /var/run        tmpfs   defaults,size=16M       0       0" >> /tmp/fstab.tmp
+mv /tmp/fstab.tmp /etc/fstab
+#
 # Change version of Pakfire.conf
 #
 sed -i "s|$OLDVERSION|$NEWVERSION|g" /opt/pakfire/etc/pakfire.conf
@@ -135,7 +177,11 @@ echo \\n running on \\s \\r \\m >> /etc/issue
 #
 # Update crontab
 #
-grep -v "ipacsum" /var/spool/cron/root.orig > /tmp/root.orig.tmp
+grep -v "ipacsum" /var/spool/cron/root.orig | grep -v "hddshutdown" > /tmp/root.orig.tmp
+echo "# Backup collectd files" >> /tmp/root.orig.tmp
+echo "* 05 * * *       /etc/init.d/tmpfs backup >/dev/null" >> /tmp/root.orig.tmp
+echo "# hddshutdown" >> /tmp/root.orig.tmp
+echo "*/30 * * * *     /usr/local/bin/hddshutdown >/dev/null" >> /tmp/root.orig.tmp
 mv /tmp/root.orig.tmp /var/spool/cron/root.orig
 chmod 600 /var/spool/cron/root.orig
 chown root:cron /var/spool/cron/root.orig
@@ -148,7 +194,20 @@ sed -i 's|"net", SYSFS{address}|"net", SYSFS{type}=="1", SYSFS{address}|g' \
 # Core 17
 #
 perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
-perl -e "/var/ipfire/qos/bin/migrate.pl"
+perl /var/ipfire/qos/bin/migrate.pl
+/var/ipfire/updatexlrator/bin/convert
+#
+# Move vnstat database to /var/log/rrd
+#
+mkdir -p /var/log/rrd.bak/vnstat
+if [ -e /var/log/vnstat ]; then
+    cp /var/log/vnstat /var/log/rrd.bak/vnstat
+    mv /var/log/vnstat /var/log/rrd/vnstat
+fi
+#
+# Delete old lm-sensor modullist...
+#
+rm -rf /etc/sysconfig/lm_sensors
 #
 # ISDN
 #