From: Jan Kiszka <jan.kiszka@siemens.com>
To: Xenomai <xenomai@lists.linux.dev>
Subject: [xenomai-images][PATCH] Update Isar revision
Date: Thu, 1 Feb 2024 19:34:45 +0100 [thread overview]
Message-ID: <b0ac1666-2aa9-4b1e-9b2b-fe7db1d11e08@siemens.com> (raw)
From: Jan Kiszka <jan.kiszka@siemens.com>
Allows to drop our own patch again.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
...port-for-replacing-pre-installed-pac.patch | 168 ------------------
kas.yml | 6 +-
2 files changed, 1 insertion(+), 173 deletions(-)
delete mode 100644 isar-patches/0001-dpkg-Restore-support-for-replacing-pre-installed-pac.patch
diff --git a/isar-patches/0001-dpkg-Restore-support-for-replacing-pre-installed-pac.patch b/isar-patches/0001-dpkg-Restore-support-for-replacing-pre-installed-pac.patch
deleted file mode 100644
index 3132f06..0000000
--- a/isar-patches/0001-dpkg-Restore-support-for-replacing-pre-installed-pac.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From d65b5f67405dcc83044008e589fa9ff98604d0e6 Mon Sep 17 00:00:00 2001
-From: Jan Kiszka <jan.kiszka@siemens.com>
-Date: Sun, 17 Dec 2023 17:27:01 +0100
-Subject: [PATCH] dpkg: Restore support for replacing pre-installed packages in
- sbuild-chroot
-
-During the migration to sbuild, support for using self-built packages in
-the build environment was lost if those were already part of the
-sbuild-chroot. This restores it by adding --apt-distupgrade to the
-sbuild call. But that is not enough because sbuild will only upgrade
-packages from already configured sources, not those specified via
---extra-repository. We therefore have to switch back to configuring
-isar-apt during sbuild-chroot creation.
-
-As rootfs_configure_isar_apt configures the isar repo under
-/isar-apt, we bind-mount the one in /home/builder/${PN} to that folder.
-Another difference is that we now need to run apt-get update explicitly,
-but only for isar-apt.
-
-And because the sbuild-chroots are now left behind with isar-apt
-configured, the configuration in imager_run can be removed (credits to
-Srinuvasan Arjunan).
-
-Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
----
- meta/classes/dpkg-base.bbclass | 27 ++++++++++---------
- meta/classes/dpkg.bbclass | 5 ++--
- meta/classes/image-tools-extension.bbclass | 13 ---------
- .../sbuild-chroot/sbuild-chroot.inc | 2 --
- 4 files changed, 18 insertions(+), 29 deletions(-)
-
-diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass
-index 7b054d3f..52baf169 100644
---- a/meta/classes/dpkg-base.bbclass
-+++ b/meta/classes/dpkg-base.bbclass
-@@ -19,8 +19,6 @@ DEPENDS:append:riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_C
- DEB_BUILD_PROFILES ?= ""
- DEB_BUILD_OPTIONS ?= ""
-
--ISAR_APT_REPO ?= "deb [trusted=yes] file:///home/builder/${PN}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO} ${DEBDISTRONAME} main"
--
- python do_adjust_git() {
- import subprocess
-
-@@ -221,8 +219,17 @@ def isar_export_build_settings(d):
- os.environ['DEB_BUILD_OPTIONS'] = isar_deb_build_options(d)
- os.environ['DEB_BUILD_PROFILES'] = isar_deb_build_profiles(d)
-
-+dpkg_schroot_create_configs() {
-+ schroot_create_configs
-+ sudo -s <<'EOSUDO'
-+ sbuild_fstab="${SBUILD_CONF_DIR}/fstab"
-+ fstab_isarapt="${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO} /isar-apt none rw,bind 0 0"
-+ grep -qxF "${fstab_isarapt}" ${sbuild_fstab} || echo "${fstab_isarapt}" >> ${sbuild_fstab}
-+EOSUDO
-+}
-+
- python do_dpkg_build() {
-- bb.build.exec_func('schroot_create_configs', d)
-+ bb.build.exec_func('dpkg_schroot_create_configs', d)
- try:
- bb.build.exec_func("dpkg_runbuild", d)
- finally:
-@@ -288,7 +295,7 @@ do_deploy_deb[lockfiles] = "${REPO_ISAR_DIR}/isar.lock"
- do_deploy_deb[dirs] = "${S}"
-
- python do_devshell() {
-- bb.build.exec_func('schroot_create_configs', d)
-+ bb.build.exec_func('dpkg_schroot_create_configs', d)
-
- isar_export_proxies(d)
- isar_export_ccache(d)
-@@ -297,11 +304,9 @@ python do_devshell() {
- bb.build.exec_func('schroot_configure_ccache', d)
-
- schroot = d.getVar('SBUILD_CHROOT')
-- isar_apt = d.getVar('ISAR_APT_REPO')
- pkg_arch = d.getVar('PACKAGE_ARCH')
- build_arch = d.getVar('BUILD_ARCH')
- pp_pps = os.path.join(d.getVar('PP'), d.getVar('PPS'))
-- debdistroname = d.getVar('DEBDISTRONAME')
-
- install_deps = ":" if d.getVar('BB_CURRENTTASK') == "devshell_nodeps" else f"mk-build-deps -i \
- --host-arch {pkg_arch} --build-arch {build_arch} \
-@@ -310,15 +315,13 @@ python do_devshell() {
-
- termcmd = "schroot -d / -c {0} -u root -- sh -c ' \
- cd {1}; \
-- echo {2} > /etc/apt/sources.list.d/isar_apt.list; \
-- echo \"Package: *\nPin: release n={3}\nPin-Priority: 1000\" > /etc/apt/preferences.d/isar-apt; \
-- echo \"APT::Get::allow-downgrades 1;\" > /etc/apt/apt.conf.d/50isar-apt; \
-- apt-get -y -q update; \
-- {4}; \
-+ apt-get -y -q update -o Dir::Etc::SourceList=\"sources.list.d/isar-apt.list\" -o Dir::Etc::SourceParts=\"-\" -o APT::Get::List-Cleanup=\"0\"; \
-+ apt-get -y upgrade; \
-+ {2}; \
- export PATH=$PATH_PREPEND:$PATH; \
- $SHELL -i \
- '"
-- oe_terminal(termcmd.format(schroot, pp_pps, isar_apt, debdistroname, install_deps), "Isar devshell", d)
-+ oe_terminal(termcmd.format(schroot, pp_pps, install_deps), "Isar devshell", d)
-
- bb.build.exec_func('schroot_delete_configs', d)
- }
-diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
-index 1d684e98..0cdb5792 100644
---- a/meta/classes/dpkg.bbclass
-+++ b/meta/classes/dpkg.bbclass
-@@ -110,16 +110,17 @@ dpkg_runbuild() {
- DEB_SOURCE_NAME=$(dpkg-parsechangelog --show-field Source --file ${WORKDIR}/${PPS}/debian/changelog)
- DSC_FILE=$(find ${WORKDIR} -name "${DEB_SOURCE_NAME}*.dsc" -maxdepth 1 -print)
-
-- sbuild -A -n -c ${SBUILD_CHROOT} --extra-repository="${ISAR_APT_REPO}" \
-+ sbuild -A -n -c ${SBUILD_CHROOT} \
- --host=${PACKAGE_ARCH} --build=${BUILD_ARCH} ${profiles} \
- --no-run-lintian --no-run-piuparts --no-run-autopkgtest --resolve-alternatives \
- --bd-uninstallable-explainer=apt \
-- --no-apt-update \
-+ --no-apt-update --apt-distupgrade \
- --chroot-setup-commands="echo \"Package: *\nPin: release n=${DEBDISTRONAME}\nPin-Priority: 1000\" > /etc/apt/preferences.d/isar-apt" \
- --chroot-setup-commands="echo \"APT::Get::allow-downgrades 1;\" > /etc/apt/apt.conf.d/50isar-apt" \
- --chroot-setup-commands="rm -f /var/log/dpkg.log" \
- --chroot-setup-commands="mkdir -p ${deb_dir}" \
- --chroot-setup-commands="ln -sf ${ext_deb_dir}/*.deb -t ${deb_dir}/" \
-+ --chroot-setup-commands="apt-get update -o Dir::Etc::SourceList=\"sources.list.d/isar-apt.list\" -o Dir::Etc::SourceParts=\"-\" -o APT::Get::List-Cleanup=\"0\"" \
- --finished-build-commands="rm -f ${deb_dir}/sbuild-build-depends-main-dummy_*.deb" \
- --finished-build-commands="[ -z "$(find ${deb_dir} -maxdepth 1 -name '*.deb' -print -quit)" ] || cp ${CP_FLAGS} ${deb_dir}/*.deb -t ${ext_deb_dir}/" \
- --finished-build-commands="cp /var/log/dpkg.log ${ext_root}/dpkg_partial.log" \
-diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes/image-tools-extension.bbclass
-index 58799fcf..46bdf78b 100644
---- a/meta/classes/image-tools-extension.bbclass
-+++ b/meta/classes/image-tools-extension.bbclass
-@@ -44,19 +44,6 @@ imager_run() {
- distro="${HOST_BASE_DISTRO}-${BASE_DISTRO_CODENAME}"
- fi
-
-- # prepare isar-apt
-- schroot -r -c ${session_id} -d / -u root -- sh -c " \
-- mkdir -p '/etc/apt/sources.list.d'
-- echo 'deb [trusted=yes] file:///isar-apt ${DEBDISTRONAME} main' > \
-- '/etc/apt/sources.list.d/isar-apt.list'
--
-- mkdir -p '/etc/apt/preferences.d'
-- cat << EOF > '/etc/apt/preferences.d/isar-apt'
--Package: *
--Pin: release n=${DEBDISTRONAME}
--Pin-Priority: 1000
--EOF"
--
- E="${@ isar_export_proxies(d)}"
- deb_dl_dir_import ${schroot_dir} ${distro}
- schroot -r -c ${session_id} -d / -u root -- sh -c " \
-diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
-index 39ced80b..2f07de82 100644
---- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
-+++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc
-@@ -56,8 +56,6 @@ SBUILD_CHROOT_DIR = "${WORKDIR}/rootfs"
- ROOTFSDIR = "${SBUILD_CHROOT_DIR}"
- ROOTFS_PACKAGES = "${SBUILD_CHROOT_PREINSTALL}"
-
--# We don't need /etc/apt/sources.list.d/isar-apt.list' while it's handled by sbuild
--ROOTFS_CONFIGURE_COMMAND:remove = "rootfs_configure_isar_apt"
- ROOTFS_POSTPROCESS_COMMAND:remove = "rootfs_cleanup_isar_apt"
-
- # Do not cleanup base-apt
---
-2.35.3
-
diff --git a/kas.yml b/kas.yml
index 2017e68..e63bf3f 100644
--- a/kas.yml
+++ b/kas.yml
@@ -22,13 +22,9 @@ repos:
isar:
url: https://github.com/ilbers/isar.git
- commit: 853784cf1732c093acd537fbb1b0b1c54e6b59ff
+ commit: 962a4ee24854db8b3cf0ff2499e26705f54808ad
layers:
meta:
- patches:
- 01:
- repo: xenomai
- path: isar-patches/0001-dpkg-Restore-support-for-replacing-pre-installed-pac.patch
bblayers_conf_header:
standard: |
--
2.35.3
next reply other threads:[~2024-02-01 18:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-01 18:34 Jan Kiszka [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-06-15 16:00 [xenomai-images][PATCH] Update Isar revision Jan Kiszka
2022-06-15 16:12 ` Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b0ac1666-2aa9-4b1e-9b2b-fe7db1d11e08@siemens.com \
--to=jan.kiszka@siemens.com \
--cc=xenomai@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).