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 + + + + + + <para>The attr package contains utilities to administer the extended + attributes on filesystem objects.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&attr-ch6-sbu;</seg> + <seg>&attr-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>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 + + + + + + <para>Gperf generates a perfect hash function from a key set.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&gperf-ch6-sbu;</seg> + <seg>&gperf-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>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 + + + + + + <para>The Intltool is an internationalization tool used for extracting + translatable strings from source files.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&intltool-ch6-sbu;</seg> + <seg>&intltool-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>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-extract + + Generates header files that can be read by gettext. + + intltool-extract + + + + + + 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 + + + + + + <para>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.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&libcap2-ch6-sbu;</seg> + <seg>&libcap2-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>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 - <para>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.</para> + <para>The Systemd package contains programs for controlling the startup, + running, and shutdown of the system.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> @@ -40,46 +38,35 @@ </sect2> <sect2 role="installation"> - <title>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 + + + + + + <para>The XML::Parser module is a Perl extension interface to James Clark's + XML parser, expat.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&xml-parser-ch6-sbu;</seg> + <seg>&xml-parser-ch6-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>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 @@ + + + + + + + +