[Rpm-maint] [rpm-software-management/rpm] rpmbuild should bail out as soon as recursive macro expansion is detected (#145)

Jan Pokorný notifications at github.com
Thu Feb 2 18:20:02 UTC 2017


$ cat newpackage.spec 
%define __os_install_post %(echo '%{__os_install_post}' \
       | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')

Name:           foo
Version:        1
Release:        1%{?dist}
Summary:        bar

License:        GPLv2
URL:            http://localhost
Source:         newpackage.spec

Foo bar


$ rpmbuild -bb -v -D "_srcdir $(pwd)" newpackage.spec 
error: Too many levels of recursion in macro expansion. It is likely caused by recursive macro declaration.
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.cIXCaT
+ umask 022
+ cd /home/mock/rpmbuild/BUILD
+ '[' /home/mock/rpmbuild/BUILDROOT/foo-1-1.fc22.x86_64 '!=' / ']'
+ rm -rf /home/mock/rpmbuild/BUILDROOT/foo-1-1.fc22.x86_64
++ dirname /home/mock/rpmbuild/BUILDROOT/foo-1-1.fc22.x86_64
+ mkdir -p /home/mock/rpmbuild/BUILDROOT
+ mkdir /home/mock/rpmbuild/BUILDROOT/foo-1-1.fc22.x86_64
+ /usr/lib/rpm/check-buildroot
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/mock/rpmbuild/BUILDROOT/foo-1-1.fc22.x86_64
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.E2B2uY
+ umask 022
+ cd /home/mock/rpmbuild/BUILD
+ /usr/bin/rm -rf /home/mock/rpmbuild/BUILDROOT/foo-1-1.fc22.x86_64
+ exit 0

$ echo $?

So the process doesn't fail and continues despite an internal error with
undesired consequences.  It would be expected that the build fails
instead, not masking any subtle issues.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20170202/7ecc672e/attachment.html>

More information about the Rpm-maint mailing list