Xorg dependency graph (BLFS)

I’m in the process of building (again…) a Linux From Scratch system (and writing some scripts to automate the process a bit).

My base system (LFS proper) is done, and now I’m in the BLFS part. After a couple of basic packages, I need to tackle Xorg.

The dependency graph is quite big, following the dependencies by hand is tedious and error-prone. To ease the task, I decided to make a couple of graphs with Graphviz (in the DOT language).

Here’s the result (and you can find the dot files here or here).

Just some notes:

  • to keep the graph manageable, I didn’t include any “optional” dependency (but I put some in comments in the dot files)
  • one graph has “required” and “recommended” deps, the other one only “required” (plus the run-time deps)
  • solid lines are “required”
  • dash lines are “recommended”
  • grey lines with dot heads are “required at run-time”
  • for wget, I put as “recommended” “gnutls or openssl” – because I think it makes sense – but I didn’t expand them (gnutls in particular would make a mess in the graph). I already installed wget before looking into Xorg, anyway, and I assume that everybody else would do the same
  • in the dot files, I explicitly set [style=solid] for the “required” deps, so it’s easy to change them with sed if desired
  • with graphviz installed, generating the images from the dot files is as easy as: dot -Tpng xorg_depgraph.dot >xorg_depgraph.png
  • the blue-ish (ghostwhite) nodes are the ones outside the chapter 24 of the BLFS book

xorg_depgraph xorg_depgraph_req

EDIT 2015-09-21: added some colouring, fixed gist link

EDIT 2015-09-22: added glib dependencies

EDIT 2015-10-13: checked against BLFS 7.8 (and fixed titles), fixed xorg-server

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s