Mandrake Linux Archives: cooker@mandrivalinux.org

Mandrake Linux: cooker@mandrivalinux.org


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

  • From: Olivier Thauvin
  • Subject: [Cooker] spec-helper should die !
  • Date: 29 Apr 2005 11:25:16 -0000

In rpm we have a macros which call script to run on %buildroot to clean the 
tree before packing files:
%__os_install_post

Native rpm define this macros as:

%__os_install_post    \
    /usr/lib/rpm/brp-compress \
    /usr/lib/rpm/brp-strip \
    /usr/lib/rpm/brp-strip-static-archive \
    /usr/lib/rpm/brp-strip-comment-note \
%{nil}

For 'mandrake' vendor, native rpm define this macros later in same macros 
files as:

# XXX A copy of brp-mandrake, please. I'd suggest break down by
#     functionality rather than vendor <shrug>.
%__os_install_post    \
    /usr/lib/rpm/brp-mandrake \
%{nil}

You see the rpm author comment this.

So I had a look to /usr/lib/rpm/brp-mandrake. This does exactly the same 
things the first macros (except one script not called because it has been 
never synch).
So I discover /usr/lib/rpm/brp-compress is buggy, it call bzip with the non 
existing -n options

But this script begin by:
# These are the build root policies that Mandrakelinux invokes at the end
# of the %install scriptlet.

if [ -x /usr/share/spec-helper/spec-helper ];then
    /usr/share/spec-helper/spec-helper
else

As spec-helper is hardly require by rpm-build, the macros is misused, somes 
script are obsoletes...

Now looking /usr/share/spec-helper/spec-helper:
It call itself some other script managed by shell variables:

For example:
if test -z "$DONT_TRANSLATE_MENU" -a -d $RPM_BUILD_ROOT/usr/lib/menu; then
    echo "Translating menus:" && translate_menu.pl 
$RPM_BUILD_ROOT/usr/lib/menu/* && echo done
fi

This is clearly not the rpm way of live.

Usually rpm manage what it have to do with macros:

%_clean_menu %{?!_dont_translate_menu:/path/translate_menu.pl %_menudir}
this mean: I run translate menu except if %_dont_translate_menu if defined.

I purpose to reworks spec-helper, merge it into rpm-mandriva-setup and to have 
a rpm standard schema.
This will stop script call over script call, make things easier to debug, and 
at all, allow us to clearly see what is ran by using rpm --showrc.

Currently there is no easy ways to say what we want spec-helper do, and it is 
completly undocummented.

WDYT ?


Attachment: pgp00226.pgp
Description: PGP signature



Date Index | Thread Index

Search the archive:



To (un)subscribe from/to the lists:

Sympa mailing lists server.





Fund the Mandriva Linux project

Looking for a job?