#
# check if we the backup file already exist
if [ -e /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.bz2 ]; then
- echo Error! The backupfile of this update already exist!!!
- echo Have you already installed this update?
- exit 3
+ 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
fi
echo First we made a backup of all files that was inside of the
echo update archive. This may take a while ...
# Add issue and packfire conf to backup
-echo etc/issue >> ROOTFILES
-echo opt/pakfire/etc/pakfire.conf >> ROOTFILES
+echo etc/issue >> /opt/pakfire/tmp/ROOTFILES
+echo opt/pakfire/etc/pakfire.conf >> /opt/pakfire/tmp/ROOTFILES
tar cjvf /var/ipfire/backup/update_$OLDVERSION-$NEWVERSION.tar.bz2 \
- -T ROOTFILES --exclude='#*' -C / > /dev/null 2>&1
+ -T /opt/pakfire/tmp/ROOTFILES --exclude='#*' -C / > /dev/null 2>&1
echo
echo Update IPfire to $NEWVERSON ...
#
echo " configfile /grub/grub-old.conf" >> /boot/grub/grub.conf
sed -i "s|/vmlinuz-ipfire|/vmlinuz-$OLDKERNEL-ipfire|g" /boot/grub/grub-old.conf
#
-# Made initramdisk
+# Made emergency - initramdisk
#
echo
echo Create new Initramdisks ...
+cp -f /etc/mkinitcpio.conf /etc/mkinitcpio.conf.org
+sed -i "s| autodetect | |g" /etc/mkinitcpio.conf
+mkinitcpio -k $KVER-ipfire -g /boot/ipfirerd-$KVER-emergency.img
+cp -f /etc/mkinitcpio.conf.org /etc/mkinitcpio.conf
+#
+# Made initramdisk
+#
if [ "${ROOT:0:7}" == "/dev/sd" ]; then
# Remove ide hook if root is on sda
sed -i "s| ide | |g" /etc/mkinitcpio.conf
fi
fi
mkinitcpio -k $KVER-ipfire -g /boot/ipfirerd-$KVER.img
-mkinitcpio -k $KVER-ipfire-smp -g /boot/ipfirerd-$KVER-smp.img
+#mkinitcpio -k $KVER-ipfire-smp -g /boot/ipfirerd-$KVER-smp.img
#
# Change version of Pakfire.conf
#
sed -i "s|$OLDVERSION|$NEWVERSION|g" /opt/pakfire/etc/pakfire.conf
#
-# Delete lists of the old version
-#
-rm -f /opt/pakfire/db/lists/*list.db
-#
# Create new issue
#
echo IPFire v$NEWVERSION - www.ipfire.org > /etc/issue
echo =================================== >> /etc/issue
echo \\n running on \\s \\r \\m >> /etc/issue
-# Core 15 begin
+# Core 17 begin
perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
/etc/init.d/mISDN config
-# Core 15 end
-echo
+# Core 17 end
+#
+# Remove obsolete packages
+#
+echo '#!/bin/bash' > /tmp/remove_obsolete_paks
+echo 'while [ "$(ps -A | grep " update.sh")" != "" ]; do' >> /tmp/remove_obsolete_paks
+echo ' sleep 2' >> /tmp/remove_obsolete_paks
+echo 'done' >> /tmp/remove_obsolete_paks
+echo 'while [ "$(ps -A | grep " pakfire")" != "" ]; do' >> /tmp/remove_obsolete_paks
+echo ' sleep 2' >> /tmp/remove_obsolete_paks
+echo 'done' >> /tmp/remove_obsolete_paks
+echo '/opt/pakfire/pakfire remove zaptel -y' >> /tmp/remove_obsolete_paks
+echo '/opt/pakfire/pakfire update --force' >> /tmp/remove_obsolete_paks
+echo 'echo' >> /tmp/remove_obsolete_paks
+echo 'echo Update to IPFire $NEWVERSION finished. Please reboot... ' >> /tmp/remove_obsolete_paks
+echo 'echo' >> /tmp/remove_obsolete_paks
+chmod +x /tmp/remove_obsolete_paks
+/tmp/remove_obsolete_paks &
echo
-echo Update to IPFire $NEWVERSION finished. Please reboot...
+echo Please wait until pakfire has ended...
echo