Re: How to set %vendor in mock?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 05, 2007 at 09:52:18AM +0100, Ralf Corsepius wrote:
> On Mon, 2007-11-05 at 02:24 -0500, Todd Zullinger wrote:
> > Ralf Corsepius wrote:
> > > Hi,
> > > 
> > > in the past, I used to set up %vendor in mock by adding
> > > ...
> > > config_opts['macros'] += '%vendor       VENDOR'
> > > ...
> > > to customized mock *.cfgs.
> > > 
> > > 
> > > This stopped working with FC7's recent upgrade to mock-0.8.x:
> > > 
> > > # mock --configdir=/foo/etc/mock -r fedora-7-i386-test init
> > > INFO: mock suid wrapper version 0.8.4 
> > > ERROR: unsupported operand type(s) for +=: 'dict' and 'str'
> > > Traceback (most recent call last):
> > >  File "/usr/libexec/mock.py", line 333, in <module>
> > >    main(retParams)
> > >  File "/usr/libexec/mock.py", line 249, in main
> > >    execfile(cfg)
> > >  File "/foo/etc/mock/fedora-7-i386-test.cfg", line 7, in <module>
> > >    config_opts['macros'] += '%vendor   VENDOR'
> > > TypeError: unsupported operand type(s) for +=: 'dict' and 'str'
> > > 
> > > Any ideas?
> > 
> > I haven't tested this, but I just updated mock today and was looking
> > at the changes in the defaults.cfg file.  The example given there is:
> > 
> > config_opts['macros']['Add_your_macro_name_here'] = "add macro value here"
> > 
> > So I'd guess that you want to try something like this:
> > 
> > config_opts['macros']['vendor'] = "VENDOR"
> 
> Thanks, using
> config_opts['macros']['%vendor'] = "VENDOR"
> in *.cfgs seems to do it on fc7.
> 
> Problem: This change seems incompatible to older mocks and is breaking
> sharing *.cfg's with them:
> 
> (On a machine using an older mock)
> ...
> Traceback (most recent call last):
>   File "/usr/bin/mock", line 995, in ?
>     main()
>   File "/usr/bin/mock", line 951, in main
>     execfile(cfg)
>   File "/home/build/etc/mock//fedora-7-i386-test.cfg", line 7, in ?
>     config_opts['macros']['%vendor'] = 'VENDOR'
> TypeError: object does not support item assignment

If you want to share configs between different versions, then you will
need a bit of python magic. The config file is (for now) a
fully-interpreted python source file. You could easily check the type of
config_opts['macros'] and then add the appropriate version-specific
magic to it.

--
Michael

-- 
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux