From patchwork Tue Nov 5 23:40:46 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: 1349 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 C449214ED0620 for ; Tue, 5 Nov 2019 23:41:37 +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:41:37 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id 2060016662C651; Tue, 5 Nov 2019 23:41:22 +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 CEEB816662C5F3; Tue, 5 Nov 2019 23:41:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=orion; t=1572997271; 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=jfI0UK25N6kRRB6g3te2IChdadggY2OPFGSSAvVd+iXqWbvb0kd7YFoWHOW5Tsyvg gPBhDoz7cdc1j97sY9xiRb72MT5ts4k2yYPsJC7UeAklgomn9YhZ35aB91pq8aX0ZV FzI8eFtLn61sdFMgoEHq8Y5TFv9xm3X+3BR9B38b1eHJBe8ptBQCldlJeiZ6zEB++a pzIOdN3/nQB09SaP62BrafAOHijpist1iRwba3eh2wrrVgzpuJb6F8pfd2Tj+wwlTs cesN8/mzyzfmbjW3POrvTvC4pgAEuTU2CMLPkZ5hff46cf56j4+P+a1OvDvAyatET/ nOwMTIeDAQrCfweeql1dV0lWcx2/Th+AQ64Lbvzj7/Hey7egdIpBI5+emK6QBM6MKM k0I7HZVTN/2uoVMkaHI7KIQNajk1Js0KnsfcMmG1Wi/4lm9+3VIvJPrESkaXwy3E4+ 0fNhOEMO6M2MPLLsAdagAbt0g4HgCALbZzuVV9lu9bLS1K+R9ZSjyw6CPQd2EeWkar sN620wsK+0ul1GJa1Sp/iDr5vTZ9rlhS/UjdrAF7k7Ps4wGnYBVkVilas0GQodOEpc Z90VrHpmJn9E7IiToI4hZa0gbdzLbdSRXd4gg+JuS4a73n/LVvFzWauqqnKRO40aQq gKHw7u6XXctPkQYoIc+fY8ko= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 7B1FE20785; Tue, 5 Nov 2019 23:41:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=luna2; t=1572997271; 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=uRSPA7pbDPE95afUvvKh+7ZNOFmS+IJ0qRdVB2mXZgUfzuZK35jKWE58LS9M4QCbj s/vdS9Ipt2vSeg5627aFidfYOnjnc0gyzFDCssY8x/y2coILFfAoDBEwixkf25/tDk V2gOMm5+oQpyB43/ihwFYyR7joLBAUWArvooHcTsxfESpqNt7iZTQpYKqiZNFOdgfG HgFEqvYi/TJPrpWXKNTl19LVK0uVC+zOiaNDUSRDqItVd1qkNyMgN6Zx5sJQ8shADJ Mu9Otdtuj8I7D+5pNCphPERjRNYwcGczRbTtHUpyK8uW3wpljJ4dS1VMM3Mr1qPWIZ G/27T4CnB6GcrP9f9KyF+B/U8fYD5oFmW/FHe9dpusjgKakY8UhpGkoKLq1DCIfjcc GBWL4VTkcHeOwIAIClxc7tky2aKPc/WsTMxOuxBL1UGNYbh5A2mFdsCgPbAzoyYFwJ ksya3tKa0hplq/DV9slmEuUlfbqkLacPWsPqP72J25R40Wq7uev5LhMZY9tfjtgchw Jsez6d5vZtHGdaxdnpyVyr2FCjnMlnek75XOUY7CQ5NbQky8DTCedW1JUCv7YA1ZSY 7/HmWzw2wrFl32cf9RsdSl/f5XI4ZxouMu4RhrSxa4ePrS8sXkEqmUAulUfndLmb1z kW9Fs/7bgL5skmo+4LXcm/9c= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 133C020769 for ; Tue, 5 Nov 2019 23:41:09 +0000 (UTC) Received: from orion.archlinux.org (orion.archlinux.org [IPv6:2a01:4f8:160:6087::1]) by luna.archlinux.org (Postfix) with ESMTPS for ; Tue, 5 Nov 2019 23:41:09 +0000 (UTC) Received: from orion.archlinux.org (localhost [127.0.0.1]) by orion.archlinux.org (Postfix) with ESMTP id 30CF816662C5CC; Tue, 5 Nov 2019 23:41:07 +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 A693516662C5CB; Tue, 5 Nov 2019 23:41:06 +0000 (UTC) To: arch-projects@archlinux.org Date: Tue, 5 Nov 2019 18:40:46 -0500 Message-Id: <20191105234047.1842520-3-eschwartz@archlinux.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191105234047.1842520-1-eschwartz@archlinux.org> References: <20191105234047.1842520-1-eschwartz@archlinux.org> MIME-Version: 1.0 Subject: [arch-projects] [devtools] [PATCH 3/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