commit:     b85ab4b4483a6ac0f55fcccb7f3c3c2cdef29242
Author:     Yuta SATOH <nigoro.dev <AT> gmail <DOT> com>
AuthorDate: Thu Dec  7 13:24:28 2017 +0000
Commit:     Yuta SATOH <nigoro <AT> gentoo <DOT> gr <DOT> jp>
CommitDate: Thu Dec  7 13:24:28 2017 +0000
URL:        https://gitweb.gentoo.org/proj/gentoo-bsd.git/commit/?id=b85ab4b4

create_forcestage3.sh: updated. It targets 11.1.

 scripts/mkstages/create_forcestage3.sh | 56 ++++++++++++++++++++++++++--------
 1 file changed, 43 insertions(+), 13 deletions(-)

diff --git a/scripts/mkstages/create_forcestage3.sh 
b/scripts/mkstages/create_forcestage3.sh
old mode 100644
new mode 100755
index 516f95b..c34631e
--- a/scripts/mkstages/create_forcestage3.sh
+++ b/scripts/mkstages/create_forcestage3.sh
@@ -1,22 +1,34 @@
 #!/bin/bash
 set -eu
 
-TARGETVER="${TARGETVER:-10.1}"
+TARGETVER="${TARGETVER:-11.1}"
 TARGETARCH="${TARGETARCH:-amd64}"
 
OLDSTAGE3="${OLDSTAGE3:-http://distfiles.gentoo.org/experimental/bsd/freebsd/stages/amd64-fbsd-9.1/stage3-amd64-freebsd-9.1.tar.bz2}";
 WORKDIR="/${TARGETVER}-forcestage3/${TARGETARCH}"
 PORTDIR="${PORTDIR:-/usr/portage}"
 TMPFS=${TMPFS:-0}
 CLANG=${CLANG:-0}
+SET_MAKEOPTS=${SET_MAKEOPTS:-1}
+# DISTDIR will be set automatically if your environment have the emerge 
command.
+# This setting exists for vanilla FreeBSD.
+DISTDIR="${DISTDIR:-/usr/portage/distfiles}"
+
 [[ ${CLANG} -ne 0 ]] && WORKDIR="${WORKDIR}_clang"
 
 prepare(){
-       local distdir="$(emerge --info | grep DISTDIR | sed s:DISTDIR=::g | sed 
's:"::g')"
+       local distdir
+
+       if type -P emerge &> /dev/null ; then
+               distdir="$(emerge --info | grep DISTDIR | sed s:DISTDIR=::g | 
sed 's:"::g')"
+       else
+               distdir="${DISTDIR}"
+       fi
+
        if [[ ! -d "${WORKDIR}" ]]; then
                mkdir -p "${WORKDIR}"
        else
-               echo "${WORKDIR} exists."
-               echo "Please remove the following steps."
+               echo "Error: ${WORKDIR} exists."
+               echo "Please remove the following steps:"
                echo ""
                echo "kill -9 $(ps auxw | grep ebuild-helpers/ecompressdir | 
grep -v grep | awk '{ print $2 }' | xargs)"
                echo "umount $(mount | grep ${WORKDIR} | awk '{print $3}' | 
xargs)"
@@ -27,10 +39,11 @@ prepare(){
 
        if [[ "${OLDSTAGE3}" =~ ^http ]]; then
                if [[ ! -e /tmp/$(basename ${OLDSTAGE3}) ]]; then
-                       wget -P /tmp "${OLDSTAGE3}"
+                       cd /tmp
+                       fetch "${OLDSTAGE3}"
                fi
        else
-               cp "${OLDSTAGE3}" /tmp
+               cp -a "${OLDSTAGE3}" /tmp
        fi
 
        tar xjpf /tmp/$(basename ${OLDSTAGE3}) -C "${WORKDIR}"
@@ -40,6 +53,7 @@ prepare(){
 
        mount -t devfs devfs "${WORKDIR}"/dev
        mount -t nullfs "${PORTDIR}" "${WORKDIR}"/usr/portage
+
        if [[ ! "${distdir}" =~ ${PORTDIR}.* ]]; then
                echo "mount DISTDIR"
                if [[ ! -e "${WORKDIR}"/usr/portage/distfiles ]]; then
@@ -51,8 +65,10 @@ prepare(){
                echo "mount TMPFS"
                mount -t tmpfs tmpfs "${WORKDIR}"/var/tmp/portage
        fi
-       wget -P "${WORKDIR}" 
https://gitweb.gentoo.org/proj/gentoo-bsd.git/plain/scripts/automatic_updater.sh
-       cp /etc/resolv.conf "${WORKDIR}"/etc
+
+       cd "${WORKDIR}"
+       fetch 
https://gitweb.gentoo.org/proj/gentoo-bsd.git/plain/scripts/automatic_updater.sh
+       cp -a /etc/resolv.conf "${WORKDIR}"/etc
 }
 
 chroot_update(){
@@ -62,15 +78,24 @@ chroot_update(){
                local makeconf="${WORKDIR}"/etc/portage/make.conf
        fi
 
-       echo "MAKEOPTS=\"-j$(sysctl hw.ncpu | awk '{ print $2 + 1 }')"\" >> 
"${makeconf}"
+       case ${SET_MAKEOPTS} in
+               [1-9]|[1-9][0-9])
+                       echo "MAKEOPTS=\"-j${SET_MAKEOPTS}\"" >> "${makeconf}"
+                       ;;
+               *) exit 1 ;;
+       esac
+
        echo 'USE="${USE} -fortran -build-kernel"' >> "${makeconf}"
 
        export EMERGE_DEFAULT_OPTS="-q"
+       mkdir -p "${WORKDIR}"/etc/portage/patches/sys-apps
+       cp -a /etc/portage/patches/sys-apps/portage 
"${WORKDIR}"/etc/portage/patches/sys-apps
        chroot "${WORKDIR}" bash /automatic_updater.sh ${TARGETVER} kernel
        chroot "${WORKDIR}" bash /automatic_updater.sh ${TARGETVER} 
freebsd_userland
        if [[ -e "${WORKDIR}"/usr/bin/git ]]; then
                chroot "${WORKDIR}" emerge -C dev-vcs/git
        fi
+
        REMOVEPERL=1 chroot "${WORKDIR}" bash /automatic_updater.sh 
${TARGETVER} world
        unset EMERGE_DEFAULT_OPTS
 }
@@ -89,7 +114,13 @@ check_ecompressdir() {
 }
 
 cleanup(){
-       local distdir="$(emerge --info | grep DISTDIR | sed s:DISTDIR=::g | sed 
's:"::g')"
+       local distdir
+
+       if type -P emerge &> /dev/null ; then
+               distdir="$(emerge --info | grep DISTDIR | sed s:DISTDIR=::g | 
sed 's:"::g')"
+       else
+               distdir="${DISTDIR}"
+       fi
 
        check_ecompressdir
        if [[ ! "${distdir}" =~ ${PORTDIR}.* ]]; then
@@ -116,10 +147,10 @@ create_stage3(){
                tarfile="stage3-${TARGETARCH}-fbsd-${TARGETVER}-forcestage3"
        fi
 
-       echo "Compress with tar."
+       echo "Compressing with tar."
        LANG="en_US.UTF-8" tar cjpf 
/var/tmp/catalyst/builds/default/"${tarfile}".tar.bz2 .
 
-       echo "Complete !"
+       echo "Complete!"
        echo "Set FORCESTAGE3=${tarfile}"
 }
 
@@ -127,4 +158,3 @@ prepare
 chroot_update
 cleanup
 create_stage3
-

Reply via email to