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 a7094642fe930412a6471306bb9fd39d6535d83f (commit) from 2a224f6c10b3b9753d2a80a38a1066b8b7404ce3 (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 a7094642fe930412a6471306bb9fd39d6535d83f Author: Arne Fitzenreiter arne_f@ipfire.org Date: Wed Jun 19 18:04:09 2013 +0200
core70: add kernel update to script.
and remove not update files from updater.
-----------------------------------------------------------------------
Summary of changes: config/rootfiles/core/70/filelists/GeoIP | 1 - config/rootfiles/core/70/filelists/hwdata | 2 - config/rootfiles/core/70/update.sh | 246 +++++++++++++++++++++++++----- 3 files changed, 210 insertions(+), 39 deletions(-) delete mode 100644 config/rootfiles/core/70/filelists/GeoIP delete mode 100644 config/rootfiles/core/70/filelists/hwdata
Difference in files: diff --git a/config/rootfiles/core/70/filelists/GeoIP b/config/rootfiles/core/70/filelists/GeoIP deleted file mode 100644 index 0258236..0000000 --- a/config/rootfiles/core/70/filelists/GeoIP +++ /dev/null @@ -1 +0,0 @@ -usr/local/share/GeoIP/GeoIP.dat diff --git a/config/rootfiles/core/70/filelists/hwdata b/config/rootfiles/core/70/filelists/hwdata deleted file mode 100644 index 5a9672f..0000000 --- a/config/rootfiles/core/70/filelists/hwdata +++ /dev/null @@ -1,2 +0,0 @@ -usr/share/hwdata/pci.ids -usr/share/hwdata/usb.ids diff --git a/config/rootfiles/core/70/update.sh b/config/rootfiles/core/70/update.sh index c57cbae..6fbbb48 100644 --- a/config/rootfiles/core/70/update.sh +++ b/config/rootfiles/core/70/update.sh @@ -24,6 +24,15 @@ . /opt/pakfire/lib/functions.sh /usr/local/bin/backupctrl exclude >/dev/null 2>&1
+function add_to_backup () +{ + # Add path to ROOTFILES but remove old entries to prevent double + # files in the tar + grep -v "^$1" /opt/pakfire/tmp/ROOTFILES > /opt/pakfire/tmp/ROOTFILES.tmp + mv /opt/pakfire/tmp/ROOTFILES.tmp /opt/pakfire/tmp/ROOTFILES + echo $1 >> /opt/pakfire/tmp/ROOTFILES +} + # # Remove old core updates from pakfire cache to save space... core=70 @@ -33,64 +42,229 @@ do done
# +# Do some sanity checks. +case $(uname -r) in + *-ipfire-versatile ) + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: ERROR cannot update. versatile support is dropped." + # Report no error to pakfire. So it does not try to install it again. + exit 0 + ;; + *-ipfire-xen ) + BOOTSIZE=`df /boot -Pk | sed "s| * | |g" | cut -d" " -f2 | tail -n 1` + if [ $BOOTSIZE -lt 28000 ]; then + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: ERROR cannot update because not enough space on boot." + exit 2 + fi + ;; + *-ipfire* ) + # Ok. + ;; + * ) + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: ERROR cannot update. No IPFire Kernel." + # Report no error to pakfire. So it does not try to install it again. + exit 0 + ;; +esac + + +# +# +KVER="3.2.47" +MOUNT=`grep "kernel" /boot/grub/grub.conf 2>/dev/null | tail -n 1 ` +# Nur den letzten Parameter verwenden +echo $MOUNT > /dev/null +MOUNT=$_ +if [ ! $MOUNT == "rw" ]; then + MOUNT="ro" +fi + +# +# check if we the backup file already exist +if [ -e /var/ipfire/backup/core-upgrade${core}_$KVER.tar.xz ]; then + echo Moving backup to backup-old ... + mv -f /var/ipfire/backup/core-upgrade${core}_$KVER.tar.xz \ + /var/ipfire/backup/core-upgrade${core}_$KVER-old.tar.xz +fi +echo First we made a backup of all files that was inside of the +echo update archive. This may take a while ... +# Add some files that are not in the package to backup +add_to_backup lib/modules +add_to_backup boot +add_to_backup etc/sysconfig/lm_sensors +add_to_backup etc/sysconfig/rc.local + +# Backup the files +tar cJvf /var/ipfire/backup/core-upgrade${core}_$KVER.tar.xz \ + -C / -T /opt/pakfire/tmp/ROOTFILES --exclude='#*' --exclude='/var/cache' > /dev/null 2>&1 + +# Check diskspace on root +ROOTSPACE=`df / -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` + +if [ $ROOTSPACE -lt 70000 ]; then + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: ERROR cannot update because not enough free space on root." + exit 2 +fi + +echo +echo Update Kernel to $KVER ... +# +# Remove old kernel, configs, initrd, modules ... +# +rm -rf /boot/System.map-* +rm -rf /boot/config-* +rm -rf /boot/ipfirerd-* +rm -rf /boot/vmlinuz-* +rm -rf /boot/uImage-ipfire-* +rm -rf /boot/uInit-ipfire-* +rm -rf /lib/modules + +case $(uname -m) in + i?86 ) + # + # Backup grub.conf + # + cp -vf /boot/grub/grub.conf /boot/grub/grub.conf.org + ;; +esac + +# # Remove meta's of packages that are now common... # rm -rf /opt/pakfire/db/*/meta-freefont
# #Stop services -/etc/init.d/ipsec stop
# #Extract files -extract_files +tar xavf /opt/pakfire/tmp/files* --no-overwrite-dir -p --numeric-owner -C / + +# Check diskspace on boot +BOOTSPACE=`df /boot -Pk | sed "s| * | |g" | cut -d" " -f4 | tail -n 1` + +if [ $BOOTSPACE -lt 1000 ]; then + case $(uname -r) in + *-ipfire-kirkwood ) + # Special handling for old kirkwood images. + # (install only kirkwood kernel) + rm -rf /boot/* + tar xavf /opt/pakfire/tmp/files* --no-overwrite-dir -p \ + --numeric-owner -C / --wildcards 'boot/*-kirkwood*' + ;; + * ) + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: FATAL-ERROR space run out on boot. System is not bootable..." + /etc/init.d/apache start + exit 4 + ;; + esac +fi
-# Regenerate ipsec configuration files. -/srv/web/ipfire/cgi-bin/vpnmain.cgi
# #Start services -if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then - /etc/init.d/ipsec start -fi
-#Switch realtek lan from vendor to kernel original... - cp /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8169.ko \ - /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8169.ko.vendor - mv /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8101.ko \ - /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8101.ko.vendor - mv /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8168.ko \ - /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8168.ko.vendor - cp -f /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8169.ko.org \ - /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8169.ko - rm /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8101.ko - rm /lib/modules/*-ipfire*/kernel/drivers/net/ethernet/realtek/r8168.ko - rm /var/cache/pakfire/linux-pae-*.ipfire - -#rebuild module dep's -arch=`uname -m` - -if [ ${arch::3} == "arm" ]; then - depmod -a 3.2.46-ipfire-kirkwood >/dev/null 2>&1 - depmod -a 3.2.46-ipfire-omap >/dev/null 2>&1 - depmod -a 3.2.46-ipfire-rpi >/dev/null 2>&1 -else - depmod -a 3.2.46-ipfire >/dev/null 2>&1 - depmod -a 3.2.46-ipfire-pae >/dev/null 2>&1 - depmod -a 2.6.32.60-ipfire-xen >/dev/null 2>&1 -fi +case $(uname -m) in + i?86 ) + # + # Modify grub.conf + # + echo + echo Update grub configuration ... + ROOT=`mount | grep " / " | cut -d" " -f1` + + if [ ! -z $ROOT ]; then + ROOTUUID=`blkid -c /dev/null -sUUID $ROOT | cut -d'"' -f2` + fi + + if [ ! -z $ROOTUUID ]; then + sed -i "s|ROOT|UUID=$ROOTUUID|g" /boot/grub/grub.conf + else + sed -i "s|ROOT|$ROOT|g" /boot/grub/grub.conf + fi + sed -i "s|KVER|$KVER|g" /boot/grub/grub.conf + sed -i "s|MOUNT|$MOUNT|g" /boot/grub/grub.conf + + if [ "$(grep "^serial" /boot/grub/grub.conf.org)" == "" ]; then + echo "grub use default console ..." + else + echo "grub use serial console ..." + sed -i -e "s|splashimage|#splashimage|g" /boot/grub/grub.conf + sed -i -e "s|#serial|serial|g" /boot/grub/grub.conf + sed -i -e "s|#terminal|terminal|g" /boot/grub/grub.conf + sed -i -e "s| panic=10 | console=ttyS0,115200n8 panic=10 |g" /boot/grub/grub.conf + fi + + # + # ReInstall grub + # + echo "(hd0) ${ROOT::`expr length $ROOT`-1}" > /boot/grub/device.map + grub-install --no-floppy ${ROOT::`expr length $ROOT`-1} + ;; +esac +# +# Delete old lm-sensor modullist to force search at next boot +# +rm -rf /etc/sysconfig/lm_sensors
# #Update Language cache perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
-# Regenerate font cache -fc-cache -f &>/dev/null +# Force (re)install pae kernel if pae is supported +rm -rf /opt/pakfire/db/*/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` + if [ $BOOTSPACE -lt 8000 -o $ROOTSPACE -lt 70000 ]; then + /usr/bin/logger -p syslog.emerg -t ipfire \ + "core-update-${core}: WARNING not enough space for pae kernel." + else + rm -f /boot/grub/grub-backup-*-pae_install.conf + echo "Name: linux-pae" > /opt/pakfire/db/installed/meta-linux-pae + echo "ProgVersion: 3.2.46" >> /opt/pakfire/db/installed/meta-linux-pae + echo "Release: 29" >> /opt/pakfire/db/installed/meta-linux-pae + fi +fi
-sync +# Force reinstall xen kernel if it was installed +if [ -e "/opt/pakfire/db/installed/meta-linux-xen" ]; then + rm -f /boot/grub/grub-backup-*-xen.conf + echo "Name: linux-xen" > /opt/pakfire/db/installed/meta-linux-xen + echo "ProgVersion: 2.6.32.60" >> /opt/pakfire/db/installed/meta-linux-xen + echo "Release: 26" >> /opt/pakfire/db/installed/meta-linux-xen +fi
+# +# 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 ipfire "Core-upgrade finished. If you use a customized grub.cfg"' >> /tmp/pak_update +echo '/usr/bin/logger -p syslog.emerg -t ipfire "Check it before reboot !!!"' >> /tmp/pak_update +echo '/usr/bin/logger -p syslog.emerg -t ipfire " *** Please reboot... *** "' >> /tmp/pak_update +echo 'touch /var/run/need_reboot ' >> /tmp/pak_update +# +chmod +x /tmp/pak_update +/tmp/pak_update & + + +sync # This update need a reboot... -touch /var/run/need_reboot +#touch /var/run/need_reboot
# #Finish
hooks/post-receive -- IPFire 2.x development tree