| Summary: | option -D does not work for --define | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Nate Straz <nstraz> |
| Component: | rpm | Assignee: | Panu Matilainen <pmatilai> |
| Status: | CLOSED ERRATA | QA Contact: | Patrik Kis <pkis> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 6.2 | CC: | ddumas, pkis, pknirsch |
| Target Milestone: | rc | Keywords: | Regression |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | rpm-4.8.0-20.el6 | Doc Type: | Bug Fix |
| Doc Text: |
Previously, the -D shortcut option for --define was incorrectly taken as a shortcut for --predefine, which would lead to incorrect macro evaluation when attempting to override macros from system configuration. The -D shortcut option now equals --define as intended and documented.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-06-20 14:23:24 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
Yup, for a long long time -D has been erronously been alias for --predefine instead of --define. The difference matters when trying to override macros that are defined in the macro configuration files, like dist is. This was patched in rhel-4 back in the day (bug 166311) but has been broken in rhel-5 and rhel-6 throughout their lifetimes. Anyway, the fix is trivial: http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=3d657d5cc22652c71bc15a56b6b4462e228526d6
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Previously, the -D shortcut option for --define was incorrectly taken as a shortcut for --predefine, which would lead to incorrect macro evaluation when attempting to override macros from system configuration. The -D shortcut option now equals --define as intended and documented.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-0909.html |
Description of problem: The -D option does not work while --define does. $ rpm --help | grep define -D, --define='MACRO EXPR' define MACRO with value EXPR $ rpm --eval "%{dist}" .el6 $ rpm -D "dist foo" --eval "%{dist}" .el6 $ rpm --define "dist foo" --eval "%{dist}" foo Version-Release number of selected component (if applicable): rpm-4.8.0-19.el6.x86_64 How reproducible: Every time Steps to Reproduce: See steps above Actual results: -D does not change defines Expected results: -D should work the same as --define. Additional info: