https://bugzilla.redhat.com/show_bug.cgi?id=1481215 Bug ID: 1481215 Summary: perl-Cairo-GObject-1.004-7.fc27 FTBFS: Macro %__requires_exclude failed to expand Product: Fedora Version: rawhide Component: perl-Cairo-GObject Assignee: berrange@xxxxxxxxxx Reporter: ppisar@xxxxxxxxxx QA Contact: extras-qa@xxxxxxxxxxxxxxxxx CC: berrange@xxxxxxxxxx, perl-devel@xxxxxxxxxxxxxxxxxxxxxxx perl-Cairo-GObject-1.004-7.fc27 fails to build in F27 because it cannot create source RPM package: ENTER ['do'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/perl-Cairo-GObject.spec'], gid=425user='mockbuild'nspawn_args=[]logger=<mockbuild.trace_decorator.getLog object at 0xffff9ca1b710>chrootPath='/var/lib/mock/f27-build-9519824-776187/root'shell=Falsetimeout=172800env={'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'HOME': '/builddir', 'LANG': 'en_US.UTF-8', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'HOSTNAME': 'mock', 'TERM': 'vt100'}printOutput=Falseuid=1000) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target aarch64 --nodeps /builddir/build/SPECS/perl-Cairo-GObject.spec'] with env {'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'HOME': '/builddir', 'LANG': 'en_US.UTF-8', 'SHELL': '/bin/bash', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'HOSTNAME': 'mock', 'TERM': 'vt100'} and shell False sh: /usr/bin/perl: No such file or directory error: Too many levels of recursion in macro expansion. It is likely caused by recursive macro declaration. error: Macro %__requires_exclude failed to expand error: line 33: %global __requires_exclude %__requires_exclude|^perl\\(Glib\\)$ This happens with recent rpm-build-4.13.90-0.git14002.2.fc27 that made RPM macro handling stricter. This spec code: %{?perl_default_filter} %global __requires_exclude %__requires_exclude|^perl\\(Cairo\\)$ %global __requires_exclude %__requires_exclude|^perl\\(Glib\\)$ raises the error if %__requires_exclude has not yet been defined. This happens if perl_default_filter is not defined and that happens if perl-macros is not installed and that's true in sources RPM build root. The fix is to rewrite expand the original __requires_exclude macro only if it exists: %{?perl_default_filter} %global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Cairo\\)$ %global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Glib\\)$ -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ perl-devel mailing list -- perl-devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to perl-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx