Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 740078 - app-arch/rpm - rpmbuild error: Macro %__python has empty body
Summary: app-arch/rpm - rpmbuild error: Macro %__python has empty body
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Tony Vroon (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-02 11:50 UTC by Mario Klebsch
Modified: 2020-10-01 11:18 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mario Klebsch 2020-09-02 11:50:25 UTC
After the update to app-arch/rpm-4.14.2.1-r1, rpmbuild prints the following message several times:

> error: Macro %__python has empty body

the rpm executable is printing the same message:

> # rpm -q '*.rpm'
> error: Macro %__python has empty body
> #


The cause seems to be the following line in rpm-4.14.2.1-r1.ebuild:
> sed -i "s:@__PYTHON@:${PYTHON}:" macros.in || die "Fixing %__python failed"

It produces the following line in macros.in:

> # grep ^%__python /usr/libexec/rpm/macros
> %__python
> #

macros.in is the source of macros, which gets installed as  /usr/libexec/rpm/macros.

The sed statement was introduced as a bug fix for ticket #492642.

How to reproduce (for me):

> # ebuild /usr/portage/app-arch/rpm/rpm-4.14.2.1-r1.ebuild prepare
>  * rpm-4.14.2.1.tar.bz2 BLAKE2B SHA512 size ;-) ...                                                                                       [ ok ]
>  * checking ebuild checksums ;-) ...                                                                                                      [ ok ]
>  * checking auxfile checksums ;-) ...                                                                                                     [ ok ]
>  * checking miscfile checksums ;-) ...                                                                                                    [ ok ]
> >>> Unpacking source...
> >>> Unpacking rpm-4.14.2.1.tar.bz2 to /var/tmp/portage/app-arch/rpm-4.14.2.1-r1/work
> >>> Source unpacked in /var/tmp/portage/app-arch/rpm-4.14.2.1-r1/work
> >>> Preparing source in /var/tmp/portage/app-arch/rpm-4.14.2.1-r1/work/rpm-4.14.2.1 ...
>  * Applying rpm-4.11.0-autotools.patch ...                                                                                                [ ok ]
>  * Applying rpm-4.8.1-db-path.patch ...                                                                                                   [ ok ]
>  * Applying rpm-4.9.1.2-libdir.patch ...
> patching file configure.ac
> Hunk #1 succeeded at 1049 with fuzz 2 (offset 203 lines).
> patching file rpm.am
> Hunk #1 succeeded at 1 with fuzz 1.                                                                                                       [ ok ]
>  * Running eautoreconf in '/var/tmp/portage/app-arch/rpm-4.14.2.1-r1/work/rpm-4.14.2.1' ...
>  * Running autopoint --force ...                                                                                                          [ ok ]
>  * Running libtoolize --install --copy --force --automake ...                                                                             [ ok ]
>  * Running aclocal -I m4 ...                                                                                                              [ ok ]
>  * Running autoconf --force ...                                                                                                           [ ok ]
>  * Running autoheader ...                                                                                                                 [ ok ]
>  * Running automake --add-missing --copy --foreign --force-missing ...                                                                    [ ok ]
>  * Running elibtoolize in: rpm-4.14.2.1/
>  *   Applying portage/1.2.0 patch ...
>  *   Applying sed/1.5.6 patch ...
>  *   Applying as-needed/2.4.3 patch ...
>  * Running elibtoolize in: rpm-4.14.2.1/db3/
> >>> Source prepared.
> # grep ^%__python /var/tmp/portage/app-arch/rpm-4.14.2.1-r1/work/rpm-4.14.2.1/macros.in
> %__python
> #

These are the active USE flags:

> # equery u app-arch/rpm-4.14.2.1-r1
> [ Legend : U - final flag setting for installation]
> [        : I - package is installed with flag     ]
> [ Colors : set, unset                             ]
>  * Found these USE flags for app-arch/rpm-4.14.2.1-r1:
>  U I
>  + + acl                            : Add support for Access Control Lists
>  + + caps                           : Use Linux capabilities library to control privilege
>  - - dbus                           : Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
>  - - doc                            : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
>  - - lua                            : Enable Lua scripting support
>  + + nls                            : Add Native Language Support (using gettext - GNU locale utilities)
>  - - python                         : Add optional support/bindings for the Python language
>  - - python_single_target_python3_6 : Build for Python 3.6 only
>  + + python_single_target_python3_7 : Build for Python 3.7 only
>  - - python_single_target_python3_8 : Build for Python 3.8 only
>  - - test                           : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but
>                                       can be toggled independently)
>  - - zstd                           : Enable support for ZSTD compression
> #
Comment 1 Tony Vroon (RETIRED) gentoo-dev 2020-10-01 11:15:15 UTC
This should be addressed in 4.16.0, please confirm when able.
Comment 2 Larry the Git Cow gentoo-dev 2020-10-01 11:18:04 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bfda681c33a63ebe64a04f5ef0084c3d07990aa

commit 3bfda681c33a63ebe64a04f5ef0084c3d07990aa
Author:     Tony Vroon <chainsaw@gentoo.org>
AuthorDate: 2020-10-01 11:15:19 +0000
Commit:     Tony Vroon <chainsaw@gentoo.org>
CommitDate: 2020-10-01 11:17:52 +0000

    app-arch/rpm: Version bump to 4.16.0
    
    This has USE="zstd" defaulted to on to ensure Fedora 31 packages are
    recognised without issue.
    
    Closes: https://bugs.gentoo.org/520312
    Closes: https://bugs.gentoo.org/730354
    Closes: https://bugs.gentoo.org/740078
    Signed-Off-By: Tony Vroon <chainsaw@gentoo.org>

 app-arch/rpm/Manifest                         |   1 +
 app-arch/rpm/files/rpm-4.16.0-autotools.patch |  13 +++
 app-arch/rpm/files/rpm-4.16.0-libdir.patch    |  34 +++++++
 app-arch/rpm/rpm-4.16.0.ebuild                | 139 ++++++++++++++++++++++++++
 4 files changed, 187 insertions(+)