Bug 197281 - unescaped RPM macros place excessive garbage text and misleading info into changelog
Summary: unescaped RPM macros place excessive garbage text and misleading info into ch...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-server
Version: 5
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: X/OpenGL Maintenance List
QA Contact:
URL:
Whiteboard:
: 197283 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-06-29 20:53 UTC by Moritz Barsnick
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-06-30 09:24:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Moritz Barsnick 2006-06-29 20:53:15 UTC
Description of problem:
In the SPEC file, there are unescaped RPM macros, presumably "%version" and 
"%makeinstall". These are unfortunately expanded in the changelog (rpm -qp --
changelog $file.rpm), and are a bit annoying or misleading

Version-Release number of selected component (if applicable):
1.0.1-9.FC5.4

How reproducible:
Always

Steps to Reproduce:
1. rpm -qp --changelog xorg-x11-server-Xorg-1.0.1-9.FC5.4.i386.rpm

Actual results:
a)
* Thu Dec 22 2005 Mike A. Harris <mharris> 1.0.0-3
- Added "Provides: libxf86config-devel = 1.0.1-9.FC5.4" to sdk package.

b)
* Wed Aug 31 2005 Kristian Hogsberg <krh> 0.99.1-2.cvs20050830
- Go back to %spec -n, use new cvs snapshot that supports overriding
  moduledir during make install, use
  /usr/bin/make \
        prefix=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr \
        exec_prefix=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr 
\
        bindir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/bin 
\        sbindir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/
sbin \
        sysconfdir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/etc 
\        datadir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/
share \
        includedir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/
include \
        libdir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/lib 
\        libexecdir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/
libexec \
        localstatedir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/
var \
        sharedstatedir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/
usr/com \
        mandir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/
share/man \
        infodir=/var/tmp/xorg-x11-server-1.0.1-9.FC5.4-root-brewbuilder/usr/
share/info \
  install.

Expected results:
a)
* Thu Dec 22 2005 Mike A. Harris <mharris> 1.0.0-3
- Added "Provides: libxf86config-devel = %version" to sdk package.

b)
* Wed Aug 31 2005 Kristian Hogsberg <krh> 0.99.1-2.cvs20050830
- Go back to %spec -n, use new cvs snapshot that supports overriding
  moduledir during make install, use %makeinstall.

Additional info:
These changelog entries change with every new build of the package. That's 
basically wrong in case a).

Case b) is just ... amusing? Annoying? Long?

Please always do % -> %% in the changelog section.

*****
BTW:

Preparing packages for installation...
        package xorg-x11-server-Xorg-1.0.1-9.fc5.1.1 (which is newer than xorg-
x11-server-Xorg-1.0.1-9.FC5.4) is already installed

Darn! You capitalized a relevant letter in the %{version} without bumping the 
epoch! ;-) Shall I file this against the component "rpm"? (Does it have any 
side effects on yum? I coincidentally selected to download the Update RPMs this 
time, and didn't use yum.)

Comment 1 Moritz Barsnick 2006-06-29 21:04:08 UTC
*** Bug 197283 has been marked as a duplicate of this bug. ***

Comment 2 Mike A. Harris 2006-06-30 09:24:58 UTC
These are of course inadvertent errors.  Since macro preprocessing happens
before anything else, rpm expands all macros everywhere without knowing
or caring what section of the spec file they're in.

Unfortunately us humans are used to brain-parsing the spec file in
sections, and the changelog is a text section.  ;o) 

Since to err is human, occasionally a spec file macro gets used in the
%changelog or %description sections or elsewhere that is inappropriate.  ;oP

I've fixed the problems in the X server spec file in CVS now, and have
sent a short email note to our internal development mailing lists to
remind everyone (including myself) of this common glitch.

Thanks for the report.  I'm releasing a new update to fix this issue.


Comment 3 Moritz Barsnick 2006-07-04 15:44:57 UTC
Thanks, resolution accepted. ;-)

BTW, my "BTW" remark in comment #0 regarding the "newer than" problem was 
reported separately in bug #197266 and of course also properly fixed. If you 
can point me to where these packaging guidelines are documented, I'll submit an 
RFE for rpmlint. :-) (I know I have some other packaging stuff--common gripes 
of mine--which might be "nice to have" guidelines.)



Note You need to log in before you can comment on or make changes to this bug.