From: Cedric Hombourger <cedric_hombourger@mentor.com>
To: Cedric Hombourger <Cedric_Hombourger@mentor.com>
Cc: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH] buildchroot: do not mk-build-deps in ${S}
Date: Fri, 25 Sep 2020 11:33:15 +0200 [thread overview]
Message-ID: <a3f3c047-2ac1-cfdb-2011-bc516212204f@mentor.com> (raw)
In-Reply-To: <20200925091632.43333-1-Cedric_Hombourger@mentor.com>
just found that Jan already posted something rather similar
https://groups.google.com/g/isar-users/c/FUC6QGcKD8Y/m/dr95lm2pAgAJ
I should have re-checked the mailing list before submitting (I wanted to
ci-build.sh this change before submitting)
One difference though is the use of a temp directory and no relative
paths (I did not want to make any assumptions about the file-system view
we get when we enter the buildchroot)
We definitely want either patches applied so we can get more people to
start porting their projects to bullseye!
If we go with Jan's, we should definitely address the comment from
Henning (i.e. changing "cd .." to something more adequate)
Cedric
On 9/25/2020 11:16 AM, Cedric Hombourger wrote:
> mk-build-deps may leave .changes and/or .buildinfo files behind despite use of
> the -r option (which seems to only remove the generated .deb file). Having new
> files in the source tree causes dh_clean to complain (at least when the package
> uses quilt to manage patches). This problem was observed while re-building some
> upstream bullseye packages. Since there are no requirements to execute the
> mk-build-deps tool from the source tree, create a temporary directory and run
> it from there.
>
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
> meta/recipes-devtools/buildchroot/files/deps.sh | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/buildchroot/files/deps.sh b/meta/recipes-devtools/buildchroot/files/deps.sh
> index 93bc9cf..40d4a1c 100644
> --- a/meta/recipes-devtools/buildchroot/files/deps.sh
> +++ b/meta/recipes-devtools/buildchroot/files/deps.sh
> @@ -34,17 +34,22 @@ if ! grep "^Architecture:" debian/control | grep -qv "all"; then
> fi
>
> # Install all build deps
> +srcdir=$(pwd)
> +tmpdir=$(mktemp -d)
> +cd ${tmpdir}
> if [ "$3" = "--download-only" ]; then
> # this will not return 0 even when it worked
> - mk-build-deps $set_arch -t "${install_cmd}" -i -r debian/control &> \
> + mk-build-deps $set_arch -t "${install_cmd}" -i -r ${srcdir}/debian/control &> \
> mk-build-deps.output || true
> cat mk-build-deps.output
> # we assume success when we find this
> grep "mk-build-deps: Unable to install all build-dep packages" mk-build-deps.output
> rm -f mk-build-deps.output
> else
> - mk-build-deps $set_arch -t "${install_cmd}" -i -r debian/control
> + mk-build-deps $set_arch -t "${install_cmd}" -i -r ${srcdir}/debian/control
>
> # Upgrade any already installed packages in case we are partially rebuilding
> apt-get upgrade -y --allow-downgrades
> fi
> +cd ${srcdir}
> +rm -rf ${tmpdir}
next prev parent reply other threads:[~2020-09-25 9:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-25 9:16 Cedric Hombourger
2020-09-25 9:33 ` Cedric Hombourger [this message]
2020-09-25 16:27 ` Henning Schild
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=a3f3c047-2ac1-cfdb-2011-bc516212204f@mentor.com \
--to=cedric_hombourger@mentor.com \
--cc=isar-users@googlegroups.com \
/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