Bug 1481025
Summary: | Macro argument quoting in rpm 4.14 breaks things (octave, java...) | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Orion Poplawski <orion> |
Component: | rpm | Assignee: | Packaging Maintenance Team <packaging-team-maint> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 27 | CC: | cbm, ignatenko, kardos.lubos, mjw, msimacek, packaging-team-maint, paul, pmatilai, vmukhame, vondruch |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | rpm-4.13.90-0.git14002.3.fc27 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-09-07 11:27:06 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Orion Poplawski
2017-08-13 15:23:21 UTC
Yup. The problem is the new macro argument quoting support, which cannot be turned off or escaped otherwise. After sleeping over this, starting to remember various other macro constructs that are going to be affected... and as if on cue, in comes bug 1481133. It's fairly clear that the behavior is just too incompatible with widely used macros, it needs a different syntax or some kind of opt-in behavior. *** Bug 1481133 has been marked as a duplicate of this bug. *** Macro argument quoting is now disabled in rpm >= 4.13.90-0.git14002.3.fc27. Back to the drawing board upstream (https://github.com/rpm-software-management/rpm/issues/222) I guess the rubygem-sdoc build failure [1] is of the same nature, so probably other rubygem- packages are broken now as well ... [1] https://apps.fedoraproject.org/koschei/package/rubygem-sdoc?collection=f27 And svnmailer, where it doesn't like: %py2_install "--install-data=%{_datadir}" https://apps.fedoraproject.org/koschei/package/svnmailer?collection=f27 This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle. Changing version to '27'. To summarize, the single/double quoting support of macro arguments was reverted as it simply broke too much stuff. Rpm 4.14.0 rc1 and newer support an alternative way of quoting macro arguments: a new special-purpose %{quote:...} macro, which allows passing empty arguments and arguments with spaces as single arguments. For example, with the following parametric macro definition: %args() echo argc %#: %{?1:"%1"} %{?2:"%2"} [pmatilai@sopuli ~]$ rpm --eval "%args %{nil}" argc 0: [pmatilai@sopuli ~]$ rpm --eval "%args %{quote:%{nil}}" argc 1: "" [pmatilai@sopuli ~]$ rpm --eval "%args some text" argc 2: "some" "text" [pmatilai@sopuli ~]$ rpm --eval "%args %{quote:some text}" argc 1: "some text" |