Просмотр исходного кода

Added Acl for Systemd.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10282 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Krejzi 12 лет назад
Родитель
Сommit
9baa1489b5

+ 39 - 3
appendices/dependencies.xml

@@ -37,6 +37,42 @@
   the LFS book and then go back an rebuild the LFS package.  In several cases,
   reinstallation is addressed in BLFS.</para>
 
+<!-- Begin Acl dependency info -->
+  <bridgehead renderas="sect2" id="acl-dep">acl</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+          <seg>Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make,
+          Perl, Sed, and Texinfo</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>Automake, Diffutils, Findutils, and Libtool</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>Systemd</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Attr dependency info -->
   <bridgehead renderas="sect2" id="attr-dep">attr</bridgehead>
 
@@ -44,8 +80,8 @@
         <segtitle>&dependencies;</segtitle>
 
         <seglistitem>
-          <seg>Bash, Coreutils, Gettext, Grep, M4, Make, Perl, Sed, and
-          Texinfo</seg>
+          <seg>Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make,
+          Perl, Sed, and Texinfo</seg>
         </seglistitem>
       </segmentedlist>
 
@@ -53,7 +89,7 @@
         <segtitle>&testsuites;</segtitle>
 
         <seglistitem>
-          <seg>Automake, Diffutils, Findutils, GCC, and Libtool</seg>
+          <seg>Automake, Diffutils, Findutils, and Libtool</seg>
         </seglistitem>
       </segmentedlist>
 

+ 14 - 0
chapter01/changelog.xml

@@ -35,6 +35,20 @@
       </itemizedlist>
     </listitem>
 -->
+    <listitem>
+      <para>2013-05-18</para>
+      <itemizedlist>
+        <listitem>
+          <para>[krejzi] - Added Acl package for Systemd (setfacl).</para>
+        </listitem>
+        <listitem>
+          <para>[krejzi] - Add temporary libdbus package to satisfy
+          circular depdendency between Systemd and D-Bus.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+
     <listitem>
       <para>2013-05-12</para>
       <itemizedlist>

+ 4 - 0
chapter01/whatsnew.xml

@@ -226,6 +226,10 @@
     <title>Added:</title>
     <listitem><para></para></listitem>  <!-- satisfy build -->
 
+    <listitem>
+      <para>Acl-&acl-version;</para>
+    </listitem>
+
     <listitem>
       <para>Attr-&attr-version;</para>
     </listitem>

+ 9 - 0
chapter03/packages.xml

@@ -14,6 +14,15 @@
 
   <variablelist role="materials">
 
+    <varlistentry>
+      <term>Acl (&acl-version;) - <token>&acl-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&acl-home;"/></para>
+        <para>Download: <ulink url="&acl-url;"/></para>
+        <para>MD5 sum: <literal>&acl-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
     <varlistentry>
       <term>Attr (&attr-version;) - <token>&attr-size;</token>:</term>
       <listitem>

+ 147 - 0
chapter06/acl.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-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>Prepare Acl for compilation:</para>
+
+<screen><userinput remap="configure">./configure --prefix=/usr --libdir=/lib --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. To test the results, issue:</para>
+
+<screen><userinput remap="test">make -k tests root-tests</userinput></screen>
+
+    <para>Install the package:</para>
+
+<screen><userinput remap="install">make install install-dev install-lib
+chmod -v 0755 /lib/libacl.so.1.1.0</userinput></screen>
+
+    <para>Remove static library and libtool archive from
+    <filename class="directory">/lib</filename>, they exist in
+    <filename class="directory">/usr/lib</filename>:</para>
+
+<screen><userinput remap="install">rm -v /lib/libacl.{a,la,so}</userinput></screen>
+
+    <para>Change default location for the libtool archive and recreate
+    symlink to shared library since it points to removed file:</para>
+
+<screen><userinput remap="install">sed -i 's@/lib@/usr/lib@' /usr/lib/libacl.la
+ln -sfv ../../lib/libacl.so.1 /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.{so,a}</seg>
+        <seg>/usr/include/acl and /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.{so,a}</filename></term>
+        <listitem>
+          <para>Contains the <application>Acl</application> API functions.</para>
+          <indexterm zone="ch-system-acl libacl">
+            <primary sortas="c-libacl">libacl.{so,a}</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </sect2>
+
+</sect1>

+ 3 - 3
chapter06/attr.xml

@@ -54,8 +54,8 @@
 
 <screen><userinput remap="make">make</userinput></screen>
 
-    <para>The attr tests need to be run on a filesystem that supports extended
-    attributes.  To test the results, issue:</para>
+    <para>The Attr tests need to be run on a filesystem that supports extended
+    attributes. To test the results, issue:</para>
 
 <!-- ext-tests fail for some reason -->
 <screen><userinput remap="test">make -k tests root-tests</userinput></screen>
@@ -132,7 +132,7 @@ ln -sfv ../../lib/libattr.so.1 /usr/lib/libattr.so</userinput></screen>
       <varlistentry id="libattr">
         <term><filename class="libraryfile">libattr.{so,a}</filename></term>
         <listitem>
-          <para>Contains the <application>attr</application> API functions.</para>
+          <para>Contains the <application>Attr</application> API functions.</para>
           <indexterm zone="ch-system-attr libattr">
             <primary sortas="c-libattr">libattr.{so,a}</primary>
           </indexterm>

+ 1 - 0
chapter06/chapter06.xml

@@ -37,6 +37,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="procps.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="e2fsprogs.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="libcap.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="coreutils.xml"/>

+ 8 - 0
packages.ent

@@ -15,6 +15,14 @@
 <!ENTITY attr-ch6-du "3.5 MB">
 <!ENTITY attr-ch6-sbu "0.1 SBU">
 
+<!ENTITY acl-version "2.2.51">
+<!ENTITY acl-size "380 KB">
+<!ENTITY acl-url "http://download.savannah.gnu.org/releases/acl/acl-&acl-version;.src.tar.gz">
+<!ENTITY acl-md5 "3fc0ce99dc5253bdcce4c9cd437bc267">
+<!ENTITY acl-home " ">
+<!ENTITY acl-ch6-du "5.4 MB">
+<!ENTITY acl-ch6-sbu "0.2 SBU">
+
 <!ENTITY autoconf-version "2.69">
 <!ENTITY autoconf-size "1,186 KB">
 <!ENTITY autoconf-url "&gnu;autoconf/autoconf-&autoconf-version;.tar.xz">

+ 9 - 0
prologue/why.xml

@@ -20,6 +20,15 @@
 
     <itemizedlist>
 
+      <listitem>
+        <para>Acl</para>
+
+        <para>This package contains programs to administer Access Control
+        Lists, which are used to define more fine-grained discretionary access
+        rights for files and directories. It is required by Systemd
+        and can be used by Coreutils.</para>
+      </listitem>
+
       <listitem>
         <para>Attr</para>