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:44:31 +0200	[thread overview]
Message-ID: <20210811204431.657d7888@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <20210811203649.63399e0c@md1za8fc.ad001.siemens.net>

Am Wed, 11 Aug 2021 20:36:49 +0200
schrieb Henning Schild <henning.schild@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.

Doing BB_GIT_NOSHARED=1 in general and dropping "adjust_git" is not
something i have tested. But i am almost sure it will work.
It will have an impact on performance and disk-usage.

If a layer wanted to early-adopt ... it would be cherry-picking that
bitbake commit into isar, setting that variable global and dropping
"adjust_git".

Henning

> Henning
> 
> > Jan
> >   
> 


  reply	other threads:[~2021-08-11 18:44 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
2021-08-11 18:44         ` Henning Schild [this message]
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=20210811204431.657d7888@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