rpm.macros broken

Elan Ruusamäe glen at delfi.ee
Thu May 19 10:51:56 CEST 2005


On Thursday 19 May 2005 11:25, Fryderyk Dziarmagowski wrote:
> [fritz at smeagol RPMS]$ rpm -qp glabels-2.0.2-3.i686.rpm --scripts output
works here.

$ rpm -qpi /tmp/glabels-2.0.2-3.i686.rpm
Name        : glabels                      Relocations: (not relocatable)
Version     : 2.0.2                             Vendor: PLD
Release     : 3                             Build Date: Sat May 14 23:34:36 2005
Install Date: (not installed)               Build Host: i686.ac.pld-linux.org


$ sudo rpm -Uhv /tmp/glabels-2.0.2-3.i686.rpm --nodeps
Preparing...                ########################################### [100%]
   1:glabels                ########################################### [100%]
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
Thu May 19 11:45:14 EEST 2005
$ sudo rpm -e glabels -vv
[...]
D:     erase: %postun(glabels-2.0.2-3) asynchronous scriptlet start
D:     erase: %postun(glabels-2.0.2-3)  execv(/bin/sh) pid 29759
+ [ 0 = 0 ]
+ /usr/bin/scrollkeeper-update -q
+ [ 0 = 0 ]
+ umask 022
+ /usr/bin/update-desktop-database
Thu May 19 11:45:37 EEST 2005
D:     erase: waitpid(29759) rc 29759 status 0 secs 0.036
D:   --- h#    3388 glabels-2.0.2-3
[...]


> postuninstall scriptlet (using /bin/sh):
>
> if [ $1 = 0 ]; then
>         /usr/bin/scrollkeeper-update -q;
> fi
>
> {\
the problem is here
the one that doesn't have space between { and \ is broken
but my rpm has one with space

$ rpm -E '%update_desktop_database_postun'
{ \
if [ $1 = 0 ]; then \
        umask 022; \
        /usr/bin/update-desktop-database; \
fi; \
}
$ rpm -q rpm
rpm-4.3-0.20040107.60
$ rpm -q rpm-build --provides|grep mac
rpmbuild(macros) = 1.213


> if [ $1 = 0 ]; then \
>         umask 022; \
>         /usr/bin/update-desktop-database; \
> fi \
> }
>
> and old beheviour was:
> postinstall scriptlet (using /bin/sh):
>
>         umask 022;
>         /usr/bin/update-desktop-database;
> postuninstall scriptlet (using /bin/sh):
>
> if [ $1 = 0 ]; then
>         umask 022;
>         /usr/bin/update-desktop-database;
> fi
>
> > tested here and worked!
>
> really? it's propably hard to test it without /usr/bin/update-desktop-
> database (?)
>
> > > please revert or fix your improvements.
> >
> > i can't if you refuse  to give more info.
> > and what package contains /usr/bin/update-desktop-database?
> >
> > $ poldek -u @/usr/bin/update-desktop-database
> > error: virtual '/usr/bin/update-desktop-database' not found
>
> [fritz at smeagol RPMS]$ rpm -qf /usr/bin/update-desktop-database
> desktop-file-utils-0.10-1

-- 
glen



More information about the pld-devel-en mailing list