From patchwork Mon Oct 6 14:12:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "MOESSBAUER, Felix" X-Patchwork-Id: 4386 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 06 Oct 2025 16:13:15 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f189.google.com (mail-pl1-f189.google.com [209.85.214.189]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 596EDEoe028223 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 6 Oct 2025 16:13:15 +0200 Received: by mail-pl1-f189.google.com with SMTP id d9443c01a7336-27eca7298d9sf100267895ad.0 for ; Mon, 06 Oct 2025 07:13:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1759759989; cv=pass; d=google.com; s=arc-20240605; b=VWH4XoOh4lE/YDPswZQZYkBGBUkM8WdgnXNhZJr67SF1g3/MXutLj17TMzNapIFeq7 PlZQD8uGPNz4wYqBlSPiSbgbSyZx3efeB8uVgn764bqeQHyjumpUGiCEgdfCddrS5esz zJXCpkQOxa+JLefWGr+U+T5WN0d6cHGHx1tHC18bI6y/uoLvvmX8Md3JBOhXfP5VWOgh AV17d0bkNiorKFQVp7lf4Vn6gWWPUmwHmjZNVGhtEHOfeXPXFgGfcZdsXRzzhCoxq/in rFxIq8nGXFIid8oHUlzF9Hv1wlGGYq2H/W/Fiqj4AGjPNIgShnXjoZgHgRs5dZ380Qti VSLQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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=Ft24PXblLwI3dnUbecJTVFBKYi8GZQBzHNBiR76COg8=; fh=qd/uItWDtjo7/aU2932lKEbVh/sC1vHaM2DWZN2bcGw=; b=bb+gPBuxLRKFnhvUeFBwFIpWhbtJVG6RehLMuLTLeyvqGmG21rrKe+tASiG9fGcMFh czNitX79dCHLzGzLEBftv9YcVUbHgyN+DKRXLzKe3CzZillbhtHCydW/E/Zpb9MEpwP7 fP92sd5vxkVzpBVj32ZbedaKy1hMMJW6Q8r8bMxzYkNo+ZiidN1iysdxddEIbnCXNwGt 37Y0XlAInhVGh5KKhD4Qretz6Aex7ljj1Y1cB7Jp+wzFdyIXpdMa+umMmcn82eD/zqHA 6xZm0QOCaG+5m+afq973NZMImAV5UR9VNT94iqHF/J7LFPr/j2gzIQucV+gifTgz5S3Q KpoQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=h11PCwvG; spf=pass (google.com: domain of fm-1321639-20251006141258749cc3e83900020737-aftqce@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20251006141258749cc3e83900020737-afTqce@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=1759759989; x=1760364789; 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=Ft24PXblLwI3dnUbecJTVFBKYi8GZQBzHNBiR76COg8=; b=shK2IIOxmIQLzlDP9rJB3V2Fu3n1C7QDNrUffB+A8aTl2qNFezyRpon5RU2IJ6YY42 JPXWATFfjhPwPObkIrxakEwkdp8lO8N0to+XA4orQx+rgw21Ba7Y9TnzzJc3bXLSkN3F uXJNIFyNNj7AbOweSWSIRHq6/VJZDmeEpKHgYu/x26OPmoy7yjfa/5HIZ7ALMij0Za/Q n0ixp1RwjxiQn/ZUZo3cv3Hn2SUnv1Uc3AJZNs0l03n0vHgsd9lvva68+TLEt0NuWTlJ lVSXbc099B2LnRS9oKEzXbkywIdgU50x2O3iuHXSogLmdBRHh7wVbPZt5PUUQLIsm2Jx Rf8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759759989; x=1760364789; 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=Ft24PXblLwI3dnUbecJTVFBKYi8GZQBzHNBiR76COg8=; b=o/TJYc+ecHWx1/Fjl3ihJF3QjcVHbyf/QQXELg8k18Gra6VHcryjSAxvjT/XoXW+lS Yjp3CTvh4z4RhbKlqAJVnIM31Sbg2Ngj3z56PLhzIE92ZFj8upmSARgg7MyYWdhmXqP5 mC2+XPNtSTdeXE+5GuCOwmiwRc++ZIg1FOKiIf2Pq+DsVdvCE92OcOMbTROo5jxSFkI3 uZ5rlLpouiPBTra34SCz1tAqQw482r3nkG5ZUGh5YGj/lX11Umuyfu4Phr7+vxpMYWqa CtP95EsjR4wXhL01qvCgE5yQyzDx8RHUwHr7E+GMEj5WePZCH3tcdHVEC2uXtYfhRBMm X20A== X-Forwarded-Encrypted: i=2; AJvYcCUi7Lq1DDjX2yQkMHnGXxJCl0InWJ9EDss6J+xyD8tlfDrqjFHsYD5rdqy4HRF135X6oXfxsx0=@isar-build.org X-Gm-Message-State: AOJu0YzdUifU2VUGKC/V7Pd+LlLxV9QyZErKjcYTfaLf+/O57z1syPBI Is1cM3m7Vb2+TN29r+qzBaKcXKI+75pvO6Nk+2N8S0Dc2C+sxee/EN6O X-Google-Smtp-Source: AGHT+IEy1nUFXkrwjQSmSH48EGFA15NrjSmLhhy3XQUcAD0xebGQyDzwkK2FQxil9LuU0mPal+in0w== X-Received: by 2002:a17:902:db05:b0:24b:62ef:9d38 with SMTP id d9443c01a7336-28e9a59236emr166880405ad.19.1759759988586; Mon, 06 Oct 2025 07:13:08 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h="ARHlJd5L3SJoQV8c6GcDwofK+tTkeIF/9D9pPFnLPBLJ8Yx2qQ==" Received: by 2002:a17:90b:2692:b0:332:8779:a3d4 with SMTP id 98e67ed59e1d1-339b4ee016dls6202506a91.2.-pod-prod-03-us; Mon, 06 Oct 2025 07:13:06 -0700 (PDT) X-Received: by 2002:a17:90b:2707:b0:32e:64ca:e84a with SMTP id 98e67ed59e1d1-339c273dbd2mr17761518a91.12.1759759986722; Mon, 06 Oct 2025 07:13:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1759759986; cv=none; d=google.com; s=arc-20240605; b=ixFffZIPPmWnNHWL8GTwUpy3LbGPLxE0R+KitS4e2Sx8uF08R1iUOv3Mx0nkxoCNo5 Dgv7jqkY91n6sfB7CxsoqAkQ+q5OTiXW2shJ1GAnceYiS4N8nTppP25PzAKemcupKM2f Ce1vh7VVLZi3Dt2AMPwFoCHE64gdeRqWR6UkZ3nru4DKmYqdWUjKFfeGAHQ86gBd+QrW zXQjHjW3ZGfQUUscXkobs0cxcqE1pej5uEwfc/aV6OWqYd7N362A66/CE0ADrkmnTIBp iyOan88sXojwvR6IDG1Q1Hqi3+R4v/3KF2NdWFRSe6zZixZ4nVESlxO6KQRppuvSCC3X AueQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=fVq+lFQZUl/+aVgWoSiYhci1gY58jHjk/DaFygtMKPU=; fh=omH0I87rpo+0WTg8fi8hqmsLi/k3TbWK31Cnb2hmhTM=; b=PXfFWJynh97GDefF/04qno9dFmA9euYTXrzflNHHMnCLMPGRTct3iWMbCtgsyBVfof U2v/a6iZhU9A00+HP3t+egbKy82COtmXtCHasixoo2F/BgnAtS2KiVx/wbUM+j6e4XNG a4tgaHNMdRl9w/SjtRgoGVk8P69hyUEOmDyldq5A1FOpp1DxI0MZst0WMFFcirCaX9nZ xYA8z/RbhPLHIXexqqlC1jiv6qcpF0ei2XQ1eH4LKmGkAIG5CoCT23We5HFKcZxN1rCp LmpHPpJ9xhTYEFS4l6wpwtWEIPT4xVzuZgRU4zbGKsPnYI3OGMXjaX9JaWoIzP5950EK vLAw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=h11PCwvG; spf=pass (google.com: domain of fm-1321639-20251006141258749cc3e83900020737-aftqce@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20251006141258749cc3e83900020737-afTqce@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 98e67ed59e1d1-339a6f6e9c4si673047a91.3.2025.10.06.07.13.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 06 Oct 2025 07:13:06 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1321639-20251006141258749cc3e83900020737-aftqce@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251006141258749cc3e83900020737 for ; Mon, 06 Oct 2025 16:13:04 +0200 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: "MOESSBAUER, Felix" To: isar-users@googlegroups.com Cc: alexander.heinisch@siemens.com, Felix Moessbauer , Clara Kowalsky Subject: [PATCH 2/2] fix: derive distribution snapshot date from provided value Date: Mon, 6 Oct 2025 16:12:27 +0200 Message-ID: <20251006141227.1017941-2-felix.moessbauer@siemens.com> In-Reply-To: <20251006141227.1017941-1-felix.moessbauer@siemens.com> References: <20251006141227.1017941-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=h11PCwvG; spf=pass (google.com: domain of fm-1321639-20251006141258749cc3e83900020737-aftqce@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20251006141258749cc3e83900020737-afTqce@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer 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=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,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?= The final snapshot timestamp can be specified either by setting ISAR_APT_SNAPSHOT_TIMESTAMP or by setting the otherwise derived variable ISAR_APT_SNAPSHOT_DATE. However, the corresponding distribution specific flag (e.g. [security]) always reads the value from the TIMESTAMP component, hence if only ISAR_APT_SNAPSHOT_DATE is set, the date for the security distribution is still computed from the ISAR_APT_SNAPSHOT_TIMESTAMP which itself is derived from the source date epoch. By that, the timestamp of the security component was wrong if only ISAR_APT_SNAPSHOT_DATE is set but not ISAR_APT_SNAPSHOT_DATE[security]. We fix it by tracking where the value comes from and set the flagged version according to the parent value if not set. Fixes: 394e9540 ("snapshots: add option to use separate timestamp ...") Reported-by: Clara Kowalsky Signed-off-by: Felix Moessbauer --- meta-isar/conf/distro/ubuntu-common.inc | 2 +- meta/classes/bootstrap.bbclass | 11 +++++++++-- meta/conf/distro/debian-common.conf | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/meta-isar/conf/distro/ubuntu-common.inc b/meta-isar/conf/distro/ubuntu-common.inc index 88a3b4f0..f1e8a1d6 100644 --- a/meta-isar/conf/distro/ubuntu-common.inc +++ b/meta-isar/conf/distro/ubuntu-common.inc @@ -44,4 +44,4 @@ SYSTEMD_BOOTLOADER_INSTALL:focal = "systemd:${DISTRO_ARCH}" SYSTEMD_BOOTLOADER_INSTALL:jammy = "systemd:${DISTRO_ARCH}" # snapshot mirror for reproducible builds -DISTRO_APT_SNAPSHOT_PREMIRROR ??= "(http|https)://archive.ubuntu.com/(.*) https://snapshot.ubuntu.com/\2/${ISAR_APT_SNAPSHOT_DATE}\n" +DISTRO_APT_SNAPSHOT_PREMIRROR ??= "(http|https)://archive.ubuntu.com/(.*) https://snapshot.ubuntu.com/\2/${ISAR_APT_SNAPSHOT_DATE_INTERNAL}\n" diff --git a/meta/classes/bootstrap.bbclass b/meta/classes/bootstrap.bbclass index 64702d5d..03014cb8 100644 --- a/meta/classes/bootstrap.bbclass +++ b/meta/classes/bootstrap.bbclass @@ -27,8 +27,9 @@ DISTRO_VARS_PREFIX ?= "${@'HOST_' if bb.utils.to_boolean(d.getVar('BOOTSTRAP_FOR BOOTSTRAP_DISTRO = "${@d.getVar('HOST_DISTRO' if bb.utils.to_boolean(d.getVar('BOOTSTRAP_FOR_HOST')) else 'DISTRO')}" BOOTSTRAP_BASE_DISTRO = "${@d.getVar('HOST_BASE_DISTRO' if bb.utils.to_boolean(d.getVar('BOOTSTRAP_FOR_HOST')) else 'BASE_DISTRO')}" BOOTSTRAP_DISTRO_ARCH = "${@d.getVar('HOST_ARCH' if bb.utils.to_boolean(d.getVar('BOOTSTRAP_FOR_HOST')) else 'DISTRO_ARCH')}" -ISAR_APT_SNAPSHOT_DATE ?= "${@ get_isar_apt_snapshot_date(d)}" -ISAR_APT_SNAPSHOT_DATE[security] ?= "${@ get_isar_apt_snapshot_date(d, 'security')}" +# use internal variables to track where the value comes from +ISAR_APT_SNAPSHOT_DATE_INTERNAL ?= "${@ get_isar_apt_snapshot_date(d)}" +ISAR_APT_SNAPSHOT_DATE_INTERNAL[security] ?= "${@ get_isar_apt_snapshot_date(d, 'security')}" python () { distro_bootstrap_keys = (d.getVar("DISTRO_BOOTSTRAP_KEYS") or "").split() @@ -104,6 +105,12 @@ def parse_aptsources_list_line(source_list_line): def get_isar_apt_snapshot_date(d, dist=None): import time + snapshot_date = d.getVar('ISAR_APT_SNAPSHOT_DATE') + if dist: + snapshot_date = d.getVarFlag('ISAR_APT_SNAPSHOT_DATE', dist) or snapshot_date + if snapshot_date: + return snapshot_date + # no ISAR_APT_SNAPSHOT_DATE set, compute from timestamp source_date_epoch = d.getVar('ISAR_APT_SNAPSHOT_TIMESTAMP') if dist: source_date_epoch = d.getVarFlag('ISAR_APT_SNAPSHOT_TIMESTAMP', dist) or source_date_epoch diff --git a/meta/conf/distro/debian-common.conf b/meta/conf/distro/debian-common.conf index 92daddc3..cd72837a 100644 --- a/meta/conf/distro/debian-common.conf +++ b/meta/conf/distro/debian-common.conf @@ -45,6 +45,6 @@ DISTRO_BOOTSTRAP_BASE_PACKAGES:append:bullseye = " usrmerge" # snapshot mirror for reproducible builds DISTRO_APT_SNAPSHOT_PREMIRROR ??= " \ - deb.debian.org/(debian-security)/? snapshot.debian.org/archive/\1/${@d.getVarFlag('ISAR_APT_SNAPSHOT_DATE', 'security', expand=False)}\n \ - deb.debian.org/(.*)/? snapshot.debian.org/archive/\1/${ISAR_APT_SNAPSHOT_DATE}\n \ + deb.debian.org/(debian-security)/? snapshot.debian.org/archive/\1/${@d.getVarFlag('ISAR_APT_SNAPSHOT_DATE_INTERNAL', 'security', expand=False)}\n \ + deb.debian.org/(.*)/? snapshot.debian.org/archive/\1/${ISAR_APT_SNAPSHOT_DATE_INTERNAL}\n \ "