From: Henning Schild <henning.schild@siemens.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH 3/3] dpkg-gbp: default to "git" patching
Date: Wed, 11 Aug 2021 20:36:49 +0200 [thread overview]
Message-ID: <20210811203649.63399e0c@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <0d573291-8590-ebf0-5de1-8714efcd49e5@siemens.com>
Am Wed, 11 Aug 2021 20:14:56 +0200
schrieb Jan Kiszka <jan.kiszka@siemens.com>:
> On 22.01.21 11:55, [ext] Jan Kiszka wrote:
> > On 22.01.21 09:42, [ext] Henning Schild wrote:
> >> From: Henning Schild <henning.schild@siemens.com>
> >>
> >> That class is about packages coming from git, so that is the
> >> natural choice for the patching tool.
> >>
> >> Signed-off-by: Henning Schild <henning.schild@siemens.com>
> >> ---
> >> RECIPE-API-CHANGELOG.md | 5 +++++
> >> meta-isar/recipes-app/cowsay/cowsay_git.bb | 1 -
> >> meta/classes/dpkg-gbp.bbclass | 2 ++
> >> 3 files changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
> >> index cc45f3f66e..c4ec5894a8 100644
> >> --- a/RECIPE-API-CHANGELOG.md
> >> +++ b/RECIPE-API-CHANGELOG.md
> >> @@ -282,3 +282,8 @@ like /boot/efi to avoid such issues.
> >> ### Deprecate BUILD_DEPENDS in u-boot-custom.inc
> >>
> >> Use DEBIAN_BUILD_DEPENDS instead, to align with deb_debianize.
> >> +
> >> +### Default to PATCHTOOL ?= "git" for dpkg-gbp
> >> +
> >> +Migrate your patches so they can be applied with "git am", or
> >> +"unset PATCHTOOL" to get old behaviour.
> >> diff --git a/meta-isar/recipes-app/cowsay/cowsay_git.bb
> >> b/meta-isar/recipes-app/cowsay/cowsay_git.bb index
> >> 2e885a8aa3..c3a1f4942a 100644 ---
> >> a/meta-isar/recipes-app/cowsay/cowsay_git.bb +++
> >> b/meta-isar/recipes-app/cowsay/cowsay_git.bb @@ -5,7 +5,6 @@
> >>
> >> inherit dpkg-gbp
> >>
> >> -PATCHTOOL = "git"
> >> SRC_URI =
> >> "git://salsa.debian.org/debian/cowsay.git;protocol=https" SRC_URI
> >> += "file://isar.patch" SRCREV =
> >> "756f0c41fbf582093c0c1dff9ff77734716cb26f" diff --git
> >> a/meta/classes/dpkg-gbp.bbclass b/meta/classes/dpkg-gbp.bbclass
> >> index ba5c3ebb89..d956e8c3bc 100644 ---
> >> a/meta/classes/dpkg-gbp.bbclass +++ b/meta/classes/dpkg-gbp.bbclass
> >> @@ -7,6 +7,8 @@ inherit dpkg
> >>
> >> S = "${WORKDIR}/git"
> >>
> >> +PATCHTOOL ?= "git"
> >> +
> >> GBP_DEPENDS ?= "git-buildpackage pristine-tar"
> >> GBP_EXTRA_OPTIONS ?= "--git-pristine-tar"
> >>
> >>
> >
> > Sounds reasonable to me.
> >
>
> ...but breaks rebuilding as long as we do not clone into the
> buildchroot and rather patch alternates:
>
> ERROR: mc:qemuarm64-buster:cowsay-git-r0 do_patch: Command Error: 'sh
> -c 'git
> --work-tree=/build/tmp/work/debian-buster-arm64/cowsay/git-r0/git
> reset --hard HEAD'' exited with 0 Output: error: object directory
> /downloads/git/salsa.debian.org.debian.cowsay.git/objects does not
> exist; check .git/objects/info/alternates error: unable to read sha1
> file of cows/elephant-in-snake.cow
> (1003cdf63bd9ae64e6674b47f8ed4799b5f809a6) error: unable to read sha1
> file of cows/elephant.cow (959cd3f6dd2b628b2471572a06e162b31dbcac96)
> error: unable to read sha1 file of cows/head-in.cow
> (2e51774886392c2d295e5659b03dbfa04f14aeb4) error: unable to read sha1
> file of cows/luke-koala.cow
> (78acd6988fa397cc1dfcd98f04373af94288430e) error: unable to read sha1
> file of cows/moofasa.cow (15119d6782fec20424c648fcf0174f291dd22026)
> error: unable to read sha1 file of cowsay
> (900ca46014cf0454075a6390830b399b2a4b2a34) error: unable to read sha1
> file of cowsay.1 (7133866af2f7ea7cccdfa79378a61b27c1573e6b) fatal:
> Could not reset index file to revision 'HEAD'. ERROR: Logfile of
> failure stored in:
> /build/tmp/work/debian-buster-arm64/cowsay/git-r0/temp/log.do_patch.71
> ERROR: Task
> (mc:qemuarm64-buster:/repo/meta-isar/recipes-app/cowsay/cowsay_git.bb:do_patch)
> failed with exit code '1'
>
> Did this change have a practical motivation or was just out of
> esthetic reasons? If it were only the latter, we should revert until
> our bitbake can resolve the underlying problem.
It does have a practical motivation. Patching with quilt in isar has
nasty side-effects when debian/ is using quilt as well.
Using git as patchtool when git is also doing fetch/unpack seems like
the best solution to that. The patching with quilt gets especially
nasty if you can not add a quilt patch-patch to just deal with the code
... when you find yourself also wanting to patch debian/.
I would say that "adjust_git" is to blame here and we need to live with
that until we version-bump bitbake. In recent bitbake we will have
https://github.com/openembedded/bitbake/commit/6ae6f1865d5e666ebc670f70b7401a7b41648102
and will be able to ditch "adjust_git" by simply setting a global
BB_GIT_NOSHARED for isar.
That will also result in much improved usability ... since git repos
will end up usable insisde/outside chroots.
Henning
> Jan
>
next prev parent reply other threads:[~2021-08-11 18:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-22 8:42 [PATCH 0/3] allow do_patch to use the "git" tool Henning Schild
2021-01-22 8:42 ` [PATCH 1/3] dpkg: adjust task order to allow using "git" for patching Henning Schild
2021-01-22 10:53 ` Jan Kiszka
2021-01-22 13:40 ` Henning Schild
2021-02-08 16:06 ` Anton Mikanovich
2021-02-08 16:16 ` Henning Schild
2021-01-22 8:42 ` [PATCH 2/3] meta-isar: apply a "git" patch in cowsay Henning Schild
2021-01-22 8:42 ` [PATCH 3/3] dpkg-gbp: default to "git" patching Henning Schild
2021-01-22 10:55 ` Jan Kiszka
2021-08-11 18:14 ` Jan Kiszka
2021-08-11 18:36 ` Henning Schild [this message]
2021-08-11 18:44 ` Henning Schild
2021-08-11 19:15 ` Jan Kiszka
2021-08-13 20:22 ` Henning Schild
2021-08-11 19:12 ` Jan Kiszka
2021-08-13 20:32 ` Henning Schild
2021-02-10 9:17 ` [PATCH 0/3] allow do_patch to use the "git" tool Anton Mikanovich
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=20210811203649.63399e0c@md1za8fc.ad001.siemens.net \
--to=henning.schild@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@siemens.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