Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
To help me to wrap my head around the Xorg dependencies, I wrote a couple of simple graphs in DOT (Graphviz), following the latest development BLFS book.
A nice visualization aid for a complex puzzle. For me, the only thing lacking is installation order. Or do I misunderstand this graph? The Xorg chapter is already in installation order in the BLFS book, so the relatively small number of non-Xorg dependencies in the Xorg chapter are not an overwhelming challenge to integrate into that existing order. Now, imagine what that graph of yours would look like for an entire BLFS system. Try and get your head around that. You might be interested in something called depsort.
I'm posting about this just because those dot files (which I never heard of before) vaguely reminded me of the files depsort uses to produce a list of packages and their dependencies resolved into linear installation order. Similar to your dot files that are used to produce the image, a text file with packages listed vertically and with their dependencies listed horizontally to the right of each package separated by spaces is used by deport to output the linear installation order of all that stuff. I've been using this method of dependency handling for a while. And not just for Xorg, but my entire BLFS system.
I got the idea to use depsort for dependency resolution a while back from an old LFS hint named dependency.txt submitted by Joern Abatz in 2003. That hint still exists. But the links in the hint to the scripts are all dead now. And the scripts wouldn't work now anyway because the format of the BLFS book has since changed. But the depsort.c file can still be found in other places on the Internet. There are at least two versions. I use depsort.c at sourceforge uploaded by Don Mahurin in 2010. The original hint from 2003 had scripts that scanned the BLFS book for packages and their dependencies to roughly produce the input file for depsort. Well, I do that part manually. That's what your dot files reminded me of.
I've never posted a hint or how-to on this subject because on a big project such as your Xorg chapter or an entire BLFS system, other complexities enter in. I mostly mean the various circulars. The depsort app will identify them but does not know what to do about them. I have become well acquainted these circulars and know what to do about them. But I don't think I could write about how to do all this.
P.S.: Just adding something here because I don't want to have a debate or risk being a distraction in your thread. I just think my intent here was misunderstood in comments below. I meant that all the effort to required to make the dot files for an image is very similar to the effort required to make the file that depsort uses to list packages in installation order. I didn't mean to suggest that installation order somehow be incorporated into the image you produced. I think installation order is superior to an image and might be more helpful to you instead of the image and for a similar amount of labor. I guess not. As for the Krejzi git repo, the order files posted there are fine if you want to build his system. I don't. I build my own customized system and need something to help me install my own customized set of packages. But your image is interesting and I'm glad you shared it here, so carry on. I'm just left wondering about its practical utility, especially if were to be expanded by several hundred packages for an entire BLFS system. I predict it would look like a graphic depiction of a riot. Now that is were an installation order list might be more useful for the same amount of work. That's all I meant here.
Maybe, I'll check it against BLFS 7.8 when it's out, but anything later I don't know. Don't rely on it.
But the DOT files are there, just grab them and use them as you wish.
You need to install Graphviz (it's in BLFS, too) to generate the images.
As for the installation order, I didn't do that yet, maybe I'll publish it when it's done but I don't know if it's useful, with all that recommended stuff that one can choose to omit. And there are other sources for that (like elkrejzi's github repo).
Anyway, it's fairly easy to sort the things out just looking at the graph. Maybe I'll add some colouring to the nodes to visually identify the packages that are in other chapters than the Xorg one.
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,150
Rep:
These graphiz files are used by doxygen when building documentation and can be an enormous help when tidying up code, I find myself using doxygen and thse diagrams more and more, especially as KKEdit is tightly integreated with doxygen and I can click on a link in from doxygen and jump to the correct line and document in the editor, but any way as an example of using these diagrams have a look at these three pics:
I checked the graphs against the BLFS 7.8 book and updated the files.
I fixed an error on the xorg-server node: now libgcrypt, nettle and openssl are marked as alternatives.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.