Discussion:
Files-Excluded with DEP-14
Add Reply
Joachim Zobel
2024-10-15 07:10:01 UTC
Reply
Permalink
Hi.

DEP-14 states under "About repacked upstream sources" that files that
are removed from repacked sources should not be in the upstream
branches.

This does however create modify/delete conflicts when upstream modifies
the removed files. Is there a smart way to handle this?

Sincerely,
Joachim
Otto Kekäläinen
2024-10-15 07:20:01 UTC
Reply
Permalink
Hi!
Post by Joachim Zobel
Hi.
DEP-14 states under "About repacked upstream sources" that files that
are removed from repacked sources should not be in the upstream
branches.
This does however create modify/delete conflicts when upstream modifies
the removed files. Is there a smart way to handle this?
Can you be specific on what conflicts you are getting? What package,
what operation?

I suspect you have something wrong with the branch structure, perhaps
you are trying to remove files in actual upstream branch and not the
"upstream import" branch that has only one-way changes.
Alastair McKinstry
2024-10-15 08:00:01 UTC
Reply
Permalink
Post by Otto Kekäläinen
Hi!
Post by Joachim Zobel
Hi.
DEP-14 states under "About repacked upstream sources" that files that
are removed from repacked sources should not be in the upstream
branches.
This does however create modify/delete conflicts when upstream modifies
the removed files. Is there a smart way to handle this?
Can you be specific on what conflicts you are getting? What package,
what operation?
I suspect you have something wrong with the branch structure, perhaps
you are trying to remove files in actual upstream branch and not the
"upstream import" branch that has only one-way changes.
One useful operation is additional sources. I have one package that
upstream downloads additional git repos as dependencies. Capturing the
tarball (I have a patch to disable git actions) and _how_ additional
sources were added would be useful.
--
Alastair McKinstry,
GPG: 82383CE9165B347C787081A2CBE6BB4E5D9AD3A5
e: ***@mckinstry.ie, im: @alastair:mckinstry.ie @***@mastodon.ie

Commander Vimes didn’t like the phrase “The innocent have nothing to fear,”
believing the innocent had everything to fear, mostly from the guilty but in the longer term
even more from those who say things like “The innocent have nothing to fear.”
- T. Pratchett, Snuff
Joachim Zobel
2024-10-15 12:50:01 UTC
Reply
Permalink
Post by Otto Kekäläinen
I suspect you have something wrong with the branch structure, perhaps
you are trying to remove files in actual upstream branch and not the
"upstream import" branch that has only one-way changes.
The repository has an upstream branch and a debian branch. The upstream
branch is pulled via git from upstream.

Sinerely,
Joachim

This is about https://salsa.debian.org/debian-iot-team/mosquitto

(Send to list separately because I forgot to cc)
Andrey Rakhmatullin
2024-10-15 13:30:02 UTC
Reply
Permalink
Post by Joachim Zobel
Post by Otto Kekäläinen
I suspect you have something wrong with the branch structure, perhaps
you are trying to remove files in actual upstream branch and not the
"upstream import" branch that has only one-way changes.
The repository has an upstream branch and a debian branch. The upstream
branch is pulled via git from upstream.
I don't see a sane way to continue using this workflow but repack the
orig.tar.
--
WBR, wRAR
Joachim Zobel
2024-10-15 16:40:01 UTC
Reply
Permalink
Post by Andrey Rakhmatullin
I don't see a sane way to continue using this workflow but repack the
orig.tar.
Thanks, this means that for us there is no easy way to remove files.
Luckily there is no very important reason (copyright) for that. So we
simply won't remove them.

Thanks,
Joachim
--
Papier ist gebundenes CO2. Bitte drucken Sie diese EMail aus und
archivieren Sie sie.
Otto Kekäläinen
2024-10-16 02:40:01 UTC
Reply
Permalink
Hi!
Post by Joachim Zobel
Post by Otto Kekäläinen
I suspect you have something wrong with the branch structure, perhaps
you are trying to remove files in actual upstream branch and not the
"upstream import" branch that has only one-way changes.
The repository has an upstream branch and a debian branch. The upstream
branch is pulled via git from upstream.
Sinerely,
Joachim
This is about https://salsa.debian.org/debian-iot-team/mosquitto
I can see https://salsa.debian.org/debian-iot-team/mosquitto/-/blob/debian/master/debian/gbp.conf
that has:

[DEFAULT]
debian-branch=debian/master
upstream-branch=master
filter=*/.git
upstream-tag=v%(version)s

There is no README.source so I am not sure how you do the import, but
based on https://salsa.debian.org/debian-iot-team/mosquitto/-/commit/5d08142299dc7a7db79883a2fcdc615eb326817c
you merged branch 'master' directly on 'debian/master'.

If you need to repack, you should have a spearate branch
'upstream/latest' as the targets for merges from upstream tags, and
then from 'upstream/latest' you merge on 'debian/master' (which
following DEP-14 should be 'debian/latest' btw).

[DEFAULT]
debian-branch = debian/latest
upstream-branch = upstream/latest
upstream-tag = upstream/%(version)s
upstream-vcs-tag = v%(version%~%.)s

Note that the upstream-branch and upstream-tag refers to things
created by Debian to reference the incoming upstream stuff. Only the
upstream-vcs-tag should point to something that actually already
exists in the upstream repository
https://github.com/eclipse/mosquitto/ you are pulling from. To make it
more clear, perhaps git-buildpackage should rename these to
import-branch and import-tag so people won't use
upstream-branch=master like you did, as it isn't supposed to mean the
actual upstream master branch, only the branch used for the package in
Debian.

Note: I didn't test this setup, I am just writing about what I assume
the setup should be, but it should still be tested to validate it
works in your use case.
Andrey Rakhmatullin
2024-10-16 06:40:01 UTC
Reply
Permalink
Post by Otto Kekäläinen
If you need to repack, you should have a spearate branch
'upstream/latest' as the targets for merges from upstream tags, and
then from 'upstream/latest' you merge on 'debian/master' (which
following DEP-14 should be 'debian/latest' btw).
And if upstream/latest has a file removed while master has that file
modified, there will be a conflict.
Post by Otto Kekäläinen
Note that the upstream-branch and upstream-tag refers to things
created by Debian to reference the incoming upstream stuff. Only the
upstream-vcs-tag should point to something that actually already
exists in the upstream repository
https://github.com/eclipse/mosquitto/ you are pulling from. To make it
more clear, perhaps git-buildpackage should rename these to
import-branch and import-tag so people won't use
upstream-branch=master like you did, as it isn't supposed to mean the
actual upstream master branch, only the branch used for the package in
Debian.
Using the upstream tags directly is officially supported:
https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.upstream-git.html#gbp.import.upstream.git.notarball
--
WBR, wRAR
Sean Whitton
2024-10-25 14:10:01 UTC
Reply
Permalink
Hello,
Post by Joachim Zobel
Hi.
DEP-14 states under "About repacked upstream sources" that files that
are removed from repacked sources should not be in the upstream
branches.
This does however create modify/delete conflicts when upstream modifies
the removed files. Is there a smart way to handle this?
There are some notes on a few ways to do this in dgit-maint-merge(7) and
dgit-maint-debrebase(7).
--
Sean Whitton
Loading...