From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7183020631148986368 X-Received: by 2002:a05:6602:3986:b0:6e4:1c03:2520 with SMTP id bw6-20020a056602398600b006e41c032520mr2199899iob.59.1672427317928; Fri, 30 Dec 2022 11:08:37 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6e02:ef0:b0:30c:1c4b:e185 with SMTP id j16-20020a056e020ef000b0030c1c4be185ls1825524ilk.11.-pod-prod-gmail; Fri, 30 Dec 2022 11:08:37 -0800 (PST) X-Google-Smtp-Source: AMrXdXtJvSv2HxrZsiELBUj3gBz3grq8xbbGEn2VRMZ+UlAYHS5hemXzqqMip4lFGDQgYmOGeHaR X-Received: by 2002:a92:c748:0:b0:30b:f2a7:92c2 with SMTP id y8-20020a92c748000000b0030bf2a792c2mr15814509ilp.7.1672427317349; Fri, 30 Dec 2022 11:08:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672427317; cv=none; d=google.com; s=arc-20160816; b=fB+rMMXleLRZbQcWscdjGYgHzalVQ+eY9GyI3PNyLk6QUFcplPdka+o9hNMkW4FxSJ BDCAyE6r/EjSWogN3dr4lDF0e8yhlN5pbwlxciHUq3UopV61KYd8LKmUNKxvhfE/P9wC RoH5gr2CRAfR1tumUJl+xfT9eE7PLNBDo2bzMLKlWXY5cvurio7tFQqSbX6QnnFgMBZ0 kLK3xpoW3XvZIu3rRiC/EUproZ7+C6CqQkKpYhoZDFdqqOQ11QseIxCzMM+HE4UbRuvV oTJtPLZV2jRAhWnNsqncajw9Z9oFAwNuD/7LioyaOOvEL3WeOmX7urs5LYiXQPY/EFOS 6SPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=h+xBto/j9dRKPGllesBvwZHzUy+XH742kxJezzkOZno=; b=BivMd7cCL1bhn0Hmd/26Ep8eCcbJCV7w8tb7j5xIR0Y1LFVycbjPJY8mBRezQ3LzvL OUllmMh3b5QmppECQ0QbfoFDDe//h1OUpZjAiOmn9jJqpiPvzkV2ouIe4U1qQtlLj8Ha aRJYP5AZEjtptXYa86yNCv0U+AanPgVZIRIoXR1b+Ou0riy3UtGjfLMotIP4qqrUqPbW p8DFlRxNH2CS8miFQCjlh2o+t4bC2QbTGMHJ2e8FyOU7QljWAmlRc34bh5WzFjKxwK8A 1rdENs7GQMVlz23lLu07b6XKSJdeaeNKv9BtQUZ3TgPen8nEHIN7eLV4Pj9sKm+upowj 6s/A== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id x15-20020a02970f000000b003748fd49976si1291740jai.0.2022.12.30.11.08.36 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 30 Dec 2022 11:08:37 -0800 (PST) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from alena-nb.promwad.com ([194.49.52.150]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 2BUJ8WND014232 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 30 Dec 2022 20:08:34 +0100 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v2 1/4] sbuild: Allow setting custom config paths Date: Fri, 30 Dec 2022 22:08:21 +0300 Message-Id: <20221230190824.12256-2-amikan@ilbers.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20221230190824.12256-1-amikan@ilbers.de> References: <20221230190824.12256-1-amikan@ilbers.de> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: LukHpJnWeKj6 Extend internal schroot APIs to be able to set custom chroot config name. This will allow to configure/unconfigure schroots from any task. Signed-off-by: Anton Mikanovich --- meta/classes/sbuild.bbclass | 51 +++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass index 6e3c790c..06c01d67 100644 --- a/meta/classes/sbuild.bbclass +++ b/meta/classes/sbuild.bbclass @@ -31,10 +31,18 @@ SBUILD_CONFIG="${WORKDIR}/sbuild.conf" schroot_create_configs() { mkdir -p "${TMPDIR}/schroot-overlay" - sudo -s <<'EOSUDO' + + conf_dir="${SBUILD_CONF_DIR}" + conf_file="${SCHROOT_CONF_FILE}" + if [ -n "$1" ]; then + conf_dir="${SCHROOT_CONF}/${1}" + conf_file="${SCHROOT_CONF}/chroot.d/${1}" + fi + export conf_dir conf_file + sudo -E -s <<'EOSUDO' set -e - cat << EOF > "${SCHROOT_CONF_FILE}" + cat << EOF > "${conf_file}" [${SBUILD_CHROOT}] type=directory directory=${SCHROOT_DIR} @@ -51,8 +59,8 @@ preserve-environment=true EOF # Prepare mount points - cp -rf "${SCHROOT_CONF}/sbuild" "${SBUILD_CONF_DIR}" - sbuild_fstab="${SBUILD_CONF_DIR}/fstab" + cp -rf "${SCHROOT_CONF}/sbuild" "${conf_dir}" + sbuild_fstab="${conf_dir}/fstab" fstab_baseapt="${REPO_BASE_DIR} /base-apt none rw,bind 0 0" grep -qxF "${fstab_baseapt}" ${sbuild_fstab} || echo "${fstab_baseapt}" >> ${sbuild_fstab} @@ -68,12 +76,19 @@ EOSUDO } schroot_delete_configs() { - sudo -s <<'EOSUDO' + conf_dir="${SBUILD_CONF_DIR}" + conf_file="${SCHROOT_CONF_FILE}" + if [ -n "$1" ]; then + conf_dir="${SCHROOT_CONF}/${1}" + conf_file="${SCHROOT_CONF}/chroot.d/${1}" + fi + export conf_dir conf_file + sudo -E -s <<'EOSUDO' set -e - if [ -d "${SBUILD_CONF_DIR}" ]; then - rm -rf "${SBUILD_CONF_DIR}" + if [ -d "${conf_dir}" ]; then + rm -rf "${conf_dir}" fi - rm -f "${SCHROOT_CONF_FILE}" + rm -f "${conf_file}" EOSUDO } @@ -107,22 +122,32 @@ sbuild_export() { } insert_mounts() { - sudo -s <<'EOSUDO' + conf_dir="${SBUILD_CONF_DIR}" + if [ -n "$1" ]; then + conf_dir="${SCHROOT_CONF}/${1}" + fi + export conf_dir + sudo -E -s <<'EOSUDO' set -e for mp in ${SCHROOT_MOUNTS}; do FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind 0 0" - grep -qxF "${FSTAB_LINE}" ${SBUILD_CONF_DIR}/fstab || \ - echo "${FSTAB_LINE}" >> ${SBUILD_CONF_DIR}/fstab + grep -qxF "${FSTAB_LINE}" ${conf_dir}/fstab || \ + echo "${FSTAB_LINE}" >> ${conf_dir}/fstab done EOSUDO } remove_mounts() { - sudo -s <<'EOSUDO' + conf_dir="${SBUILD_CONF_DIR}" + if [ -n "$1" ]; then + conf_dir="${SCHROOT_CONF}/${1}" + fi + export conf_dir + sudo -E -s <<'EOSUDO' set -e for mp in ${SCHROOT_MOUNTS}; do FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind 0 0" - sed -i "\|${FSTAB_LINE}|d" ${SBUILD_CONF_DIR}/fstab + sed -i "\|${FSTAB_LINE}|d" ${conf_dir}/fstab done EOSUDO } -- 2.17.1