Re: Making RPMS



On Tue, 2004-03-02 at 08:34, Sean Dague wrote:
Can you provide some pointers to "mach"?  I'm curious about it now, and all
my google hits keep pulling up stuff on the mach kernel.

the search terms i use to get it on google are "mach gstreamer" as the
site is shared between them. that leads you here:
http://thomas.apestaart.org/projects/mach/

it's not with out it's issues, but it's a hell of a lot better than any
of the alternatives i've explored. the rpm build process is broken in
rh9/fd1 because of the way the debuginfo stuff works. i submitted a
patch against rpm that was accepted and fixes the problems. bascially
things are built with debugging symbols which are then stripped and
placed into the debuginfo package, but since perl modules are installed
readonly the stripping fails and the resulting rpms are huge and the
debuginfo stuff is broken. to fix the problem i had edit the
find-debuginfo.sh scripts in my mach roots to test if the file it's
trying to strip is ro, if it is make it temporarliy rw. do our business
and the go back to ro. code similar to:

        if test -w "$f"; then
                eu-strip -f $OUTPUTDIR/`basename $f`.debug $f || :
        else
                chmod u+w "$f"
                eu-strip -f $OUTPUTDIR/`basename $f`.debug $f || :
                chmod u-w "$f"
        fi

another similar issue has to do with some problems with the older
versions of ExtUtils::ParseXS, for which i've submitted and had accepted
patches. to fix that i go to CPAN and put the newest ParseXS into each
root, and then chroot into those roots, build and install the new
ParseXS. 

neither of these two fixes affect (negatively) anything that matters
about the rpms built. and the make everything that needs to work, work.
the second one may only be of concern to you if you're building
Gtk2-Perl modules as it only happens when xs files are not in the same
directory as Makefile.PL.

a really simple thing it took me a min to figure out was how to build
for dists other than the default, you use a command line like:

        mach -r rh90 build some_srpm.rpm

other than that the mach developer seemed to be pretty helpful when i
had questions. check the mach mailing list for those.

-rm





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