summaryrefslogtreecommitdiffstats
path: root/abs/core/update81-82.sh
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/update81-82.sh')
-rw-r--r--abs/core/update81-82.sh151
1 files changed, 151 insertions, 0 deletions
diff --git a/abs/core/update81-82.sh b/abs/core/update81-82.sh
new file mode 100644
index 0000000..7061311
--- /dev/null
+++ b/abs/core/update81-82.sh
@@ -0,0 +1,151 @@
+#!/bin/bash
+#This script should be used to update from R8.1 to R8.2 ONLY
+#
+
+#touch /bin/this_should_stop_it
+
+echo ""
+echo "About to update the OS to LinHES 8.2"
+echo "This process will only work if currently running LinHES 8.1 or later"
+echo "* Please respond with Y to ALL the yes/no questions"
+echo "* Answer Y to remove sysvinit"
+echo "* If prompted about libgl, select the gl that is appropiate for your system"
+echo ""
+echo "Press Y to continue, any other key to stop"
+
+
+read a
+if [ x$a != "xY" ]
+then
+ echo " Y NOT selected, exiting"
+ exit 3
+fi
+
+echo ""
+echo "Syncing pacman repos..."
+pacman -Ssyy LinHES-system | awk '{print $2}' | grep -q "8.2-"
+pr=$?
+if [ $pr != 0 ]
+then
+ echo ""
+ echo "WARNING! The current repos in /etc/pacman.conf do not look like they"
+ echo " contain packages for LinHES 8.2."
+ echo "The update cannot continue. Exiting."
+ exit 3
+fi
+
+echo ""
+echo "Downloading filesystem and glibc for later use, please wait..."
+curl -o filesystem-itermediate.pkg.tar.xz http://linhes.org/repo/x86_64/filesystem-itermediate.pkg.tar.xz
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "Couldn't download filesystem package"
+ exit 1
+else
+ echo "filesystem package downloaded"
+fi
+
+curl -o glibc-2.18-11-x86_64.pkg.tar.xz http://linhes.org/repo/x86_64/core-testing/glibc-2.18-11-x86_64.pkg.tar.xz
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "Couldn't download glibc package"
+ exit 1
+else
+ echo "glibc package downloaded"
+fi
+
+echo "Installing tdb..."
+pacman -S --noconfirm tdb
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "FAILED: pacman -S tdb"
+ exit 2
+fi
+
+echo ""
+echo "Removing miscellanous files not in packages..."
+rm -f /usr/lib/libtalloc.so.1
+rm -f /usr/lib/libtalloc.so.2
+rm -f /etc/ssl/certs/java/cacerts
+
+echo ""
+echo "Removing symlinks not in poweroff-scripts package..."
+if [ -L /usr/sbin ]
+then
+ rm -f /usr/sbin/reb*
+ rm -f /usr/sbin/pow*
+ rm -f /usr/sbin/hal*
+fi
+
+if [ -L /sbin ]
+then
+ rm -f /sbin/reb*
+ rm -f /sbin/pow*
+ rm -f /sbin/hal*
+fi
+
+
+echo ""
+echo "Updating packages..."
+pacman -Syu lirc lirc-utils --ignore filesystem,bash,glibc
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "FAILED: pacman -Syu lirc lirc-utils --ignore filesystem,bash,glibc"
+ exit 2
+fi
+
+pacman -R tcp_wrappers --noconfirm
+pacman -S bash --noconfirm
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "FAILED: pacman -S bash"
+ exit 2
+fi
+
+pacman -U ./glibc-2.18-11-x86_64.pkg.tar.xz ./filesystem-itermediate.pkg.tar.xz --noconfirm
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "Filesystem-itermediate update was unable to install"
+ echo "Please check /bin /usr/sbin /sbin "
+ echo "for packages that need to be updated"
+ exit 2
+fi
+
+pacman -Su --noconfirm
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "FAILED: pacman -Su"
+ exit 2
+fi
+
+if [ -e /etc/udev/rules.d/80-net-name-slot.rules ]
+then
+ rm -f /etc/udev/rules.d/80-net-name-slot.rules
+fi
+
+ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
+
+pacman -S linux --noconfirm
+
+pacman -S filesystem --noconfirm
+rc=$?
+if [ $rc != 0 ]
+then
+ echo "Filesystem update was unable to install"
+ echo "Please check /bin /usr/sbin /sbin "
+ echo "for packages that need to be updated"
+ exit 2
+else
+ echo ""
+ echo ""
+ echo "New filesystem in place"
+ echo "LinHES 8.2 upgrade was successful!"
+ echo "Please reboot"
+fi