From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1FA96139084 for ; Thu, 7 Dec 2017 13:39:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4FD23E0F9B; Thu, 7 Dec 2017 13:39:46 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 20474E0F9B for ; Thu, 7 Dec 2017 13:39:45 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5061C33D3C7 for ; Thu, 7 Dec 2017 13:39:44 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 9B2C6AE6B for ; Thu, 7 Dec 2017 13:39:42 +0000 (UTC) From: "Yuta SATOH" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Yuta SATOH" Message-ID: <1512652467.b477cae6a1f05eb0f562c8f9294ec3db4c3d1be2.yuta_satoh@gentoo> Subject: [gentoo-commits] proj/gentoo-bsd:master commit in: scripts/ X-VCS-Repository: proj/gentoo-bsd X-VCS-Files: scripts/automatic_updater.sh X-VCS-Directories: scripts/ X-VCS-Committer: yuta_satoh X-VCS-Committer-Name: Yuta SATOH X-VCS-Revision: b477cae6a1f05eb0f562c8f9294ec3db4c3d1be2 X-VCS-Branch: master Date: Thu, 7 Dec 2017 13:39:42 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: fe326c30-74b2-48ce-a1ea-51ee77eaf51b X-Archives-Hash: 83146eeef0cdb9f5c7a11f7b8abac2ff commit: b477cae6a1f05eb0f562c8f9294ec3db4c3d1be2 Author: Yuta SATOH gmail com> AuthorDate: Thu Dec 7 13:14:27 2017 +0000 Commit: Yuta SATOH gentoo gr jp> CommitDate: Thu Dec 7 13:14:27 2017 +0000 URL: https://gitweb.gentoo.org/proj/gentoo-bsd.git/commit/?id=b477cae6 automatic_updater.sh: updated. It targets 11.1. scripts/automatic_updater.sh | 165 ++++++++++++++++++++++++++++++++----------- 1 file changed, 122 insertions(+), 43 deletions(-) diff --git a/scripts/automatic_updater.sh b/scripts/automatic_updater.sh index 3f1b639..2afa6f6 100755 --- a/scripts/automatic_updater.sh +++ b/scripts/automatic_updater.sh @@ -1,9 +1,13 @@ #/bin/bash set -eu REMOVEPERL=${REMOVEPERL:-0} +PORTDIR="/usr/portage" +DISTDIR="${PORTDIR}/distfiles" +PORTAGE_TMPDIR="/var/tmp" if [[ $# -ne 2 ]] ; then - echo "need 2 argument" + echo "Two arguments are required." + echo "" echo "arg 1: TARGETVER" echo "arg 2: TARGETMODE, Please set kernel, freebsd_userland, world." exit 1 @@ -13,9 +17,12 @@ else fi set_profile(){ - emerge --info | head -n 1 | grep clang && : + echo "Setting the ${TARGETVER} profile..." + + emerge --info | head -n 1 | grep clang &>/dev/null && : if [[ $? -eq 0 ]] ; then eselect profile set $(eselect profile list | grep "${TARGETVER}" | grep clang | awk '{print $1}' | sed 's:\[::g' | sed 's:\]::g' | tail -n 1) + export CXX="clang++ -stdlib=libc++" else eselect profile set $(eselect profile list | grep "${TARGETVER}" | grep -v clang | awk '{print $1}' | sed 's:\[::g' | sed 's:\]::g' | tail -n 1) fi @@ -24,25 +31,56 @@ set_profile(){ move_makeconf(){ [[ ! -e /etc/portage ]] && mkdir -p /etc/portage if [[ -e /etc/make.conf ]] && [[ ! -e /etc/portage/make.conf ]] ; then - mv /etc/make.conf /etc/portage/make.conf + echo "Moving the /etc/make.conf to /etc/portage..." + mv /etc/make.conf /etc/portage fi gsed -i '/LDFLAGS=/d' /etc/portage/make.conf + if [[ -e /etc/make.profile ]] && [[ ! -e /etc/portage/make.profile ]] ; then + echo "Creating the make.profile..." + ln -s ../..${PORTDIR}profiles/$(eselect profile list | grep '*' | awk '{print $2}') /etc/portage/make.profile + fi } update_portage(){ - local dl_portage_ver="2.2.20.1" + local dl_portage_ver="2.3.8" + + echo "Updating the sys-apps/portage with a manual method..." + cd /tmp - wget http://dev.gentoo.org/~dolsen/releases/portage/portage-${dl_portage_ver}.tar.bz2 - tar xjf portage-${dl_portage_ver}.tar.bz2 - PYTHON_TARGETS="python2_7" "portage-${dl_portage_ver}"/bin/emerge --nodeps dev-lang/python-exec + if [[ -e "${DISTDIR}"/portage-${dl_portage_ver}.tar.bz2 ]] ; then + cp -a "${DISTDIR}/portage-${dl_portage_ver}.tar.bz2" . + else + wget -q "http://dev.gentoo.org/~dolsen/releases/portage/portage-${dl_portage_ver}.tar.bz2" + fi + + tar xjf "portage-${dl_portage_ver}.tar.bz2" + + cd "/tmp/portage-${dl_portage_ver}" + PYTHON_TARGETS="python2_7" bin/emerge --nodeps dev-lang/python-exec eselect python set 1 - "portage-${dl_portage_ver}"/bin/emerge sys-apps/portage --exclude sys-freebsd/* - emerge dev-lang/python-exec --exclude sys-freebsd/* - emerge app-admin/eselect --exclude sys-freebsd/* + PYTHON_TARGETS="python2_7" bin/emerge --nodeps sys-apps/portage --exclude sys-freebsd/* + eselect python set 1 } +update_bmake(){ + echo "Updating the bmake..." + + [[ -e /usr/local/bin/make ]] && exit 1 + + cd "${PORTDIR}/sys-freebsd/freebsd-ubin" && ebuild $(ls -1 freebsd-ubin-${TARGETVER}*.ebuild | tail -n 1) prepare + cd "${PORTAGE_TMPDIR}"/portage/sys-freebsd/freebsd-ubin-${TARGETVER}*/work/usr.bin/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 +} + update_minimal(){ + echo "Updating the minimal packages to upgrade the Gentoo/FreeBSD..." + + emerge -u sys-devel/gcc-config --exclude sys-freebsd/* + update_bmake + emerge --nodeps sys-freebsd/freebsd-mk-defs emerge -u '> /etc/portage/profile/package.use.mask echo "sys-libs/libcxxrt abi_x86_32" >> /etc/portage/profile/package.use.mask - emerge -uN sys-libs/libcxx sys-libs/libcxxrt --exclude sys-freebsd/* + USE="internal-glib" emerge -u dev-util/pkgconfig --exclude sys-freebsd/* + USE="-nls" emerge -u cmake --exclude sys-freebsd/* + emerge --nodeps ' /etc/portage/package.unmask/binutils-oldversion + emerge -u ' /dev/null ; then - emerge -u ' /var/db/pkg/sys-freebsd/freebsd-lib-*/RDEPEND + rm /var/db/pkg/sys-freebsd/freebsd-lib-*/*.ebuild + echo "" > /var/db/pkg/dev-libs/glib-*/RDEPEND + echo "" > /var/db/pkg/dev-libs/glib-*/DEPEND + rm /var/db/pkg/dev-libs/glib-*/*.ebuild + rm /var/db/pkg/sys-freebsd/freebsd-libexec-*/*.ebuild } update_freebsd_userland(){ - if [[ $(uname -p) == "amd64" ]] && [[ ! -e /libexec/ld-elf32.so.1 ]] ; then - [[ ! -e /etc/portage/profile ]] && mkdir -p /etc/portage/profile - echo "sys-freebsd/freebsd-libexec abi_x86_32" >> /etc/portage/profile/package.use.mask - fi + echo "Updating the FreeBSD userland..." - emerge -C dev-libs/libelf dev-libs/libexecinfo dev-libs/libiconv sys-process/fuser-bsd && : - CC=gcc CXX=g++ CXXFLAGS="-O2 -pipe" emerge --nodeps sys-freebsd/freebsd-libexec - CC=gcc CXX=g++ CXXFLAGS="-O2 -pipe" USE=build MAKEOPTS=-j1 emerge --nodeps sys-freebsd/freebsd-lib - CC=gcc CXX=g++ CXXFLAGS="-O2 -pipe" USE=build emerge --nodeps sys-freebsd/freebsd-share - [[ -e /etc/portage/profile/package.use.mask ]] && gsed -i '/sys-freebsd\/freebsd-libexec abi_x86_32/d' /etc/portage/profile/package.use.mask + # Fixing the dependence issue: + ls -1 /var/db/pkg/sys-freebsd/freebsd-lib-9.* &>/dev/null && : + [[ $? -eq 0 ]] && fix_dependence_issue - CC=gcc CXX=g++ CXXFLAGS="-O2 -pipe" emerge freebsd-bin freebsd-lib freebsd-libexec freebsd-mk-defs freebsd-pam-modules freebsd-sbin freebsd-share freebsd-ubin freebsd-usbin - if [[ -e /usr/lib/libc++.so ]] ; then - emerge sys-libs/libcxx sys-libs/libcxxrt --exclude sys-freebsd/* - emerge -u sys-devel/llvm sys-devel/clang + [[ -e /usr/share/misc/windrv_stub.c ]] && rm -rf /usr/share/misc/windrv_stub.c + + CC=gcc CXX=g++ CXXFLAGS="-O2 -pipe" USE=build emerge -u freebsd-bin freebsd-lib freebsd-mk-defs freebsd-pam-modules freebsd-sbin freebsd-share freebsd-sources freebsd-ubin freebsd-usbin + emerge freebsd-share + + if type -P clang &> /dev/null ; then + emerge dev-util/re2c + emerge --nodeps '