public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [git.ipfire.org] IPFire 2.x development tree branch, next, updated. a7094642fe930412a6471306bb9fd39d6535d83f
@ 2013-06-19 16:05 git
  0 siblings, 0 replies; only message in thread
From: git @ 2013-06-19 16:05 UTC (permalink / raw)
  To: ipfire-scm

[-- 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2013-06-19 16:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-19 16:05 [git.ipfire.org] IPFire 2.x development tree branch, next, updated. a7094642fe930412a6471306bb9fd39d6535d83f git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox