public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
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
> 


  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