Hello everybody,

I am glad to see the documentation of Files-Excluded moving forward.

In 2012 (#685506#10) I recommeded to wait and in 2013 (#685506#55) I
wrote in a reply to Andreas:

This field was not my favorite solution to the problem, but experience
showed that your solution was implemented, used, and unchallenged.

13 years later, no alternative has emerged.  Moreover, Andreas made the
important point that it is relevant to document in `debian/copyright`
which files are removed from the upstream sources that we point to in
the same file.

In addition, `uscan` has a `--copyright` argument to use a custom
location for the `debian/copyright` file and developers who do not wish
to use the machine-readable copyright format can write their own package
update scripts that take advantage of this option.  In the context of
creating new packages I have used `uscan` with a short machine-readable
copyright file header stub without `Files` paragraphs, and it works
well.  Thus, there is no obligation to use the machine-readable format
to document the package copyright in order to be able to use `uscan`'s
facility for removing files from tarballs.

I have read the whole #685506, #1000771 and #1131015 again today, and my
main recommendation would be to also credit Joe Nahmias for their patch
in #685506#197, which is not directly here used but primed some of the
stakeholders here for their review of the current patch.

I have read the plain text rendering of 1131015#75 as well as uscan(1),
https://wiki.debian.org/UscanEnhancements; altogether this matches my
understanding and the experience I have with the tool, with the caveat
that I never used the Files-Excluded-<component> syntax.

Finally, in addition to be used by `uscan` and `mk-origtargz`, the
`Files-Excluded` is also recognised by multiple tools such as `cme` and
`lintian` for instance.  I do not think it needs to be documented but I
mention it to illustrate how the field has spread in our ecosystem in
the past 14 years or so.

Based on Simon's patch, and following Osamu's recommendation in
#1000771#15 to keep things short, and Bill's concerns about tying
maintainer tools to a particular format of the `debian/copyright` file,
I would like to propose the following modified text.

----------------------------------------------------------------
Whitespace‑separated filename patterns, as in the Files field, used to
indicate which parts of the upstream source specified in the Source
field will not be included in the Debian source package. Files‑Excluded
lists patterns for files or directories to omit. Files‑Included lists
patterns for files that should not be omitted even if they match a
Files‑Excluded rule. For multi‑orig.tar sources, Files‑Excluded‑COMPONENT
and Files‑Included‑COMPONENT apply the same logic but only to the
specified orig.tar component. These fields may also be used by
maintainer tools to perform the exclusions, but such tools should not
require the machine-readable debian/copyright file format for correct
operation.
----------------------------------------------------------------

Have a nice day,

Charles

--
Charles Plessy                         Nagahama, Yomitan, Okinawa, Japan
Debian Med packaging team         http://www.debian.org/devel/debian-med
Tooting from work,               https://fediscience.org/@charles_plessy
Tooting from home,                 https://framapiaf.org/@charles_plessy

Reply via email to