From: git@ipfire.org
To: ipfire-scm@lists.ipfire.org
Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. a7094642fe930412a6471306bb9fd39d6535d83f
Date: Wed, 19 Jun 2013 18:05:04 +0200 [thread overview]
Message-ID: <20130619160505.5A61F2075C@argus.ipfire.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 11654 bytes --]
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(a)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
reply other threads:[~2013-06-19 16:05 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130619160505.5A61F2075C@argus.ipfire.org \
--to=git@ipfire.org \
--cc=ipfire-scm@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox