On 08/15/2011 08:35 AM, Fabrice Quenneville wrote: > I was told the reason why live-build was ignoring --mirror-chroot when > i asked why live-build was not using the url passed as parametter. > here is the answer i got: > >>>>> it still tryes to pull from debian. >>>> >>>> this is because you have not set --mode, which means it remains default >>>> (=debian) which doesn't make use of derivatives handling.
I've lost the thread entirely. I would have to test a minimal config to replicate your findings to answer with any authority on this. I can do that, but not right now. > So if some of the options such as > --mirror-chroot URL > sets the location of the debian package mirror that will be used to > fetch the packages of the derivative in order to build the live > system. By default, this is set to the value of --mirror-bootstrap. > > Need to either call --mode progress (for most users that wont mean > anything) And in any case is only in experimental and likely to be removed. Derivatives support is unfinished yet. Until live-build moves from experimental to unstable, if you can't figure out how it works, just don't use it. Also, since we've determined your distribution doesn't conform to the "debian plus" model, I think it's not going to be suitable for you even when finished. > or modify the source default.sh (not documented anywhere to > my knowledge) to work. Indeed. Not something we're going to document. > But this isn't clear, for most people outside > the live-build project a Debian derivative is more or less any distro > using the apt packaging system. Clearly, a whole chapter in live-manual will need to be written to clarify the different kinds of derivative model that exist and straighten out what is supported and what isn't. Furthermore, at that time, some lb_config adjustments may need to be made. Given that derivatives mode (which I don't think will work for you) isn't finished yet, I stand by my earlier statement (which is just a reiteration of what I've said previously on irc): I'm not writing any doc about this new stuff until it *is* finished (i.e. moves from experimental -> unstable) because meanwhile, there will be code churn, leading to lots of rework in this area (multiplied, don't forget, by all of the translations!) > To clarify i would suggest changing the man page to something like > --mirror-chroot URL > In derivative mode, sets the location of the debian package mirror > that will be used to fetch the packages of the derivative in order > to build the live system. By default, this is set to the value > of > --mirror-bootstrap. > > So i just put the derivative mode to false again and --mirror-chroot > is no longer noticed. So without --mirror-chroot URL a "distribution" > has no way to add custom packages using a different > codename/repository than the parent. Isn't that the definition of a non-derivative? If it's not a derivative, it *is* the parent, therefore the parent switches apply instead. If you need a different codename/repository, you'll need support in live-build for your particular distribution. Currently the major ones are ubuntu and emdebian which, as I said in my earlier message in this thread, have at least one person intimately familiar with live-build providing a stream of patches to support their particular distribution. If you don't have the resources to do that, you'll have to hack around it somehow, as right now live-build really only supports the two models: 1. You are a (parent, i.e. non-derivative) distribution. In the "distribution model" you are Debian by default, but Ubuntu and Emdebian are also supported (we can ignore Progress, as that is experimental will be removed). You use whichever repositories apply to your distribution for both chroot and binary. The derivative-specific options don't apply to you, as already indicated in the man page. 2. You are a "Distribution (usually Debian) plus" derivative. You have to set (somehow, as yet not finished in the version in experimental) derivative mode and use both sets of options (parent + derivative) for setting mirrors. > I will now revert to a21 but i believe i was having the same issues. > With derivative mode on i get d-i errors because it skips d-i-mirrors > parameters (--parent-mirror-debian-installer && > --mirror-debian-installer), without i get "E: Unable to locate package > vanillux-desktop" because its skipping --mirror-chroot. To reiterate, derivative mode is not suitable for you. Just don't use it, not in experimental, and not in unstable. Your derivative model is not the "normal" one, and therefore won't give you good results. > It seams to me like the derivative mode is complicating and limiting > things a lot both on the user side and the developer side and to be > honest i dont see why you need it because with simple input validation > you could know if its a derivative/vanilla debian/distribution. I *do* see the need for it, and will be devoting some of my time in future to explain in the doc. At that time, I hope it will be perfectly clear to you as well why it is needed. > Also i > dont see why you disable features in/out of the derivative mode > because some users might need those features (and the features are not > truly disabled but given an unchangeable default value). You keep saying "features are disabled". What you really mean is "options that apply only to derivatives (and are documented as such) aren't applicable when you're not in derivatives mode". Isn't that self-evident? The way you state it makes it sound as if live-build is "crippled" somehow. In fact, it's operating exactly as designed, and it makes sense for a derivative model that clearly isn't applicable to Vanillux. Why do you keep beating your head against this wall? I assure you the pain will stop when you stop doing that. :) > I will look at your code tomorrow to see what i can do, i need some sleep :). Rest well! Ben -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]
