catalyst incorrectly handles use flags when creating make.conf for the chroot of a stage1 livecd build. the result looks like USE=o p e n g l g n o m e... Reproducible: Always Steps to Reproduce: 1. use catalyst with the --cli option, with the livecd/use="..." command line option. Actual Results: borked /etc/make.conf USE setting. the problem is in generic_stage_target.py, around line 345, when myusevars is being extended with self.settings["use"]: if self.settings.has_key("use"): myusevars.extend(self.settings["use"]) myf.write('USE="'+string.join(myusevars)+'"\n') at this point, self.settings["use"] is a string (ie, "opengl gnome -ipv6"). passing a string to extend() creates a list like ['o','p','e','n','g','l'..., which then gets turned back into a space delimited string in the following line by a call to string.join(), which results in a USE setting of "o p e n g l...". all we need to do is add a call to split() to fix this: if self.settings.has_key("use"): myusevars.extend(self.settings["use"].split()) myf.write('USE="'+string.join(myusevars)+'"\n')
Sorry, you mean livecd-stage1, not stage1, correct? By the way, in case you haven't noticed, I don't think any of us actually use --cli for doing *everything* from the spec files, so I really appreciate all the work (and fixes!) you're doing.
Created attachment 67409 [details] wrapper script for catalyst
Created attachment 67410 [details] host specific config file
oops, yeah, I meant livced-stage1. Yeah, I use the cli options because I am working up a wrapper script for catalyst, as there are a bunch of config items common to livecd stage 1 and 2. I am using this to create a "server on livecd". The advantages there are that if you get hacked, you can simply reboot to (temporarily) unhack your system. Also, if anything goes wrong with an upgraded piece of software, you can simply revert to the previous livecd. I have attached what I have so far, in case any of you are interested.
This has been added to catalyst 2's CVS and will be RESOLVED when the first cat2 version is released.
by the way, I put up a page with my patches for catalyst 1.x http://www.ices.utexas.edu/~cell/gentoo/catalyst/
Since the catalyst 2.0_rc* series is no longer in package.mask, I am marking this one as RESOLVED...