On 09/29/2018 01:34 AM, DJ Lucas wrote:


On 09/20/2018 12:36 PM, Bruce Dubbs wrote:
I have made some reasonably significant changes to LFS.  In addition to five package updates I have done the following.

1.  Removed util-linux from Chapter 5.

2.  Removed the associated symlinks from Chapter 6, Creating Essential
     Files and Symlinks

3.  Moved the System V specific packages in Chapter 6 (Sysvinit,
     Sysklogd, and Eudev) to be the last packages in Chapter 6.

4.  Moved the systemd specific packages (systemd and dbus) to the
     end of Chapter 6 with the exception of procps which is now
     at the end of the chapter due to being dependent on libsystemd.

5.  Reordered eudev and util-linux in Chapter 6 to avoid the need
     for LD_LIBRARY_PATH, config.cache, and LIBRARY_PATH in e2fsprogs.

This reordering of packages simplifies the build and makes the build order of Chapter 6 identical for both versions of LFS until the user gets to the last three packages.  There are still some differences in the build instructions of acl, attr, createfiles, glibc, man-db,
procps and util-linux as well as text differences in a few other files.

I've built both versions of LFS and they both build cleanly but have not proceeded into BLFS.  I'd appreciate any feedback about these changes, especially if you see any issues I've missed.

The updated LFS html files have been rendered on the web site.

Thanks,

   -- Bruce



So how big of a pain in the rear is it to undo these changes? None of the util-linux binaries know about the systemd-journal. Nothing actually links to libsystemd, but it does pull in the headers if systemd support is requested (I do not see a dlopen call, so I don't know exactly how it works, maybe just message formatting). I suspect that there is a better way to handle this than undoing the changes, but I'll be damned if I can find it ATM.

We can build util-linux in chapter 5 only in the systemd book to fix the reciprocal dependency for systemd, that's easy enough, but the order is the problem now (util-linux(ch5) -> systemd -> e2fsprogs -> util-linux, where evdev does not suffer from the reciprocal for lib{mount,uuid,blkid}).

So things I've eliminated thus far just trying to render the book...

You can't use the revision attribute in an xi:include - it's just ignored AFAICT - results in multiple defines for all of the index entries.

You also cannot use phrase as a child of chapter - get a long validation error about order (content does not follow the DTD).

I tried stubbing them out, but no dice as you can only include one child - we have multiple sect2 but need to filter revision on sect1 and can't dump them a layer deeper or we break jhalfs.

chapter06/util-linux.xml:27: parser error : Extra content at the end of the document
   <sect2 role="installation">
   ^
chapter06/util-linux-sysv.xml:23: element include: XInclude error : could not load chapter06/util-linux.xml, and no fallback was found

One gigantic sect2 with bridgeheads does not work either (again would break jhalfs).

Short of having duplicates of util-linux.xml and e2fsprogs.xml, I can't find a creative way to fix it other than putting util-linux back into chapter 5 and putting the order as it was. Thoughts?

I don't have a problem restoring util-linux in Chaoter 5 and restoring the needed symlinks for both books. It's unclear to me what other changes are needed.

   -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to