On 3/29/23 18:58, Todd Zullinger wrote:
Florian Festi wrote:
On 3/29/23 10:31, Michael J Gruber wrote:
Has `%patchN` been deprecated in favour of `%patch N`?
Yes, see %patch section on
https://rpm-software-management.github.io/rpm/manual/spec.html
Quoting that:
%patch is used to apply patches on top of the just unpacked
pristine sources. Historically it supported multiple strange
syntaxes and buggy behaviors, which are no longer
maintained. To apply patch number 1, the following are
recognized:
%patch 1 (since rpm >= 4.18)
%patch -P1 (all rpm versions)
%patch1 (deprecated, do not use)
For new packages, the positional argument form 1) is
preferred. For maximal compatibility use 2). Both forms can
be used to apply several patches at once, in the order they
appear on the line. The third form where the number is a
part of the directive is deprecated and should not be used
anymore.
Which gets to Michael's question "which releases can take
it?"
Changing `%patch1` to `%patch 1` limits support to Fedora 37
and above, unless this has been backported to older Fedora
and/or RHEL rpm? Until it's supported by all current Fedora
and RHEL releases, it's not a change I'd want in the
packages I maintain. I'd have to go with `%patch -P1`
(anywhere that %autosetup / %autopatch wasn't used).
If you need compatibility, use -PN. That's not going away.
The reason for deprecating %patchN is that it's a mind-bogglingly bad
syntax for what it does, and prevents making %prep like any other
section in the spec (don't ask, you don't want to know). Positional
arguments is the natural way to pass data to a command that requires one
or more pieces of data to do anything, but at least -PN is not *harmful*.
Note that this all only goes for the "%patchN" pseudo-macro, "PatchN"
*declarations* are not deprecated and wont be going anywhere. There
seemed to be some confusion about this earlier in this thread.
- Panu -
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue