diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index 841887828..43c7d151d 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -2084,6 +2084,41 @@
+
+ Xml::Parser
+
+
+ &dependencies;
+
+
+ Expat, Make, and Perl.
+
+
+
+
+ &testsuites;
+
+
+ None
+
+
+
+
+ &before;
+
+
+ Intltool
+
+
+
+
+ &external;
+
+
+ libwww-perl
+
+
+
Xz
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 0eaed66ba..2c142de72 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -35,6 +35,16 @@
-->
+
+ 2013-02-13
+
+
+ [matthew] - Added full build of Systemd including its remaining
+ dependencies (attr, gperf, intltool and libcap2).
+
+
+
+
2013-02-11
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 65b551115..60270dc3b 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -228,6 +228,10 @@
Added:
+
+ Attr-&attr-version;
+
+
&bash-fixes-patch;
@@ -244,14 +248,38 @@
&coreutils-test-patch;
+
+ Expat-&expat-version;
+
+
+
+ Gperf-&gperf-version;
+
+
+
+ Intltool-&intltool-version;
+
+
&kbd-backspace-patch;
+
+ Libcap2-&libcap2-version;
+
+
&make-fixes-patch;
+
+ Systemd-&systemd-version;
+
+
+
+ XML-Parser-&xml-parser-version;
+
+
@@ -313,10 +341,6 @@
sed-4.2.1-testsuite_fixes-1.patch
-
- Sysvinit-2.88dsf
-
-
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
index aa705a044..bae01942a 100644
--- a/chapter03/packages.xml
+++ b/chapter03/packages.xml
@@ -14,6 +14,15 @@
+
+ Attr (&attr-version;) - &attr-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &attr-md5;
+
+
+
Autoconf (&autoconf-version;) - &autoconf-size;:
@@ -113,6 +122,15 @@
+
+ Expat (&expat-version;) - &expat-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &expat-md5;
+
+
+
Expect (&expect-version;) - &expect-size;:
@@ -212,6 +230,15 @@
+
+ Gperf (&gperf-version;) - &gperf-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &gperf-md5;
+
+
+
Grep (&grep-version;) - &grep-size;:
@@ -266,6 +293,15 @@
+
+ Intltool (&intltool-version;) - &intltool-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &intltool-md5;
+
+
+
IPRoute2 (&iproute2-version;) - &iproute2-size;:
@@ -311,6 +347,15 @@
+
+ Libcap2 (&libcap2-version;) - &libcap2-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &libcap2-md5;
+
+
+
Libpipeline (&libpipeline-version;) - &libpipeline-size;:
@@ -593,6 +638,15 @@
+
+ XML::Parser (&xml-parser-version;) - &xml-parser-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &xml-parser-md5;
+
+
+
Xz Utils (&xz-version;) - &xz-size;:
diff --git a/chapter06/attr.xml b/chapter06/attr.xml
new file mode 100644
index 000000000..cb873a89a
--- /dev/null
+++ b/chapter06/attr.xml
@@ -0,0 +1,132 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ attr
+ &attr-version;
+ &attr-url;
+
+
+ Attr-&attr-version;
+
+
+ Attr
+
+
+
+
+
+ The attr package contains utilities to administer the extended
+ attributes on filesystem objects.
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &attr-ch6-sbu;
+ &attr-ch6-du;
+
+
+
+
+
+
+ Installation of Attr
+
+ Modify the documentation directory so that it is a versioned
+ directory:
+
+sed -i -e 's|/@pkg_name@|&-@pkg_version@|' include/builddefs.in
+
+ Prepare Attr for compilation:
+
+./configure --prefix=/usr --libdir=/lib --libexecdir=/usr/lib
+
+ Compile the package:
+
+make
+
+ The attr tests need to be run on a filesystem that supports extended
+ attributes. To test the results, issue:
+
+make tests root-tests ext-tests
+
+ Install the package:
+
+make install install-dev install-lib
+
+
+
+
+ Contents of Attr
+
+
+ Installed programs
+ Installed library
+ Installed directories
+
+
+ attr, getfattr, and setattr
+ libattr.{so,a}
+ /usr/{include/attr,share/doc/attr-&attr-version;}
+
+
+
+
+ Short Descriptions
+
+
+
+
+ attr
+
+ Extends attributes on filesystem objects
+
+ attr
+
+
+
+
+
+ getfattr
+
+ Gets the extended attributes of filesystem objects.
+
+ getfattr
+
+
+
+
+
+ setattr
+
+ Sets the extended attributes of filesystem objects
+
+ setattr
+
+
+
+
+
+ libattr.{so,a}
+
+ Contains the attr API functions.
+
+ libattr.{so,a}
+
+
+
+
+
+
+
+
+
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml
index bddfc99d4..4d48cd8c2 100644
--- a/chapter06/chapter06.xml
+++ b/chapter06/chapter06.xml
@@ -49,6 +49,7 @@
+
@@ -56,6 +57,7 @@
+
@@ -64,14 +66,17 @@
+
+
+
+
-
diff --git a/chapter06/gperf.xml b/chapter06/gperf.xml
new file mode 100644
index 000000000..92dd637c7
--- /dev/null
+++ b/chapter06/gperf.xml
@@ -0,0 +1,91 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ gperf
+ &gperf-version;
+ &gperf-url;
+
+
+ Gperf-&gperf-version;
+
+
+ Gperf
+
+
+
+
+
+ Gperf generates a perfect hash function from a key set.
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &gperf-ch6-sbu;
+ &gperf-ch6-du;
+
+
+
+
+
+
+ Installation of Gperf
+
+ Prepare Gperf for compilation:
+
+./configure --prefix=/usr --docdir=/usr/share/doc/gperf-&gperf-version;
+
+ Compile the package:
+
+make
+
+ To test the results, issue:
+
+make check
+
+ Install the package:
+
+make install
+
+
+
+
+ Contents of Gperf
+
+
+ Installed programs
+
+
+ gperf
+
+
+
+
+ Short Descriptions
+
+
+
+
+ gperf
+
+ Generates a perfect hash from a key set
+
+ gperf
+
+
+
+
+
+
+
+
+
diff --git a/chapter06/intltool.xml b/chapter06/intltool.xml
new file mode 100644
index 000000000..abe446cce
--- /dev/null
+++ b/chapter06/intltool.xml
@@ -0,0 +1,140 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ intltool
+ &intltool-version;
+ &intltool-url;
+
+
+ Intltool-&intltool-version;
+
+
+ Intltool
+
+
+
+
+
+ The Intltool is an internationalization tool used for extracting
+ translatable strings from source files.
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &intltool-ch6-sbu;
+ &intltool-ch6-du;
+
+
+
+
+
+
+ Installation of Intltool
+
+ Prepare Intltool for compilation:
+
+./configure --prefix=/usr
+
+ Compile the package:
+
+make
+
+ To test the results, issue:
+
+make check
+
+ Install the package:
+
+make install &&
+install -v -m644 -D doc/I18N-HOWTO \
+ /usr/share/doc/intltool-&intltool-version;/I18N-HOWTO
+
+
+
+
+ Contents of Intltool
+
+
+ Installed program
+ Installed library
+ Installed directories
+
+
+ intltool-extract, intltool-merge, intltool-prepare,
+ intltool-update, and intltoolize
+ None
+ /usr/share/doc/intltool-&intltool-version; and
+ /usr/share/intltool
+
+
+
+
+ Short Descriptions
+
+
+
+
+ intltoolize
+
+ Prepares a package to use intltool.
+
+ intltoolize
+
+
+
+
+
+
+
+ intltool-merge
+
+ Merges translated strings into various file types.
+
+ intltool-merge
+
+
+
+
+
+ intltool-prepare
+
+ Updates pot files and merges them with translation files.
+
+ intltool-prepare
+
+
+
+
+
+ intltool-update
+
+ Updates the po template files and merges them with the translations.
+
+ intltool-update
+
+
+
+
+
+
+
+
+
diff --git a/chapter06/libcap2.xml b/chapter06/libcap2.xml
new file mode 100644
index 000000000..ccff9ada1
--- /dev/null
+++ b/chapter06/libcap2.xml
@@ -0,0 +1,120 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ libcap2
+ &libcap2-version;
+ &libcap2-url;
+
+
+ Libcap2-&libcap2-version;
+
+
+ Libcap2
+
+
+
+
+
+ The Libcap2 package implements the user-space interfaces to the POSIX
+ 1003.1e capabilities available in Linux kernels. These capabilities are a
+ partitioning of the all powerful root privilege into a set of distinct
+ privileges.
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &libcap2-ch6-sbu;
+ &libcap2-ch6-du;
+
+
+
+
+
+
+ Installation of Libcap2
+
+ Compile the package:
+
+make
+
+ This package does not come with a test suite.
+
+ Install the package:
+
+make RAISE_SETFCAP=no install
+
+
+
+
+ Contents of Libcap2
+
+
+ Installed programs
+ Installed library
+
+
+ capsh, getcap, getpcaps, and setcap
+ libcap2.{so,a}
+
+
+
+
+ Short Descriptions
+
+
+
+
+ capsh
+
+ A shell wrapper to explore and constrain capability support
+
+ capsh
+
+
+
+
+
+ getcap
+
+ Examines file capabilities
+
+ getcap
+
+
+
+
+
+ getpcaps
+
+ Displays the capabilities on the queried process(es)
+
+ getpcaps
+
+
+
+
+
+ libcap2.{so,a}
+
+ Contains the libcap2 API functions
+
+ libcap2
+
+
+
+
+
+
+
+
+
diff --git a/chapter06/systemd.xml b/chapter06/systemd.xml
index a312bd05c..73d4f9d21 100644
--- a/chapter06/systemd.xml
+++ b/chapter06/systemd.xml
@@ -5,28 +5,26 @@
%general-entities;
]>
-
-
+
+
- udev
+ systemd
&systemd-version;
&systemd-url;
- Udev-&systemd-version; (Extracted from systemd-&systemd-version;)
+ Systemd-&systemd-version;
-
- Udev
+
+ Systemd
- The Udev package contains programs for dynamic creation of device
- nodes. The development of udev has been merged with systemd, but
- most of systemd is incompatible with LFS. Here we build and install just
- the needed udev files.
+ The Systemd package contains programs for controlling the startup,
+ running, and shutdown of the system.
&buildtime;
@@ -40,46 +38,35 @@
- Installation of Udev
+ Installation of Systemd
- This package is a little different from other packages. The
- initial package that is extracted is
- systemd-&systemd-version;.tar.xz even though the
- application we are installing is udev. After changing to the
- systemd directory, follow the instructions below.
+ Prepare Systemd for compilation:
- The udev-lfs tarball contains LFS-specific files used to build
- Udev. Unpack it into the systemd source directory:
-
-tar -xvf ../&udev-lfs;.tar.bz2
+./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
+ --with-rootprefix= \
+ --with-rootlibdir=/lib \
+ --with-kbd-loadkeys=/bin/loadkeys \
+ --with-kbd-setfont=/bin/setfont \
+ --enable-split-usr \
+ --disable-static \
+ --disable-gudev \
+ --without-python
Compile the package:
-make -f &udev-lfs;/Makefile.lfs
+make
+
+ To test the results, issue:
+
+make check
Install the package:
-make -f &udev-lfs;/Makefile.lfs install
+make install
- There are several places within the
- systemd source code that have explicit directory
- paths embedded. For instance, the binary version of the hardware
- database's path and file name used at run time,
- /etc/udev/hwdb.bin, cannot be changed without explict
- changes to the source code.
-
- Now initialize the hardware database:
-
-build/udevadm hwdb --update
-
- Finally set up the persistent network udev rules. This task will be
- explained in detail in . Note that the
- /sys and /proc filesystems must be mounted in the
- chroot environment as explained at the beginning of this chapter for the
- following script to work.
-
-bash &udev-lfs;/init-net-rules.sh
@@ -87,16 +74,16 @@
Installed programs
- Installed libraries
- Installed directories
- accelerometer, ata_id, cdrom_id, collect, mtd_probe,
- scsi_id, v4l_id, udevadm, and udevd
+ hostnamectl, journalctl, localectl, loginctl, systemctl,
+ systemd-analyze, systemd-ask-password, systemd-cat,
+ systemd-cgls, systemd-cgtop, systemd-coredumpctl,
+ systemctl-delta, systemd-detect-virt, systemd-inhibit,
+ systemd-machine-id-setup, systemd-notify, systemd-nspawn,
+ systemd-stdio-bridge, systemd-tmpfiles,
+ systemd-tty-ask-password-agent, timedatectl, udevadm
- libudev.so
-
- /etc/udev, /lib/udev, /lib/firmware, /usr/share/doc/udev
@@ -105,48 +92,212 @@
-
- ata_id
+
+ hostnamectl
- Provides Udev with a unique string and
- additional information (uuid, label) for an ATA drive
-
- ata_id
+ To be completed
+
+ hostnamectl
-
- cdrom_id
+
+ journalctl
- Provides Udev with the capabilities of a
- CD-ROM or DVD-ROM drive
-
- cdrom_id
+ To be completed
+
+ journalctl
-
- collect
+
+ localectl
- Given an ID for the current uevent and a list of
- IDs (for all target uevents), registers the current ID
- and indicates whether all target IDs have been registered
-
- collect
+ To be completed
+
+ localectl
-
- scsi_id
+
+ loginctl
- Provides Udev with a unique SCSI identifier
- based on the data returned from sending a SCSI INQUIRY command to
- the specified device
-
- scsi_id
+ To be completed
+
+ loginctl
+
+
+
+
+
+ systemctl
+
+ To be completed
+
+ systemctl
+
+
+
+
+
+ systemd-analyze
+
+ To be completed
+
+ systemd-analyze
+
+
+
+
+
+ systemd-ask-password
+
+ To be completed
+
+ systemd-ask-password
+
+
+
+
+
+ systemd-cat
+
+ To be completed
+
+ systemd-cat
+
+
+
+
+
+ systemd-cgls
+
+ To be completed
+
+ systemd-cgls
+
+
+
+
+
+ systemd-cgtop
+
+ To be completed
+
+ systemd-cgtop
+
+
+
+
+
+ systemd-coredumpctl
+
+ To be completed
+
+ systemd-coredumpctl
+
+
+
+
+
+ systemd-delta
+
+ To be completed
+
+ systemd-delta
+
+
+
+
+
+ systemd-detect-virt
+
+ To be completed
+
+ systemd-detect-virt
+
+
+
+
+
+ systemd-inhibit
+
+ To be completed
+
+ systemd-inhibit
+
+
+
+
+
+ systemd-machine-id-setup
+
+ To be completed
+
+ systemd-machine-id-setup
+
+
+
+
+
+ systemd-notify
+
+ To be completed
+
+ systemd-notify
+
+
+
+
+
+ systemd-nspawn
+
+ To be completed
+
+ systemd-nspawn
+
+
+
+
+
+ systemd-stdio-bridge
+
+ To be completed
+
+ systemd-stdio-bridge
+
+
+
+
+
+ systemd-tmpfiles
+
+ To be completed
+
+ systemd-tmpfiles
+
+
+
+
+
+ systemd-tty-ask-password-agent
+
+ To be completed
+
+ systemd-tty-ask-password-agent
+
+
+
+
+
+ timedatectl
+
+ To be completed
+
+ timedatectl
@@ -154,49 +305,13 @@
udevadm
- Generic udev administration tool: controls the udevd daemon,
- provides info from the Udev database, monitors uevents, waits for
- uevents to finish, tests Udev configuration, and triggers uevents
- for a given device
-
+ To be completed
+
udevadm
-
- udevd
-
- A daemon that listens for uevents on the netlink socket,
- creates devices and runs the configured external programs in
- response to these uevents
-
- udevd
-
-
-
-
-
- libudev
-
- A library interface to udev device information
-
- libudev
-
-
-
-
-
- /etc/udev
-
- Contains Udev configuration files,
- device permissions, and rules for device naming
-
- /etc/udev
-
-
-
-
diff --git a/chapter06/xml-parser.xml b/chapter06/xml-parser.xml
new file mode 100644
index 000000000..5eb7f1987
--- /dev/null
+++ b/chapter06/xml-parser.xml
@@ -0,0 +1,92 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ xml-parser
+ &xml-parser-version;
+ &xml-parser-url;
+
+
+ XML::Parser-&xml-parser-version;
+
+
+ XML::Parser
+
+
+
+
+
+ The XML::Parser module is a Perl extension interface to James Clark's
+ XML parser, expat.
+
+
+ &buildtime;
+ &diskspace;
+
+
+ &xml-parser-ch6-sbu;
+ &xml-parser-ch6-du;
+
+
+
+
+
+
+ Installation of XML::Parser
+
+ Prepare XML::Parser for compilation:
+
+perl Makefile.PL
+
+ Compile the package:
+
+make
+
+ To test the results, issue:
+
+make test
+
+ Install the package:
+
+make install
+
+
+
+
+ Contents of XML::Parser
+
+
+ Installed programs
+
+
+ placeholder
+
+
+
+
+ Short Descriptions
+
+
+
+
+ placeholder
+
+ Unknown
+
+ placeholder
+
+
+
+
+
+
+
+
+
diff --git a/general.ent b/general.ent
index 02ba59fdb..895f76342 100644
--- a/general.ent
+++ b/general.ent
@@ -1,5 +1,5 @@
-
-
+
+
diff --git a/packages.ent b/packages.ent
index 4cf8cec6c..d567602e9 100644
--- a/packages.ent
+++ b/packages.ent
@@ -7,6 +7,14 @@
Allowed deviation in disk usage : 2% -->
+
+
+
+
+
+
+
+
@@ -226,6 +234,14 @@
+
+
+
+
+
+
+
+
@@ -278,6 +294,14 @@
+
+
+
+
+
+
+
+
@@ -318,6 +342,14 @@
+
+
+
+
+
+
+
+