Files
docker-builder-amd64/script/post-upgrade.sh
T
Ettore Di Giacinto 52ab469e99 Keep sudo
2018-08-24 18:39:19 +02:00

157 lines
3.6 KiB
Bash

#!/bin/bash
export ACCEPT_LICENSE=*
PACKAGES_TO_REMOVE=(
"x11-libs/gtk+:3"
"x11-libs/gtk+:2"
"dev-db/mariadb"
"sys-fs/ntfs3g"
"app-accessibility/at-spi2-core"
"app-accessibility/at-spi2-atk"
"sys-devel/base-gcc:4.7"
"sys-devel/gcc:4.7"
"net-print/cups"
"dev-util/gtk-update-icon-cache"
"dev-qt/qtscript"
"dev-qt/qtchooser"
"dev-qt/qtcore"
"app-shells/zsh"
"app-shells/zsh-pol-config"
"dev-db/mysql-init-scripts"
"dev-lang/ruby"
"app-editors/vim"
"dev-util/gtk-doc-am"
"x11-apps/xset"
"x11-themes/hicolor-icon-theme"
"media-libs/tiff"
"media-libs/jbig2dec"
"dev-libs/libcroco"
"app-text/qpdf"
"media-fonts/urw-fonts"
"app-text/libpaper"
"dev-python/snakeoil"
"dev-libs/atk"
"dev-perl/DBI"
"app-text/sgml-common"
"sys-power/upower"
)
FILES_TO_REMOVE=(
"/.viminfo"
"/.history"
"/.zcompdump"
"/var/log/emerge.log"
"/var/log/emerge-fetch.log"
)
PACKAGES_TO_ADD=(
"app-eselect/eselect-bzimage"
"app-text/pastebunz"
"app-misc/sabayon-devkit"
"app-misc/sabayon-sark"
"app-admin/perl-cleaner"
"sys-apps/grep"
"sys-kernel/sabayon-sources"
"app-misc/sabayon-version"
"app-portage/layman"
"app-portage/eix"
"net-misc/rsync"
"app-crypt/gnupg"
"sys-devel/gcc"
"sys-devel/base-gcc"
"dev-vcs/git"
"app-portage/gentoolkit"
"net-misc/openssh"
"sys-devel/automake"
"app-admin/enman"
"sys-devel/distcc"
"sys-apps/entropy-server"
)
# upgrading machine
equo up && equo u
# Handling install/removal of packages specified in env
for i in "${PACKAGES_TO_REMOVE[@]}"
do
echo "===== Remove $i ====="
equo rm --deep --configfiles --force-system "$i"
done
equo i "${PACKAGES_TO_ADD[@]}"
# Configuring layman
mkdir /etc/portage/repos.conf/
mkdir /var/lib/layman/
layman-updater -R
# Configuring repoman
mkdir -p /usr/portage/distfiles/ && wget http://www.gentoo.org/dtd/metadata.dtd -O /usr/portage/distfiles/metadata.dtd
chown -R root:portage /usr/portage/distfiles/
chmod g+w /usr/portage/distfiles/
# Upgrading kernel to latest version
kernel_target_pkg="sys-kernel/linux-sabayon"
available_kernel=$(equo match "${kernel_target_pkg}" -q --showslot)
echo
echo "@@ Upgrading kernel to ${available_kernel}"
echo
kernel-switcher switch "${available_kernel}" || exit 1
# now delete stale files in /lib/modules
for slink in $(find /lib/modules/ -type l); do
if [ ! -e "${slink}" ]; then
echo "Removing broken symlink: ${slink}"
rm "${slink}" # ignore failure, best effort
# check if parent dir is empty, in case, remove
paren_slink=$(dirname "${slink}")
paren_children=$(find "${paren_slink}")
if [ -z "${paren_children}" ]; then
echo "${paren_slink} is empty, removing"
rmdir "${paren_slink}" # ignore failure, best effort
fi
fi
done
# Merging defaults configurations
echo -5 | equo conf update
pushd /etc/portage
git fetch --all
git checkout master
git reset --hard origin/master
rm -rfv make.conf
ln -sf make.conf.amd64 make.conf
popd
# Writing package list file
equo q list installed -qv > /etc/sabayon-pkglist
# Cleaning equo package cache
equo cleanup
# Cleanup Perl cruft
perl-cleaner --ph-clean
# remove SSH keys
rm -rf /etc/ssh/*_key*
# Configuring for build
echo "*" > /etc/eix-sync.conf
emerge-webrsync
eix-sync
echo "y" | layman -f -a sabayon
echo "y" | layman -f -a sabayon-distro
# remove LDAP keys
rm -f /etc/openldap/ssl/ldap.pem /etc/openldap/ssl/ldap.key \
/etc/openldap/ssl/ldap.csr /etc/openldap/ssl/ldap.crt
# Remove scripts
rm -rf /post-upgrade.sh
# Cleanup
rm -rf "${FILES_TO_REMOVE[@]}"