public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Henning Schild <henning.schild@siemens.com>
To: "[ext] Jan Kiszka" <jan.kiszka@siemens.com>
Cc: "jlacvdr L." <jlacvdr@gmail.com>,
	isar-users <isar-users@googlegroups.com>
Subject: Re: cannot patch upstream debian package
Date: Thu, 20 Feb 2020 11:34:31 +0100	[thread overview]
Message-ID: <20200220113431.105f09bc@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <48c33b74-e85c-b6cd-81e1-e35aaa8c5625@siemens.com>

Am Wed, 19 Feb 2020 17:21:00 +0100
schrieb "[ext] Jan Kiszka" <jan.kiszka@siemens.com>:

> On 19.02.20 17:10, jlacvdr L. wrote:
> > 
> > Hi,
> > 
> > I'm trying apply patch to an upstream debian package
> > 
> > recipe looks like:
> > 
> >     inherit dpkg
> > 
> >     SRC_URI = "apt://${PN} \
> >     file://files/mypatch.patch \
> >     "
> > 
> > 
> > during  do_dpkg_build, I've got the error:
> > 
> >       dpkg-source -I --before-build nano-2.9.3
> >     dpkg-buildpackage: info: host architecture amd64
> >       fakeroot debian/rules clean
> >     dh clean --parallel
> >         dh_clean -O--parallel
> >       dpkg-source -I -b nano-2.9.3
> >     dpkg-source: info: using source format '3.0 (quilt)'
> >     dpkg-source: info: building nano using existing
> >     ./nano_2.9.3.orig.tar.bz2
> >     dpkg-source: info: local changes detected, the modified files
> > are: nano-2.9.3/.applied_patches/.patch-commands
> >       nano-2.9.3/.applied_patches/files/mypatch.patch
> >       nano-2.9.3/src/utils.c
> >     dpkg-source: error: aborting due to unexpected upstream
> > changes, see /tmp/nano_2.9.3-1.diff.rSd68A
> >     dpkg-source: info: you can integrate the local changes with
> >     dpkg-source --commit
> >     dpkg-buildpackage: error: dpkg-source -I -b nano-2.9.3
> > subprocess returned exit status 2
> >     WARNING: exit code 2 from a shell command.
> > 
> > 
> > 
> > How fix it ?
> > Can you confirm that patching an upstream package is supported ?
> >   
> 
> Yes. The trick (which we should probably share via meta-isar) is to
> do this:

Good idea. But debian packages use different patching mechanisms. This
is the solution for quilt-based patching.

A more generic approach would be to "convert" your patches to patch the
debian stuff as well.

So you take the original debinanized source-tree ... apply your patch
... do the quilt or whatever changes to make debian happy .. now diff
the original with the patched and you get a patch that covers debian/
as well and will work without a patch-specific prepare function.

Henning

> ...
> SRC_URI += "file://my.patch;apply=no"
> 
> CHANGELOG_V = "${PV}+patch1"
> 
> do_prepare_build() {
>      deb_add_changelog
> 
>      cd ${S}
>      quilt import ${WORKDIR}/*.patch
>      quilt push -a
> }
> 
> Jan
> 


  reply	other threads:[~2020-02-20 10:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-19 16:10 jlacvdr L.
2020-02-19 16:21 ` Jan Kiszka
2020-02-20 10:34   ` Henning Schild [this message]
2020-02-19 16:30 ` jlacvdr L.

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=20200220113431.105f09bc@md1za8fc.ad001.siemens.net \
    --to=henning.schild@siemens.com \
    --cc=isar-users@googlegroups.com \
    --cc=jan.kiszka@siemens.com \
    --cc=jlacvdr@gmail.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