diff options
Diffstat (limited to 'scripts/automatic_updater.sh')
-rwxr-xr-x | scripts/automatic_updater.sh | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/scripts/automatic_updater.sh b/scripts/automatic_updater.sh index 2afa6f6..58e8ced 100755 --- a/scripts/automatic_updater.sh +++ b/scripts/automatic_updater.sh @@ -42,7 +42,7 @@ move_makeconf(){ } update_portage(){ - local dl_portage_ver="2.3.8" + local dl_portage_ver="2.3.6" echo "Updating the sys-apps/portage with a manual method..." @@ -63,8 +63,8 @@ update_portage(){ eselect python set 1 } -update_bmake(){ - echo "Updating the bmake..." +update_bmake_command(){ + echo "Updating bmake..." [[ -e /usr/local/bin/make ]] && exit 1 @@ -73,15 +73,32 @@ update_bmake(){ make cp -a make /usr/local/bin/ cd "${PORTDIR}/sys-freebsd/freebsd-ubin" && ebuild $(ls -1 freebsd-ubin-${TARGETVER}*.ebuild | tail -n 1) clean + + env-update + source /etc/profile +} + +update_config_command(){ + echo "Updating config..." + + [[ -e /usr/local/sbin/config ]] && exit 1 + + cd "${PORTDIR}/sys-freebsd/freebsd-usbin" && ebuild $(ls -1 freebsd-usbin-${TARGETVER}*.ebuild | tail -n 1) prepare + cd "${PORTAGE_TMPDIR}"/portage/sys-freebsd/freebsd-usbin-${TARGETVER}*/work/usr.sbin/config + /usr/local/bin/make -m /usr/share/mk/system + cp -a config /usr/local/sbin/ + cd "${PORTDIR}/sys-freebsd/freebsd-usbin" && ebuild $(ls -1 freebsd-usbin-${TARGETVER}*.ebuild | tail -n 1) clean } update_minimal(){ echo "Updating the minimal packages to upgrade the Gentoo/FreeBSD..." emerge -u sys-devel/gcc-config --exclude sys-freebsd/* - update_bmake + update_bmake_command emerge --nodeps sys-freebsd/freebsd-mk-defs + update_config_command + emerge -u '<sys-apps/findutils-4.6' --exclude sys-freebsd/* emerge sys-devel/libtool --exclude sys-freebsd/* @@ -118,7 +135,8 @@ update_toolchain(){ # https://bugs.gentoo.org/629128 [[ ! -e /etc/portage/package.unmask ]] && mkdir -p /etc/portage/package.unmask - echo "sys-devel/binutils" > /etc/portage/package.unmask/binutils-oldversion + echo "sys-devel/binutils" > /etc/portage/package.unmask/toolchain-oldversion + echo "sys-devel/gcc" >> /etc/portage/package.unmask/toolchain-oldversion emerge -u '<sys-devel/binutils-2.28' --exclude sys-freebsd/* emerge -u sys-devel/gcc-config --exclude sys-freebsd/* emerge -u '<sys-devel/gcc-5.0' --exclude sys-freebsd/* --exclude sys-devel/binutils @@ -167,6 +185,7 @@ update_freebsd_userland(){ emerge freebsd-bin freebsd-lib freebsd-mk-defs freebsd-pam-modules freebsd-sbin freebsd-share freebsd-sources freebsd-ubin freebsd-usbin [[ -e /usr/local/bin/make ]] && rm /usr/local/bin/make + [[ -e /usr/local/sbin/config ]] && rm /usr/local/sbin/config env-update source /etc/profile } @@ -205,7 +224,11 @@ emerge_world(){ emerge -C \<$(emerge -pq --nodeps sys-devel/gcc --exclude sys-freebsd/* | grep ebuild | awk '{print $4}') && : gcc-config $(gcc-config -l | grep "${TARGETVER}" | awk '{print $1}' | sed 's:\[::g' | sed 's:\]::g' | tail -n 1) source /etc/profile - emerge -e @world --exclude dev-perl/libintl-perl + if [[ ${REMOVEPERL} -ne 0 ]] ; then + emerge -e @world --exclude dev-perl/libintl-perl + else + emerge -e @world + fi emerge -C dev-lang/python:3.2 && : emerge -C '<sys-devel/binutils-2.28.1' && : emerge @preserved-rebuild @@ -215,6 +238,7 @@ emerge_world(){ cleanup(){ emerge sys-devel/libtool app-admin/eselect + [[ -e /etc/portage/package.unmask/toolchain-oldversion ]] && rm /etc/portage/package.unmask/toolchain-oldversion echo "done!" } |