mock build failing sometimes

Paul Howarth paul at city-fan.org
Thu Aug 9 11:24:50 UTC 2007


Manuel Wolfshant wrote:
> On 08/07/2007 11:51 PM, Orion Poplawski wrote:
>> Manuel Wolfshant wrote:
>>> Hi
>>>
>>>    I am trying to build in mock a new package I've created. Build 
>>> succeeds for x86_64 but fails for i386, despite there is almost no 
>>> config difference. The logs of the failed builds ends always with:
>>>
>>
>> Try wiping out your root cache in /var/lib/mock/root-cache and 
>> starting over.
> Tried that before posting, several times. Reinstalled mock, updated to 
> latest version available in updates (the machine is running F7/x86_64 
> with all available updates installed, reverted my config to the default 
> one, used standard mirrors instead of a specific baseurl, nothing works. 
> I am facing the same problem each time: mock build for devel/i386 and 
> F-7/i386 fail. Anything else I've tried (all x86_64 builds, FC6/i386) 
> works.
> 
> [root at wolfy64 ~]# rpm -q yum
> yum-3.2.1-1.fc7.noarch
> [root at wolfy64 ~]# rpm -q mock
> mock-0.7.4-1.fc7.x86_64
> [wolfy at wolfy64 ~]$ rpm -qa rpm\*
> rpmlint-0.80-2.fc7.noarch
> rpm-libs-4.4.2-46.fc7.x86_64
> rpm-python-4.4.2-46.fc7.x86_64
> rpmdevtools-5.4-1.fc7.noarch
> rpm-4.4.2-46.fc7.x86_64
> rpm-libs-4.4.2-46.fc7.i386
> rpm-build-4.4.2-46.fc7.x86_64
> [root at wolfy64 ~]# uname -a
> Linux wolfy64 2.6.22.1-41.fc7 #1 SMP Fri Jul 27 18:21:43 EDT 2007 x86_64 
> x86_64 x86_64 GNU/Linux
> 
> Result from 5 minutes ago:
> [wolfy at wolfy64 ~]$ sudo yum update
> Password:
> Loading "skip-broken" plugin
> Loading "installonlyn" plugin
> Setting up Update Process
> No Packages marked for Update/Obsoletion
> 
> [wolfy at wolfy64 ~]$  mock --autocache --rebuildcache -r fedora-devel-i386 
> init
> init
> clean
> prep
> This may take a while
> create cache
> ending
> done
> Finished initializing root
> [wolfy at wolfy64 ~]$  mock -r fedora-devel-i386 
> /home/wolfy/rpm/SRPMS/xorg-x11-avivo-1.0-2.fc7.src.rpm
> init
> clean
> prep
> This may take a while
> unpack cache
> setup
> error: Macro % has illegal name (%define)
> error: cannot write to %sourcedir /usr/src/redhat/SOURCES
> 
> Error installing srpm: xorg-x11-avivo-1.0-2.fc7.src.rpm
> ending
> done

Just started getting this myself. It was a self-inflicted problem. I 
originally had the following in /etc/mock/defaults.cfg:

config_opts['macros'] = """
%%_topdir	%s/build
%%_rpmfilename	%%%%{NAME}-%%%%{VERSION}-%%%%{RELEASE}.%%%%{ARCH}.rpm
%%packager	Paul Howarth <paul at city-fan.org>
%%vendor	city-fan.org repo http://www.city-fan.org/ftp/contrib/
""" % config_opts['chroothome']

I recently changed this to:

config_opts['macros'] = config_opts['macros'] + """
%%packager	Paul Howarth <paul at city-fan.org>
%%vendor	city-fan.org repo http://www.city-fan.org/ftp/contrib/
"""

Which should of course have been:

config_opts['macros'] = config_opts['macros'] + """
%packager	Paul Howarth <paul at city-fan.org>
%vendor		city-fan.org repo http://www.city-fan.org/ftp/contrib/
"""

(no need to escape % characters any more)

This only manifested itself as a problem that broke builds when a 
combination of two things happened:

1. My autocache file for devel was regenerated, resulting in broken 
/var/lib/mock/fedora-devel*/root/builddir/.rpmmacros files with too many 
% characters, and
2. A version of rpmbuild appeared in devel that refused to build 
packages in the presence of the broken rpmmacros file.

Builds for older releases still worked but didn't pick up the packager 
and vendor tags due to the macro file error.

Paul.




More information about the fedora-devel-list mailing list