From patchwork Wed May 15 11:08:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Kiszka X-Patchwork-Id: 3557 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 15 May 2024 13:08:32 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f183.google.com (mail-lj1-f183.google.com [209.85.208.183]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 44FB8VTV004239 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 15 May 2024 13:08:32 +0200 Received: by mail-lj1-f183.google.com with SMTP id 38308e7fff4ca-2e23b3fae6csf59539431fa.0 for ; Wed, 15 May 2024 04:08:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715771306; cv=pass; d=google.com; s=arc-20160816; b=V3iK2pwO4uqeJ/eiwCmAUKe9Y5Br7yzdKu0WuDcg/6Y2yA+sv7CIORtd5pNSQzt4wA 4WS97YOGai3JgVR7g9pSdbGIXKzGyMMny/j0Zr73rZQg6+0878lWIEbM5GCh6jVO7Wnd LBrSlNP8Ut6IHMp43ZaTwYHIMvbuGyqV0pn7bMmKVg1MSMAJuTqwUs92LPEzEmD/+Mu0 nbxvYhqmYjiKS6Rc6BbuFnWKy/+XCYwC+fUdxghuKA2QY6B1HKAHoAOjDfT2wTgAtPLW 0iMh42skjxpTUuEEIIp6y8Ok4sdUdnPC4e+dkS9gdcTW/or7wNibz8lBCWwT4rBAMR1S +9Vw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=lrNcWrOwWe1zfWxFS5WCvwj7hDxesocbT9Cc5+viWaI=; fh=j3PEZ7zGEl3iSsH20YpjrhMKLZ3mFkQxO5JnsRx/9lE=; b=eG6S+xDLOa10JDVoQnkFDhSORNkaQyhldj0PG5z/UPBnpa2QliNKVJLTURB0F7Ymiw uR95GYNeeFCAT2H0+NnIdynyqfrf95MWUqbXXHF8Og1u5KCHYWRR++jTbUiQKVSE+phN 6VVmmkmq/asjY9HMRwiMFEbPLv19wcIMxC3ho7/mIsMYxRDLPmQQTBrnZ3PptRVmUEyy O0xTtFI6SWpnG8Yl60Zwlv6gq8Ti3eZ53KNTtkjcFTSQuAo8+fHkte/y7XXIkUBo7uh7 YClhmGtRpoB0MjDK73MPOAtCkniIRHs9fxyAL3zYa/zN9/nwFr1YgpFuWSE2q5B8ZUIl 43cQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=eHMsdq7q; spf=pass (google.com: domain of fm-294854-2024051511082384977c09814e561c24-ltro0y@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-294854-2024051511082384977c09814e561c24-ltrO0y@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1715771306; x=1716376106; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=lrNcWrOwWe1zfWxFS5WCvwj7hDxesocbT9Cc5+viWaI=; b=s4UsIFxBL7BUCYUht2JCKx+3a/TL7nguTBSREAZrFmpa3gJW2XyMirfjboW9DrZ96p SQV4jF7k12ARw8LPKI6a45XtOXEpI5NUgnnv/A4axkk7AIzggzMNch5Gq2IQlT4nmZ3Z KFlZtFzzvWU6rv4B++x7W0+FIj1IYaqz3ceVed/o+l3EhYLmI2OElft9OCrQOCwd/82S nKejNHKiWDhdNfv39sAAlxQHgv/+0hGYJABrSTBzIFn47NGbzOomXP0oRj3wlZWyknAp hk4yIjT+8HCbZ8lmUqEXi5khpEAdb6U2+kR8iB1txN7bieRpXpFnqmCRhT9UDDQnd4YW VjVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715771306; x=1716376106; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=lrNcWrOwWe1zfWxFS5WCvwj7hDxesocbT9Cc5+viWaI=; b=Z9l+n6kH2gK6gnE/2Mt8iD5RDLYxNGXcRIkJ0DPhUJGqM9zozWwesS6kqeVwArKqQ6 3pbIRGfP8ElsRQt2s130aVelBxulmMqTjYZyh5tyfOwMGAaimRCzS/+iKq/8RR5RVZhu 0ZMdJDl3PBNXqgnHdURoAteYv7R4bIYbwkTFqa4U13iL68OgdBCf48SSfon0LyNBq0r2 rpRuUzatznGvNHJ/W1POYxy+adLzle8oqJNaqzKa5jhhv6rZ3CEzOkXsIj/gA+H2oRt7 McEzIRJ89bmtELPjkhbgI8BEP8HIhNUX21RKneQSdm3HaLg8p/FMCOZDbtTpwzJW5gFq f5TA== X-Forwarded-Encrypted: i=2; AJvYcCUWYTpGu3tvwgiSLp1YwouA8E7Sf9NpJ7vI9eai+C1LTpHCldMNnXcpJoeTLEzOzwb0AssJb1UyY+UpeQCNLhCxFce+dwA= X-Gm-Message-State: AOJu0YxIpNyghZtDl7Sd3/RevtL785WnN6hkK+VxGjiCBC++XqqzEip2 umdQNyq1geKqNjwHPbW3RgkZmx95gRXTCh9dejYd2ruytUfsfo4R X-Google-Smtp-Source: AGHT+IEr6nCjs8HQiOaIm/keEqzGdqNHHK4Nj1TuSuiBdC3/fWhzEuVRXA6uvWVU1j8/XiNMyWeBVg== X-Received: by 2002:a2e:b6c2:0:b0:2e1:ba1c:efea with SMTP id 38308e7fff4ca-2e51ff4d69fmr100885341fa.19.1715771306184; Wed, 15 May 2024 04:08:26 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:1392:b0:418:4830:9fc0 with SMTP id 5b1f17b1804b1-41fc13ea4fcls26985365e9.0.-pod-prod-06-eu; Wed, 15 May 2024 04:08:24 -0700 (PDT) X-Received: by 2002:a05:600c:499a:b0:41a:fa9a:d86b with SMTP id 5b1f17b1804b1-41feaa39369mr104196025e9.11.1715771303891; Wed, 15 May 2024 04:08:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715771303; cv=none; d=google.com; s=arc-20160816; b=UWDV1hHdDLojdfZTk34mAnWoCmQULh0LL+W6oxGSb/HtOx3HD+ZvDCdmu6XRk2lUAd eCQMdNKkzqJU4knG4YHmfPsciF5kuwVLBKAlfHquA2+SHAf1MDPebXLP8BG5df4iiJtU 4LI2h0UGG19wx6825/dZNfIPaGRxFRDBUkI/ttW2tgA6Y9JVJMbiCT+bhSYZqjLOo5vj GmGvoahpeWNfLCQDKl56YLwZe+56MfAhLMgUCv5RIqHyRofcEFcYbiqLQw3fceswZTHS wW2BrXs5N79EuMLq6LiNA1KnQipmLjfkjVzxMYTaVXB3euTgr01Ni60IodAobn7n0p00 WePw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=7yHb6B8W/gMMNYldYm10lxhROx2N3umnvFwmF+LnwRI=; fh=XGT9su1InluIJlpNbfO5AhdONNgYrcrI0omn79eqbSQ=; b=jQgRYpjjPV3nhgPTYNp0xJ5Bo9waQVlrj22KUancnFCpli8wZ7DUPahkFMXNOzvV0w n2vn781K9ZJNY5aRkXsnhVVlL0ehNFexUfLeJOMOzkUwkSlMkCpmQPdDvy5DSNH30fxh VUMan/sFrmHq6AQ1zZik8BKxtGP636H1M8e2gZnDqthbLWF47h8MUARZr4ScCwX2Wq/F SgETd2W7jFiOnCIWeM0LnKmRpDIri5FMUUJ14jrcxSDYp4RRHd0NDXfGrun3fn+WQMvB AHDu1/cX3kkwzL1R6XQUs786wvuANAAzaj65Ln/CaHDyJ9gxs/omxCrCe2Y2g6kLd2uV JyPw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=eHMsdq7q; spf=pass (google.com: domain of fm-294854-2024051511082384977c09814e561c24-ltro0y@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-294854-2024051511082384977c09814e561c24-ltrO0y@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-41fdbc779fcsi9511465e9.0.2024.05.15.04.08.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 May 2024 04:08:23 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-294854-2024051511082384977c09814e561c24-ltro0y@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 2024051511082384977c09814e561c24 for ; Wed, 15 May 2024 13:08:23 +0200 X-Patchwork-Original-From: "'Jan Kiszka' via isar-users" From: Jan Kiszka To: isar-users Cc: Felix Moessbauer , stefan-koch@siemens.com, Adriaan Schmidt , Anton Mikanovich Subject: [PATCH v2 5/5] dpkg-source: Build source package only once Date: Wed, 15 May 2024 13:08:19 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-294854:519-21489:flowmailer X-Original-Sender: jan.kiszka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=eHMsdq7q; spf=pass (google.com: domain of fm-294854-2024051511082384977c09814e561c24-ltro0y@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-294854-2024051511082384977c09814e561c24-ltrO0y@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Jan Kiszka Reply-To: Jan Kiszka Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_PASS 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Jan Kiszka Avoid building the source package multiple times, possibly even inconsistently. This is achieved by delegating this task to to the base package and installing the source package from isar-apt in the native and compat package variants. Signed-off-by: Jan Kiszka --- meta/classes/dpkg-source.bbclass | 44 ++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/meta/classes/dpkg-source.bbclass b/meta/classes/dpkg-source.bbclass index 560f536b..6a36081b 100644 --- a/meta/classes/dpkg-source.bbclass +++ b/meta/classes/dpkg-source.bbclass @@ -18,7 +18,7 @@ do_dpkg_source() { find ${WORKDIR} -maxdepth 1 -name "${DEBIAN_SOURCE}_*.dsc" -delete sh -c "cd ${WORKDIR}; dpkg-source ${DPKG_SOURCE_EXTRA_ARGS} -b ${PPS}" } -addtask dpkg_source after do_prepare_build before do_dpkg_build +addtask dpkg_source after do_prepare_build do_deploy_source[depends] += "isar-apt:do_cache_config" do_deploy_source[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" @@ -34,4 +34,44 @@ do_deploy_source() { "${DSC_FILE}" fi } -addtask deploy_source after do_dpkg_source before do_dpkg_build +addtask deploy_source after do_dpkg_source + +do_dpkg_build[depends] += "${BPN}:do_deploy_source" + +SCHROOT_MOUNTS = "${WORKDIR}:/work ${REPO_ISAR_DIR}/${DISTRO}:/isar-apt" + +do_fetch_common_source[depends] += "${SCHROOT_DEP} ${BPN}:do_deploy_source" +do_fetch_common_source[network] = "${TASK_USE_SUDO}" +do_fetch_common_source() { + schroot_create_configs + insert_mounts + + session_id=$(schroot -q -b -c ${SBUILD_CHROOT}) + echo "Started session: ${session_id}" + + schroot_cleanup() { + schroot -q -f -e -c ${session_id} > /dev/null 2>&1 + remove_mounts > /dev/null 2>&1 + schroot_delete_configs + } + trap 'exit 1' INT HUP QUIT TERM ALRM USR1 + trap 'schroot_cleanup' EXIT + + schroot -r -c ${session_id} -d / -u root -- \ + apt-get update -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" -o Dir::Etc::SourceParts="-" -o APT::Get::List-Cleanup="0" + schroot -r -c ${session_id} -d / -- \ + sh -c ' + cd /work + apt-get -y --download-only --only-source -o Acquire::Source-Symlinks="false" source ${DEBIAN_SOURCE}' + + schroot -e -c ${session_id} + remove_mounts + schroot_delete_configs +} +addtask fetch_common_source after do_unpack + +def is_native_or_compat(d): + overrides = d.getVar('OVERRIDES').split(':') + return 'class-native' in overrides or 'class-compat' in overrides + +do_dpkg_build[depends] += "${@'${PN}:do_fetch_common_source' if is_native_or_compat(d) else ''}"