From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Sat, 22 Mar 2025 19:31:17 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f55.google.com (mail-wm1-f55.google.com [209.85.128.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 52MIVGKv014437 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 22 Mar 2025 19:31:16 +0100 Received: by mail-wm1-f55.google.com with SMTP id 5b1f17b1804b1-43ce245c5acsf34559765e9.2 for ; Sat, 22 Mar 2025 11:31:16 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1742668271; cv=pass; d=google.com; s=arc-20240605; b=fuUbcqT2yg5ssGLXMOePkua7h1IsuFQDtOJgCVTmcjHswNSzQk+C0JV+En/Tb5JhTY ImEqtdzsu8eInWGi2fAHCp2CR50/htzef66GmDYXRs3V7nvMXFmLJI88S+1aHCh9gSCj UEfAwyg7Y4hjPJFZXAmxZ9zrwFk6ohy5qx+5m05y6WySlqdivTWzX8vBV3yDrjZ/Xmxl 2TUygzbaxb8kXa32hjtU4xkfGxLIZ/ukxL9K6TqTp5IxLMzvlS7WrQlftLCH0qHv2o2n DB1nJYRvPypdBOOIsXgHbtHGBlWDo2OiN2lH3rXCmodksduNbsXp92jQK46K5ez/otq9 OYPA== 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=vgw8jxeMPKu425Aogpo2+rCPLqUV8YKPGZXVqeb2plk=; fh=FBN2sqRUZYLw4hJ6OR0iYIzOVrgPJApZ+gQUI00uk9g=; b=PHLzNRi2SwEN7wSbrg/bbKexRp8Z+ay1HR1nNBoYPSy252U7759oKkdTBW1TjFVyli BA7qNkZmENezs3OchGWHUnZkFQ9OJgIK+iwkAsR6+DcMrK+tsl3JdjSm5D/z2H2TX28h yMVikdgoI3NYItp7tHEHKLQqsKv5+DSWbAw3r66jjxv574uI5HKlyPGYE69OqzYBlnyh DwsBgEmfmmVX1G7gVY+xJtJ6BRpGslVB21QEQfv3aeu2QljcV9FrjuRSMs5oZSrH9Bmg Ev328G/8dYVUsNqDmbRzfHDSbhglHhT/eEJxDVw9Y8/EMThPUPBaK2LZn4vGt+rxuNKi wDbg==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=P2pfRGVX; spf=pass (google.com: domain of fm-1328765-2025032218310450c0b41fe44d114125-ojinqh@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328765-2025032218310450c0b41fe44d114125-oJInqh@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=1742668271; x=1743273071; darn=ilbers.de; 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=vgw8jxeMPKu425Aogpo2+rCPLqUV8YKPGZXVqeb2plk=; b=bzhMfeA6vvK4si/E1x7oBgYw0wEb3bUViRZgMIHZX/MSg0CnoiXCv/K/frzt+OXB0w Rlm3XH537mYRRaaCyLkHf2wyR12MJC7TEVqSbo8KCCHm5JUDovp7D1BdBFzgDT635GMe rqRvXhk94TVIMTaudOKkpQaoabJVQv6IAnm6ZF5Yrzym6PQ3rbWh+6DSx151FoTHJuYT GhUFsbQmvhlkS9knS3r8MxnDMPIgjaWqG5aAIq0yQc2ig0rtBU8h8DgM/f+/yS2kRWrl hTdCIQRVM2810Anzn20p+Fx171yv3srClYNC8GrLD97enCnDcVmAOSQxoH/lOjYw2ljO 4aNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742668271; x=1743273071; 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=vgw8jxeMPKu425Aogpo2+rCPLqUV8YKPGZXVqeb2plk=; b=DhaAYe8a0OzwHC8OuMovPgb4BsoCqZJy3ejanqQuXBEu3Po8gz0b8Hn0gMUK/pi2ZM Gk1DcKWbmwzTSCmBfwreAyWnNdQ4LDj1SKRvMEWBnEJ+ek0uDgkjJr03hAxyFAOPc99i 5HD23AT7fdX/0aUZS5cKxD9KE/eU+0qnNecESLpVpv8lm5GV959DJufiTs8FinqJWmX8 hCQ//Qh9RYiTReawxq+R05qv3i66hstdw1hsnTzuFX+wNwEo7fFEQdbrBqFDbDKHl5Mk +sr+rXNMVEm8jVLUlpRnRuzi/OFRB8LtltN8uqENAy8az3rYdCJsUUaQdS2iwPlC9M5B nlGg== X-Forwarded-Encrypted: i=2; AJvYcCVs0bv4r/hygLr5m5hEDJvxzIse3yQavuUMuL3E2h0L86mmOUj0iA/JCB8ofAvi6CFIumy0@ilbers.de X-Gm-Message-State: AOJu0YzqG9BNPaDBLWDkfO3NdkxbILeDfvsj3sSqGyi/KD1mt3bd+frW s9djybu/sX3yvsbDC82FX0RToh6kXCpx6XFW6QrUyPbP650U2044 X-Google-Smtp-Source: AGHT+IGMD5qp7TgOPfJaUrxQzhaZN2nMGpP0HAmJJBgl1aMNvTqDbQKruGq9e8ySmq9582O5GsRleA== X-Received: by 2002:a05:600c:1d9f:b0:43c:eeee:b713 with SMTP id 5b1f17b1804b1-43d50a201a9mr73392505e9.20.1742668269730; Sat, 22 Mar 2025 11:31:09 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARLLPALEtKNi496gbBXZHz8db1ZBt2hoSYR8IOzPq+WkKfTpQQ== Received: by 2002:a05:600c:3d8a:b0:43c:edda:8108 with SMTP id 5b1f17b1804b1-43d4ec8d47fls14748675e9.1.-pod-prod-07-eu; Sat, 22 Mar 2025 11:31:05 -0700 (PDT) X-Received: by 2002:a05:600c:470f:b0:43c:f597:d582 with SMTP id 5b1f17b1804b1-43d509e0f82mr63108685e9.1.1742668265317; Sat, 22 Mar 2025 11:31:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1742668265; cv=none; d=google.com; s=arc-20240605; b=B1cS8Epg5dEFY63SeIMMWL3AeXMARRhDRFHCzAvcuoo06/cZiw7Ycz2lTDdkNj3he3 neOxZ0mWEgH9HJbYmTMGUcjPN3YYB305PWvW+AhgdFp6/hwXEXvACAPh/mBMfhwANZR1 H5C2IsWrOWcqvmMGyCA8oHN+xU3VybTkO+OtfJBbj2lwkVhLBo12a1ugZKBtpJbu00ID bcQZ89oI53hZOEBX64FqiKGUO59YcHYjStJiCR1UFOdvM52qQ2uTksx1S5ox0imHO6bm PF4IgyOx6B9vKYCmgoincqs8z5oqku+x1katS1Q9peNpQrcxL7C7NkX/9JT+aIQP/m39 1odw== 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=RlKJTDG2NENPGBT/oHHLx8inBENJ+xK1fUH/e8shJSg=; fh=IVe7tedBjrVO7NMfxxhSNfR9HdaoPf8yp1e13zSf5B8=; b=NZoVoW3U/MbrMkrJG3asgZiFZwPxT0qnzvCpuelKgmBubiaIKfhzHOPjgORh02/Dok e90jfuFcKIovJRVyehDmOVZniFKbxHm2aKKR8tVUhZoz7xg9vMkAwJnl1ubKg1EkzbwP tS683orVo2JaQ0t2gTaMF7SZ20kDOsT9ZWaAHPXsDs9G+31lllDg2aVC4BMvOEut4CkP nQJI0mCx1vYqx/FOLDPTpinEGxpJmWUV5fbPwcr41l5foHq7VtkE6BJQEK/HJKhIFoAR b6teWV7h4abfarW0MyvjT1QH/Kmu09OAR072SJltNOpCVUYNwJQJK/WAU3iKUZbOLAtE QUFQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=P2pfRGVX; spf=pass (google.com: domain of fm-1328765-2025032218310450c0b41fe44d114125-ojinqh@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328765-2025032218310450c0b41fe44d114125-oJInqh@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-43d3ad387dbsi5565265e9.0.2025.03.22.11.31.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 22 Mar 2025 11:31:05 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328765-2025032218310450c0b41fe44d114125-ojinqh@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 2025032218310450c0b41fe44d114125 for ; Sat, 22 Mar 2025 19:31:04 +0100 From: "'Badrikesh Prusty' via isar-users" To: isar-users@googlegroups.com Cc: badrikesh prusty Subject: [PATCH v2] meta: cache dbg/dbgsym packages during rootfs_postprocess Date: Sun, 23 Mar 2025 00:00:30 +0530 Message-Id: <20250322183030.1022828-1-badrikesh.prusty@siemens.com> In-Reply-To: References: MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1328765:519-21489:flowmailer X-Original-Sender: badrikesh.prusty@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=P2pfRGVX; spf=pass (google.com: domain of fm-1328765-2025032218310450c0b41fe44d114125-ojinqh@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328765-2025032218310450c0b41fe44d114125-oJInqh@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Badrikesh Prusty Reply-To: Badrikesh Prusty Content-Type: text/plain; charset="UTF-8" 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_H2,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-TUID: BhkDwfpuLaxu From: badrikesh prusty When software is compiled, it's often "stripped" of debugging symbols to reduce its size. Debug packages contain these debugging symbols. This allows developers to get detailed stack traces when a program crashes. This helps developers identify the exact location and cause of the crash. Debug symbol packages (-dbg/-dbgsym) for .deb binaries in DEBDIR are cached during rootfs_postprocess. Caching is disabled by default. To enable it, set BASE_REPO_FEATURES:append = " cache-dbg-pkgs". During image build, the rootfs_postprocess task downloads these packages to the rootfs, and all the dbg packages syncing with the DEBDIR with the help of rootfs_export_package_cache function. A local.conf.sample option is added to enable this feature, allowing users to uncomment and activate caching as needed. Signed-off-by: badrikesh prusty --- meta-isar/conf/local.conf.sample | 3 +++ meta/classes/deb-dl-dir.bbclass | 18 ++++++++++++++++++ meta/classes/image.bbclass | 1 + meta/classes/rootfs.bbclass | 22 ++++++++++++++++++++++ 4 files changed, 44 insertions(+) diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample index b59f310b..52ea2fb5 100644 --- a/meta-isar/conf/local.conf.sample +++ b/meta-isar/conf/local.conf.sample @@ -172,6 +172,9 @@ IMAGE_INSTALL:append:qemuamd64-sb = " example-module-signed-${KERNEL_NAME}" # Without this feature, only sources of packages downloaded with apt:// are downloaded. #BASE_REPO_FEATURES ?= "cache-deb-src" +# Uncomment this to enable caching of all debug symbol packages. +#BASE_REPO_FEATURES += "cache-dbg-pkgs" + # # Uncomment this to enable use of cached base repository #ISAR_USE_CACHED_BASE_REPO ?= "1" diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass index 7ebd057e..1e3f9a16 100644 --- a/meta/classes/deb-dl-dir.bbclass +++ b/meta/classes/deb-dl-dir.bbclass @@ -70,6 +70,24 @@ debsrc_download() { debsrc_undo_mounts "${rootfs}" } +dbg_pkgs_download() { + export rootfs="$1" + + apt-ftparchive --md5=no --sha1=no --sha256=no --sha512=no \ + -a "${DISTRO_ARCH}" packages \ + "${rootfs}/var/cache/apt/archives" \ + | awk '/^Package:/ {print $2}' \ + | sort -u \ + | while read pkg; do + apt-cache -o Dir=${rootfs} showsrc ${pkg} \ + | awk '/^Package-List:/,/^$/' \ + | grep -E "${pkg}-(dbg|dbgsym)" \ + | grep "${DISTRO_ARCH}" \ + | awk '!/Binary:/ {print $1}' \ + | sort -u + done | xargs -r sudo -E chroot ${rootfs} sh -c '/usr/bin/apt-get -y --download-only install "$@"' -- +} + deb_dl_dir_import() { export pc="${DEBDIR}/${2}" export rootfs="${1}" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 56eca202..24c1cb38 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -73,6 +73,7 @@ ROOTFS_DPKGSTATUS_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${MACHINE}" ROOTFS_POSTPROCESS_COMMAND:prepend = "${@bb.utils.contains('BASE_REPO_FEATURES', 'cache-deb-src', 'cache_deb_src', '', d)} " +ROOTFS_POSTPROCESS_COMMAND:prepend = "${@bb.utils.contains('BASE_REPO_FEATURES', 'cache-dbg-pkgs', 'cache_dbg_pkgs', '', d)} " inherit rootfs inherit sdk diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 2348e269..406e9192 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -293,6 +293,28 @@ cache_deb_src() { fi } +ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'cache-dbg-pkgs', 'rootfs_export_package_cache', '', d)}" +cache_dbg_pkgs() { + if [ -e "${ROOTFSDIR}"/etc/resolv.conf ] || + [ -h "${ROOTFSDIR}"/etc/resolv.conf ]; then + sudo mv "${ROOTFSDIR}"/etc/resolv.conf "${ROOTFSDIR}"/etc/resolv.conf.isar + fi + rootfs_install_resolvconf + # Note: ISAR updates the apt state information(apt-get update) only once during bootstrap and + # relies on that through out the build. Copy that state information instead of apt-get update + # which generates a new state from upstream. + sudo tar -xf "${BOOTSTRAP_SRC}" ./var/lib/apt/lists --one-top-level="${ROOTFSDIR}" + + deb_dl_dir_import ${ROOTFSDIR} ${ROOTFS_BASE_DISTRO}-${BASE_DISTRO_CODENAME} + dbg_pkgs_download ${ROOTFSDIR} + + sudo rm -f "${ROOTFSDIR}"/etc/resolv.conf + if [ -e "${ROOTFSDIR}"/etc/resolv.conf.isar ] || + [ -h "${ROOTFSDIR}"/etc/resolv.conf.isar ]; then + sudo mv "${ROOTFSDIR}"/etc/resolv.conf.isar "${ROOTFSDIR}"/etc/resolv.conf + fi +} + ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'clean-package-cache', 'rootfs_postprocess_clean_package_cache', '', d)}" rootfs_postprocess_clean_package_cache() { sudo -E chroot '${ROOTFSDIR}' \ -- 2.39.5 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20250322183030.1022828-1-badrikesh.prusty%40siemens.com.