[lfs-dev] Merged trunk and systemd sources

Pierre Labastie pierre.labastie at neuf.fr
Wed May 25 13:47:30 PDT 2016

On 25/05/2016 20:25, Bruce Dubbs wrote:
> Pierre Labastie wrote:
>> On 25/05/2016 06:03, Bruce Dubbs wrote:
>>>> How doese jhalfs work with this version?
>>> It doesn't yet.  This is a work in progress.
>>>   -- Bruce
>> I'll have a look at that. But I need to decide how to enter the choice
>> between systemd and sysvinit. Note that you do not need to know the
>> internals of jhalfs to read the following, but of course, you should be a
>> user:
>> It cannot be in the Makefile, because jhalfs is supposed to work with
>> reasonably old versions (I mean at least in the 7.x series), which
>> obviously do not have merged books, so "make systemd" would be nonsense
>> for those.
>> So it has to be in the menu, but then, jhalfs needs to be able to
>> determine whether it will be building a merged book or not. Since the book
>> would be downloaded after exiting the menu, that's not so easy... Of
>> course, we could have a question like: "just in case, do you want systemd
>> or sysvinit?", but there is some kind of chicken and egg problem here.
>> I'll think a little more about this, but I'd be happy to get some input.
> I've been thinking about jhalfs too.  I'd say that when we select 'Use Book',
> then we should change the option 'Linux From Scratch' to two options:
> Linux From Scratch - SystemV
> Linux From Scratch - Systemd
> There might be a third option:
> Linux From Scratch - 7.9 or earlier.  That would be essentially the same
> internally as the SystemV target.
> Also, I've been looking at the Makefile and want to try to optimize it a bit. 
> There are several places where the same processing takes place that should be
> combined.
> Right now these are the targets I've implemented:
> sysv (default)
> systemd
> pdf
> pdfd
> nochunks
> nochunksd
> tmpdir
> validate
> validated
> profile-html
> wget-list
> wget-listd
> md5sums
> md5sumsd
> dump-commands
> dump-commandsd
> The targets that end with a 'd' are systemd specific.  I'm thinking about
> trying to combine those and selecting with a variable.  That is something like
> 'make REV=systemd' or 'make REV=sysv'  with sysv as the default.
> What I want to implement is what users will find most convenient.  What I've
> got now is ok for the simple process of 'make' for sysv and 'make systemd' for
> that book, but I'm not sure about the other targets, some owich are used
> internally.  I don't know who would really use the pdf or nochunks targets
> other than  out daily build scripts and AFAIK jhalfs is the only user for
> dump-commands.

I think jhalfs does not use the Makefile from the lfsbook at all.

> As a developer I do use validate, md5sums, and wget-list directly at times.

I use the last two too.

> So, do I leave the targets as they are now or is there a better set?

I'd say a variable is better than a target (and would decrease the number of
targets by a factor of two). If somebody insists, we can always make a target
from a variable:
	$(MAKE) REV=systemd

The converse is less easy.

More information about the lfs-dev mailing list