rpm-4.6 and brp-python-bytecompile?

Carl D. Roth roth at ursus.net
Tue Apr 28 05:56:37 UTC 2009


I noticed this wierdness with rpm-4.6 (f10) and rpm-4.7 (f11)...  When I 
build packages including Python scripts, sometimes the .pyc and .pyo 
files are included in the package manifest, and sometimes, they are not.

The script that does the .pyc and .pyo generation is 'brp-python-
bytecompile', part of the '%__os_install_post' macro.  Here are the 
various (inconsistent) results I get on different systems:

F9:

$ rpm --eval '%__os_install_post'

    /usr/lib/rpm/redhat/brp-compress
    /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
    /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
    /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/
objdump
    /usr/lib/rpm/brp-python-bytecompile
    /usr/lib/rpm/redhat/brp-python-hardlink
    /usr/lib/rpm/redhat/brp-java-repack-jars

F10 (x86_64):

$ rpm --eval '%__os_install_post'

    /usr/lib/rpm/redhat/brp-compress 
    /usr/lib/rpm/redhat/brp-strip /usr/bin/strip 
    /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip 
    /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/
objdump 
    /usr/lib/rpm/brp-python-bytecompile 
    /usr/lib/rpm/redhat/brp-python-hardlink 
    /usr/lib/rpm/redhat/brp-java-repack-jars 

F10 (i386):

    /usr/lib/rpm/brp-compress
    /usr/lib/rpm/brp-strip
    /usr/lib/rpm/brp-strip-static-archive
    /usr/lib/rpm/brp-strip-comment-note

F10 (i386) -- in an i386 mock chroot:

    /usr/lib/rpm/redhat/brp-compress
    /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
    /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
    /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/
objdump
    /usr/lib/rpm/brp-python-bytecompile
    /usr/lib/rpm/redhat/brp-python-hardlink
    /usr/lib/rpm/redhat/brp-java-repack-jars

F11 (i386):

    /usr/lib/rpm/brp-compress
    /usr/lib/rpm/brp-strip
    /usr/lib/rpm/brp-strip-static-archive
    /usr/lib/rpm/brp-strip-comment-note

F11 (i386) -- in an i386 mock chroot

    /usr/lib/rpm/redhat/brp-compress
    /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
    /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
    /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/
objdump
    /usr/lib/rpm/brp-python-bytecompile
    /usr/lib/rpm/redhat/brp-python-hardlink
    /usr/lib/rpm/redhat/brp-java-repack-jars

Why does the %__os_install_post macro vary in these examples?  It's a 
little frustrating, since a spec file that works outside of a mock chroot 
may not work inside, and vice-versa.

C




More information about the fedora-devel-list mailing list