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

Re: Vanillux live iso



Hi again,

Here is what i mean by someone like me could see live-build broken by design:
Left make these assumptions:
Now a user having only read the man page dosent know that he has to go in any special mode to really customise the CD all he knows from what he read is:

From the man page Live build seams to have options for every stage for both the parent (based on distro) and the derivative (codename bob):
But thats not truly possible. You will never be able to customize the 8 different sources of software at the same time. But some users might want it, you might judge that they shouldn't but why not make it possible ? I seams the code is all already there its just been comparmentalised trough the derivative option so that the user cant play with all the settings himself ...

Thats what i mean by its broken...

Anyway im adding vmlinuz as we speak to our rrepo. But i will look at the code later to see if i could enable all parameters for users that might want that, maybe trought a 3rd mode : custom or something.



On Mon, Aug 15, 2011 at 8:07 AM, Ben Armstrong <synrg@sanctuary.nslug.ns.ca> wrote:
> 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
>



--
Fabrice Quenneville
fabrice@vanillux.org


Reply to: