From patchwork Tue Nov 5 23:38:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emil Velikov via arch-projects X-Patchwork-Id: 1346 Return-Path: Delivered-To: patchwork@archlinux.org Received: from apollo.archlinux.org (localhost [127.0.0.1]) by apollo.archlinux.org (Postfix) with ESMTP id 8D7A114ED0438 for ; Tue, 5 Nov 2019 23:39:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on apollo X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1, MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,SPF_HELO_NONE=0.001, T_DMARC_POLICY_NONE=0.01 autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-BL-Results: [127.0.9.2] Received: from orion.archlinux.org (orion.archlinux.org [88.198.91.70]) by apollo.archlinux.org (Postfix) with ESMTPS for ; Tue, 5 Nov 2019 23:39:54 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id D25DD166625E6B; Tue, 5 Nov 2019 23:39:27 +0000 (UTC) Received: from luna.archlinux.org (luna.archlinux.org [5.9.250.164]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: luna) by orion.archlinux.org (Postfix) with ESMTPSA id 8D780166625E22; Tue, 5 Nov 2019 23:39:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=orion; t=1572997160; bh=w1+IRYFdRLTPRWg5Un5UgWF3ZUYHynqadNF4UDlNAhY=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc; b=gB/e60qFn2NZObsguap0SI3gONYul6sPRAvGOpLRWsd9NzKH0QmFvHDyaRzuX0Gxu vXYBfo2lGzeb+ND6A9B6smDXqsUqIUdf2pmKIl0pSpC78RQhzuq+++aI/MIkednlVT 63RgJuD5izBTkl027IwFRsmyxms6Udgi2rZR3bgMIWsr1ZIPadDNd2WjjJbmoJrwtr y6HfkeyB2xV9jWoFmbEC+CSw8TRTEtGA/cxMu0/x3k+A/y7HekeIQsgL8yiYJ/8WYN I1+bmKLqpb39eEv+4QTHoAhlBuoJl16q2e+SenD1IkpyktiOOqq53MOI6nXjt+QDJX vpgw+/p/A59yO1wjJ/WCyHhqgarcTnHmuOjLKYvAfsTKUmGmss4XNsukEjvPTH1upU pl7qyH6KvJXKWriheYyjBhqyExWEO0zRxlc2u6+o2AX+3T3RzvvA8q5JUCg7xv0IZp qY/H3LSjMbb356TSdgRSj/5GwCLc2/VnLnugK5r44LbvALPjWcu1pEB5Msesrys+eu 6jzsabxib0PBzFRI19RoXuz9m/A+qEpdoWaY3WV0t+2SjjaqC6iqip01jXTpDFlXAU 0d8bJd9ril3jre0sPbCWeRCs8+HEy5R7FbgT5WnaFV+xi1qM1OGcTs/2N/YP9WXGuZ ay5hymIjojwWyqaXBUOEBksQ= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 6FEDF2076B; Tue, 5 Nov 2019 23:39:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=luna2; t=1572997159; bh=w1+IRYFdRLTPRWg5Un5UgWF3ZUYHynqadNF4UDlNAhY=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc; b=ial9CfotLZ9ptJAUll1f2lSxHwz7LvlzFrQzrXVGWpnUjvU6Q3Mf9NtLKhe+MPTVg OWrDDwkZAIYrCmgiJ4z1UUvt1+oUn7l9NuZeF2/SseFLUcXq5iwsXBP24wzmMVtSZ/ ojfdoqfS7Bzne2p6FXKRCvhYCGXNkvYPCUbDoyeJG0kNSW3kcMUir6ldXY5Ac26afI wTUj/xXGxKdnsPjbBChx7FwBQglDc9Z5hC3Jwfvj1vPw2M+9w+zT7AukCJ3CuM6Yd/ WeQltAMuWkEvfwAtoMcNVsHodIOlBK9dW95hPMhkVbXS03peohGP4As0a4QKv9stm1 T9AtlYoezPJa5KMZm+R4n6Xqgo/qS3lERj4nMtfybPZtF0lPPc/xHWKBY4OyfF6i8m NtnvCKAzs8uyQvRTGDkjoSZZpxgismfREc5yzp/Tl08GlRT0abyG+z1AcXuypiWFWT tNNr39g2FTqEwBPNnD3TYvrxFvRSE3S2FAzn0A99JnvhHeZ7XLf1rhI3dBCGnAoGK3 FQCK68Jd9w6XEjz9Y3jfH7kj6vhBBQDQNPQ/DSCURY2p7qrl2gUO0mJzkRLtM3YV37 gYPsU5pgxUT4MAFVzY9Pckl3spu4RPOmvt84J3T3O7IkpASIqt6bt+H0t2UFv3hNwg WTELoxzPBn45RP3/qJFJiWpw= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 523142076B for ; Tue, 5 Nov 2019 23:39:15 +0000 (UTC) Received: from orion.archlinux.org (orion.archlinux.org [88.198.91.70]) by luna.archlinux.org (Postfix) with ESMTPS for ; Tue, 5 Nov 2019 23:39:15 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id EDF6A166625DE4; Tue, 5 Nov 2019 23:39:10 +0000 (UTC) Received: from didactylos.attlocal.net (unknown [IPv6:2600:1700:57f0:ca20:763a:c795:fcf6:91ea]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: eschwartz) by orion.archlinux.org (Postfix) with ESMTPSA id 68952166625DE3; Tue, 5 Nov 2019 23:39:10 +0000 (UTC) To: arch-projects@archlinux.org Date: Tue, 5 Nov 2019 18:38:51 -0500 Message-Id: <20191105233853.1842304-2-eschwartz@archlinux.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191105233853.1842304-1-eschwartz@archlinux.org> References: <20191105233853.1842304-1-eschwartz@archlinux.org> MIME-Version: 1.0 Subject: [arch-projects] [devtools] [PATCH 2/4] use libmakepkg to find and use variables in makepkg.conf X-BeenThere: arch-projects@archlinux.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Arch Linux projects development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Eli Schwartz via arch-projects Reply-To: Arch Linux projects development discussion Cc: Eli Schwartz Errors-To: arch-projects-bounces@archlinux.org Sender: "arch-projects" - drop homebrew function in makechrootpkg - use better mock to find invoking user's $HOME - make offload-build respect makepkg.conf to determine where to sync files, matching the behavior of makechrootpkg Signed-off-by: Eli Schwartz --- makechrootpkg.in | 34 ++++++---------------------------- offload-build | 9 ++++++++- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/makechrootpkg.in b/makechrootpkg.in index f5a0e51..b3a1854 100644 --- a/makechrootpkg.in +++ b/makechrootpkg.in @@ -13,6 +13,8 @@ m4_include(lib/common.sh) m4_include(lib/archroot.sh) +source /usr/share/makepkg/util/config.sh + shopt -s nullglob default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg) @@ -80,26 +82,6 @@ usage() { } # {{{ functions -# Usage: load_vars $makepkg_conf -# Globals: -# - SRCDEST -# - SRCPKGDEST -# - PKGDEST -# - LOGDEST -# - MAKEFLAGS -# - PACKAGER -load_vars() { - local makepkg_conf="$1" var - - [[ -f $makepkg_conf ]] || return 1 - - for var in {SRC,SRCPKG,PKG,LOG}DEST MAKEFLAGS PACKAGER; do - [[ -z ${!var:-} ]] && eval "$(source "$makepkg_conf"; printf "%s='%s'" "$var" "${!var}")" - done - - return 0 -} - # Usage: sync_chroot $chrootdir $copydir [$copy] sync_chroot() { local chrootdir=$1 @@ -338,16 +320,12 @@ for arg in "${@:$OPTIND}"; do esac done -if [[ -n $SUDO_USER ]]; then - eval "USER_HOME=~$SUDO_USER" -else - USER_HOME=$HOME -fi - umask 0022 -load_vars "${XDG_CONFIG_HOME:-$USER_HOME/.config}/pacman/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" -load_vars /etc/makepkg.conf +ORIG_HOME=$HOME +IFS=: read -r _ _ _ _ _ HOME _ < <(getent passwd "${SUDO_USER:-$USER}") +load_makepkg_config +HOME=$ORIG_HOME # Use PKGBUILD directory if these don't exist [[ -d $PKGDEST ]] || PKGDEST=$PWD diff --git a/offload-build b/offload-build index 7a07b15..078796a 100755 --- a/offload-build +++ b/offload-build @@ -18,6 +18,8 @@ # along with this program. If not, see . # +source /usr/share/makepkg/util/config.sh + # global defaults suitable for use by Arch staff repo=extra @@ -105,4 +107,9 @@ mapfile -t files < <( makepkg --packagelist ') -(( ${#files[@]} )) && printf '%s\n' '' '-> copying files...' && scp "${files[@]/#/$server:}" . + +if (( ${#files[@]} )); then + printf '%s\n' '' '-> copying files...' + load_makepkg_config + scp "${files[@]/#/$server:}" "${PKGDEST:-${PWD}}/" +fi