LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This 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


Reply
  Search this Thread
Old 09-20-2015, 01:00 PM   #1
EmaRsk
Member
 
Registered: Mar 2006
Distribution: Mint, WSL Ubuntu
Posts: 134

Rep: Reputation: 32
Xorg dependency graph


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.

If anyone's interested, the graphs can be viewed online at:
http://emarsk.blogspot.it/2015/09/xo...raph-blfs.html
and:
https://emarsk.wordpress.com/2015/09/19/64/

and the DOT files are at:
https://drive.google.com/open?id=0B6...0hZa2l0d1V2c0E
and:
https://gist.github.com/7cd1d17b77ac6a0015b6

Last edited by EmaRsk; 09-21-2015 at 05:51 AM. Reason: fixed gist link
 
Old 09-20-2015, 02:58 PM   #2
hendrickxm
Member
 
Registered: Feb 2014
Posts: 344

Rep: Reputation: Disabled
Thanks, will you keep this updated?
 
Old 09-20-2015, 09:31 PM   #3
stoat
Member
 
Registered: May 2007
Distribution: LFS
Posts: 628

Rep: Reputation: 185Reputation: 185
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.

Last edited by stoat; 09-22-2015 at 09:27 AM.
 
Old 09-21-2015, 02:58 AM   #4
EmaRsk
Member
 
Registered: Mar 2006
Distribution: Mint, WSL Ubuntu
Posts: 134

Original Poster
Rep: Reputation: 32
Quote:
Originally Posted by hendrickxm View Post
Thanks, will you keep this updated?
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.
 
Old 09-21-2015, 05:50 AM   #5
EmaRsk
Member
 
Registered: Mar 2006
Distribution: Mint, WSL Ubuntu
Posts: 134

Original Poster
Rep: Reputation: 32
OK, I added some colouring: the blue-ish (ghostwhite) nodes are the ones outside chapter 24.
 
Old 09-23-2015, 05:41 AM   #6
Keith Hedger
Senior Member
 
Registered: Jun 2010
Location: Wiltshire, UK
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,150

Rep: Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856Reputation: 856
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:

Original diagram:
https://www.dropbox.com/s/jwkzjhlay0...ginal.svg?dl=0

First clean up:
https://www.dropbox.com/s/4e6q7dtbjv...diate.svg?dl=0

Final result:
https://www.dropbox.com/s/lx8hkui42i...final.svg?dl=0

As you can see from a tangle of depenent files to a nice clean finsh.
 
Old 10-13-2015, 11:16 AM   #7
EmaRsk
Member
 
Registered: Mar 2006
Distribution: Mint, WSL Ubuntu
Posts: 134

Original Poster
Rep: Reputation: 32
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.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
freeNX should have dependency with xorg-x11-fonts* packages in fedora 10 adadxbus Linux - Desktop 0 12-09-2008 01:14 PM
Dependency problems with 'yum' installing xorg-x11-tools SirTristan Linux - Software 2 05-17-2008 01:39 PM
Sid Users - Beware of Xorg 7.3 (xserver-xorg-input-evdev) bug rickh Debian 4 10-24-2007 03:30 AM
compile dependency graph/list avr Slackware 1 12-19-2005 01:21 PM
how to solve failed dependency when dependency exists dwcramer Linux - Newbie 2 08-24-2004 09:03 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 10:29 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration