public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: Uladzimir Bely <ubely@ilbers.de>,
	Anton Mikanovich <amikan@ilbers.de>,
	isar-users@googlegroups.com
Subject: Re: [PATCH] Allow disabling source packages cleanup
Date: Thu, 12 Oct 2023 20:03:15 +0200	[thread overview]
Message-ID: <24113fd4-3a4a-45ac-a63f-997d6d159181@siemens.com> (raw)
In-Reply-To: <c5c8d4d83838d991d04a70fdab4fe04d16875c62.camel@ilbers.de>

On 12.10.23 17:57, Uladzimir Bely wrote:
> On Thu, 2023-10-12 at 17:21 +0200, 'Jan Kiszka' via isar-users wrote:
>> On 12.10.23 17:01, Anton Mikanovich wrote:
>>> To allow building source packages containing binary or CVS files
>>> introduce DPKG_SOURCE_EXTRA_ARGS variable can be set per recipe.
>>>
>>> Signed-off-by: Anton Mikanovich <amikan@ilbers.de>
>>> ---
>>>  RECIPE-API-CHANGELOG.md          | 15 +++++++++++++++
>>>  meta/classes/dpkg-source.bbclass |  4 +++-
>>>  2 files changed, 18 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
>>> index 7d463473..b1699be6 100644
>>> --- a/RECIPE-API-CHANGELOG.md
>>> +++ b/RECIPE-API-CHANGELOG.md
>>> @@ -539,3 +539,18 @@ some cases dpkg_runbuild:prepend should be
>>> replaced by do_dpkg_source:prepend.
>>>  We need local copy of isar-apt to have build dependencies
>>> reachable. Now is
>>>  prepared in separate task: do_local_isarapt.
>>>  This task depends of do_deploy_deb of all build dependency
>>> recipes.
>>> +
>>> +### Skipping source package cleanup
>>> +
>>> +By default Isar filter out control files and directories of the
>>> most common
>>> +revision control systems, backup and swap files and Libtool build
>>> output
>>> +directories from the source package.
>>> +Now this can be overriden by setting DPKG_SOURCE_EXTRA_ARGS value
>>> in recipe.
>>> +
>>> +Default value is '-I' which sets filter to:
>>> +
>>> +*.a -I*.la -I*.o -I*.so -I.*.sw? -I*/*~ -I,,* -I.[#~]* -I.arch-ids
>>> +-I.arch-inventory -I.be -I.bzr -I.bzr.backup -I.bzr.tags -
>>> I.bzrignore
>>> +-I.cvsignore -I.deps -I.git -I.gitattributes -I.gitignore -
>>> I.gitmodules
>>> +-I.gitreview -I.hg -I.hgignore -I.hgsigs -I.hgtags -I.mailmap -
>>> I.mtn-ignore
>>> +-I.shelf -I.svn -ICVS -IDEADJOE -IRCS -I_MTN -I_darcs -I{arch}
>>
>> Where is dpkg-source documenting this list? Or does it come from
>> somewhere else?
>>
> 
> This is from "dpkg-source --help".
> 
>> I'm also asking because could be useful to reduce it by certain
>> patterns
>> (or maybe even files) so that you can still benefit from filtering,
>> say,
>> version control stuff while keeping other needed files (in our case
>> some
>> *.a files).
>>
>>> diff --git a/meta/classes/dpkg-source.bbclass b/meta/classes/dpkg-
>>> source.bbclass
>>> index 1f4f8164..7e3868f6 100644
>>> --- a/meta/classes/dpkg-source.bbclass
>>> +++ b/meta/classes/dpkg-source.bbclass
>>> @@ -5,6 +5,8 @@
>>>  
>>>  inherit dpkg-base
>>>  
>>> +DPKG_SOURCE_EXTRA_ARGS ?= "-I"
>>> +
>>>  do_dpkg_source() {
>>>      # Create a .dsc file from source directory to use it with
>>> sbuild
>>>      DEB_SOURCE_NAME=$(dpkg-parsechangelog --show-field Source --
>>> file ${WORKDIR}/${PPS}/debian/changelog)
>>> @@ -12,7 +14,7 @@ do_dpkg_source() {
>>>      if [ ! -z "${SOURCE_DATE_EPOCH}" ]; then
>>>          export SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH}"
>>>      fi
>>> -    sh -c "cd ${WORKDIR}; dpkg-source -I -b ${PPS}"
>>> +    sh -c "cd ${WORKDIR}; dpkg-source ${DPKG_SOURCE_EXTRA_ARGS} -b
>>> ${PPS}"
>>>  }
>>>  addtask dpkg_source after do_prepare_build before do_dpkg_build
>>>  
>>
>> This would mitigate the current issue as well, but I'd be careful to
>> not
>> hurry with introducing a half-baked interface until we have thought
>> through some use cases.
>>

I've checked if there could be other, better, options forcing us to
change this again, but it seems this is the only reasonable way forward.
So I'm adding my

Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>

and I'm looking forward to picking this up from the tree to deviate with
DPKG_SOURCE_EXTRA_ARGS in our recipe. Let's hope we were widely alone
with this issue...

Jan

-- 
Siemens AG, Technology
Linux Expert Center


  reply	other threads:[~2023-10-12 18:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-12 15:01 Anton Mikanovich
2023-10-12 15:21 ` Jan Kiszka
2023-10-12 15:57   ` Uladzimir Bely
2023-10-12 18:03     ` Jan Kiszka [this message]
2023-10-16  9:39 ` Uladzimir Bely

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=24113fd4-3a4a-45ac-a63f-997d6d159181@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=amikan@ilbers.de \
    --cc=isar-users@googlegroups.com \
    --cc=ubely@ilbers.de \
    /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