* [PATCH 0/5] Fix ccache issues
@ 2022-12-19 14:29 Anton Mikanovich
2022-12-19 14:29 ` [PATCH 1/5] ccache: fix dirs creation Anton Mikanovich
` (5 more replies)
0 siblings, 6 replies; 16+ messages in thread
From: Anton Mikanovich @ 2022-12-19 14:29 UTC (permalink / raw)
To: isar-users; +Cc: Anton Mikanovich
This patchset just fixes some ccache-related issues which prevented us
from enabling ccache globally.
Anton Mikanovich (5):
ccache: fix dirs creation
ccache: fix CCACHE_DIR owner for sbuild
dpkg-base: remove deprecated code
meta: unify cross selection
ccache: separate cache based on cross compile
meta/classes/buildchroot.bbclass | 23 +++++----------------
meta/classes/crossvars.bbclass | 34 ++++++++++++++++++++++++++++++++
meta/classes/dpkg-base.bbclass | 29 +--------------------------
meta/classes/dpkg.bbclass | 2 +-
meta/classes/sbuild.bbclass | 19 ++----------------
meta/classes/sdk.bbclass | 17 +++-------------
meta/conf/bitbake.conf | 2 +-
7 files changed, 47 insertions(+), 79 deletions(-)
create mode 100644 meta/classes/crossvars.bbclass
--
2.17.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/5] ccache: fix dirs creation
2022-12-19 14:29 [PATCH 0/5] Fix ccache issues Anton Mikanovich
@ 2022-12-19 14:29 ` Anton Mikanovich
2022-12-19 15:21 ` Henning Schild
2022-12-20 2:39 ` Moessbauer, Felix
2022-12-19 14:29 ` [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild Anton Mikanovich
` (4 subsequent siblings)
5 siblings, 2 replies; 16+ messages in thread
From: Anton Mikanovich @ 2022-12-19 14:29 UTC (permalink / raw)
To: isar-users; +Cc: Anton Mikanovich
Create ccache debug directory only if CCACHE_DEBUG is enabled.
Also restore CCACHE_DIR creation if not exist.
Fixes 7956c4c ("add flag to enable ccache debug mode")
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
meta/classes/buildchroot.bbclass | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index b4ff2886..72eb80bc 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -25,7 +25,10 @@ MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock"
buildchroot_do_mounts() {
if [ "${USE_CCACHE}" = "1" ]; then
- mkdir -p ${CCACHE_DIR}/debug
+ mkdir -p ${CCACHE_DIR}
+ if [ "${CCACHE_DEBUG}" = "1" ]; then
+ mkdir -p ${CCACHE_DIR}/debug
+ fi
fi
sudo -s <<'EOSUDO'
--
2.17.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild
2022-12-19 14:29 [PATCH 0/5] Fix ccache issues Anton Mikanovich
2022-12-19 14:29 ` [PATCH 1/5] ccache: fix dirs creation Anton Mikanovich
@ 2022-12-19 14:29 ` Anton Mikanovich
2022-12-19 15:23 ` Henning Schild
2023-01-12 10:00 ` Moessbauer, Felix
2022-12-19 14:29 ` [PATCH 3/5] dpkg-base: remove deprecated code Anton Mikanovich
` (3 subsequent siblings)
5 siblings, 2 replies; 16+ messages in thread
From: Anton Mikanovich @ 2022-12-19 14:29 UTC (permalink / raw)
To: isar-users; +Cc: Anton Mikanovich
If CCACHE_DIR do not exist before sbuild execution it is created with root
privelegies. This results in permissions issues during the next usage by the
imager. Create CCACHE_DIR before sbuild to fix that.
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
meta/classes/sbuild.bbclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass
index a29b745b..b49eae79 100644
--- a/meta/classes/sbuild.bbclass
+++ b/meta/classes/sbuild.bbclass
@@ -129,6 +129,7 @@ EOSUDO
}
schroot_configure_ccache() {
+ [ ! -e ${CCACHE_DIR} ] && mkdir -p ${CCACHE_DIR}
sudo -s <<'EOSUDO'
set -e
--
2.17.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 3/5] dpkg-base: remove deprecated code
2022-12-19 14:29 [PATCH 0/5] Fix ccache issues Anton Mikanovich
2022-12-19 14:29 ` [PATCH 1/5] ccache: fix dirs creation Anton Mikanovich
2022-12-19 14:29 ` [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild Anton Mikanovich
@ 2022-12-19 14:29 ` Anton Mikanovich
2022-12-19 14:29 ` [PATCH 4/5] meta: unify cross selection Anton Mikanovich
` (2 subsequent siblings)
5 siblings, 0 replies; 16+ messages in thread
From: Anton Mikanovich @ 2022-12-19 14:29 UTC (permalink / raw)
To: isar-users; +Cc: Anton Mikanovich
As building of packages was moved to sbuild there is no need in
unusable buildroot-related code.
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
meta/classes/dpkg-base.bbclass | 27 ---------------------------
1 file changed, 27 deletions(-)
diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass
index 260aa73e..f2b883a6 100644
--- a/meta/classes/dpkg-base.bbclass
+++ b/meta/classes/dpkg-base.bbclass
@@ -123,9 +123,6 @@ do_apt_fetch() {
addtask apt_fetch
do_apt_fetch[lockfiles] += "${REPO_ISAR_DIR}/isar.lock"
-# Add dependency from the correct buildchroot: host or target
-do_apt_fetch[depends] += "${BUILDCHROOT_DEP}"
-
# Add dependency from the correct schroot: host or target
do_apt_fetch[depends] += "${SCHROOT_DEP}"
@@ -188,30 +185,6 @@ addtask prepare_build after do_patch do_transform_template before do_dpkg_build
do_prepare_build[deptask] = "do_deploy_deb"
do_prepare_build[depends] = "${SCHROOT_DEP}"
-BUILDROOT = "${BUILDCHROOT_DIR}/${PP}"
-
-dpkg_do_mounts() {
- mkdir -p ${BUILDROOT}
- sudo mount --bind ${WORKDIR} ${BUILDROOT}
-
- buildchroot_do_mounts
-}
-
-dpkg_undo_mounts() {
- i=0
- while ! sudo umount ${BUILDROOT}; do
- sleep 0.1
- if [ `expr $i % 100` -eq 0 ] ; then
- bbwarn "${BUILDROOT}: Couldn't unmount ($i), retrying..."
- fi
- if [ $i -ge 10000 ]; then
- bbfatal "${BUILDROOT}: Couldn't unmount after timeout"
- fi
- i=`expr $i + 1`
- done
- sudo rmdir ${BUILDROOT}
-}
-
do_prepare_build_append() {
# Make a local copy of isar-apt repo that is not affected by other parallel builds
mkdir -p ${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}
--
2.17.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 4/5] meta: unify cross selection
2022-12-19 14:29 [PATCH 0/5] Fix ccache issues Anton Mikanovich
` (2 preceding siblings ...)
2022-12-19 14:29 ` [PATCH 3/5] dpkg-base: remove deprecated code Anton Mikanovich
@ 2022-12-19 14:29 ` Anton Mikanovich
2022-12-20 2:49 ` Moessbauer, Felix
2022-12-19 14:29 ` [PATCH 5/5] ccache: separate cache based on cross compile Anton Mikanovich
2023-01-11 6:49 ` [PATCH 0/5] Fix ccache issues Moessbauer, Felix
5 siblings, 1 reply; 16+ messages in thread
From: Anton Mikanovich @ 2022-12-19 14:29 UTC (permalink / raw)
To: isar-users; +Cc: Anton Mikanovich
Unify and move ISAR_CROSS_COMPILE related logic into one location.
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
meta/classes/buildchroot.bbclass | 18 +----------------
meta/classes/crossvars.bbclass | 34 ++++++++++++++++++++++++++++++++
meta/classes/dpkg-base.bbclass | 2 +-
meta/classes/dpkg.bbclass | 2 +-
meta/classes/sbuild.bbclass | 18 +----------------
meta/classes/sdk.bbclass | 17 +++-------------
6 files changed, 41 insertions(+), 50 deletions(-)
create mode 100644 meta/classes/crossvars.bbclass
diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 72eb80bc..06acc2da 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -3,23 +3,7 @@
#
# SPDX-License-Identifier: MIT
-ISAR_CROSS_COMPILE ??= "0"
-
-# Choose the correct buildchroot: host or target
-python __anonymous() {
- mode = d.getVar('ISAR_CROSS_COMPILE', True)
- distro_arch = d.getVar('DISTRO_ARCH')
- if mode == "0" or d.getVar('HOST_ARCH') == distro_arch or \
- (d.getVar('HOST_DISTRO') == "debian-stretch" and distro_arch == "i386"):
- dep = "buildchroot-target:do_build"
- rootfs = d.getVar('BUILDCHROOT_TARGET_DIR', False)
- else:
- dep = "buildchroot-host:do_build"
- rootfs = d.getVar('BUILDCHROOT_HOST_DIR', False)
-
- d.setVar('BUILDCHROOT_DEP', dep)
- d.setVar('BUILDCHROOT_DIR', rootfs)
-}
+inherit crossvars
MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock"
diff --git a/meta/classes/crossvars.bbclass b/meta/classes/crossvars.bbclass
new file mode 100644
index 00000000..9fc0f81a
--- /dev/null
+++ b/meta/classes/crossvars.bbclass
@@ -0,0 +1,34 @@
+# This software is a part of ISAR.
+# Copyright (C) 2022 ilbers GmbH
+
+ISAR_CROSS_COMPILE ??= "0"
+
+python __anonymous() {
+ import pwd
+ d.setVar('SCHROOT_USER', pwd.getpwuid(os.geteuid()).pw_name)
+
+ mode = d.getVar('ISAR_CROSS_COMPILE', True)
+ distro_arch = d.getVar('DISTRO_ARCH')
+ if mode == "0" or d.getVar('HOST_ARCH') == distro_arch or \
+ (d.getVar('HOST_DISTRO') == "debian-stretch" and distro_arch == "i386"):
+ d.setVar('BUILD_HOST_ARCH', distro_arch)
+ schroot_dir = d.getVar('SCHROOT_TARGET_DIR', False)
+ sbuild_dep = "sbuild-chroot-target:do_build"
+ buildchroot_dir = d.getVar('BUILDCHROOT_TARGET_DIR', False)
+ buildchroot_dep = "buildchroot-target:do_build"
+ sdk_toolchain = "build-essential"
+ else:
+ d.setVar('BUILD_HOST_ARCH', d.getVar('HOST_ARCH'))
+ schroot_dir = d.getVar('SCHROOT_HOST_DIR', False)
+ sbuild_dep = "sbuild-chroot-host:do_build"
+ buildchroot_dir = d.getVar('BUILDCHROOT_HOST_DIR', False)
+ buildchroot_dep = "buildchroot-host:do_build"
+ sdk_toolchain = "crossbuild-essential-" + distro_arch
+ d.setVar('SCHROOT_DIR', schroot_dir)
+ d.setVar('SCHROOT_DEP', sbuild_dep)
+ d.setVar('BUILDCHROOT_DIR', buildchroot_dir)
+ d.setVar('BUILDCHROOT_DEP', buildchroot_dep)
+ if d.getVar('ISAR_ENABLE_COMPAT_ARCH', True) == "1":
+ sdk_toolchain += " crossbuild-essential-" + d.getVar('COMPAT_DISTRO_ARCH')
+ d.setVar('TOOLCHAIN', sdk_toolchain)
+}
diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass
index f2b883a6..c4aefded 100644
--- a/meta/classes/dpkg-base.bbclass
+++ b/meta/classes/dpkg-base.bbclass
@@ -291,7 +291,7 @@ python do_devshell() {
schroot = d.getVar('SBUILD_CHROOT')
isar_apt = d.getVar('ISAR_APT_REPO')
pkg_arch = d.getVar('PACKAGE_ARCH', True)
- build_arch = d.getVar('SBUILD_HOST_ARCH', True)
+ build_arch = d.getVar('BUILD_HOST_ARCH', True)
pp_pps = os.path.join(d.getVar('PP'), d.getVar('PPS'))
install_deps = ":" if d.getVar('BB_CURRENTTASK') == "devshell_nodeps" else f"mk-build-deps -i \
diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
index 7822b14d..c084fdf0 100644
--- a/meta/classes/dpkg.bbclass
+++ b/meta/classes/dpkg.bbclass
@@ -102,7 +102,7 @@ dpkg_runbuild() {
DSC_FILE=$(find ${WORKDIR} -name "${DEB_SOURCE_NAME}*.dsc" -print)
sbuild -A -n -c ${SBUILD_CHROOT} --extra-repository="${ISAR_APT_REPO}" \
- --host=${PACKAGE_ARCH} --build=${SBUILD_HOST_ARCH} ${profiles} \
+ --host=${PACKAGE_ARCH} --build=${BUILD_HOST_ARCH} ${profiles} \
--no-run-lintian --no-run-piuparts --no-run-autopkgtest --resolve-alternatives \
--no-apt-update \
--chroot-setup-commands="echo \"Package: *\nPin: release n=${DEBDISTRONAME}\nPin-Priority: 1000\" > /etc/apt/preferences.d/isar-apt" \
diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass
index b49eae79..d61f0fda 100644
--- a/meta/classes/sbuild.bbclass
+++ b/meta/classes/sbuild.bbclass
@@ -5,23 +5,7 @@ SCHROOT_CONF ?= "/etc/schroot"
SCHROOT_MOUNTS ?= ""
-python __anonymous() {
- import pwd
- d.setVar('SCHROOT_USER', pwd.getpwuid(os.geteuid()).pw_name)
-
- mode = d.getVar('ISAR_CROSS_COMPILE', True)
- distro_arch = d.getVar('DISTRO_ARCH')
- if mode == "0" or d.getVar('HOST_ARCH') == distro_arch or \
- (d.getVar('HOST_DISTRO') == "debian-stretch" and distro_arch == "i386"):
- d.setVar('SBUILD_HOST_ARCH', distro_arch)
- d.setVar('SCHROOT_DIR', d.getVar('SCHROOT_TARGET_DIR', False))
- dep = "sbuild-chroot-target:do_build"
- else:
- d.setVar('SBUILD_HOST_ARCH', d.getVar('HOST_ARCH'))
- d.setVar('SCHROOT_DIR', d.getVar('SCHROOT_HOST_DIR', False))
- dep = "sbuild-chroot-host:do_build"
- d.setVar('SCHROOT_DEP', dep)
-}
+inherit crossvars
SBUILD_CHROOT ?= "${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${@os.getpid()}"
diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass
index 79e01a19..598e7243 100644
--- a/meta/classes/sdk.bbclass
+++ b/meta/classes/sdk.bbclass
@@ -5,6 +5,8 @@
#
# This class extends the image.bbclass to supply the creation of a sdk
+inherit crossvars
+
# hook up the -sdk image variant
BBCLASSEXTEND = "sdk"
BPN = "${PN}"
@@ -42,23 +44,10 @@ SDK_PREINSTALL += " \
devscripts \
equivs"
-# Choose the correct toolchain: cross or native
-python __anonymous() {
- mode = d.getVar('ISAR_CROSS_COMPILE', True)
- distro_arch = d.getVar('DISTRO_ARCH')
- if mode == "0" or d.getVar('HOST_ARCH') == distro_arch:
- toolchain = "build-essential"
- else:
- toolchain = "crossbuild-essential-" + distro_arch
- if d.getVar('ISAR_ENABLE_COMPAT_ARCH', True) == "1":
- toolchain += " crossbuild-essential-" + d.getVar('COMPAT_DISTRO_ARCH')
- d.setVar('TOOLCHAIN', toolchain)
-}
-
# rootfs/image overrides for the SDK
ROOTFS_ARCH_class-sdk = "${HOST_ARCH}"
ROOTFS_DISTRO_class-sdk = "${HOST_DISTRO}"
-ROOTFS_PACKAGES_class-sdk = "sdk-files ${TOOLCHAIN} ${SDK_PREINSTALL} ${SDK_INSTALL}"
+ROOTFS_PACKAGES_class-sdk = "sdk-files ${SDK_TOOLCHAIN} ${SDK_PREINSTALL} ${SDK_INSTALL}"
ROOTFS_FEATURES_append_class-sdk = " clean-package-cache generate-manifest export-dpkg-status"
ROOTFS_MANIFEST_DEPLOY_DIR_class-sdk = "${DEPLOY_DIR_SDKCHROOT}"
ROOTFS_DPKGSTATUS_DEPLOY_DIR_class-sdk = "${DEPLOY_DIR_SDKCHROOT}"
--
2.17.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 5/5] ccache: separate cache based on cross compile
2022-12-19 14:29 [PATCH 0/5] Fix ccache issues Anton Mikanovich
` (3 preceding siblings ...)
2022-12-19 14:29 ` [PATCH 4/5] meta: unify cross selection Anton Mikanovich
@ 2022-12-19 14:29 ` Anton Mikanovich
2022-12-20 2:59 ` Moessbauer, Felix
2023-01-11 6:49 ` [PATCH 0/5] Fix ccache issues Moessbauer, Felix
5 siblings, 1 reply; 16+ messages in thread
From: Anton Mikanovich @ 2022-12-19 14:29 UTC (permalink / raw)
To: isar-users; +Cc: Anton Mikanovich
Mixing ccache generated by cross and native compilers makes the second
run to stuck all the build.
Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
---
meta/conf/bitbake.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 98412e02..86ebb075 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -130,7 +130,7 @@ INHERIT += "${@'buildstats' if d.getVar('USE_BUILDSTATS') == '1' else ''}"
# Default values for ccache
USE_CCACHE ??= "0"
CCACHE_TOP_DIR ?= "${TMPDIR}/ccache"
-CCACHE_DIR ?= "${CCACHE_TOP_DIR}/${DISTRO}-${DISTRO_ARCH}"
+CCACHE_DIR ?= "${CCACHE_TOP_DIR}/${DISTRO}-${DISTRO_ARCH}-${BUILD_HOST_ARCH}"
CCACHE_DEBUG ?= "0"
include conf/local.conf
--
2.17.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/5] ccache: fix dirs creation
2022-12-19 14:29 ` [PATCH 1/5] ccache: fix dirs creation Anton Mikanovich
@ 2022-12-19 15:21 ` Henning Schild
2023-02-08 8:01 ` Anton Mikanovich
2022-12-20 2:39 ` Moessbauer, Felix
1 sibling, 1 reply; 16+ messages in thread
From: Henning Schild @ 2022-12-19 15:21 UTC (permalink / raw)
To: Anton Mikanovich; +Cc: isar-users
Am Mon, 19 Dec 2022 17:29:29 +0300
schrieb Anton Mikanovich <amikan@ilbers.de>:
> Create ccache debug directory only if CCACHE_DEBUG is enabled.
> Also restore CCACHE_DIR creation if not exist.
>
> Fixes 7956c4c ("add flag to enable ccache debug mode")
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> meta/classes/buildchroot.bbclass | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index b4ff2886..72eb80bc 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -25,7 +25,10 @@ MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock"
>
> buildchroot_do_mounts() {
> if [ "${USE_CCACHE}" = "1" ]; then
> - mkdir -p ${CCACHE_DIR}/debug
> + mkdir -p ${CCACHE_DIR}
> + if [ "${CCACHE_DEBUG}" = "1" ]; then
> + mkdir -p ${CCACHE_DIR}/debug
I guess one could skip that -p, but it does not hurt.
Henning
> + fi
> fi
>
> sudo -s <<'EOSUDO'
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild
2022-12-19 14:29 ` [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild Anton Mikanovich
@ 2022-12-19 15:23 ` Henning Schild
2022-12-20 2:40 ` Moessbauer, Felix
2023-01-12 10:00 ` Moessbauer, Felix
1 sibling, 1 reply; 16+ messages in thread
From: Henning Schild @ 2022-12-19 15:23 UTC (permalink / raw)
To: Anton Mikanovich; +Cc: isar-users
Am Mon, 19 Dec 2022 17:29:30 +0300
schrieb Anton Mikanovich <amikan@ilbers.de>:
> If CCACHE_DIR do not exist before sbuild execution it is created with
> root privelegies. This results in permissions issues during the next
> usage by the imager. Create CCACHE_DIR before sbuild to fix that.
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> meta/classes/sbuild.bbclass | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass
> index a29b745b..b49eae79 100644
> --- a/meta/classes/sbuild.bbclass
> +++ b/meta/classes/sbuild.bbclass
> @@ -129,6 +129,7 @@ EOSUDO
> }
>
> schroot_configure_ccache() {
> + [ ! -e ${CCACHE_DIR} ] && mkdir -p ${CCACHE_DIR}
I guess just the mkdir -p is enough since that will not complain if
existing.
Henning
> sudo -s <<'EOSUDO'
> set -e
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/5] ccache: fix dirs creation
2022-12-19 14:29 ` [PATCH 1/5] ccache: fix dirs creation Anton Mikanovich
2022-12-19 15:21 ` Henning Schild
@ 2022-12-20 2:39 ` Moessbauer, Felix
1 sibling, 0 replies; 16+ messages in thread
From: Moessbauer, Felix @ 2022-12-20 2:39 UTC (permalink / raw)
To: amikan, isar-users
On Mon, 2022-12-19 at 17:29 +0300, Anton Mikanovich wrote:
> Create ccache debug directory only if CCACHE_DEBUG is enabled.
> Also restore CCACHE_DIR creation if not exist.
>
> Fixes 7956c4c ("add flag to enable ccache debug mode")
The reason I implemented it like that was to avoid conditional
execution paths. All these paths need testing and the value of not
creating the ${CCACHE_DIR}/debug is very little (or is there a
technical reason why the debug folder should not be there?).
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> meta/classes/buildchroot.bbclass | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass
> index b4ff2886..72eb80bc 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -25,7 +25,10 @@ MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock"
>
> buildchroot_do_mounts() {
> if [ "${USE_CCACHE}" = "1" ]; then
> - mkdir -p ${CCACHE_DIR}/debug
> + mkdir -p ${CCACHE_DIR}
> + if [ "${CCACHE_DEBUG}" = "1" ]; then
> + mkdir -p ${CCACHE_DIR}/debug
As we touch this code now, please also put the paths in quotes to make
sure directories with spaces are handled correctly.
Felix
> + fi
> fi
>
> sudo -s <<'EOSUDO'
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild
2022-12-19 15:23 ` Henning Schild
@ 2022-12-20 2:40 ` Moessbauer, Felix
0 siblings, 0 replies; 16+ messages in thread
From: Moessbauer, Felix @ 2022-12-20 2:40 UTC (permalink / raw)
To: amikan, Schild, Henning; +Cc: isar-users
On Mon, 2022-12-19 at 16:23 +0100, Henning Schild wrote:
> Am Mon, 19 Dec 2022 17:29:30 +0300
> schrieb Anton Mikanovich <amikan@ilbers.de>:
>
> > If CCACHE_DIR do not exist before sbuild execution it is created
> > with
> > root privelegies. This results in permissions issues during the
> > next
> > usage by the imager. Create CCACHE_DIR before sbuild to fix that.
> >
> > Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> > ---
> > meta/classes/sbuild.bbclass | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/classes/sbuild.bbclass
> > b/meta/classes/sbuild.bbclass
> > index a29b745b..b49eae79 100644
> > --- a/meta/classes/sbuild.bbclass
> > +++ b/meta/classes/sbuild.bbclass
> > @@ -129,6 +129,7 @@ EOSUDO
> > }
> >
> > schroot_configure_ccache() {
> > + [ ! -e ${CCACHE_DIR} ] && mkdir -p ${CCACHE_DIR}
>
> I guess just the mkdir -p is enough since that will not complain if
> existing.
Agree. And please put ${CCACHE_DIR} in quotes to support directories
with spaces.
Felix
>
> Henning
>
> > sudo -s <<'EOSUDO'
> > set -e
> >
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 4/5] meta: unify cross selection
2022-12-19 14:29 ` [PATCH 4/5] meta: unify cross selection Anton Mikanovich
@ 2022-12-20 2:49 ` Moessbauer, Felix
0 siblings, 0 replies; 16+ messages in thread
From: Moessbauer, Felix @ 2022-12-20 2:49 UTC (permalink / raw)
To: amikan, isar-users
On Mon, 2022-12-19 at 17:29 +0300, Anton Mikanovich wrote:
> Unify and move ISAR_CROSS_COMPILE related logic into one location.
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> meta/classes/buildchroot.bbclass | 18 +----------------
> meta/classes/crossvars.bbclass | 34
> ++++++++++++++++++++++++++++++++
> meta/classes/dpkg-base.bbclass | 2 +-
> meta/classes/dpkg.bbclass | 2 +-
> meta/classes/sbuild.bbclass | 18 +----------------
> meta/classes/sdk.bbclass | 17 +++-------------
> 6 files changed, 41 insertions(+), 50 deletions(-)
> create mode 100644 meta/classes/crossvars.bbclass
>
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass
> index 72eb80bc..06acc2da 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -3,23 +3,7 @@
> #
> # SPDX-License-Identifier: MIT
>
> -ISAR_CROSS_COMPILE ??= "0"
> -
> -# Choose the correct buildchroot: host or target
> -python __anonymous() {
> - mode = d.getVar('ISAR_CROSS_COMPILE', True)
> - distro_arch = d.getVar('DISTRO_ARCH')
> - if mode == "0" or d.getVar('HOST_ARCH') == distro_arch or \
> - (d.getVar('HOST_DISTRO') == "debian-stretch" and distro_arch
> == "i386"):
> - dep = "buildchroot-target:do_build"
> - rootfs = d.getVar('BUILDCHROOT_TARGET_DIR', False)
> - else:
> - dep = "buildchroot-host:do_build"
> - rootfs = d.getVar('BUILDCHROOT_HOST_DIR', False)
> -
> - d.setVar('BUILDCHROOT_DEP', dep)
> - d.setVar('BUILDCHROOT_DIR', rootfs)
> -}
> +inherit crossvars
>
> MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock"
>
> diff --git a/meta/classes/crossvars.bbclass
> b/meta/classes/crossvars.bbclass
> new file mode 100644
> index 00000000..9fc0f81a
> --- /dev/null
> +++ b/meta/classes/crossvars.bbclass
> @@ -0,0 +1,34 @@
> +# This software is a part of ISAR.
> +# Copyright (C) 2022 ilbers GmbH
> +
> +ISAR_CROSS_COMPILE ??= "0"
> +
> +python __anonymous() {
> + import pwd
> + d.setVar('SCHROOT_USER', pwd.getpwuid(os.geteuid()).pw_name)
> +
> + mode = d.getVar('ISAR_CROSS_COMPILE', True)
> + distro_arch = d.getVar('DISTRO_ARCH')
> + if mode == "0" or d.getVar('HOST_ARCH') == distro_arch or \
> + (d.getVar('HOST_DISTRO') == "debian-stretch" and distro_arch
> == "i386"):
Our use of getVar is very inconsistent regarding the second parameter.
True or no-value means it is expanded. Maybe we can clean that up while
refactoring the code.
I prefer to always be precise about the expansion, as the default value
also changed over time (it was False till Yocto 2.1).
Felix
> + d.setVar('BUILD_HOST_ARCH', distro_arch)
> + schroot_dir = d.getVar('SCHROOT_TARGET_DIR', False)
> + sbuild_dep = "sbuild-chroot-target:do_build"
> + buildchroot_dir = d.getVar('BUILDCHROOT_TARGET_DIR', False)
> + buildchroot_dep = "buildchroot-target:do_build"
> + sdk_toolchain = "build-essential"
> + else:
> + d.setVar('BUILD_HOST_ARCH', d.getVar('HOST_ARCH'))
> + schroot_dir = d.getVar('SCHROOT_HOST_DIR', False)
> + sbuild_dep = "sbuild-chroot-host:do_build"
> + buildchroot_dir = d.getVar('BUILDCHROOT_HOST_DIR', False)
> + buildchroot_dep = "buildchroot-host:do_build"
> + sdk_toolchain = "crossbuild-essential-" + distro_arch
> + d.setVar('SCHROOT_DIR', schroot_dir)
> + d.setVar('SCHROOT_DEP', sbuild_dep)
> + d.setVar('BUILDCHROOT_DIR', buildchroot_dir)
> + d.setVar('BUILDCHROOT_DEP', buildchroot_dep)
> + if d.getVar('ISAR_ENABLE_COMPAT_ARCH', True) == "1":
> + sdk_toolchain += " crossbuild-essential-" +
> d.getVar('COMPAT_DISTRO_ARCH')
> + d.setVar('TOOLCHAIN', sdk_toolchain)
> +}
> diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-
> base.bbclass
> index f2b883a6..c4aefded 100644
> --- a/meta/classes/dpkg-base.bbclass
> +++ b/meta/classes/dpkg-base.bbclass
> @@ -291,7 +291,7 @@ python do_devshell() {
> schroot = d.getVar('SBUILD_CHROOT')
> isar_apt = d.getVar('ISAR_APT_REPO')
> pkg_arch = d.getVar('PACKAGE_ARCH', True)
> - build_arch = d.getVar('SBUILD_HOST_ARCH', True)
> + build_arch = d.getVar('BUILD_HOST_ARCH', True)
> pp_pps = os.path.join(d.getVar('PP'), d.getVar('PPS'))
>
> install_deps = ":" if d.getVar('BB_CURRENTTASK') ==
> "devshell_nodeps" else f"mk-build-deps -i \
> diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
> index 7822b14d..c084fdf0 100644
> --- a/meta/classes/dpkg.bbclass
> +++ b/meta/classes/dpkg.bbclass
> @@ -102,7 +102,7 @@ dpkg_runbuild() {
> DSC_FILE=$(find ${WORKDIR} -name "${DEB_SOURCE_NAME}*.dsc" -
> print)
>
> sbuild -A -n -c ${SBUILD_CHROOT} --extra-
> repository="${ISAR_APT_REPO}" \
> - --host=${PACKAGE_ARCH} --build=${SBUILD_HOST_ARCH}
> ${profiles} \
> + --host=${PACKAGE_ARCH} --build=${BUILD_HOST_ARCH}
> ${profiles} \
> --no-run-lintian --no-run-piuparts --no-run-autopkgtest --
> resolve-alternatives \
> --no-apt-update \
> --chroot-setup-commands="echo \"Package: *\nPin: release
> n=${DEBDISTRONAME}\nPin-Priority: 1000\" >
> /etc/apt/preferences.d/isar-apt" \
> diff --git a/meta/classes/sbuild.bbclass
> b/meta/classes/sbuild.bbclass
> index b49eae79..d61f0fda 100644
> --- a/meta/classes/sbuild.bbclass
> +++ b/meta/classes/sbuild.bbclass
> @@ -5,23 +5,7 @@ SCHROOT_CONF ?= "/etc/schroot"
>
> SCHROOT_MOUNTS ?= ""
>
> -python __anonymous() {
> - import pwd
> - d.setVar('SCHROOT_USER', pwd.getpwuid(os.geteuid()).pw_name)
> -
> - mode = d.getVar('ISAR_CROSS_COMPILE', True)
> - distro_arch = d.getVar('DISTRO_ARCH')
> - if mode == "0" or d.getVar('HOST_ARCH') == distro_arch or \
> - (d.getVar('HOST_DISTRO') == "debian-stretch" and distro_arch
> == "i386"):
> - d.setVar('SBUILD_HOST_ARCH', distro_arch)
> - d.setVar('SCHROOT_DIR', d.getVar('SCHROOT_TARGET_DIR',
> False))
> - dep = "sbuild-chroot-target:do_build"
> - else:
> - d.setVar('SBUILD_HOST_ARCH', d.getVar('HOST_ARCH'))
> - d.setVar('SCHROOT_DIR', d.getVar('SCHROOT_HOST_DIR', False))
> - dep = "sbuild-chroot-host:do_build"
> - d.setVar('SCHROOT_DEP', dep)
> -}
> +inherit crossvars
>
> SBUILD_CHROOT ?= "
> ${DEBDISTRONAME}-${SCHROOT_USER}-${ISAR_BUILD_UUID}-${@os.getpid()}"
>
> diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass
> index 79e01a19..598e7243 100644
> --- a/meta/classes/sdk.bbclass
> +++ b/meta/classes/sdk.bbclass
> @@ -5,6 +5,8 @@
> #
> # This class extends the image.bbclass to supply the creation of a
> sdk
>
> +inherit crossvars
> +
> # hook up the -sdk image variant
> BBCLASSEXTEND = "sdk"
> BPN = "${PN}"
> @@ -42,23 +44,10 @@ SDK_PREINSTALL += " \
> devscripts \
> equivs"
>
> -# Choose the correct toolchain: cross or native
> -python __anonymous() {
> - mode = d.getVar('ISAR_CROSS_COMPILE', True)
> - distro_arch = d.getVar('DISTRO_ARCH')
> - if mode == "0" or d.getVar('HOST_ARCH') == distro_arch:
> - toolchain = "build-essential"
> - else:
> - toolchain = "crossbuild-essential-" + distro_arch
> - if d.getVar('ISAR_ENABLE_COMPAT_ARCH', True) == "1":
> - toolchain += " crossbuild-essential-" +
> d.getVar('COMPAT_DISTRO_ARCH')
> - d.setVar('TOOLCHAIN', toolchain)
> -}
> -
> # rootfs/image overrides for the SDK
> ROOTFS_ARCH_class-sdk = "${HOST_ARCH}"
> ROOTFS_DISTRO_class-sdk = "${HOST_DISTRO}"
> -ROOTFS_PACKAGES_class-sdk = "sdk-files ${TOOLCHAIN}
> ${SDK_PREINSTALL} ${SDK_INSTALL}"
> +ROOTFS_PACKAGES_class-sdk = "sdk-files ${SDK_TOOLCHAIN}
> ${SDK_PREINSTALL} ${SDK_INSTALL}"
> ROOTFS_FEATURES_append_class-sdk = " clean-package-cache generate-
> manifest export-dpkg-status"
> ROOTFS_MANIFEST_DEPLOY_DIR_class-sdk = "${DEPLOY_DIR_SDKCHROOT}"
> ROOTFS_DPKGSTATUS_DEPLOY_DIR_class-sdk = "${DEPLOY_DIR_SDKCHROOT}"
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 5/5] ccache: separate cache based on cross compile
2022-12-19 14:29 ` [PATCH 5/5] ccache: separate cache based on cross compile Anton Mikanovich
@ 2022-12-20 2:59 ` Moessbauer, Felix
0 siblings, 0 replies; 16+ messages in thread
From: Moessbauer, Felix @ 2022-12-20 2:59 UTC (permalink / raw)
To: amikan, isar-users
On Mon, 2022-12-19 at 17:29 +0300, Anton Mikanovich wrote:
> Mixing ccache generated by cross and native compilers makes the
> second
> run to stuck all the build.
Never saw this, but might depend on the ccache version.
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> meta/conf/bitbake.conf | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> index 98412e02..86ebb075 100644
> --- a/meta/conf/bitbake.conf
> +++ b/meta/conf/bitbake.conf
> @@ -130,7 +130,7 @@ INHERIT += "${@'buildstats' if
> d.getVar('USE_BUILDSTATS') == '1' else ''}"
> # Default values for ccache
> USE_CCACHE ??= "0"
> CCACHE_TOP_DIR ?= "${TMPDIR}/ccache"
> -CCACHE_DIR ?= "${CCACHE_TOP_DIR}/${DISTRO}-${DISTRO_ARCH}"
> +CCACHE_DIR ?= "${CCACHE_TOP_DIR}/${DISTRO}-${DISTRO_ARCH}-
> ${BUILD_HOST_ARCH}"
Please also update doc/user_manual.md.
In addition, the need for that is somehow problematic in CI systems,
where you feed in the CCACHE_DIR from the outside. We currently do not
allow to set the CCACHE_TOP_DIR via an env var, and CCACHE_TOP_DIR also
affects the task hash (while CCACHE_DIR does not).
But with the current logic, it would make much more sense to just set
the CCACHE_TOP_DIR and let ISAR handle the internal cache layout.
Felix
> CCACHE_DEBUG ?= "0"
>
> include conf/local.conf
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/5] Fix ccache issues
2022-12-19 14:29 [PATCH 0/5] Fix ccache issues Anton Mikanovich
` (4 preceding siblings ...)
2022-12-19 14:29 ` [PATCH 5/5] ccache: separate cache based on cross compile Anton Mikanovich
@ 2023-01-11 6:49 ` Moessbauer, Felix
5 siblings, 0 replies; 16+ messages in thread
From: Moessbauer, Felix @ 2023-01-11 6:49 UTC (permalink / raw)
To: amikan, isar-users; +Cc: Schmidt, Adriaan
On Mon, 2022-12-19 at 17:29 +0300, Anton Mikanovich wrote:
> This patchset just fixes some ccache-related issues which prevented
> us
> from enabling ccache globally.
Hi Anton,
with recent ISAR versions, we frequently see the following error in the
do_dpkg_build tasks (no matter if this series is applied or not):
ccache: error: Failed to create directory /ccache/5/d: Not a directory
There have to be more cases where the /ccache directory is either not
created or created with wrong access rights.
Felix
>
> Anton Mikanovich (5):
> ccache: fix dirs creation
> ccache: fix CCACHE_DIR owner for sbuild
> dpkg-base: remove deprecated code
> meta: unify cross selection
> ccache: separate cache based on cross compile
>
> meta/classes/buildchroot.bbclass | 23 +++++----------------
> meta/classes/crossvars.bbclass | 34
> ++++++++++++++++++++++++++++++++
> meta/classes/dpkg-base.bbclass | 29 +--------------------------
> meta/classes/dpkg.bbclass | 2 +-
> meta/classes/sbuild.bbclass | 19 ++----------------
> meta/classes/sdk.bbclass | 17 +++-------------
> meta/conf/bitbake.conf | 2 +-
> 7 files changed, 47 insertions(+), 79 deletions(-)
> create mode 100644 meta/classes/crossvars.bbclass
>
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild
2022-12-19 14:29 ` [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild Anton Mikanovich
2022-12-19 15:23 ` Henning Schild
@ 2023-01-12 10:00 ` Moessbauer, Felix
2023-02-08 8:15 ` Anton Mikanovich
1 sibling, 1 reply; 16+ messages in thread
From: Moessbauer, Felix @ 2023-01-12 10:00 UTC (permalink / raw)
To: amikan, isar-users; +Cc: Schmidt, Adriaan
On Mon, 2022-12-19 at 17:29 +0300, Anton Mikanovich wrote:
> If CCACHE_DIR do not exist before sbuild execution it is created with
> root
> privelegies. This results in permissions issues during the next usage
> by the
> imager. Create CCACHE_DIR before sbuild to fix that.
>
> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
> ---
> meta/classes/sbuild.bbclass | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/meta/classes/sbuild.bbclass
> b/meta/classes/sbuild.bbclass
> index a29b745b..b49eae79 100644
> --- a/meta/classes/sbuild.bbclass
> +++ b/meta/classes/sbuild.bbclass
> @@ -129,6 +129,7 @@ EOSUDO
> }
>
> schroot_configure_ccache() {
> + [ ! -e ${CCACHE_DIR} ] && mkdir -p ${CCACHE_DIR}
This line creates the ccache folder as root user.
A couple lines below we find the following:
install --group=sbuild --mode=2775 -d ${CCACHE_DIR}
If I read the code correctly, this line has no effect anymore, as the
mkdir is always executed first (and with incorrect permissions).
Felix
> sudo -s <<'EOSUDO'
> set -e
>
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 1/5] ccache: fix dirs creation
2022-12-19 15:21 ` Henning Schild
@ 2023-02-08 8:01 ` Anton Mikanovich
0 siblings, 0 replies; 16+ messages in thread
From: Anton Mikanovich @ 2023-02-08 8:01 UTC (permalink / raw)
To: Henning Schild; +Cc: isar-users
19/12/2022 17:21, Henning Schild wrote:
> Am Mon, 19 Dec 2022 17:29:29 +0300
> schrieb Anton Mikanovich <amikan@ilbers.de>:
>
>> Create ccache debug directory only if CCACHE_DEBUG is enabled.
>> Also restore CCACHE_DIR creation if not exist.
>>
>> Fixes 7956c4c ("add flag to enable ccache debug mode")
>>
>> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
>> ---
>> meta/classes/buildchroot.bbclass | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/buildchroot.bbclass
>> b/meta/classes/buildchroot.bbclass index b4ff2886..72eb80bc 100644
>> --- a/meta/classes/buildchroot.bbclass
>> +++ b/meta/classes/buildchroot.bbclass
>> @@ -25,7 +25,10 @@ MOUNT_LOCKFILE = "${BUILDCHROOT_DIR}.lock"
>>
>> buildchroot_do_mounts() {
>> if [ "${USE_CCACHE}" = "1" ]; then
>> - mkdir -p ${CCACHE_DIR}/debug
>> + mkdir -p ${CCACHE_DIR}
>> + if [ "${CCACHE_DEBUG}" = "1" ]; then
>> + mkdir -p ${CCACHE_DIR}/debug
> I guess one could skip that -p, but it does not hurt.
>
> Henning
I've used '-p' here to skip errors on 'already exist' cases.
>> + fi
>> fi
>>
>> sudo -s <<'EOSUDO'
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild
2023-01-12 10:00 ` Moessbauer, Felix
@ 2023-02-08 8:15 ` Anton Mikanovich
0 siblings, 0 replies; 16+ messages in thread
From: Anton Mikanovich @ 2023-02-08 8:15 UTC (permalink / raw)
To: Moessbauer, Felix, isar-users; +Cc: Schmidt, Adriaan
12/01/2023 12:00, Moessbauer, Felix wrote:
> On Mon, 2022-12-19 at 17:29 +0300, Anton Mikanovich wrote:
>> If CCACHE_DIR do not exist before sbuild execution it is created with
>> root
>> privelegies. This results in permissions issues during the next usage
>> by the
>> imager. Create CCACHE_DIR before sbuild to fix that.
>>
>> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
>> ---
>> meta/classes/sbuild.bbclass | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/meta/classes/sbuild.bbclass
>> b/meta/classes/sbuild.bbclass
>> index a29b745b..b49eae79 100644
>> --- a/meta/classes/sbuild.bbclass
>> +++ b/meta/classes/sbuild.bbclass
>> @@ -129,6 +129,7 @@ EOSUDO
>> }
>>
>> schroot_configure_ccache() {
>> + [ ! -e ${CCACHE_DIR} ] && mkdir -p ${CCACHE_DIR}
> This line creates the ccache folder as root user.
Why? It is placed outside sudo section, so should be executed from the
current
user.
> A couple lines below we find the following:
>
> install --group=sbuild --mode=2775 -d ${CCACHE_DIR}
>
> If I read the code correctly, this line has no effect anymore, as the
> mkdir is always executed first (and with incorrect permissions).
This one should be probably removed.
Not sure why mode setting do not help here.
> Felix
>
>> sudo -s <<'EOSUDO'
>> set -e
>>
>> --
>> 2.17.1
>>
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2023-02-08 8:15 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-19 14:29 [PATCH 0/5] Fix ccache issues Anton Mikanovich
2022-12-19 14:29 ` [PATCH 1/5] ccache: fix dirs creation Anton Mikanovich
2022-12-19 15:21 ` Henning Schild
2023-02-08 8:01 ` Anton Mikanovich
2022-12-20 2:39 ` Moessbauer, Felix
2022-12-19 14:29 ` [PATCH 2/5] ccache: fix CCACHE_DIR owner for sbuild Anton Mikanovich
2022-12-19 15:23 ` Henning Schild
2022-12-20 2:40 ` Moessbauer, Felix
2023-01-12 10:00 ` Moessbauer, Felix
2023-02-08 8:15 ` Anton Mikanovich
2022-12-19 14:29 ` [PATCH 3/5] dpkg-base: remove deprecated code Anton Mikanovich
2022-12-19 14:29 ` [PATCH 4/5] meta: unify cross selection Anton Mikanovich
2022-12-20 2:49 ` Moessbauer, Felix
2022-12-19 14:29 ` [PATCH 5/5] ccache: separate cache based on cross compile Anton Mikanovich
2022-12-20 2:59 ` Moessbauer, Felix
2023-01-11 6:49 ` [PATCH 0/5] Fix ccache issues Moessbauer, Felix
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox