public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: "ub...@ilbers.de" <ubely@ilbers.de>
To: isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH v2 0/4] Make adjust_git work in both worlds
Date: Fri, 27 Aug 2021 01:39:55 -0700 (PDT)	[thread overview]
Message-ID: <fde51f3e-0af4-4b41-812b-fc15bf693203n@googlegroups.com> (raw)
In-Reply-To: <e3113050-0377-bd20-c250-8dd6f7559db8@siemens.com>


[-- Attachment #1.1: Type: text/plain, Size: 5410 bytes --]

I've just sent a patchset as "[RFC 0/3] Fix gbp patching after 
configuration change" (sorry, with wrong tag RFC) after internal discussion.
четверг, 26 августа 2021 г. в 10:57:26 UTC+3, Jan Kiszka: 

> On 19.08.21 08:21, Jan Kiszka wrote:
> > On 19.08.21 08:17, Uladzimir Bely wrote:
> >> In the email from понедельник, 16 августа 2021 г. 13:45:12 +03 user Jan 
> Kiszka 
> >> wrote:
> >>> On 16.08.21 10:27, Uladzimir Bely wrote:
> >>>> In the email from понедельник, 16 августа 2021 г. 10:55:31 +03 user 
> Jan
> >>>> Kiszka> 
> >>>> wrote:
> >>>>> On 16.08.21 09:52, Uladzimir Bely wrote:
> >>>>>> In the email from воскресенье, 15 августа 2021 г. 22:02:25 +03 user 
> Jan
> >>>>>> Kiszka>
> >>>>>>
> >>>>>> wrote:
> >>>>>>> On 13.08.21 14:40, Uladzimir Bely wrote:
> >>>>>>>> When I previously looked at patch.bbclass, I noted, that we don't 
> use
> >>>>>>>> it
> >>>>>>>> completely.
> >>>>>>>>
> >>>>>>>> There are some patch_task_patch_prefunc() and 
> patch_task_postfunc()
> >>>>>>>> here
> >>>>>>>> that are used in OE when PATCHTOOL='git'. But in our case they are
> >>>>>>>> never
> >>>>>>>> run due to not using PATCH_COMMIT_FUNCTIONS in isar.
> >>>>>>>>
> >>>>>>>> I suppose (but can't be completely sure without deep look to OE) 
> that
> >>>>>>>> prefunc may fix this 'patch is allready applied' issue in OE.
> >>>>>>>
> >>>>>>> If you can still reproduce the issue, just set 
> PATCH_COMMIT_FUNCTIONS=1
> >>>>>>> to check if it has any impact.
> >>>>>>>
> >>>>>>> Browsing poky and OE-core, I only find devtool setting this var. 
> But
> >>>>>>> both aren't using git as patch tool anyway, a downstream 
> layer/recipe
> >>>>>>> needs to requests that.
> >>>>>>>
> >>>>>>> Jan
> >>>>>>
> >>>>>> Yes, I also tried this way.
> >>>>>>
> >>>>>> Actually, enabling PATCH_COMMIT_FUNCTIONS also forces to make some 
> more
> >>>>>> changes in patch.bbclass (like sys.path.insert for OE lib path) that
> >>>>>> makes
> >>>>>> the difference increase.
> >>>>>>
> >>>>>> Anyway, even if this set to "1", the problem of patch reapply is 
> still
> >>>>>> here - custom patch is going to be applied despite it was already 
> done
> >>>>>> on
> >>>>>> previous build. So, reset to SRC_REV is still required.
> >>>>>
> >>>>> Strange. Did you try the same procedure in an OE setup, to compare 
> what
> >>>>> happens there?
> >>>>>
> >>>>> Jan
> >>>>
> >>>> Not yet, while it's expected to take much time to compile.
> >>>>
> >>>> Anyway, to catch the similar error, I need to find some package to 
> rebuild
> >>>> in Yocto/OE that follows the approach similar to one isar's cowsay 
> uses:
> >>>> a patch used by recipe that adds new patch to debian series.
> >>>
> >>> Nope, this is unrelated. You just need to find a recipe that adds a
> >>> patch, then switch to PATCHTOOL=git, and finally trigger the rebuild in
> >>> a way that patch is re-run. That should be doable in OE without 
> building
> >>> a complete system. In fact, you only need to force-run patch for a
> >>> specific recipe twice.
> >>>
> >>> Jan
> >>
> >> I finally found the reason of failing patch in ISAR, after debugging 
> and 
> >> comparing the oe/patch.py behaviour in ISAR and OE.
> >>
> >> At the end, the problem of 
> meta-isar/recipes-app/cowsay/files/isar.patch is 
> >> that it's not in git format. So, when GitApplyTree class tries to apply 
> it, it 
> >> fails and switches to fallback PatchTree one.
> >>
> >> That's why the patch can be applied only once - PatchTree class can't 
> apply 
> >> the same patch if it has already been applied at previous build.
> >>
> >> When I modify isar.patch to be git-like ( recreate it with `git format-
> >> patch`), everythong works OK. GitApplyTree is now able to understand 
> that the 
> >> same patch need to be skipped.
> >>
> >> The difference in output:
> >>
> >>> ubely@home 
> /home/Work/isar/build-isar/tmp/work/debian-buster-amd64/cowsay/
> >> git-r0/git $ PATCHFILE="isar.patch" git 
> --work-tree=/home/Work/isar/build-
> >> isar/tmp/work/debian-buster-amd64/cowsay/git-r0/git -c user.name="Isar" 
> -c 
> >> user.email="isar.patch@isar" am -3 --keep-cr -p1 
> /home/Work/isar/repo/meta-
> >> isar/recipes-app/cowsay/files/isar.patch
> >>> Patch format detection failed.
> >>
> >>> ubely@home 
> /home/Work/isar/build-isar/tmp/work/debian-buster-amd64/cowsay/
> >> git-r0/git $ PATCHFILE="isar.patch" git 
> --work-tree=/home/Work/isar/build-
> >> isar/tmp/work/debian-buster-amd64/cowsay/git-r0/git -c user.name="Isar" 
> -c 
> >> user.email="isar.patch@isar" am -3 --keep-cr -p1 
> /home/Work/isar/repo/meta-
> >> isar/recipes-app/cowsay/files/0001-original-patch-isar.patch.patch
> >>> Applying: %% original patch: isar.patch
> >>> Using index info to reconstruct a base tree...
> >>> M debian/patches/series
> >>> Falling back to patching base and 3-way merge...
> >>> No changes -- Patch already applied.
> >>
> >> So, I guess, we need to reformat isar.patch to be sure it can properly 
> work 
> >> when PATCHTOOL="git"
> >>
> > 
> > Ah, great, thanks for debugging! Please send a patch - for the patch.
> > 
>
> Did you send this patch already?
>
> Jan
>
> -- 
> Siemens AG, T RDA IOT
> Corporate Competence Center Embedded Linux
>

[-- Attachment #1.2: Type: text/html, Size: 7662 bytes --]

      reply	other threads:[~2021-08-27  8:39 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-12 11:48 Jan Kiszka
2021-08-12 11:48 ` [PATCH v2 1/4] dpkg-base: Lock do_adjust_git against each other Jan Kiszka
2021-08-13 13:55   ` Henning Schild
2021-08-15 18:55     ` Jan Kiszka
2021-08-26  8:00   ` [PATCH v3 " Jan Kiszka
2021-08-26  8:06     ` Jan Kiszka
2021-08-12 11:48 ` [PATCH v2 2/4] dpkg-base: Make mirror link relative Jan Kiszka
2021-08-13 14:04   ` Henning Schild
2021-08-13 17:49     ` [PATCH] dpkg-base: "unshare" git clones in adjust_git Henning Schild
2021-08-13 20:13       ` [PATCH v2] " Henning Schild
2021-08-13 20:14         ` Henning Schild
2021-08-15 18:55       ` [PATCH] " Jan Kiszka
2021-08-16 11:36         ` Henning Schild
2021-08-16 16:57           ` Jan Kiszka
2021-08-12 11:48 ` [PATCH v2 3/4] Rework do_adjust_git to support inside and outside usage Jan Kiszka
2021-08-12 11:48 ` [PATCH v2 4/4] Revert "dpkg: adjust task order to allow using "git" for patching" Jan Kiszka
2021-08-13  8:31 ` [PATCH v2 0/4] Make adjust_git work in both worlds Uladzimir Bely
2021-08-13 10:13   ` Jan Kiszka
2021-08-13 12:23     ` Uladzimir Bely
2021-08-13 12:28       ` Jan Kiszka
2021-08-13 12:40         ` Uladzimir Bely
2021-08-15 19:02           ` Jan Kiszka
2021-08-16  7:52             ` Uladzimir Bely
2021-08-16  7:55               ` Jan Kiszka
2021-08-16  8:27                 ` Uladzimir Bely
2021-08-16 10:45                   ` Jan Kiszka
2021-08-16 11:01                     ` Jan Kiszka
2021-08-16 11:26                       ` Henning Schild
2021-08-16 12:49                       ` Uladzimir Bely
2021-08-19  6:17                     ` Uladzimir Bely
2021-08-19  6:21                       ` Jan Kiszka
2021-08-26  7:57                         ` Jan Kiszka
2021-08-27  8:39                           ` ub...@ilbers.de [this message]

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=fde51f3e-0af4-4b41-812b-fc15bf693203n@googlegroups.com \
    --to=ubely@ilbers.de \
    --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