aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
authorBruce Dubbs <bdubbs@linuxfromscratch.org>2014-03-21 19:34:09 +0000
committerBruce Dubbs <bdubbs@linuxfromscratch.org>2014-03-21 19:34:09 +0000
commiteec8fcb88006cf473cdf8b9c6d6cda799b574caa (patch)
treedd39c5f81a71f501d93df67560321ae873ea4526 /chapter06
parenta57d556dd7482aa9322833b8836fd24d57bf46a9 (diff)
Add acl and attr packages
Minor grammar fixes Update standards compliance statments Put e2fsprogs executables in /bin git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10512 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/acl.xml150
-rw-r--r--chapter06/attr.xml147
-rw-r--r--chapter06/chapter06.xml2
-rw-r--r--chapter06/e2fsprogs.xml4
4 files changed, 302 insertions, 1 deletions
diff --git a/chapter06/acl.xml b/chapter06/acl.xml
new file mode 100644
index 000000000..785963da4
--- /dev/null
+++ b/chapter06/acl.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-system-acl" role="wrap">
+ <?dbhtml filename="acl.html"?>
+
+ <sect1info condition="script">
+ <productname>acl</productname>
+ <productnumber>&acl-version;</productnumber>
+ <address>&acl-url;</address>
+ </sect1info>
+
+ <title>Acl-&acl-version;</title>
+
+ <indexterm zone="ch-system-acl">
+ <primary sortas="a-Acl">Acl</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <para>The Acl package contains utilities to administer Access Control Lists,
+ which are used to define more fine-grained discretionary access rights for
+ files and directories.</para>
+
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
+
+ <seglistitem>
+ <seg>&acl-ch6-sbu;</seg>
+ <seg>&acl-ch6-du;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Acl</title>
+
+ <para>Modify the documentation directory so that it is a versioned
+ directory:</para>
+
+<screen><userinput remap="pre">sed -i -e 's|/@pkg_name@|&amp;-@pkg_version@|' include/builddefs.in</userinput></screen>
+
+ <para>Fix some broken tests:</para>
+
+<screen><userinput remap="pre">sed -i "s:| sed.*::g" test/{sbits-restore,cp,misc}.test</userinput></screen>
+
+ <para>Prepare Acl for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr \
+ --bindir=/bin \
+ --libexecdir=/usr/lib</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>The Acl tests need to be run on a filesystem that supports access
+ controls after <application>Coreutils</application> has been built with the
+ Acl libraries. If desired, return to this package and run <command>make
+ tests</command> after <application>Coreutils</application> has been built
+ later in this chapter.</para>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make install install-dev install-lib
+chmod -v 755 /usr/lib/libacl.so</userinput></screen>
+
+ <para>The shared library needs to be moved to
+ <filename class="directory">/lib</filename>, and as a result the
+ <filename class="extension">.so</filename> file in
+ <filename class="directory">/usr/lib</filename> will need to be recreated:</para>
+
+<screen><userinput remap="install">mv -v /usr/lib/libacl.so.* /lib
+ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so</userinput></screen>
+
+ </sect2>
+
+ <sect2 id="contents-acl" role="content">
+ <title>Contents of Acl</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+ <segtitle>Installed library</segtitle>
+ <segtitle>Installed directories</segtitle>
+
+ <seglistitem>
+ <seg>chacl, getfacl, and setacl</seg>
+ <seg>libacl.{a,so}</seg>
+ <seg>/usr/include/acl, /usr/share/doc/acl-&acl-version;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="chacl">
+ <term><command>chacl</command></term>
+ <listitem>
+ <para>Changes the access control list of a file
+ or directory.</para>
+ <indexterm zone="ch-system-acl chacl">
+ <primary sortas="b-chacl">chacl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="getfacl">
+ <term><command>getfacl</command></term>
+ <listitem>
+ <para>Gets file access control lists.</para>
+ <indexterm zone="ch-system-acl getfacl">
+ <primary sortas="b-getfacl">getfacl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="setacl">
+ <term><command>setacl</command></term>
+ <listitem>
+ <para>Sets file access control lists.</para>
+ <indexterm zone="ch-system-acl setacl">
+ <primary sortas="b-setacl">setacl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libacl">
+ <term><filename class="libraryfile">libacl</filename></term>
+ <listitem>
+ <para>Contains the <application>Acl</application> API functions.</para>
+ <indexterm zone="ch-system-acl libacl">
+ <primary sortas="c-libacl">libacl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>
diff --git a/chapter06/attr.xml b/chapter06/attr.xml
new file mode 100644
index 000000000..cc50a2690
--- /dev/null
+++ b/chapter06/attr.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-system-attr" role="wrap">
+ <?dbhtml filename="attr.html"?>
+
+ <sect1info condition="script">
+ <productname>attr</productname>
+ <productnumber>&attr-version;</productnumber>
+ <address>&attr-url;</address>
+ </sect1info>
+
+ <title>Attr-&attr-version;</title>
+
+ <indexterm zone="ch-system-attr">
+ <primary sortas="a-Attr">Attr</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
+
+ <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</title>
+
+ <para>Modify the documentation directory so that it is a versioned
+ directory:</para>
+
+<screen><userinput remap="pre">sed -i -e 's|/@pkg_name@|&amp;-@pkg_version@|' include/builddefs.in</userinput></screen>
+<!--
+ <para>Prevent installation of manual pages that were already installed by
+ Man-Pages package:</para>
+
+<screen><userinput remap="pre">sed -i -e "/SUBDIRS/s|man2||" man/Makefile</userinput></screen>
+-->
+ <para>Prepare Attr for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">make</userinput></screen>
+
+ <para>The tests need to be run on a filesystem that supports extended
+ attributes such as the ext2, ext3, or ext4 filesystems. To test the
+ results, issue:</para>
+
+<screen><userinput remap="test">make tests root-tests</userinput></screen>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make install install-dev install-lib
+chmod -v 755 /usr/lib/libattr.so</userinput></screen>
+
+ <para>The shared library needs to be moved to
+ <filename class="directory">/lib</filename>, and as a result the
+ <filename class="extension">.so</filename> file in
+ <filename class="directory">/usr/lib</filename> will need to be recreated:</para>
+
+<screen><userinput remap="install">mv -v /usr/lib/libattr.so.* /lib
+ln -sfv ../../lib/$(readlink /usr/lib/libattr.so) /usr/lib/libattr.so</userinput></screen>
+
+ </sect2>
+
+ <sect2 id="contents-attr" role="content">
+ <title>Contents of Attr</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+ <segtitle>Installed library</segtitle>
+ <segtitle>Installed directories</segtitle>
+
+ <seglistitem>
+ <seg>attr, getfattr, and setattr</seg>
+ <seg>libattr.{a,so}</seg>
+ <seg>/usr/include/attr, /usr/share/doc/attr-&attr-version;</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="attr">
+ <term><command>attr</command></term>
+ <listitem>
+ <para>Extends attributes on filesystem objects</para>
+ <indexterm zone="ch-system-attr attr">
+ <primary sortas="b-attr">attr</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="getfattr">
+ <term><command>getfattr</command></term>
+ <listitem>
+ <para>Gets the extended attributes of filesystem objects.</para>
+ <indexterm zone="ch-system-attr getfattr">
+ <primary sortas="b-getfattr">getfattr</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="setattr">
+ <term><command>setattr</command></term>
+ <listitem>
+ <para>Sets the extended attributes of filesystem objects</para>
+ <indexterm zone="ch-system-attr setattr">
+ <primary sortas="b-setattr">setattr</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libattr">
+ <term><filename class="libraryfile">libattr</filename></term>
+ <listitem>
+ <para>Contains the <application>Attr</application> API functions.</para>
+ <indexterm zone="ch-system-attr libattr">
+ <primary sortas="c-libattr">libattr</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
+
+</sect1>
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml
index 3c2949978..170f09efe 100644
--- a/chapter06/chapter06.xml
+++ b/chapter06/chapter06.xml
@@ -32,6 +32,8 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgconfig.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ncurses.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="attr.xml"/>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="acl.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="shadow.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="psmisc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="procps.xml"/>
diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml
index 9ca778a04..7aca00f9e 100644
--- a/chapter06/e2fsprogs.xml
+++ b/chapter06/e2fsprogs.xml
@@ -61,6 +61,7 @@ cd build</userinput></screen>
CFLAGS=-I/tools/include \
PKG_CONFIG_PATH=/tools/lib/pkgconfig \
../configure --prefix=/usr \
+ --bindir=/bin \
--with-root-prefix="" \
--enable-elf-shlibs \
--disable-libblkid \
@@ -80,7 +81,8 @@ PKG_CONFIG_PATH=/tools/lib/pkgconfig \
</varlistentry>
<varlistentry>
- <term><parameter>--with-root-prefix=""</parameter></term>
+ <term><parameter>--with-root-prefix=""</parameter> and
+ <parameter>--bindir=/bin</parameter></term>
<listitem>
<para>Certain programs (such as the <command>e2fsck</command>
program) are considered essential programs. When, for example,