summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automatic_updater.sh')
-rwxr-xr-xscripts/automatic_updater.sh36
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!"
}