Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 5792 → Rev 5793

/branches/LFS_7.5_Systemd/chapter06/sysvinit.xml
File deleted
/branches/LFS_7.5_Systemd/chapter06/sysklogd.xml
File deleted
/branches/LFS_7.5_Systemd/chapter06/libdbus.xml
0,0 → 1,119
<?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-libdbus" role="wrap">
<?dbhtml filename="libdbus.html"?>
 
<sect1info condition="script">
<productname>libdbus</productname>
<productnumber>&dbus-version;</productnumber>
<address>&dbus-url;</address>
</sect1info>
 
<title>Libdbus-&dbus-version;</title>
 
<indexterm zone="ch-system-libdbus">
<primary sortas="a-libdbus">Libdbus</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>Libdbus package provides a library to communicate with
D-Bus messagebus daemon. It is only installed to satisfy
circular dependency between Systemd and D-Bus.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&dbus-ch6-sbu;</seg>
<seg>&dbus-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation of Libdbus</title>
 
<note>
<para><application>Libdbus</application> is part of the D-Bus sources.
You should first unpack the D-Bus tarball and change to the
<filename>dbus-&dbus-version;</filename> directory.</para>
</note>
 
<para>Prepare Libdbus for compilation:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var</userinput></screen>
 
<para>Compile the package:</para>
 
<screen><userinput remap="make">make -C dbus libdbus-1.la</userinput></screen>
 
<para>This package does come with a testsuite, but it is not
possible to run it because only part of the package was
built.</para>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make -C dbus lib_LTLIBRARIES=libdbus-1.la \
install-libLTLIBRARIES \
install-dbusincludeHEADERS \
install-nodist_dbusarchincludeHEADERS
make install-pkgconfigDATA</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/libdbus-1.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>
 
 
</sect2>
 
<sect2 id="contents-libdbus" role="content">
<title>Contents of Libdbus</title>
 
<segmentedlist>
<segtitle>Installed programs</segtitle>
<segtitle>Installed libraries</segtitle>
<segtitle>Installed directories</segtitle>
 
<seglistitem>
<seg>none</seg>
<seg>libdbus-1.{a,so}</seg>
<seg>/usr/include/dbus-1.0, /usr/lib/dbus-1.0</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="libdbus-1">
<term><filename class="libraryfile">libdbus-1</filename></term>
<listitem>
<para>Contains API functions used to communicate with the D-Bus
message bus.</para>
<indexterm zone="ch-system-libdbus libdbus-1">
<primary sortas="c-libdbus">libdbus</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter06/expat.xml
0,0 → 1,112
<?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-expat" role="wrap">
<?dbhtml filename="expat.html"?>
 
<sect1info condition="script">
<productname>expat</productname>
<productnumber>&expat-version;</productnumber>
<address>&expat-url;</address>
</sect1info>
 
<title>Expat-&expat-version;</title>
 
<indexterm zone="ch-system-expat">
<primary sortas="a-Expat">Expat</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>The Expat package contains a stream oriented C library for
parsing XML.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&expat-ch6-sbu;</seg>
<seg>&expat-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation of Expat</title>
 
<para>Prepare Expat for compilation:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
 
<para>Compile the package:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>To test the results, issue:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
<para>If desired, install the documentation:</para>
 
<screen><userinput remap="install">install -v -dm755 /usr/share/doc/expat-&expat-version;
install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-&expat-version;</userinput></screen>
 
</sect2>
 
<sect2 id="contents-expat" role="content">
<title>Contents of Expat</title>
 
<segmentedlist>
<segtitle>Installed program</segtitle>
<segtitle>Installed libraries</segtitle>
<segtitle>Installed directory</segtitle>
 
<seglistitem>
<seg>xmlwf</seg>
<seg>libexpat.{a,so}</seg>
<seg>/usr/share/doc/expat-&expat-version;</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="xmlwf">
<term><command>xmlwf </command></term>
<listitem>
<para>is a non-validating utility to check whether or not
XML documents are well formed.</para>
<indexterm zone="ch-system-expat xmlwf">
<primary sortas="b-xmlwf">xmlwf</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libexpat">
<term><filename class="libraryfile">libexpat</filename></term>
<listitem>
<para> contains API functions for parsing XML.</para>
<indexterm zone="ch-system-expat libexpat">
<primary sortas="c-libexpat">libexpat</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter06/dbus.xml
0,0 → 1,186
<?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-dbus" role="wrap">
<?dbhtml filename="dbus.html"?>
 
<sect1info condition="script">
<productname>dbus</productname>
<productnumber>&dbus-version;</productnumber>
<address>&dbus-url;</address>
</sect1info>
 
<title>D-Bus-&dbus-version;</title>
 
<indexterm zone="ch-system-dbus">
<primary sortas="a-dbus">D-Bus</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>D-Bus is a message bus system, a simple way for applications to talk
to one another. D-Bus supplies both a system daemon (for events such as
"new hardware device added" or "printer queue changed") and a
per-user-login-session daemon (for general IPC needs among user
applications). Also, the message bus is built on top of a general one-to-one
message passing framework, which can be used by any two applications to
communicate directly (without going through the message bus daemon).</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&dbus-ch6-sbu;</seg>
<seg>&dbus-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation of D-Bus</title>
 
<para>Prepare D-Bus for compilation:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--docdir=/usr/share/doc/dbus-&dbus-version; \
--with-console-auth-dir=/run/console/</userinput></screen>
 
<variablelist>
<title>The meaning of the configure options:</title>
 
<varlistentry>
<term><parameter>--with-console-auth-dir=/run/console</parameter></term>
<listitem>
<para>This specifies the location of the ConsoleKit auth
directory.</para>
</listitem>
</varlistentry>
 
</variablelist>
 
<para>Compile the package:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>This package does come with a testsuite, but it requires several
packages that are not included in LFS. Instructions for running the
testsuite can be found in the BLFS book at
<ulink url="&blfs-root;/view/svn/general/dbus.html"/>.</para>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make install</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/libdbus-1.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>
 
<para>Create a symlink, so that D-Bus and Systemd can use the same
<filename>machine-id</filename> file:</para>
 
<screen><userinput remap="install">ln -sv /etc/machine-id /var/lib/dbus</userinput></screen>
 
</sect2>
 
<sect2 id="contents-dbus" role="content">
<title>Contents of D-Bus</title>
 
<segmentedlist>
<segtitle>Installed programs</segtitle>
<segtitle>Installed libraries</segtitle>
<segtitle>Installed directories</segtitle>
 
<seglistitem>
<seg>dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor,
dbus-send, and dbus-uuidgen</seg>
<seg>libdbus-1.{a,so}</seg>
<seg>/etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0,
/usr/share/dbus-1, /usr/share/doc/dbus-&dbus-version;,
/var/lib/dbus</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="dbus-cleanup-sockets">
<term><command>dbus-cleanup-sockets</command></term>
<listitem>
<para>Used to clean up leftover sockets in a directory.</para>
<indexterm zone="ch-system-dbus dbus-cleanup-sockets">
<primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dbus-daemon">
<term><command>dbus-daemon</command></term>
<listitem>
<para>The D-Bus message bus daemon.</para>
<indexterm zone="ch-system-dbus dbus-daemon">
<primary sortas="b-dbus-daemon">dbus-daemon</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dbus-launch">
<term><command>dbus-launch</command></term>
<listitem>
<para>Starts <command>dbus-daemon</command> from a shell
script.</para>
<indexterm zone="ch-system-dbus dbus-launch">
<primary sortas="b-dbus-launch">dbus-launch</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dbus-monitor">
<term><command>dbus-monitor</command></term>
<listitem>
<para>Monitors messages passing through a D-Bus message bus.</para>
<indexterm zone="ch-system-dbus dbus-monitor">
<primary sortas="b-dbus-monitor">dbus-monitor</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dbus-send">
<term><command>dbus-send</command></term>
<listitem>
<para>Sends a message to a D-Bus message bus.</para>
<indexterm zone="ch-system-dbus dbus-send">
<primary sortas="b-dbus-send">dbus-send</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="dbus-uuidgen">
<term><command>dbus-uuidgen</command></term>
<listitem>
<para>Generates a universally unique ID.</para>
<indexterm zone="ch-system-dbus dbus-uuidgen">
<primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter06/acl.xml
0,0 → 1,148
<?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 --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. Coreutils needs to be compiled with ACL support in order for
the testsuite to complete successfully. To test the results, issue:</para>
 
<screen><userinput remap="test">make tests</userinput></screen>
 
<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>
/branches/LFS_7.5_Systemd/chapter06/xml-parser.xml
0,0 → 1,92
<?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-xml-parser" role="wrap">
<?dbhtml filename="xml-parser.html"?>
 
<sect1info condition="script">
<productname>xml-parser</productname>
<productnumber>&xml-parser-version;</productnumber>
<address>&xml-parser-url;</address>
</sect1info>
 
<title>XML::Parser-&xml-parser-version;</title>
 
<indexterm zone="ch-system-xml-parser">
<primary sortas="a-Xml-Parser">XML::Parser</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>The XML::Parser module is a Perl 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</title>
 
<para>Prepare XML::Parser for compilation:</para>
 
<screen><userinput remap="configure">perl Makefile.PL</userinput></screen>
 
<para>Compile the package:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>To test the results, issue:</para>
 
<screen><userinput remap="test">make test</userinput></screen>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-xml-parser" role="content">
<title>Contents of XML::Parser</title>
 
<segmentedlist>
<segtitle>Installed Perl module</segtitle>
 
<seglistitem>
<seg>Expat.so</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="Expat">
<term><filename class="libraryfile">Expat.so</filename></term>
<listitem>
<para>provides the Perl Expat interface.</para>
<indexterm zone="ch-system-xml-parser Expat">
<primary sortas="c-Expat">Expat</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter06/intltool.xml
0,0 → 1,137
<?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-intltool" role="wrap">
<?dbhtml filename="intltool.html"?>
 
<sect1info condition="script">
<productname>intltool</productname>
<productnumber>&intltool-version;</productnumber>
<address>&intltool-url;</address>
</sect1info>
 
<title>Intltool-&intltool-version;</title>
 
<indexterm zone="ch-system-intltool">
<primary sortas="a-Intltool">Intltool</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<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</title>
 
<para>Prepare Intltool for compilation:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
 
<para>Compile the package:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>To test the results, issue:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make install
install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-&intltool-version;/I18N-HOWTO</userinput></screen>
 
</sect2>
 
<sect2 id="contents-intltool" role="content">
<title>Contents of Intltool</title>
 
<segmentedlist>
<segtitle>Installed program</segtitle>
<segtitle>Installed directories</segtitle>
 
<seglistitem>
<seg>intltool-extract, intltool-merge, intltool-prepare,
intltool-update, and intltoolize</seg>
<seg>/usr/share/doc/intltool-&intltool-version;,
/usr/share/intltool</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="intltoolize">
<term><command>intltoolize</command></term>
<listitem>
<para>Prepares a package to use intltool.</para>
<indexterm zone="ch-system-intltool intltoolize">
<primary sortas="b-intltoolize">intltoolize</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="intltool-extract">
<term><command>intltool-extract</command></term>
<listitem>
<para>Generates header files that can be read by <command>gettext</command>.</para>
<indexterm zone="ch-system-intltool intltool-extract">
<primary sortas="b-intltool-extract">intltool-extract</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="intltool-merge">
<term><command>intltool-merge</command></term>
<listitem>
<para>Merges translated strings into various file types.</para>
<indexterm zone="ch-system-intltool intltool-merge">
<primary sortas="b-intltool-merge">intltool-merge</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="intltool-prepare">
<term><command>intltool-prepare</command></term>
<listitem>
<para>Updates pot files and merges them with translation files.</para>
<indexterm zone="ch-system-intltool intltool-prepare">
<primary sortas="b-intltool-prepare">intltool-prepare</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="intltool-update">
<term><command>intltool-update</command></term>
<listitem>
<para>Updates the po template files and merges them with the translations.</para>
<indexterm zone="ch-system-intltool intltool-update">
<primary sortas="b-intltool-update">intltool-update</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter06/libcap.xml
0,0 → 1,129
<?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-libcap" role="wrap">
<?dbhtml filename="libcap.html"?>
 
<sect1info condition="script">
<productname>libcap</productname>
<productnumber>&libcap-version;</productnumber>
<address>&libcap-url;</address>
</sect1info>
 
<title>Libcap-&libcap-version;</title>
 
<indexterm zone="ch-system-libcap">
<primary sortas="a-Libcap">Libcap</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>The Libcap 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>&libcap-ch6-sbu;</seg>
<seg>&libcap-ch6-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation of Libcap</title>
 
<para>Compile the package:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>This package does not come with a test suite.</para>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make RAISE_SETFCAP=no prefix=/usr install
chmod -v 755 /usr/lib/libcap.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/libcap.so.* /lib
ln -sfv ../../lib/$(readlink /usr/lib/libcap.so) /usr/lib/libcap.so</userinput></screen>
 
</sect2>
 
<sect2 id="contents-libcap" role="content">
<title>Contents of Libcap</title>
 
<segmentedlist>
<segtitle>Installed programs</segtitle>
<segtitle>Installed library</segtitle>
 
<seglistitem>
<seg>capsh, getcap, getpcaps, and setcap</seg>
<seg>libcap.{a,so}</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="capsh">
<term><command>capsh</command></term>
<listitem>
<para>A shell wrapper to explore and constrain capability support</para>
<indexterm zone="ch-system-libcap capsh">
<primary sortas="b-capsh">capsh</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getcap">
<term><command>getcap</command></term>
<listitem>
<para>Examines file capabilities</para>
<indexterm zone="ch-system-libcap getcap">
<primary sortas="b-getcap">getcap</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="getpcaps">
<term><command>getpcaps</command></term>
<listitem>
<para>Displays the capabilities on the queried process(es)</para>
<indexterm zone="ch-system-libcap getpcaps">
<primary sortas="b-getpcaps">getpcaps</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="libcap">
<term><filename class="libraryfile">libcap</filename></term>
<listitem>
<para>Contains the libcap API functions</para>
<indexterm zone="ch-system-libcap libcap">
<primary sortas="c-libcap">libcap</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter06/gperf.xml
0,0 → 1,91
<?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-gperf" role="wrap">
<?dbhtml filename="gperf.html"?>
 
<sect1info condition="script">
<productname>gperf</productname>
<productnumber>&gperf-version;</productnumber>
<address>&gperf-url;</address>
</sect1info>
 
<title>Gperf-&gperf-version;</title>
 
<indexterm zone="ch-system-gperf">
<primary sortas="a-Gperf">Gperf</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<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</title>
 
<para>Prepare Gperf for compilation:</para>
 
<screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/gperf-&gperf-version;</userinput></screen>
 
<para>Compile the package:</para>
 
<screen><userinput remap="make">make</userinput></screen>
 
<para>To test the results, issue:</para>
 
<screen><userinput remap="test">make check</userinput></screen>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-gperf" role="content">
<title>Contents of Gperf</title>
 
<segmentedlist>
<segtitle>Installed programs</segtitle>
 
<seglistitem>
<seg>gperf</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="gperf">
<term><command>gperf</command></term>
<listitem>
<para>Generates a perfect hash from a key set</para>
<indexterm zone="ch-system-gperf gperf">
<primary sortas="b-gperf">gperf</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter06/attr.xml
0,0 → 1,146
<?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</userinput></screen>
 
<para>Compile the package:</para>
 
<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>
 
<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>
/branches/LFS_7.5_Systemd/chapter07/site.xml
File deleted
/branches/LFS_7.5_Systemd/chapter07/usage.xml
File deleted
/branches/LFS_7.5_Systemd/chapter07/profile.xml
File deleted
\ No newline at end of file
/branches/LFS_7.5_Systemd/chapter07/setclock.xml
File deleted
/branches/LFS_7.5_Systemd/chapter07/bootscripts.xml
File deleted
/branches/LFS_7.5_Systemd/chapter07/sysklogd.xml
File deleted
/branches/LFS_7.5_Systemd/chapter07/clock.xml
0,0 → 1,75
<?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-scripts-clock">
<?dbhtml filename="clock.html"?>
 
<title>Configuring the system clock</title>
 
<indexterm zone="ch-scripts-clock">
<primary sortas="d-clock">clock</primary>
<secondary>configuring</secondary></indexterm>
 
<para>This section discusses how to configure the
<command>systemd-timedated</command> system service, which configures
system clock and timezone.</para>
 
<para>If you cannot remember whether or not the hardware clock is set to UTC,
find out by running the <userinput>hwclock --localtime --show</userinput>
command. This will display what the current time is according to the hardware
clock. If this time matches whatever your watch says, then the hardware clock is
set to local time. If the output from <command>hwclock</command> is not local
time, chances are it is set to UTC time. Verify this by adding or subtracting
the proper amount of hours for the timezone to the time shown by
<command>hwclock</command>. For example, if you are currently in the MST
timezone, which is also known as GMT -0700, add seven hours to the local
time.</para>
 
<para><command>systemd-timedated</command> reads <filename>/etc/adjtime</filename>,
and depending on the contents of the file, it sets the clock to either UTC or
local time.</para>
 
<para>Create the <filename>/etc/adjtime</filename> file with the following contents
if your hardware clock is set to local time:</para>
 
<screen role="nodump"><userinput>cat &gt; /etc/adjtime &lt;&lt; "EOF"
<literal>0.0 0 0.0
 
LOCAL</literal>
EOF</userinput></screen>
 
<para>If <filename>/etc/adjtime</filename> isn't present at first boot,
<command>systemd-timedated</command> will assume that hardware clock is
set to UTC and adjust the file according to that.</para>
 
<para>You can also use the <command>timedatectl</command> utility to tell
<command>systemd-timedated</command> if your hardware clock is set to
UTC or local time:</para>
 
<screen role="nodump"><userinput>timedatectl set-local-rtc 1</userinput></screen>
 
<para><command>timedatectl</command> can also be used to change system time and
time zone.</para>
 
<para>To change your current system time, issue:</para>
 
<screen role="nodump"><userinput>timedatectl set-time YYYY:MM:DD HH:MM:SS</userinput></screen>
 
<para>Hardware clock will also be updated accordingly.</para>
 
<para>To change your current time zone, issue:</para>
 
<screen role="nodump"><userinput>timedatectl set-timezone TIMEZONE</userinput></screen>
 
<para>You can get list of available time zones by running:</para>
 
<screen role="nodump"><userinput>timedatectl list-timezones</userinput></screen>
 
<note><para>Please note that <command>timedatectl</command> command can
be used only on a system booted with Systemd.</para></note>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter07/network-scripts.xml
0,0 → 1,104
<?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-scripts-network-scripts" role="wrap">
<?dbhtml filename="network-scripts.html"?>
 
<sect1info condition="script">
<productname>lfs-network-scripts</productname>
<productnumber>&lfs-network-scripts-version;</productnumber>
<address>&lfs-network-scripts-url;</address>
</sect1info>
 
<title>LFS-Network-Scripts-&lfs-network-scripts-version;</title>
 
<indexterm zone="ch-scripts-network-scripts">
<primary sortas="a-Network-Scripts">Network-Scripts</primary>
</indexterm>
 
<sect2 role="package">
<title/>
 
<para>The LFS-Network-Scripts package contains a set of scripts to configure the
network at bootup and deconfigure it at shutdown.</para>
 
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
 
<seglistitem>
<seg>&lfs-network-scripts-ch7-sbu;</seg>
<seg>&lfs-network-scripts-ch7-du;</seg>
</seglistitem>
</segmentedlist>
 
</sect2>
 
<sect2 role="installation">
<title>Installation of LFS-Network-Scripts</title>
 
<para>Install the package:</para>
 
<screen><userinput remap="install">make install</userinput></screen>
 
</sect2>
 
<sect2 id="contents-network-scripts" role="content">
<title>Contents of LFS-Network-Scripts</title>
<segmentedlist>
<segtitle>Installed scripts</segtitle>
<segtitle>Installed systemd units</segtitle>
<segtitle>Installed directories</segtitle>
 
<seglistitem>
<seg>ifdown, ifup, ipv4-static</seg>
<seg>ifupdown@.service</seg>
<seg>/etc/sysconfig, /lib/services, /lib/lsb (symbolic link)</seg>
</seglistitem>
</segmentedlist>
 
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
 
<varlistentry id="ifdown-network-scripts">
<term><command>ifdown</command></term>
<listitem>
<para>Stops a network device.</para>
<indexterm zone="ch-scripts-network-scripts ifdown-network-scripts">
<primary sortas="d-ifdown">ifdown</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ifup-network-scripts">
<term><command>ifup</command></term>
<listitem>
<para>Initializes a network device.</para>
<indexterm zone="ch-scripts-network-scripts ifup-network-scripts">
<primary sortas="d-ifup">ifup</primary>
</indexterm>
</listitem>
</varlistentry>
 
<varlistentry id="ipv4-static-network-scripts">
<term><command>ipv4-static</command></term>
<listitem>
<para>Provides the functionality needed to assign a static Internet
Protocol (IP) address to a network interface.</para>
<indexterm zone="ch-scripts-network-scripts ipv4-static-network-scripts">
<primary sortas="d-ipv4-static">ipv4-static</primary>
</indexterm>
</listitem>
</varlistentry>
 
</variablelist>
 
</sect2>
 
</sect1>
/branches/LFS_7.5_Systemd/chapter07/locale.xml
0,0 → 1,152
<?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-scripts-locale">
<?dbhtml filename="locale.html"?>
 
<title>Configuring the System Locale</title>
 
<indexterm zone="ch-scripts-locale">
<primary sortas="e-etc-locale-conf">/etc/locale.conf</primary>
</indexterm>
 
<para>The <filename>/etc/locale.conf</filename> below sets some
environment variables necessary for native language support. Setting
them properly results in:</para>
 
<itemizedlist>
<listitem>
<para>The output of programs translated into the native language</para>
</listitem>
<listitem>
<para>Correct classification of characters into letters, digits and other
classes. This is necessary for <command>bash</command> to properly accept
non-ASCII characters in command lines in non-English locales</para>
</listitem>
<listitem>
<para>The correct alphabetical sorting order for the country</para>
</listitem>
<listitem>
<para>Appropriate default paper size</para>
</listitem>
<listitem>
<para>Correct formatting of monetary, time, and date values</para>
</listitem>
</itemizedlist>
 
<para>Replace <replaceable>&lt;ll&gt;</replaceable> below with the two-letter code
for the desired language (e.g., <quote>en</quote>) and
<replaceable>&lt;CC&gt;</replaceable> with the two-letter code for the appropriate
country (e.g., <quote>GB</quote>). <replaceable>&lt;charmap&gt;</replaceable> should
be replaced with the canonical charmap for your chosen locale. Optional
modifiers such as <quote>@euro</quote> may also be present.</para>
 
<para>The list of all locales supported by Glibc can be obtained by running
the following command:</para>
 
<screen role="nodump"><userinput>locale -a</userinput></screen>
 
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote>
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
Some applications cannot handle the various synonyms correctly (e.g., require
that <quote>UTF-8</quote> is written as <quote>UTF-8</quote>, not
<quote>utf8</quote>), so it is safest in most
cases to choose the canonical name for a particular locale. To determine
the canonical name, run the following command, where <replaceable>&lt;locale
name&gt;</replaceable> is the output given by <command>locale -a</command> for
your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
 
<screen role="nodump"><userinput>LC_ALL=<replaceable>&lt;locale name&gt;</replaceable> locale charmap</userinput></screen>
 
<para>For the <quote>en_GB.iso88591</quote> locale, the above command
will print:</para>
 
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
 
<para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
It is important that the locale found using the heuristic above is tested prior
to it being added to the Bash startup files:</para>
 
<screen role="nodump"><userinput>LC_ALL=&lt;locale name&gt; locale language
LC_ALL=&lt;locale name&gt; locale charmap
LC_ALL=&lt;locale name&gt; locale int_curr_symbol
LC_ALL=&lt;locale name&gt; locale int_prefix</userinput></screen>
 
<para>The above commands should print the language name, the character
encoding used by the locale, the local currency, and the prefix to dial
before the telephone number in order to get into the country. If any of the
commands above fail with a message similar to the one shown below, this means
that your locale was either not installed in Chapter 6 or is not supported by
the default installation of Glibc.</para>
 
<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>
 
<para>If this happens, you should either install the desired locale using the
<command>localedef</command> command, or consider choosing a different locale.
Further instructions assume that there are no such error messages from
Glibc.</para>
 
<!-- FIXME: the xlib example will became obsolete real soon -->
<para>Some packages beyond LFS may also lack support for your chosen locale. One
example is the X library (part of the X Window System), which outputs the
following error message if the locale does not exactly match one of the character
map names in its internal files:</para>
 
<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
 
<para>In several cases Xlib expects that the character map will be listed in
uppercase notation with canonical dashes. For instance, "ISO-8859-1" rather
than "iso88591". It is also possible to find an appropriate specification by
removing the charmap part of the locale specification. This can be checked
by running the <command>locale charmap</command> command in both locales.
For example, one would have to change "de_DE.ISO-8859-15@euro" to
"de_DE@euro" in order to get this locale recognized by Xlib.</para>
 
<para>Other packages can also function incorrectly (but may not necessarily
display any error messages) if the locale name does not meet their expectations.
In those cases, investigating how other Linux distributions support your locale
might provide some useful information.</para>
 
<para>Once the proper locale settings have been determined, create the
<filename>/etc/locale.conf</filename> file:</para>
 
<screen><userinput>cat &gt; /etc/locale.conf &lt;&lt; "EOF"
<literal>LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable></literal>
EOF</userinput></screen>
 
<para>Note that you can modify <filename>/etc/locale.conf</filename> with
Systemd <command>localectl</command> utility. To use <command>localectl</command>
for the example above, run:</para>
 
<screen role="nodump"><userinput>localectl set-locale LANG="<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>"</userinput></screen>
 
<para>You can also specify other language specific environment variables such
as <envar>LANG</envar>, <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or
any other environment variable from <command>locale</command> output. Just
separate them with a space. An example where <envar>LANG</envar> is set as
en_US.UTF-8 but <envar>LC_CTYPE</envar> is set as just en_US is:</para>
 
<screen role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
 
<note><para>Please note that <command>localectl</command> command can
be used only on a system booted with Systemd.</para></note>
 
<para>The <quote>C</quote> (default) and <quote>en_US</quote> (the recommended
one for United States English users) locales are different. <quote>C</quote>
uses the US-ASCII 7-bit character set, and treats bytes with the high bit set
as invalid characters. That's why, e.g., the <command>ls</command> command
substitutes them with question marks in that locale. Also, an attempt to send
mail with such characters from Mutt or Pine results in non-RFC-conforming
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
8-bit</quote>). So you can use the <quote>C</quote> locale only if you are sure that
you will never need 8-bit characters.</para>
 
<para>UTF-8 based locales are not supported well by many programs.
Work is in progress to document and, if possible, fix such problems, see
<ulink url="&blfs-root;view/svn/introduction/locale-issues.html"/>.</para>
 
</sect1>
/branches/LFS_7.5_Systemd/appendices/udev-rules.xml
File deleted
\ No newline at end of file
/branches/LFS_7.5_Systemd/appendices/scripts.xml
File deleted
\ No newline at end of file
/branches/LFS_7.5_Systemd/network-scripts/lfs/units/ifupdownat.service
0,0 → 1,12
[Unit]
Description=Start ifupdown for %I
BindTo=sys-subsystem-net-devices-%i.device
ConditionPathExists=/etc/sysconfig/ifconfig.%i
 
[Service]
ExecStart=/sbin/ifup %I
ExecStop=/sbin/ifdown %I
RemainAfterExit=true
 
[Install]
WantedBy=multi-user.target
/branches/LFS_7.5_Systemd/network-scripts/lfs/lib/services/ipv4-static-route
0,0 → 1,92
#!/bin/sh
########################################################################
# Begin /lib/services/ipv4-static-route
#
# Description : IPV4 Static Route Script
#
# Authors : Kevin P. Fleming - kpfleming@linuxfromscratch.org
# DJ Lucas - dj@linuxfromscratch.org
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
# Version : LFS 7.0
#
########################################################################
 
. /lib/lsb/init-functions
. ${IFCONFIG}
 
case "${TYPE}" in
("" | "network")
need_ip=1
need_gateway=1
;;
 
("default")
need_gateway=1
args="${args} default"
desc="default"
;;
 
("host")
need_ip=1
;;
 
("unreachable")
need_ip=1
args="${args} unreachable"
desc="unreachable "
;;
 
(*)
log_failure_msg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue."
exit 1
;;
esac
 
if [ -n "${need_ip}" ]; then
if [ -z "${IP}" ]; then
log_failure_msg "IP variable missing from ${IFCONFIG}, cannot continue."
exit 1
fi
 
if [ -z "${PREFIX}" ]; then
log_failure_msg "PREFIX variable missing from ${IFCONFIG}, cannot continue."
exit 1
fi
args="${args} ${IP}/${PREFIX}"
desc="${desc}${IP}/${PREFIX}"
fi
 
if [ -n "${need_gateway}" ]; then
if [ -z "${GATEWAY}" ]; then
log_failure_msg "GATEWAY variable missing from ${IFCONFIG}, cannot continue."
exit 1
fi
args="${args} via ${GATEWAY}"
fi
 
if [ -n "${SOURCE}" ]; then
args="${args} src ${SOURCE}"
fi
 
case "${2}" in
up)
log_info_msg "Adding '${desc}' route to the ${1} interface..."
ip route add ${args} dev ${1}
evaluate_retval
;;
down)
log_info_msg "Removing '${desc}' route from the ${1} interface..."
ip route del ${args} dev ${1}
evaluate_retval
;;
*)
echo "Usage: ${0} [interface] {up|down}"
exit 1
;;
esac
 
# End /lib/services/ipv4-static-route
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: network-scripts/lfs/lib/services/ipv4-static
===================================================================
--- network-scripts/lfs/lib/services/ipv4-static (nonexistent)
+++ network-scripts/lfs/lib/services/ipv4-static (revision 5793)
@@ -0,0 +1,83 @@
+#!/bin/sh
+########################################################################
+# Begin /lib/services/ipv4-static
+#
+# Description : IPV4 Static Boot Script
+#
+# Authors : Nathan Coulson - nathan@linuxfromscratch.org
+# Kevin P. Fleming - kpfleming@linuxfromscratch.org
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
+#
+# Version : LFS 7.0
+#
+########################################################################
+
+. /lib/lsb/init-functions
+. ${IFCONFIG}
+
+if [ -z "${IP}" ]; then
+ log_failure_msg "\nIP variable missing from ${IFCONFIG}, cannot continue."
+ exit 1
+fi
+
+if [ -z "${PREFIX}" -a -z "${PEER}" ]; then
+ log_warning_msg "\nPREFIX variable missing from ${IFCONFIG}, assuming 24."
+ PREFIX=24
+ args="${args} ${IP}/${PREFIX}"
+
+elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then
+ log_failure_msg "\nPREFIX and PEER both specified in ${IFCONFIG}, cannot continue."
+ exit 1
+
+elif [ -n "${PREFIX}" ]; then
+ args="${args} ${IP}/${PREFIX}"
+
+elif [ -n "${PEER}" ]; then
+ args="${args} ${IP} peer ${PEER}"
+fi
+
+if [ -n "${BROADCAST}" ]; then
+ args="${args} broadcast ${BROADCAST}"
+fi
+
+case "${2}" in
+ up)
+ if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" = "" ]; then
+
+ # Cosmetic output not needed for multiple services
+ if ! $(echo ${SERVICE} | grep -q " "); then
+ log_info_msg2 "\n" # Terminate the previous message
+ fi
+
+ log_info_msg "Adding IPv4 address ${IP} to the ${1} interface..."
+ ip addr add ${args} dev ${1}
+ evaluate_retval
+ else
+ log_warning_msg "Cannot add IPv4 address ${IP} to ${1}. Already present."
+ fi
+ ;;
+
+ down)
+ if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" != "" ]; then
+ log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..."
+ ip addr del ${args} dev ${1}
+ evaluate_retval
+ fi
+
+ if [ -n "${GATEWAY}" ]; then
+ # Only remove the gateway if there are no remaining ipv4 addresses
+ if [ "$(ip addr show ${1} 2>/dev/null | grep 'inet ')" != "" ]; then
+ log_info_msg "Removing default gateway..."
+ ip route del default
+ evaluate_retval
+ fi
+ fi
+ ;;
+
+ *)
+ echo "Usage: ${0} [interface] {up|down}"
+ exit 1
+ ;;
+esac
+
+# End /lib/services/ipv4-static
/network-scripts/lfs/lib/services/ipv4-static
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: network-scripts/lfs/lib/services/init-functions
===================================================================
--- network-scripts/lfs/lib/services/init-functions (nonexistent)
+++ network-scripts/lfs/lib/services/init-functions (revision 5793)
@@ -0,0 +1,800 @@
+#!/bin/sh
+########################################################################
+#
+# Begin /lib/lsb/init-funtions
+#
+# Description : Run Level Control Functions
+#
+# Authors : Gerard Beekmans - gerard@linuxfromscratch.org
+# : DJ Lucas - dj@linuxfromscratch.org
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
+#
+# Version : LFS 7.0
+#
+# Notes : With code based on Matthias Benkmann's simpleinit-msb
+# http://winterdrache.de/linux/newboot/index.html
+#
+# The file should be located in /lib/lsb
+#
+########################################################################
+
+## Environmental setup
+# Setup default values for environment
+umask 022
+export PATH="/bin:/usr/bin:/sbin:/usr/sbin"
+
+## Screen Dimensions
+# Find current screen size
+if [ -z "${COLUMNS}" ]; then
+ COLUMNS=$(stty size)
+ COLUMNS=${COLUMNS##* }
+fi
+
+# When using remote connections, such as a serial port, stty size returns 0
+if [ "${COLUMNS}" = "0" ]; then
+ COLUMNS=80
+fi
+
+## Measurements for positioning result messages
+COL=$((${COLUMNS} - 8))
+WCOL=$((${COL} - 2))
+
+## Set Cursor Position Commands, used via echo
+SET_COL="\\033[${COL}G" # at the $COL char
+SET_WCOL="\\033[${WCOL}G" # at the $WCOL char
+CURS_UP="\\033[1A\\033[0G" # Up one line, at the 0'th char
+CURS_ZERO="\\033[0G"
+
+## Set color commands, used via echo
+# Please consult `man console_codes for more information
+# under the "ECMA-48 Set Graphics Rendition" section
+#
+# Warning: when switching from a 8bit to a 9bit font,
+# the linux console will reinterpret the bold (1;) to
+# the top 256 glyphs of the 9bit font. This does
+# not affect framebuffer consoles
+
+NORMAL="\\033[0;39m" # Standard console grey
+SUCCESS="\\033[1;32m" # Success is green
+WARNING="\\033[1;33m" # Warnings are yellow
+FAILURE="\\033[1;31m" # Failures are red
+INFO="\\033[1;36m" # Information is light cyan
+BRACKET="\\033[1;34m" # Brackets are blue
+
+# Use a colored prefix
+BMPREFIX=" "
+SUCCESS_PREFIX="${SUCCESS} * ${NORMAL}"
+FAILURE_PREFIX="${FAILURE}*****${NORMAL}"
+WARNING_PREFIX="${WARNING} *** ${NORMAL}"
+
+SUCCESS_SUFFIX="${BRACKET}[${SUCCESS} OK ${BRACKET}]${NORMAL}"
+FAILURE_SUFFIX="${BRACKET}[${FAILURE} FAIL ${BRACKET}]${NORMAL}"
+WARNING_SUFFIX="${BRACKET}[${WARNING} WARN ${BRACKET}]${NORMAL}"
+
+ENABLE_LOG=0
+BOOTLOG=/run/var/bootlog
+KILLDELAY=3
+
+################################################################################
+# start_daemon() #
+# Usage: start_daemon [-f] [-n nicelevel] [-p pidfile] pathname [args...] #
+# #
+# Purpose: This runs the specified program as a daemon #
+# #
+# Inputs: -f: (force) run the program even if it is already running. #
+# -n nicelevel: specify a nice level. See 'man nice(1)'. #
+# -p pidfile: use the specified file to determine PIDs. #
+# pathname: the complete path to the specified program #
+# args: additional arguments passed to the program (pathname) #
+# #
+# Return values (as defined by LSB exit codes): #
+# 0 - program is running or service is OK #
+# 1 - generic or unspecified error #
+# 2 - invalid or excessive argument(s) #
+# 5 - program is not installed #
+################################################################################
+start_daemon()
+{
+ local force=""
+ local nice="0"
+ local pidfile=""
+ local pidlist=""
+ local retval=""
+
+ # Process arguments
+ while true
+ do
+ case "${1}" in
+
+ -f)
+ force="1"
+ shift 1
+ ;;
+
+ -n)
+ nice="${2}"
+ shift 2
+ ;;
+
+ -p)
+ pidfile="${2}"
+ shift 2
+ ;;
+
+ -*)
+ return 2
+ ;;
+
+ *)
+ program="${1}"
+ break
+ ;;
+ esac
+ done
+
+ # Check for a valid program
+ if [ ! -e "${program}" ]; then return 5; fi
+
+ # Execute
+ if [ -z "${force}" ]; then
+ if [ -z "${pidfile}" ]; then
+ # Determine the pid by discovery
+ pidlist=`pidofproc "${1}"`
+ retval="${?}"
+ else
+ # The PID file contains the needed PIDs
+ # Note that by LSB requirement, the path must be given to pidofproc,
+ # however, it is not used by the current implementation or standard.
+ pidlist=`pidofproc -p "${pidfile}" "${1}"`
+ retval="${?}"
+ fi
+
+ # Return a value ONLY
+ # It is the init script's (or distribution's functions) responsibilty
+ # to log messages!
+ case "${retval}" in
+
+ 0)
+ # Program is already running correctly, this is a
+ # successful start.
+ return 0
+ ;;
+
+ 1)
+ # Program is not running, but an invalid pid file exists
+ # remove the pid file and continue
+ rm -f "${pidfile}"
+ ;;
+
+ 3)
+ # Program is not running and no pidfile exists
+ # do nothing here, let start_deamon continue.
+ ;;
+
+ *)
+ # Others as returned by status values shall not be interpreted
+ # and returned as an unspecified error.
+ return 1
+ ;;
+ esac
+ fi
+
+ # Do the start!
+ nice -n "${nice}" "${@}"
+}
+
+################################################################################
+# killproc() #
+# Usage: killproc [-p pidfile] pathname [signal] #
+# #
+# Purpose: Send control signals to running processes #
+# #
+# Inputs: -p pidfile, uses the specified pidfile #
+# pathname, pathname to the specified program #
+# signal, send this signal to pathname #
+# #
+# Return values (as defined by LSB exit codes): #
+# 0 - program (pathname) has stopped/is already stopped or a #
+# running program has been sent specified signal and stopped #
+# successfully #
+# 1 - generic or unspecified error #
+# 2 - invalid or excessive argument(s) #
+# 5 - program is not installed #
+# 7 - program is not running and a signal was supplied #
+################################################################################
+killproc()
+{
+ local pidfile
+ local program
+ local prefix
+ local progname
+ local signal="-TERM"
+ local fallback="-KILL"
+ local nosig
+ local pidlist
+ local retval
+ local pid
+ local delay="30"
+ local piddead
+ local dtime
+
+ # Process arguments
+ while true; do
+ case "${1}" in
+ -p)
+ pidfile="${2}"
+ shift 2
+ ;;
+
+ *)
+ program="${1}"
+ if [ -n "${2}" ]; then
+ signal="${2}"
+ fallback=""
+ else
+ nosig=1
+ fi
+
+ # Error on additional arguments
+ if [ -n "${3}" ]; then
+ return 2
+ else
+ break
+ fi
+ ;;
+ esac
+ done
+
+ # Check for a valid program
+ if [ ! -e "${program}" ]; then return 5; fi
+
+ # Check for a valid signal
+ check_signal "${signal}"
+ if [ "${?}" -ne "0" ]; then return 2; fi
+
+ # Get a list of pids
+ if [ -z "${pidfile}" ]; then
+ # determine the pid by discovery
+ pidlist=`pidofproc "${1}"`
+ retval="${?}"
+ else
+ # The PID file contains the needed PIDs
+ # Note that by LSB requirement, the path must be given to pidofproc,
+ # however, it is not used by the current implementation or standard.
+ pidlist=`pidofproc -p "${pidfile}" "${1}"`
+ retval="${?}"
+ fi
+
+ # Return a value ONLY
+ # It is the init script's (or distribution's functions) responsibilty
+ # to log messages!
+ case "${retval}" in
+
+ 0)
+ # Program is running correctly
+ # Do nothing here, let killproc continue.
+ ;;
+
+ 1)
+ # Program is not running, but an invalid pid file exists
+ # Remove the pid file.
+ rm -f "${pidfile}"
+
+ # This is only a success if no signal was passed.
+ if [ -n "${nosig}" ]; then
+ return 0
+ else
+ return 7
+ fi
+ ;;
+
+ 3)
+ # Program is not running and no pidfile exists
+ # This is only a success if no signal was passed.
+ if [ -n "${nosig}" ]; then
+ return 0
+ else
+ return 7
+ fi
+ ;;
+
+ *)
+ # Others as returned by status values shall not be interpreted
+ # and returned as an unspecified error.
+ return 1
+ ;;
+ esac
+
+ # Perform different actions for exit signals and control signals
+ check_sig_type "${signal}"
+
+ if [ "${?}" -eq "0" ]; then # Signal is used to terminate the program
+
+ # Account for empty pidlist (pid file still exists and no
+ # signal was given)
+ if [ "${pidlist}" != "" ]; then
+
+ # Kill the list of pids
+ for pid in ${pidlist}; do
+
+ kill -0 "${pid}" 2> /dev/null
+
+ if [ "${?}" -ne "0" ]; then
+ # Process is dead, continue to next and assume all is well
+ continue
+ else
+ kill "${signal}" "${pid}" 2> /dev/null
+
+ # Wait up to ${delay}/10 seconds to for "${pid}" to
+ # terminate in 10ths of a second
+
+ while [ "${delay}" -ne "0" ]; do
+ kill -0 "${pid}" 2> /dev/null || piddead="1"
+ if [ "${piddead}" = "1" ]; then break; fi
+ sleep 0.1
+ delay="$(( ${delay} - 1 ))"
+ done
+
+ # If a fallback is set, and program is still running, then
+ # use the fallback
+ if [ -n "${fallback}" -a "${piddead}" != "1" ]; then
+ kill "${fallback}" "${pid}" 2> /dev/null
+ sleep 1
+ # Check again, and fail if still running
+ kill -0 "${pid}" 2> /dev/null && return 1
+ fi
+ fi
+ done
+ fi
+
+ # Check for and remove stale PID files.
+ if [ -z "${pidfile}" ]; then
+ # Find the basename of $program
+ prefix=`echo "${program}" | sed 's/[^/]*$//'`
+ progname=`echo "${program}" | sed "s@${prefix}@@"`
+
+ if [ -e "/var/run/${progname}.pid" ]; then
+ rm -f "/var/run/${progname}.pid" 2> /dev/null
+ fi
+ else
+ if [ -e "${pidfile}" ]; then rm -f "${pidfile}" 2> /dev/null; fi
+ fi
+
+ # For signals that do not expect a program to exit, simply
+ # let kill do it's job, and evaluate kills return for value
+
+ else # check_sig_type - signal is not used to terminate program
+ for pid in ${pidlist}; do
+ kill "${signal}" "${pid}"
+ if [ "${?}" -ne "0" ]; then return 1; fi
+ done
+ fi
+}
+
+################################################################################
+# pidofproc() #
+# Usage: pidofproc [-p pidfile] pathname #
+# #
+# Purpose: This function returns one or more pid(s) for a particular daemon #
+# #
+# Inputs: -p pidfile, use the specified pidfile instead of pidof #
+# pathname, path to the specified program #
+# #
+# Return values (as defined by LSB status codes): #
+# 0 - Success (PIDs to stdout) #
+# 1 - Program is dead, PID file still exists (remaining PIDs output) #
+# 3 - Program is not running (no output) #
+################################################################################
+pidofproc()
+{
+ local pidfile
+ local program
+ local prefix
+ local progname
+ local pidlist
+ local lpids
+ local exitstatus="0"
+
+ # Process arguments
+ while true; do
+ case "${1}" in
+
+ -p)
+ pidfile="${2}"
+ shift 2
+ ;;
+
+ *)
+ program="${1}"
+ if [ -n "${2}" ]; then
+ # Too many arguments
+ # Since this is status, return unknown
+ return 4
+ else
+ break
+ fi
+ ;;
+ esac
+ done
+
+ # If a PID file is not specified, try and find one.
+ if [ -z "${pidfile}" ]; then
+ # Get the program's basename
+ prefix=`echo "${program}" | sed 's/[^/]*$//'`
+
+ if [ -z "${prefix}" ]; then
+ progname="${program}"
+ else
+ progname=`echo "${program}" | sed "s@${prefix}@@"`
+ fi
+
+ # If a PID file exists with that name, assume that is it.
+ if [ -e "/var/run/${progname}.pid" ]; then
+ pidfile="/var/run/${progname}.pid"
+ fi
+ fi
+
+ # If a PID file is set and exists, use it.
+ if [ -n "${pidfile}" -a -e "${pidfile}" ]; then
+
+ # Use the value in the first line of the pidfile
+ pidlist=`/bin/head -n1 "${pidfile}"`
+ # This can optionally be written as 'sed 1q' to repalce 'head -n1'
+ # should LFS move /bin/head to /usr/bin/head
+ else
+ # Use pidof
+ pidlist=`pidof "${program}"`
+ fi
+
+ # Figure out if all listed PIDs are running.
+ for pid in ${pidlist}; do
+ kill -0 ${pid} 2> /dev/null
+
+ if [ "${?}" -eq "0" ]; then
+ lpids="${lpids}${pid} "
+ else
+ exitstatus="1"
+ fi
+ done
+
+ if [ -z "${lpids}" -a ! -f "${pidfile}" ]; then
+ return 3
+ else
+ echo "${lpids}"
+ return "${exitstatus}"
+ fi
+}
+
+################################################################################
+# statusproc() #
+# Usage: statusproc [-p pidfile] pathname #
+# #
+# Purpose: This function prints the status of a particular daemon to stdout #
+# #
+# Inputs: -p pidfile, use the specified pidfile instead of pidof #
+# pathname, path to the specified program #
+# #
+# Return values: #
+# 0 - Status printed #
+# 1 - Input error. The daemon to check was not specified. #
+################################################################################
+statusproc()
+{
+ local pidfile
+ local pidlist
+
+ if [ "${#}" = "0" ]; then
+ echo "Usage: statusproc [-p pidfle] {program}"
+ exit 1
+ fi
+
+ # Process arguments
+ while true; do
+ case "${1}" in
+
+ -p)
+ pidfile="${2}"
+ shift 2
+ ;;
+
+ *)
+ if [ -n "${2}" ]; then
+ echo "Too many arguments"
+ return 1
+ else
+ break
+ fi
+ ;;
+ esac
+ done
+
+ if [ -n "${pidfile}" ]; then
+ pidlist=`pidofproc -p "${pidfile}" $@`
+ else
+ pidlist=`pidofproc $@`
+ fi
+
+ # Trim trailing blanks
+ pidlist=`echo "${pidlist}" | sed -r 's/ +$//'`
+
+ base="${1##*/}"
+
+ if [ -n "${pidlist}" ]; then
+ /bin/echo -e "${INFO}${base} is running with Process" \
+ "ID(s) ${pidlist}.${NORMAL}"
+ else
+ if [ -n "${base}" -a -e "/var/run/${base}.pid" ]; then
+ /bin/echo -e "${WARNING}${1} is not running but" \
+ "/var/run/${base}.pid exists.${NORMAL}"
+ else
+ if [ -n "${pidfile}" -a -e "${pidfile}" ]; then
+ /bin/echo -e "${WARNING}${1} is not running" \
+ "but ${pidfile} exists.${NORMAL}"
+ else
+ /bin/echo -e "${INFO}${1} is not running.${NORMAL}"
+ fi
+ fi
+ fi
+}
+
+################################################################################
+# timespec() #
+# #
+# Purpose: An internal utility function to format a timestamp #
+# a boot log file. Sets the STAMP variable. #
+# #
+# Return value: Not used #
+################################################################################
+timespec()
+{
+ STAMP="$(echo `date +"%b %d %T %:z"` `hostname`) "
+ return 0
+}
+
+################################################################################
+# log_success_msg() #
+# Usage: log_success_msg ["message"] #
+# #
+# Purpose: Print a successful status message to the screen and #
+# a boot log file. #
+# #
+# Inputs: $@ - Message #
+# #
+# Return values: Not used #
+################################################################################
+log_success_msg()
+{
+ /bin/echo -n -e "${BMPREFIX}${@}"
+ /bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}"
+
+ # Strip non-printable characters from log file
+ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
+
+if [ "${ENABLE_LOG}" = "1" ]; then
+ timespec
+ /bin/echo -e "${STAMP} ${logmessage} OK" >> ${BOOTLOG}
+fi
+ return 0
+}
+
+log_success_msg2()
+{
+ /bin/echo -n -e "${BMPREFIX}${@}"
+ /bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}"
+
+if [ "${ENABLE_LOG}" = "1" ]; then
+ echo " OK" >> ${BOOTLOG}
+fi
+
+ return 0
+}
+
+################################################################################
+# log_failure_msg() #
+# Usage: log_failure_msg ["message"] #
+# #
+# Purpose: Print a failure status message to the screen and #
+# a boot log file. #
+# #
+# Inputs: $@ - Message #
+# #
+# Return values: Not used #
+################################################################################
+log_failure_msg()
+{
+ /bin/echo -n -e "${BMPREFIX}${@}"
+ /bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}"
+
+ # Strip non-printable characters from log file
+
+if [ "${ENABLE_LOG}" = "1" ]; then
+ timespec
+ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
+ /bin/echo -e "${STAMP} ${logmessage} FAIL" >> ${BOOTLOG}
+fi
+
+ return 0
+}
+
+log_failure_msg2()
+{
+ /bin/echo -n -e "${BMPREFIX}${@}"
+ /bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}"
+
+if [ "${ENABLE_LOG}" = "1" ]; then
+ echo "FAIL" >> ${BOOTLOG}
+fi
+
+ return 0
+}
+
+################################################################################
+# log_warning_msg() #
+# Usage: log_warning_msg ["message"] #
+# #
+# Purpose: Print a warning status message to the screen and #
+# a boot log file. #
+# #
+# Return values: Not used #
+################################################################################
+log_warning_msg()
+{
+ /bin/echo -n -e "${BMPREFIX}${@}"
+ /bin/echo -e "${CURS_ZERO}${WARNING_PREFIX}${SET_COL}${WARNING_SUFFIX}"
+
+if [ "${ENABLE_LOG}" = "1" ]; then
+ # Strip non-printable characters from log file
+ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
+ timespec
+ /bin/echo -e "${STAMP} ${logmessage} WARN" >> ${BOOTLOG}
+fi
+
+ return 0
+}
+
+################################################################################
+# log_info_msg() #
+# Usage: log_info_msg message #
+# #
+# Purpose: Print an information message to the screen and #
+# a boot log file. Does not print a trailing newline character. #
+# #
+# Return values: Not used #
+################################################################################
+log_info_msg()
+{
+ /bin/echo -n -e "${BMPREFIX}${@}"
+
+if [ "${ENABLE_LOG}" = "1" ]; then
+ # Strip non-printable characters from log file
+ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
+ timespec
+ /bin/echo -n -e "${STAMP} ${logmessage}" >> ${BOOTLOG}
+fi
+
+ return 0
+}
+
+log_info_msg2()
+{
+ /bin/echo -n -e "${@}"
+
+if [ "${ENABLE_LOG}" = "1" ]; then
+ # Strip non-printable characters from log file
+ logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'`
+ /bin/echo -n -e "${logmessage}" >> ${BOOTLOG}
+fi
+
+ return 0
+}
+
+################################################################################
+# evaluate_retval() #
+# Usage: Evaluate a return value and print success or failyure as appropriate #
+# #
+# Purpose: Convenience function to terminate an info message #
+# #
+# Return values: Not used #
+################################################################################
+evaluate_retval()
+{
+ local error_value="${?}"
+
+ if [ ${error_value} = 0 ]; then
+ log_success_msg2
+ else
+ log_failure_msg2
+ fi
+}
+
+################################################################################
+# check_signal() #
+# Usage: check_signal [ -{signal} | {signal} ] #
+# #
+# Purpose: Check for a valid signal. This is not defined by any LSB draft, #
+# however, it is required to check the signals to determine if the #
+# signals chosen are invalid arguments to the other functions. #
+# #
+# Inputs: Accepts a single string value in the form or -{signal} or {signal} #
+# #
+# Return values: #
+# 0 - Success (signal is valid #
+# 1 - Signal is not valid #
+################################################################################
+check_signal()
+{
+ local valsig
+
+ # Add error handling for invalid signals
+ valsig="-ALRM -HUP -INT -KILL -PIPE -POLL -PROF -TERM -USR1 -USR2"
+ valsig="${valsig} -VTALRM -STKFLT -PWR -WINCH -CHLD -URG -TSTP -TTIN"
+ valsig="${valsig} -TTOU -STOP -CONT -ABRT -FPE -ILL -QUIT -SEGV -TRAP"
+ valsig="${valsig} -SYS -EMT -BUS -XCPU -XFSZ -0 -1 -2 -3 -4 -5 -6 -8 -9"
+ valsig="${valsig} -11 -13 -14 -15"
+
+ echo "${valsig}" | grep -- " ${1} " > /dev/null
+
+ if [ "${?}" -eq "0" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+################################################################################
+# check_sig_type() #
+# Usage: check_signal [ -{signal} | {signal} ] #
+# #
+# Purpose: Check if signal is a program termination signal or a control signal #
+# This is not defined by any LSB draft, however, it is required to #
+# check the signals to determine if they are intended to end a #
+# program or simply to control it. #
+# #
+# Inputs: Accepts a single string value in the form or -{signal} or {signal} #
+# #
+# Return values: #
+# 0 - Signal is used for program termination #
+# 1 - Signal is used for program control #
+################################################################################
+check_sig_type()
+{
+ local valsig
+
+ # The list of termination signals (limited to generally used items)
+ valsig="-ALRM -INT -KILL -TERM -PWR -STOP -ABRT -QUIT -2 -3 -6 -9 -14 -15"
+
+ echo "${valsig}" | grep -- " ${1} " > /dev/null
+
+ if [ "${?}" -eq "0" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+################################################################################
+# wait_for_user() #
+# #
+# Purpose: Wait for the user to respond if not a headless system #
+# #
+################################################################################
+wait_for_user()
+{
+ # Wait for the user by default
+ [ "${HEADLESS=0}" = "0" ] && read ENTER
+ return 0
+}
+
+################################################################################
+# is_true() #
+# #
+# Purpose: Utility to test if a variable is true | yes | 1 #
+# #
+################################################################################
+is_true()
+{
+ [ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ] || [ "$1" = "y" ] ||
+ [ "$1" = "t" ]
+}
+
+# End /lib/lsb/init-functions
Index: network-scripts/lfs/sbin/ifup
===================================================================
--- network-scripts/lfs/sbin/ifup (nonexistent)
+++ network-scripts/lfs/sbin/ifup (revision 5793)
@@ -0,0 +1,136 @@
+#!/bin/sh
+########################################################################
+# Begin /sbin/ifup
+#
+# Description : Interface Up
+#
+# Authors : Nathan Coulson - nathan@linuxfromscratch.org
+# Kevin P. Fleming - kpfleming@linuxfromscratch.org
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
+#
+# Version : LFS 7.2
+#
+# Notes : The IFCONFIG variable is passed to the SERVICE script
+# in the /lib/services directory, to indicate what file the
+# service should source to get interface specifications.
+#
+########################################################################
+
+up()
+{
+ if ip link show $1 > /dev/null 2>&1; then
+ link_status=`ip link show $1`
+
+ if [ -n "${link_status}" ]; then
+ if ! echo "${link_status}" | grep -q UP; then
+ ip link set $1 up
+ fi
+ fi
+
+ else
+ log_failure_msg "\nInterface ${IFACE} doesn't exist."
+ exit 1
+ fi
+}
+
+RELEASE="7.2"
+
+USAGE="Usage: $0 [ -hV ] [--help] [--version] interface"
+VERSTR="LFS ifup, version ${RELEASE}"
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --help | -h) help="y"; break ;;
+
+ --version | -V) echo "${VERSTR}"; exit 0 ;;
+
+ -*) echo "ifup: ${1}: invalid option" >&2
+ echo "${USAGE}" >& 2
+ exit 2 ;;
+
+ *) break ;;
+ esac
+done
+
+if [ -n "$help" ]; then
+ echo "${VERSTR}"
+ echo "${USAGE}"
+ echo
+ cat << HERE_EOF
+ifup is used to bring up a network interface. The interface
+parameter, e.g. eth0 or eth0:2, must match the trailing part of the
+interface specifications file, e.g. /etc/sysconfig/ifconfig.eth0:2.
+
+HERE_EOF
+ exit 0
+fi
+
+file=/etc/sysconfig/ifconfig.${1}
+
+# Skip backup files
+[ "${file}" = "${file%""~""}" ] || exit 0
+
+. /lib/lsb/init-functions
+
+log_info_msg "Bringing up the ${1} interface... "
+
+if [ ! -r "${file}" ]; then
+ log_failure_msg2 "${file} is missing or cannot be accessed."
+ exit 1
+fi
+
+. $file
+
+if [ "$IFACE" = "" ]; then
+ log_failure_msg2 "${file} does not define an interface [IFACE]."
+ exit 1
+fi
+
+# Do not process this service if started by boot, and ONBOOT
+# is not set to yes
+if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "yes" ]; then
+ log_info_msg2 "skipped"
+ exit 0
+fi
+
+for S in ${SERVICE}; do
+ if [ ! -x "/lib/services/${S}" ]; then
+ MSG="\nUnable to process ${file}. Either "
+ MSG="${MSG}the SERVICE '${S} was not present "
+ MSG="${MSG}or cannot be executed."
+ log_failure_msg "$MSG"
+ exit 1
+ fi
+done
+
+# Create/configure the interface
+for S in ${SERVICE}; do
+ IFCONFIG=${file} /lib/services/${S} ${IFACE} up
+done
+
+# Bring up the interface and any components
+for I in $IFACE $INTERFACE_COMPONENTS; do up $I; done
+
+# Set MTU if requested. Check if MTU has a "good" value.
+if test -n "${MTU}"; then
+ if [[ ${MTU} =~ ^[0-9]+$ ]] && [[ $MTU -ge 68 ]] ; then
+ for I in $IFACE $INTERFACE_COMPONENTS; do
+ ip link set dev $I mtu $MTU;
+ done
+ else
+ log_info_msg2 "Invalid MTU $MTU"
+ fi
+fi
+
+# Set the route default gateway if requested
+if [ -n "${GATEWAY}" ]; then
+ if ip route | grep -q default; then
+ log_warning_msg "\nGateway already setup; skipping."
+ else
+ log_info_msg "Setting up default gateway..."
+ ip route add default via ${GATEWAY} dev ${IFACE}
+ evaluate_retval
+ fi
+fi
+
+# End /sbin/ifup
/network-scripts/lfs/sbin/ifup
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: network-scripts/lfs/sbin/ifdown
===================================================================
--- network-scripts/lfs/sbin/ifdown (nonexistent)
+++ network-scripts/lfs/sbin/ifdown (revision 5793)
@@ -0,0 +1,100 @@
+#!/bin/bash
+########################################################################
+# Begin /sbin/ifdown
+#
+# Description : Interface Down
+#
+# Authors : Nathan Coulson - nathan@linuxfromscratch.org
+# Kevin P. Fleming - kpfleming@linuxfromscratch.org
+# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
+#
+# Version : LFS 7.0
+#
+# Notes : the IFCONFIG variable is passed to the scripts found
+# in the /lib/services directory, to indicate what file the
+# service should source to get interface specifications.
+#
+########################################################################
+
+RELEASE="7.0"
+
+USAGE="Usage: $0 [ -hV ] [--help] [--version] interface"
+VERSTR="LFS ifdown, version ${RELEASE}"
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --help | -h) help="y"; break ;;
+
+ --version | -V) echo "${VERSTR}"; exit 0 ;;
+
+ -*) echo "ifup: ${1}: invalid option" >&2
+ echo "${USAGE}" >& 2
+ exit 2 ;;
+
+ *) break ;;
+ esac
+done
+
+if [ -n "$help" ]; then
+ echo "${VERSTR}"
+ echo "${USAGE}"
+ echo
+ cat << HERE_EOF
+ifdown is used to bring down a network interface. The interface
+parameter, e.g. eth0 or eth0:2, must match the trailing part of the
+interface specifications file, e.g. /etc/sysconfig/ifconfig.eth0:2.
+
+HERE_EOF
+ exit 0
+fi
+
+file=/etc/sysconfig/ifconfig.${1}
+
+# Skip backup files
+[ "${file}" = "${file%""~""}" ] || exit 0
+
+. /lib/lsb/init-functions
+
+if [ ! -r "${file}" ]; then
+ log_warning_msg "${file} is missing or cannot be accessed."
+ exit 1
+fi
+
+. ${file}
+
+if [ "$IFACE" = "" ]; then
+ log_failure_msg "${file} does not define an interface [IFACE]."
+ exit 1
+fi
+
+# We only need to first service to bring down the interface
+S=`echo ${SERVICE} | cut -f1 -d" "`
+
+if ip link show ${IFACE} > /dev/null 2>&1; then
+ if [ -n "${S}" -a -x "/lib/services/${S}" ]; then
+ IFCONFIG=${file} /lib/services/${S} ${IFACE} down
+ else
+ MSG="Unable to process ${file}. Either "
+ MSG="${MSG}the SERVICE variable was not set "
+ MSG="${MSG}or the specified service cannot be executed."
+ log_failure_msg "$MSG"
+ exit 1
+ fi
+else
+ log_warning_msg "Interface ${1} doesn't exist."
+fi
+
+# Leave the interface up if there are additional interfaces in the device
+link_status=`ip link show ${IFACE} 2>/dev/null`
+
+if [ -n "${link_status}" ]; then
+ if [ "$(echo "${link_status}" | grep UP)" != "" ]; then
+ if [ "$(ip addr show ${IFACE} | grep 'inet ')" == "" ]; then
+ log_info_msg "Bringing down the ${IFACE} interface..."
+ ip link set ${IFACE} down
+ evaluate_retval
+ fi
+ fi
+fi
+
+# End /sbin/ifdown
/network-scripts/lfs/sbin/ifdown
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: network-scripts/lfs/sbin/ifup.8
===================================================================
--- network-scripts/lfs/sbin/ifup.8 (nonexistent)
+++ network-scripts/lfs/sbin/ifup.8 (revision 5793)
@@ -0,0 +1,174 @@
+ifup(8) ifup(8)
+
+NAME
+ ifup - bring a network interface up
+ ifdown - take a network interface down
+
+SYNOPSIS
+ ifup IFACE
+ ifup -h|--help
+ ifup -V|--version
+
+ ifdown IFACE
+ ifdown -h|--help
+ ifdown -V|--version
+
+DESCRIPTION
+ The ifup and ifdown commands may be used to configure
+ (or, respectively, deconfigure) a network interface based
+ on interface definitions in the file
+ /etc/sysconfig/ifconfig.IFACE.
+
+OPTIONS
+ A summary of options is included below.
+
+ -h, --help
+ Show summary of options.
+
+ -V, --version
+ Show version information.
+
+EXAMPLES
+ ifup eth0
+ Bring up the interface defined in the file
+ /etc/sysconfig/ifconfig.eth0
+
+ ONBOOT=no
+ IFACE=eth0
+ SERVICE=ipv4-static
+ IP=192.168.1.22
+ GATEWAY=192.168.1.1
+ PREFIX=24
+ BROADCAST=192.168.1.255
+
+ ifdown eth0:2
+ Bring down the interface defined in the file
+ /etc/sysconfig/ifconfig.eth0:2
+
+ ONBOOT=no
+ IFACE=eth0:2
+ SERVICE=dhcpcd
+
+ DHCP_START="--waitip"
+ DHCP_STOP="-k"
+
+ # Set PRINTIP="yes" to have the script print the DHCP IP address
+ PRINTIP="yes"
+
+ # Set PRINTALL="yes" to print the DHCP assigned values for
+ # IP, SM, DG, and 1st NS.
+ PRINTALL="no"
+
+ ifup br0
+ Bring up the interface defined in the file
+ /etc/sysconfig/ifconfig.br0
+
+ ONBOOT=yes
+ IFACE=br0
+ SERVICE="bridge ipv4-static"
+ IP=192.168.1.22
+ GATEWAY=192.168.1.1
+ PREFIX=24
+ BROADCAST=192.168.1.255
+ STP=no # Spanning tree protocol, default no
+ INTERFACE_COMPONENTS=eth0 # Add to IFACE
+ IP_FORWARD=true
+
+NOTES
+ The program does not configure network interfaces direct-
+ ly. It runs scripts defined by the SERVICE variable in
+ the network configuration file.
+
+ The configuration files must have the following environ-
+ ment variables set:
+
+ IFACE - The interface to configure, e.g. eth0. It must
+ be available in /sys/class/net.
+
+ SERVICE - The service script to run to bring up the inter-
+ face. Standard services are ipv4-static and
+ ipv4-static-route. Other services such as dhcp
+ or bridge may be installed. This value may
+ be a list of services when the interface is a
+ compound device such as a bridge.
+
+ ONBOOT - If set to 'yes', the specified interface is
+ configured by the netowrk boot script.
+
+ GATEWAY - The default IP address to use for routing if
+ the destination IP address is not in a static
+ route or on a local network, e.g., 192.168.1.1.
+ For secondary IP addresses on an interface, this
+ parameter should not be specified.
+
+ INTERFACE_COMPONENTS - A list of component interfaces
+ only needed for a compound device such as a bridge.
+ This list is normally a single value, e.g. eth0,
+ for use with a virtual host such as kvm.
+
+ Other paramters that are service specific include:
+
+ ipv4-static
+
+ IP - The IP address of the interface,
+ e.g. 192.168.1.2.
+
+ PREFIX - The number of bits that specify the network
+ number of the interface. The default, if not
+ specified, is 24.
+
+ BROADCAST - The brodcast address for this interface,
+ e.g 192.168.1.255. If not specified,
+ the broadcast address will be calculated
+ from the IP and PREFIX.
+
+ ipv4-static-route
+
+ TYPE - The type of route, typically 'default',
+ 'network', 'or host'.
+
+ IP - The IP address for a network or host, if the
+ TYPE is not 'default'.
+
+ PREFIX - The prefix for the associated IP address.
+
+ GATEWAY - The IP address for a network route.
+
+ SOURCE - The source IP address to prefer when sending
+ to the destinations covered by the specified
+ route. (optional)
+
+ dhcp/dhclient
+
+ DHCP_START - Optional parameters to pass to the dhcp client
+ at startup.
+
+ DHCP_STOP - Optional paremeters to pass to the dhcp client
+ at shutdown.
+
+ PRINTIP - Flag to print the dhcp address to stdout
+
+ PRINTALL - Flag to print all obtained dhcp data to stdout
+
+ bridge
+
+ IP_FORWARD - An optional flag to enable the system to forward
+ inbound IP packets received by one interface to
+ another outbound interface.
+
+ STP - Set bridge spanning tree protocol. Default is no.
+
+FILES
+ /etc/sysconfig/ifconfig.*
+ definitions of network interfaces
+
+AUTHORS
+ The ifup/ifdown suite was written by Nathan Coulson
+ <nathan@linuxfromscratch.org> and Kevin P. Fleming
+ <kpfleming@linuxfromscratch.org>
+ and updated by Bruce Dubbs <bdubbs@linuxfromscratch>.
+
+SEE ALSO
+ ip(8).
+
+IFUP/IFDOWN 8 April 2012 ifup(8)
Index: network-scripts/ChangeLog
===================================================================
--- network-scripts/ChangeLog (nonexistent)
+++ network-scripts/ChangeLog (revision 5793)
@@ -0,0 +1,1103 @@
+2013-05-18 Armin K. <krejzi@email.com>
+ * Remove LFS specific scripts from Systemd branch.
+
+2013-05-15 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Remove unneeded options and commands from mountfs and
+ mountvirtfs when mtab is a symlink to /proc/self/mounts
+
+2013-05-11 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Make sure the root fs is mounted read only in mountfs
+ before halting
+
+2013-01-24 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Remove local attribue of some variables for Bourne
+ shell compatability
+ * Specify /bin/echo in commands with -e switch for
+ Bourne shell compatability
+
+2012-10-13 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Remove unneeded sleep in killproc
+ * Add option for verbose fsck
+ * Flatten directory structure of tarball
+ * Remove /fastboot or /forcecheck if set
+
+2012-09-05 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Add udevadm trigger --action=change line to udev script
+ to support initramfs better
+
+2012-08-24 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Read /etc/sysconfig/console when needed in rc
+
+2012-06-17 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Only mount /run in mountvirtfs if it is not already mounted
+ (from an initrd).
+ * Force the /dev/shm->/run/shm symlink
+ * Skip making LVM virtual groups unavailable at shutdown
+ because the / or swap partitions may be still in use.
+
+2012-05-30 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Copy all entries in /lib/udev/devices to /dev in mounvirtfs
+
+2012-05-24 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Remove mkdir from mountvirtfs because fs is read only
+
+2012-04-09 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+
+ * General update of network scripts ifup/ifdown and services
+ ** Add if_true utility function to init_functions
+ ** Change variable INTERFACES to COMPONENT_INTERFACES for bridge interface
+ ** ifdown now only uses the first SERVICE
+ ** Updated ifup.8 to reflect current usage
+ ** ifup
+ *** Move interface up logic to after service scripts. Eliminates the
+ need for the LINK_CHECK variable.
+ *** Sets the GATEWAY if the variable is set
+ *** Add MTU logic to ifup
+
+2012-01-22 Matt Burgess <matthew@linuxfromscratch.org>
+
+ * lfs/init.d/udev: Change udevd path following upstream changes to its
+ location
+
+2011-12-23 Matt Burgess <matthew@linuxfromscratch.org>
+
+ * lfs/init.d/mountvirtfs: Correct permissions on /run/shm
+
+2011-11-28 DJ Lucas <dj@linuxfromscratch.org>
+
+ * lfs/init.d/mountfs: Add '-t nosysfs' to umount command
+ * lfs/init.d/mountvirtfs: remove unneeded spaces in output
+ * lfs/init.d/rc: Correct double interactive prompt and set prompt defaults
+ * lfs/init.d/setclock: Remove screen output from start case (udev)
+ * lfs/init.d/udev{,_retry}: Restore output to screen and log
+ * lfs/sbin/ifup: Change "..." to ": " (not awaiting additional output)
+
+2011-11-14 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+
+ * The following are from suggestions by DJ Lucas
+ ** General cleanup of scripts
+ ** Move consolelog function to rc
+ ** Clean up boot logging functions
+ ** Fix interactive prompt between run level S and target run level
+
+2011-10-06 Bryan Kadzban <bryan@linuxfromscratch.org>
+
+ * Add configuration for udev_retry, and remove --type=failed (which does
+ not work with recent udev versions anyway, since no events can possibly
+ trigger it). Start with just the "rtc" subsystem. BLFS should eventually
+ add "sound" to this file, and perhaps others.
+
+2011-09-18
+ * Review and update of changes made in previous change.
+ ** Rename /etc/sysconfig/init_params to /etc/sysconfig/rc.site.
+ ** Move network services to /lib/services.
+ ** Move init-functions to /lib/lsb.
+ *** /lib/lsb is a symlink to /lib/services.
+ * Create convenience symlink /etc/init.d->/etc/rc.d/init.d.
+ * Add help and man pages to upup/ifdown.
+ * Append /run/var/bootlog to /var/log/boot.log at the end of
+ the boot sequence.
+ * Add capabiltiy to step through the boot scripts at boot time
+ * Optionally allow environment variables in sysconfig directory's
+ console, network, and clock files to be placed in rc.site.
+ * Add an optional FASTBOOT parameter to set /fastboot when rebooting.
+
+2011-07-14 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * Major rewrite of all LFS scripts
+ ** Move ifup/ifdown to /sbin
+ ** Move functions and network services to /lib/boot
+ ** Remove contrib directory
+ ** Move all READ commands to functions and allow the user to specify
+ HEADLESS=1 to skip READ commands
+ ** Add /etc/sysconfig/init_params for adding environmental parameters
+ to all functions used in bootscripts
+ ** Move network configuration to /etc/sysconfig/ifconfig.*. The
+ ifconfig files can have any extension. Use IFACE parameter to
+ specify the target network interface within the configuration file.
+ ** Adds an optional parameter, SKIPTMPCLEAN, to skip the removal of
+ files in /tmp at bootup. Specify the variable in
+ /etc/sysconfig/init_params.
+
+2011-05-31 DJ Lucas <dj@linuxfromscratch.org>
+ * lfs/init.d/udev: Add multiple udev triggers for both subsystems and
+ devices per upstream recommendation.
+
+2011-04-19 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * lfs/init.d/mountvirtfs: Add creation of /run/{var,lock,shm}.
+ * lfs/init.d/udev: Add /dev/shm -> /run/shm symlink.
+
+2011-04-18 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * lfs/init.d/mountvirtfs: Change name from mountkernfs to mountvirtfs.
+ Add mounting of /run filesystem.
+
+2010-05-29 Matt Burgess <matthew@linuxfromscratch.org>
+ * lfs/init.d/udev: Only copy /lib/udev/devices/null, as Udev >= 155 copies
+ devices from /lib/udev/devices to /dev itself. Udevd still needs /dev/null
+ present before starting up though.
+
+2010-04-20 Bryan Kadzban <bryan@linuxfromscratch.org>
+ * lfs/init.d/udev, lfs/init.d/udev_retry: Add --action=add, to handle udev
+ version 152 and newer, which send "change" events by default in udevtrigger
+ now.
+
+2010-01-24 Matthew Burgess <matthew@linuxfromscratch.org>
+ * lfs/init.d/udev: Check to see if /dev is already mounted, as it may be if
+ under an initramfs environment. See ticket #2550.
+
+2009-08-14 Bryan Kadzban <bryan@linuxfromscratch.org>
+ * lfs/init.d/udev_retry: Use "udevadm trigger --type=failed", which
+ apparently replaced "--retry-failed" some time ago. "--retry-failed" is
+ removed in udev-146.
+
+2009-01-02 Bruce Dubbs <bdubbs@linuxfromscratch.org>
+ * lfs/init.d/functions:
+ * lfs/sysconfig/network-devices/ifup:
+ Updated line widths to accommodate pdf generation in both the above
+ files.
+
+2008-10-27 DJ Lucas <dj@linuxfromscratch.org>
+ * lfs/init.d/cleanfs: Removed '! -newer /proc' from find commands in
+ check for stale files in /var/lock and /var/run.
+ * Makefile: Reversed cleanfs and udev_retry scripts so that cleanfs
+ runs immediately after mountfs.
+
+2008-10-26 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/functions: Remove stale pid files when encountered
+ in loadproc/killproc/reloadproc. When the bootscript specifies
+ a pid file to use with the "-p pidfile" argument, *proc
+ functions previously bailed out when the referenced file
+ contains an invalid pid.
+
+2008-10-23 DJ Lucas <dj@linuxfromscratch.org>
+ * lfs/init.d/console: Removed BROKEN_COMPOSE as kernel patch has
+ been accepted upstream.
+
+2008-05-21 Bryan Kadzban <bryan@linuxfromscratch.org>
+ * lfs/init.d/udev, lfs/init.d/udev_retry: Use new udevadm program.
+
+2007-08-20 DJ Lucas <dj@linuxfromscratch.org>
+ * lfs/init.d/setclock: Added missing 'stop' argument to usage text
+
+2007-08-13 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/checkfs: Don't suppress error messages from the screen.
+
+2007-07-18 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * Makefile, lfs/init.d/consolelog: New bootscript controlling the
+ kernel log level on the console. This is controlled by the LOGLEVEL
+ variable in /etc/sysconfig/console.
+ * lfs/init.d/modules: Remove the log level handling since this is
+ done in the consolelog script now.
+ * lfs/init.d/modules: Clean up the script by removing the file
+ descriptor duplication and instead just redirecting
+ /etc/sysconfig/modules to the input of the while loop.
+
+2007-06-16 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/mountfs, lfs/init.d/mountkernfs, lfs/init.d/setclock,
+ lfs/init.d/modules, lfs/sysconfig/network-devices/if{up,down}:
+ Don't suppress stderr during bootscripts unless necessary. This
+ would prevent potentially critical messages from reaching the screen.
+
+2007-04-24 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/functions: When killproc is executed, it checks that
+ the process is still running, sleeps if it is, then checks again.
+ The sleep is 1 second in between checks. By sleeping for 0.1 seconds
+ in between checks, killproc is much faster as it's wasting much
+ less time sleeping in the normal case that the process has died
+ after a short delay.
+
+2007-04-16 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/functions: Redirect stderr when using kill to suppress
+ output.
+ * lfs/init.d/functions: killproc() was not handling the case where a
+ pidfile is passed to the function. The logic with the signal to be
+ used was causing issues with the handling of pidfiles. This has been
+ fixes, and now killproc() will recheck the process if the signal
+ was TERM (the default) or KILL.
+ * lfs/init.d/functions: statusproc() has been changed to use pidofproc()
+ instead of the deprecated getpids(). Additionally, it now accepts
+ the -p argument to specify a pidfile.
+ * lfs/init.d/functions: Currently, statusproc() always returns
+ successfully, and the only way to know if the process is running
+ is to parse the output. This changes statusproc() to return the
+ status of pidofproc(), which will return unsuccessfully if the
+ requested process is not running.
+ * lfs/init.d/functions: Changed reloadproc() to use pidofproc() and
+ respect the -p argument for pidfiles.
+ * lfs/init.d/sysklogd: Remove a useless argument to reloadproc().
+
+2007-03-13 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/functions: If pidofproc() is passed the -p argument
+ it can bomb testing a null variable with an integer expression.
+
+2007-02-22 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/mountfs, lfs/init.d/console, lfs/init.d/setclock,
+ lfs/init.d/mountkernfs: &> redirection is not supported in POSIX.
+ Fortunately, it's equivalent to >word 2>&1 according to bash(1).
+
+2007-02-22 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/console: POSIX says that shells only need to trap on
+ signals. Trapping on ERR isn't always supported. Conditionals have
+ been added to set the $failed variable in spots that seemed
+ appropriate for checking errors.
+
+2007-02-22 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/functions: Use arithmetic expansion and string length,
+ which are both mandated by POSIX, rather than spawning two processes
+ every time boot_mesg() is called.
+
+2007-02-22 Dan Nicholson <dnicholson@linuxfromscratch.org>
+ * lfs/init.d/functions: In order to provide an `echo' which provides
+ handles the -e and -n options for all POSIX shells, a feature test
+ is added which stores its result in $ECHO. /bin/echo will be used
+ if the default echo is not capable. Changed the existing functions
+ to reference $ECHO when needed.
+ * lfs/init.d/console: Use $ECHO when -en is needed.
+
+2007-02-03 Bryan Kadzban <bryan@linuxfromscratch.org>
+ * ChangeLog: Rename from CHANGELOG, start using GNU style entries.
+
+ * Makefile: Move setclock before checkfs. Fixes #1948.
+
+2006-11-25 Bryan Kadzban <bryan@linuxfromscratch.org>
+ * lfs/init.d/udev_retry: Copy Debian's "copy generated rules" initscript
+ code, to clean up when the rule_generator scripts run before / is
+ writable. (Since the rule_generator code is from Debian, I assume their
+ cleanup code is appropriate.)
+
+2006-10-15 Bryan Kadzban <bryan@linuxfromscratch.org>
+ * lfs/init.d/udev_retry: Fix to work with udev >= 099.
+
+n/a - June 2, 2006
+ * Removed console config file and makefile targets.
+ * Removed references to /dev/bug and bugreport in udevand
+ udev_retry bootscripts. (DJ Lucas)
+
+n/a - April 17, 2006
+ * Updated udev script to use the new udevsettle program.
+ * Added udev_retry script for systems that have /usr on a different
+ partition or for some other reason fail the initial replay. (Archaic)
+
+n/a - April 15, 2006
+ * Cleaned up contrib directory. Removed: contrib/init.d,
+ contrib/enhanced, contrib/livecd, contrib/hotplug, and raq2
+ patch. (DJ Lucas)
+
+n/a - April 14, 2006
+ * Merged changes from udev_update branch (DJ Lucas)
+ * Replaced a return with an exit and reversed comment changes in
+ udev bootscript. (Dan Nicholson)
+ * Replaced walk_sysfs function in udev bootscript with new udevtrigger
+ program and move wait_for_uevents function inline. (DJ Lucas)
+ * Removed extra evaluate_retval in udev bootscript. (Ken Moffat)
+ * Wait for uevents to be processed in the udev script. See ticket
+ #1720 for details. (Matthew Burgess)
+
+n/a - March 21, 2006
+ * Removed old references to boot_log function and arguments passed
+ to boot_mesg_flush in echo_* functions. (DJ Lucas)
+
+n/a - March 10, 2006
+ * Moved src argument to ipv4-static-route service script and
+ removed from ipv4-static service script. (DJ Lucas)
+
+n/a - March 8. 2006
+ * Correct sourced path in checkfs script. (Matthew Burgess)
+
+n/a - December 31, 2005
+ * Replaced /etc/rc.d with ${rc_base} in checkfs. (Vincent Fretin)
+
+n/a - December 24, 2005
+ * Added UTF-8 support to console script. (Alexander E. Patrakov)
+
+n/a - September 11, 2005
+ * Removed text wraping and boot logging.
+ * Changed killproc to use warning if not running
+ * Changed 'print_status warning' to use old style output
+ * Fixed display error with LSB init-functions script
+ * Made above killproc/print_status changes in enhanced
+ bootscripts.
+ * Made logger service configurable in enhanced
+ bootscripts. (DJ Lucas)
+
+n/a - August 14, 2005
+ * Added -s flag to pidofproc() for backwards
+ compatibility (DJ Lucas)
+ * Fixed erronous values returned by pidofproc() which
+ broke the functionality of statusproc (DJ Lucas)
+
+n/a - July 1, 2005
+ * Changed a == to a = in lfs/init.d/functions, in the boot_mesg
+ function for ash compliancy (Nathan Coulson)
+
+n/a - June 26, 2005
+ * Removed consolelog script from contrib
+ * Updated interactive rc script in contrib and added
+ README.rc-Interactive, added install target to the
+ Makefile. (DJ Lucas)
+
+3.2.2 - May 29, 2005
+ * Tagged as 3.2.2 (Nathan Coulson)
+
+n/a - May 26, 2005
+ * Added minimal target for cross-lfs book (Jim Gifford)
+ * Fixed raq2 patch (Jim Gifford)
+
+3.2.1 - May 1, 2005
+ * Tagged as 3.2.1 (Nathan Coulson)
+
+n/a - April 17, 2005
+ * removed touch from hotplug bootscript (Matthew Burgess)
+ * moved commands around in localnet bootscript (Andrew Benton)
+
+3.2.0 - March 30, 2005
+ * Changed from syslog-ng to sysklogd (Archaic)
+ * Temporairly changed loadproc to return 0 if the program is
+ already running (Nathan Coulson)
+ * Fixed (by reverting) ifup/ifdown/network (Nathan Coulson),
+ Reported by Jim Gifford
+ * Fixed network up/down along with adding support of ONHOTPLUG
+ * Tagged as 3.2.0
+
+n/a - March 19, 2005
+ * Updated RaQ2 patch (Jim Gifford)
+ * Added net.agent for Hotplug of Network adapters in contrib
+ (Jim Gifford)
+
+n/a - March 16, 2005
+ * Reverted the change from loadproc to start_daemon,
+ Moved compatibility code into one single function.
+ (Nathan Coulson)
+ * Readded the ONHOTPLUG option for ifup/ifdown (Nathan Coulson)
+ * Fixed killproc's output
+
+n/a - March 01, 2005
+ * Added CHECK_LINK variable in ifconfig.*/*, so if the
+ interface does not exist, it will not fail.
+ (Nathan Coulson)
+
+n/a - February 19, 2005
+ * Added evaluate_retval to the end of loadproc and killproc.
+ lsb does not say that killproc should print [ OK ],
+ but required for compatibility. (Nathan Coulson)
+
+n/a - February 9, 2005
+ * Accidentally mounted /dev with 775 instead of 755, fixed
+ (Reported by Alexander E. Patrakov)
+
+n/a - February 9, 2005
+ * Bugfix for /dev, now mounted with 755 permission
+
+n/a - February 8, 2005
+ * changed pidof, so it doesn't check the process id
+ of running bootscripts, and to process shell scripts
+ (Nathan Coulson)
+
+n/a - February 6, 2005
+ * Updated main functions file with lsb functions file
+ Should now be LSB compliant (Nathan Coulson)
+
+n/a - January 10, 2005
+ * Moved ONBOOT check back to network (Nathan Coulson)
+ * Removed ONHOTPLUG check (Nathan Coulson)
+
+n/a - January 6, 2005
+ * fixed mountkernfs output (Nathan Coulson)
+ * reverted mountfs fakemounting (Nathan Coulson)
+
+n/a - January 5, 2005
+ * Attempted to simplify network bootup files (Nathan Coulson)
+ * Modified mountkernfs to use mountpoint (Nathan Coulson)
+ * Assuming sysfs is always mounted (Nathan Coulson)
+ * Moved fakemount to below mounting (Nathan Coulson)
+ * Removed -t noramfs from umount, as we now use tmpfs (Nathan Coulson)
+ * moved sysctl from mountkernfs to sysctl (Nathan Coulson)
+ * Added -q to sysctl (Nathan Coulson)
+
+n/a - January 2, 2005
+ * Fixed statusproc output. (DJ Lucas)
+
+3.1.0 - December 31, 2004
+ * fixed textoutput
+ * Tagged as 3.1.0
+
+n/a - December 30, 2004
+ * Fixed name of LSB Functions file
+ * Changed boot_mesg to act like echo instead of echo -n, boot_mesg now
+ takes the -n argument if you do not wish to goto the next line
+
+3.0.1 - December 25, 2004
+ * Released as 3.0.1
+
+n/a - December 20, 2004
+ * Cleaned up header.
+ * Added RaQ2 Patch
+
+n/a - December 16, 2004
+ * Fixed a text typo in udev, tmpfs instead of ramfs (Steve Crosby)
+
+n/a - December 14, 2004
+ * Fixed a warning with find in cleanfs
+
+
+3.0 - December 8, 2004
+
+n/a - December 5, 2004
+ * Moved bootlog to use local2 service to avoide conflict with
+ dhcpcd (DJ Lucas)
+
+3.0-rc1 - December 1, 2004
+ * rc-Interactive added (DJ Lucas)
+ * rc-Interactive moved to contrib (Nathan Coulson)
+
+n/a - November 27, 2004
+ * Moved bootlog to use local1 to avoid conflict with ppd (DJ Lucas)
+
+n/a - November 25, 2004
+ * Added consolelog to contrib/sysconfig (DJ Lucas)
+ * Rewrite of line wraping in boot_mesg and various fixes
+ related to boot_mesg changes (DJ Lucas, Alexander Patrakov)
+ * syslog-ng is now installed by default (Jeremy Utley)
+ * hotplug is now installed by default (Jeremy Utley)
+ * udev now uses /sbin/hotplug as the default hotplug handler
+ (Nathan Coulson)
+ * udev now mounts a tmpfs instead of a ramfs onto /dev,
+ as suggested by Greg K-H (Nathan Coulson)
+ * Created contrib/lsb, and added a LSB compliant functions file
+ (Nathan Coulson, and Alexander Patrakov)
+ * Modified find [requires find 4.2.3+] (Matthew Burgess)
+
+n/a - November 20, 2004
+ * Modifed modules script to return to previous kernel message
+ level (DJ Lucas)
+
+n/a - November 02, 2004
+ * Added sysctl -p to mountkernfs (Matthew Burgess, DJ Lucas)
+
+n/a - October 07, 2004
+ * statusproc modified not to send data to bootlog (Nathan Coulson)
+ * Fixed halt commands in checkfs and udev (James Robertson)
+
+n/a - October 04, 2004
+ * Fixes to commit on 2004/09/30 (James Robertson)
+ * Revert a few changes until later (Nathan Coulson)
+ * Added a warning about switching from a 8bit font
+ to a 9bit font (Alexander Patrakov)
+
+n/a - September 30, 2004
+ * Finished off boot_mesg() (James Robertson)
+ * Standardized all scripts to same variable format and other
+ internal sh/bash function calls (James Robertson)
+ * Fully implemented boot_mesg across all scripts in sysconfig
+ and init.d (James Robertson)
+
+n/a - September 26, 2004
+ * Added BOOTMESG_PREFIX variable, so users can optionally set a
+ prefix for boot messages (James Robertson)
+ * Fixed localnet status, to use ip instead of ifconfig (Jim Gifford)
+ * Added consolelog to contrib (DJ Lucas)
+ * loadproc and killproc can have the -nomsg parameter to avoid
+ calling evaluate_retval or print_status (Jim Gifford)
+ * boot_mesg no longer explicitly adds a \n onto end of lines
+ * Added a function called boot_mesg_flush, which can
+ dump the BOOTMESG to the bootlog. This helps avoid making
+ everything have to end in OK/WARN/FAIL (Nathan Coulson)
+
+n/a - September 24, 2004
+ * Removed /dev/udev.tdb test
+
+n/a - September 23, 2004
+ * Fixed boot_log so it output's $@'s contents, not @$
+ * Added support for colors in boot_mesg (James Robertson)
+ * Modified udev's error checking
+ * Modified hotplug's error checking
+ * Converted checkfs's error handling to use boot_mesg with
+ color support
+ * Added $INFO color to functions (James Robertson)
+
+n/a - September 22, 2004
+ * Removed the dependency on wl by replacing it with grep (Bryan Kadzban)
+ * Fixed getpids, to remove unused pids obtained from $PIDFILE
+ * Removed ${NORMAL} from echo "$BOOTMESG" in functions, and removed
+ space added to each additional sentence tacked onto BOOTMESG
+ * boot_mesg now handles \n's properly, and does not dimish the size of
+ the next line (James Robertson)
+ * boot_log has been added. The echo_ functions commit the log,
+ and then clear the BOOTMSG variable
+ * All scriptes have been converted to use boot_mesg
+
+n/a - September 21, 2004
+ * boot_mesg has been enhanced. Subsequent calls will overwrite
+ previous text, and it will wrap text basedupon the variable ${WCOL}.
+ (James Robertson)
+ * Fixed mtu optional service typo (Kevin P Fleming)
+ * Added SOURCE variable to ipv4-static-route (Kevin P Fleming)
+
+n/a - September 16, 2004
+ * nework interfaces are now brought down in reverse order
+
+n/a - September 15, 2004
+ * Added blue bracket, from dj's 3.0-pre1 bootscript package
+ [echo_failure, echo_warning, and echo_ok]
+ * Added a new function called boot_mesg, meant to replace the echo
+ command.
+ This will give us the posibility of doing logging at a later date
+ * Do not set COLUMNS if COLUMNS is already set
+ * Modified getpids, loadproc, killproc, reloadproc, and statusproc as
+ done by DJ
+
+2.2.3 - September 04, 2004
+ * Tagged as 2.2.3
+
+n/a - September 04, 2004
+ * Added new script to contrib for syslog-ng, which is now part of
+ LFS-Unstable, and a new Makefile target install-syslog-ng which
+ removes the sysklogd links, and replaces them with syslog-ng (JU)
+
+2.2.2 - August 11, 2004
+ * Tagged as 2.2.2
+
+n/a - August 7, 2004
+ * Added missing error redirect (/dev/null) in getpids. (DJ)
+
+n/a - August 4, 2004
+ * Added MODE, DIRMODE, and CONFMODE variables to the makefile
+ to allow permissions to be set at install. (DJ)
+
+n/a - July 31, 2004
+
+ * Moved PIDFILE check to getpids and removed arguments from
+ killproc and reloadproc. Signals are now set at beginning of
+ funtcions script with KILLDELAY. (DJ)
+ * Added a optional service script which can set the MTU for a given
+ interface
+
+n/a - July 21, 2004
+
+ * Committed DJ Lucas's patch for the killproc function. It no
+ longer requires arguments if PIDFILE is set
+ * added --backup to all sysconfig configuration files, so they are not
+ replaced on a make install
+
+n/a - July 13, 2004
+
+ * Added the PEER variable to the ifconfig.*/* file, done by
+ Kevin P. Fleming
+
+2.2.1 - July 12, 2004
+
+ * Tagged as 2.2.1
+
+n/a - July 12, 2004
+
+ * Hotplug was moved from rcsysinit.d to rc{1,2,3,4,5} to help bring
+ up/down network interfaces started by hotplug. This has been revoked
+ at this time
+ * Networking interfaces are now brought down in reverse order
+ * Moved the ONBOOT check to within ifup/ifdown, so we can bring up/down
+ the interfaces at boottime/shutdown properly, done by Kevin P. Fleming
+ * Use PREFIX instead of NETMASK for adding addresses in ipv4-static,
+ done by Kevin P. Fleming
+ * Fix reversal of services inside ifconfig.* directories in ifdown,
+ done by Kevin P. Fleming
+ * Add ipv4-static-route service, supplied by Kevin P. Fleming
+
+2.2.0 - July 12, 2004
+
+ * Tagged as 2.2.0
+
+n/a - July 11, 2004
+
+ * Minor script output changes
+ * Repaired networking scripts broken in previous commits
+
+n/a - July 10, 2004
+
+ * We now use the ip program [from iproute2] instead of ipconfig
+ [net-tools] to bring up/down ethernet interfaces, and local
+ connections, submitted by Jim Gifford
+ * Removed gateway backward compatibility
+ * Removed ifup-eth0 ifdown-eth0 compatibility
+ * Removed the "assume SERVICE=static if SERVICE is unset" compatibility
+ * Pass the IFCONFIG environmental variable to services, so they can
+ locate the file with the parameters they must read
+ * Rename static to ipv4-static
+ * Stage1 for network configuration via directories, ifup and ifdown
+ modified, and the static service modified
+ * Stage2 for network configuration via directories complete, network was
+ modified to check within subdirectories for ONBOOT=yes. Final Stage
+
+n/a - July 8, 2004
+
+ * Changed iso01 to lat1 everywhere in /etc/sysconfig/console. This
+ fixes the problem with line-drawing characters.
+
+n/a - July 7, 2004
+
+ * Halted the computer, if unable to mount /dev as a ramfs
+
+n/a - July 6, 2004
+
+ * Moved the hotplug bootscript back to contrib, it will not be used in
+ the testing branch of the lfs book at this time
+
+n/a - July 4, 2004
+
+ * Modified ifup and ifdown to be hotplug aware
+
+n/a - July 3, 2004
+
+ * Change the check for ONBOOT into a source within a subshell
+
+n/a - July 1, 2004
+
+ * Moved hotplug start to runlevels 3-5 from sysinit
+
+n/a - June 30, 2004
+
+ * Pass -depth in cleanfs
+
+n/a - June 29, 2004
+
+ * Made the grep for ONBOOT in the network script more exact
+
+2.1.2 - June 27, 2004
+
+ * Install the automatic module loading script by default
+ * Tagged as 2.1.2
+
+n/a - June 26, 2004
+
+ * Fixed font for UK in /etc/sysconfig/console
+
+n/a - June 23, 2004
+
+ * Fixed a typo in the hotplug installation procedure
+
+n/a - June 21, 2004
+
+ * Re-ordered the "mount" and "echo" commands in the udev script, to
+ prevent a possible race
+ * Converted the udev script to use udevsend/udevd
+ * Moved removal of /fastboot and /forcefsck to just after the root fs
+ becomes writable, and dropped the removal of /etc/nologin
+ * Cleaned and tweaked both the output and actions of cleanfs
+ * Removed the disabling of hotplug from sendsignals
+ * Removed anything that might call "rmmod" in hotplug, since rmmod is
+ notoriously troublesome in the 2.6.x kernels, and call it with the
+ stop argument from runlevels 0 and 6
+ * Fixed previous modifications to the udev and cleanfs scripts
+
+n/a - June 20, 2004
+
+ * Rolled back to the /dev/.udev.tdb check from 2.1.1, since the new
+ one doesn't work as well, and the bug that caused it to change is
+ now fixed
+
+n/a - June 18, 2004
+
+ * Updated sysconfig/console
+ * Fixed disabling hotplug in sendsignals
+ * hotplug is now installed by default
+
+n/a - June 15, 2004
+
+ * Reset /proc/sys/kernel/hotplug to /bin/true when running the "stop"
+ command for hotplug
+ * Cleaned the output of the mountkernfs script
+ * Don't output "Creating files and directories" when it's a lie
+
+n/a - June 8, 2004
+
+ * Changed the location the optional module script is installed to
+ /etc/rc.d/rcsysinit.d/S05modules.
+
+n/a - June 4, 2004
+
+ * Added a echo to the > /proc/sys/kernel/hotplug line, as > did not
+ clear it
+
+n/a - June 3, 2004
+
+ * Added '> /proc/sys/kernel/hotplug' to sendsignals, to disable hotplug
+ events, which may start up new daemons
+ * Added elementry bootup logging support. If it can write to
+ /var/log/boot.log, it will
+ * Removed logging support, it kept / from being remounted ro
+
+n/a - June 2, 2004
+
+ * Reorganize what goes on in the udev script
+ * Reorganize what goes on in the hotplug script
+ * Moved setting /sbin/hotplug as the default hotplug manager into the
+ hotplug script
+
+n/a - June 1, 2004
+
+ * Removed usbfs from mountkernfs, and mountfs
+ * Edited the udev script, so it'll always set /proc/sys/kernel/hotplug
+
+n/a - May 24, 2004
+
+ * Added more example keymaps and font settings to /etc/sysconfig/console
+ * Install the /etc/sysconfig/console file by default
+
+n/a - May 23, 2004
+
+ * Changed the symlink for the optional modules script
+ * Removed depmod from the optional modules script
+
+n/a - May 20, 2004
+
+ * Removed the random script. There is not a strong enough case for
+ adding it to the lfs-bootscripts.
+
+n/a - May 19, 2004
+
+ * Added the random bootscript from blfs-bootscripts
+
+2.1.1 - May 18, 2004
+
+ * Fixed installation of modules configuration
+ * Tagged as 2.1.1
+
+n/a - May 16, 2004
+
+ * Added sysklogd configuration file
+ * Added example /etc/sysconfig/console file
+ * Do not attempt to populate /dev if that directory has already been
+ set up earlier in bootup (such as on initramfs/initrd)
+ * Prevent excessive kernel output once klogd starts
+ * Added hotplug script
+
+n/a - May 15, 2004
+
+ * Namespace rework (enumeration of scripts is now cleaner)
+ * Removed directories: blfs, contrib/new-boot-0.2, contrib/rlv
+
+n/a - May 13, 2004
+
+ * Repaired the console script
+ * Added a check to cleanfs [createfiles], to make sure that we have
+ a valid devicetype, if we have type=dev
+
+n/a - May 11, 2004
+
+ * Added usbfs to mountkernfs and mountfs
+
+n/a - May 6, 2004
+
+ * Don't use loadproc in localnet, it's not meant for that
+ * Quote tests of $PIDFILE, so that things behave when it's empty
+ * Removed unused kill -0 from killproc
+
+2.1.0 - May 4, 2004
+
+ * Update to the console script, prevent install of the console script
+ * Chgrp /var/run/utmp to group utmp if it exists.
+ * Moved udev from contrib to lfs
+ * Moved GATEWAY setup from /etc/rc.d/init.d/network to
+ /etc/sysconfig/network-devices/services/static
+ * Use the contents of $PIDFILE, if it is set in the script
+ * Tagged as 2.1.0.
+
+n/a - April 30, 2004
+
+ * Moved the loadkeys script to console, and added setfont. Contributed
+ by Alexander E. Patrakov
+
+2.0.5 - April 29, 2004
+
+ * Added the heimdal init script.
+ * Tagged as 2.0.5
+
+2.0.4 - April 27, 2004
+
+ * Tagged as 2.0.4
+
+n/a - April 24, 2004
+
+ * Added a example script for /etc/sysconfig/createfiles
+ * Added a check for /sys before mounting sysfs
+ * Added -t noramfs to umount on /etc/rc.d/init.d/mountfs.
+ This will prevent /dev from being unmounted, if /proc/mounts
+ is symlinked to /etc/mtab
+
+n/a - April 18, 2004
+
+ * Small fix to a if statement in netfs
+
+n/a - April 17, 2004
+
+ * Added the lisa bootscript, lisa is part of the KDE Network package
+ * Add proper error checking to the mountfs script when writing out mtab
+ * Add more comments to the udev script, and conditionalize various
+ things that should've been done this way in the first place
+ * Include a template module auto-loading configuration file instead of
+ having syntax comments in the script itself
+
+n/a - April 12, 2004
+
+ * Added a automatic modules loading script to the contrib directory
+ submitted by Zack
+ * Edited mountkernfs, so that if you can mount sysfs on /sys, it will
+ be mounted at boottime. Should not affect 2.4 systems
+ * Since all entries are added to /etc/mtab, we should not require
+ the NO_FS variable. It has been removed from mountfs
+ * Added the udev script into the contrib directory, submitted by Zack
+
+2.0.3 - April 8, 2004
+
+ * Updated cleanfs, so it can create devices. Supplied by Zack
+ * Tagged as 2.0.3
+
+n/a - March 31, 2004
+
+ * Changed "Press Enter" on unknown error to white
+ * Moved S10swap to S20swap. When udev is added, it has to be
+ ran before swap is setup
+
+n/a - March 29, 2004
+
+ * Fixed the rc5.d symlink for ntp so it creates S26ntp instead
+ of S26npt
+ * Moved S20mountkernfs to S00mountkernfs in rcsysinit.d. Will help in
+ the addition of udev in the future.
+
+n/a - March 27, 2004
+
+ * Changed gdm path from hardcoded to program name. There are 2 spots
+ gnome can be installed
+
+n/a - March 26, 2004
+
+ * Updated fam daemon script. It now uses the famd daemon instead of fam
+
+n/a - March 24, 2004
+
+ * Removed mount command out of nfs. the netfs script already handles
+ this
+
+2.0.2 - March 24, 2004
+
+ * Edited cleanfs to solve a problem. [if /tmp does not exist, it
+ could run the find command on the root filesystem]
+ * Tagged as 2.0.2
+
+2.0.1 - March 24, 2004
+
+ * Found typo in BLFS MySQL Script.
+ * Tagged as 2.0.1
+
+2.0.0 - March 23, 2004
+
+ * Tagged as 2.0.0, no changes from 2.0.0-pre2
+
+2.0.0-pre2 - March 23, 2004
+
+ * Cleaned the /tmp directory on bootup. find command supplied by Zack
+ * Added a script which can automatically create files and directories
+ on startup. [Handles files/directories, permissions, and user/group].
+ Created by Zack
+ * Added blfs/init.d/fam script
+ * Tagged as 2.0.0-pre2
+
+n/a - March 20, 2004
+
+ * Added create-service-dir target and removed from create-dirs
+ * Changed service script install targets to use
+ create-service-dir
+ * Added check for dhcpcd service script for stale pid file
+ Suggested by Jeremy
+ * Added ifconfig to ipx service script for hosting device not up
+
+n/a - March 19, 2004
+
+ * Added support for ETCDIR, and DESTDIR in the Makefile,
+ compliments of Tushar
+ * Renamed mountproc to mountkernfs
+ * Updated the README file
+ * Coloured the print_error_message in functions red
+ * added stop to the setclock script
+ * changed echo > to > in cleanfs, suggested by winkie
+ * BLFS Scripts Added, collected by Zack
+ * Edited killproc, so it checks for running pids, rather then
+ the completion of the above kill command. Suggested by Zack
+ * Added network services found in blfs, removed adsl. Submitted by
+ DJ.
+
+1.99.4 - March 17, 2004
+
+ * Fixed one last halt line in checkfs script
+ * Moved the directory structure around
+ * Tagged as development release 1.99.4
+
+n/a - February 28, 2004
+
+ * Added stty sane to the top of rc.d/init.d/rc. Hopefully, this will
+ fix the problems
+ * Also changed all instances of <ctrl-j> back to enter
+
+1.99.3 - February 23, 2004
+
+ * Tagged as development release 1.99.3
+
+n/a - February 19, 2004
+
+ * Fixed checkfs script, so it will no longer continue to boot after a
+ failure in the init.d/checkfs script. Tested with the help of Andre
+ Müller. Fix suggested by Zack
+
+n/a - February 7, 2004
+
+ * Added -s onto grep on network stop
+ * Replaced a few more enter's with ctrl-j
+
+1.99.2 - February 6, 2004
+
+ * Added -s onto grep in network start
+ * Tagged as development release 1.99.2
+
+n/a - February 4, 2004
+
+ * Fixed $WARNING $NORMAL and $ERROR lines, broken by changes in
+ functions
+ * Changed above fixes to work with ash
+ * Fixed checkfs symlink in Makefile
+ * functions is no longer installed as executable
+ * Added a check to checkfs, for errors above 16. These are caused by
+ being unable to run fsck, either due to user input, or a unfunctional
+ linux system
+
+1.99.1 - February 2, 2004
+
+ * Tagged as development release 1.99.1
+
+n/a - February 2, 2004:
+
+ * Added -d to umount in mountfs.
+ * Fixed network shutdown script
+ * Fixed Makefile rc.6 to reboot
+ * Added -s flag to grep command in rc.d/init.d/network -
+ suppresses an error if no ifconfig.* files exist
+
+n/a - January 30, 2004:
+
+ * Reorganized the network system to accept multiple services.
+ * Ash Compliancy
+ * Modified some scripts to follow template
+ * Reorganized functions, based upon Ash Compliancy Patch
+ * Added a sleep 5 to failure for evaulate_retval, and changed
+ evaulate_retval to return true instead of false. Instead, a
+ exit 1 will indicate the script terminated abnormally, causing
+ your system to wait until you hit ctrl-J
+ * Switched "Press enter to continue" to "Press <ctrl-j> to continue"
+ * replaced 3 with $KILLDELAY in sendsignals
+ * mountfs does not mount network filesystems [identified by _netdev
+ in /etc/fstab]
+ * removed unneded touch out of cleanfs
+
+n/a - January 30, 2004:
+
+ * New maintainers for the lfs-bootscripts package are:
+ Jeremy Utley (jeremy@linuxfromscratch.org)
+ Nathan Coulson (nathan@linuxfromscratch.org)
+
+1.11 - February 3rd, 2003:
+
+ * /etc/mtab is now a real file and is handled correctly so there are
+ no errors even when the machine has crashed.
+
+1.10 - September 12th, 2002:
+
+ * Fixed up checkfs to work with non-ext2 filesystems too (such as
+ minix).
+
+1.9 - April 5th, 2002:
+
+ * reloadproc function had a missing '=' in the "failure 1" command (it
+ should be failure=1)
+
+ * When script exists with unexpected value, you have to hit "Enter" to
+ continue, not just a random key as printed on the screen.
+
+ * Moved K10sysklogd, K20sendsignals, K30mount and K40swap to
+ K40sysklogd, K50sendsignals, K60mount, K70swap
+
+ * Changed the #!/bin/sh lines to #!/bin/bash - /bin/sh may not be
+ linked to bash but to some other shell of your choice. These scripts
+ are written to work with bash, so you can't just run them when
+ /bin/sh -> csh or ash or whatever else tickles your fancy. This
+ change should fix that.
+
+1.8 - March 14th, 2002:
+
+ * Fixed the getpids function call so PPID's would be taken into account
+ properly.
+
+ * Added the 'contrib' directory with other people's bootscript
+ implementations.
+
+1.7 - March 10th, 2002:
+
+ * Used code from Matthias Benkmann's simpleinit-msb @
+ http://winterdrache.de/linux/newboot/index.html mainly for improved
+ killproc function handling
+
+ * When a requested process isn't running, or is already running, a
+ warning "Not running" or "Already running" will be displayed. This
+ was out of allignment due to a missing $CURS_UP
+
+ * Removed "||exit" from ifup and ifdown scripts. They are useless.
+
+ * Changed the loadkeys script to run "loadkeys -d" and removed the need
+ for the /etc/sysconfig/keyboard file. The kbd patch fixes the
+ "loadkeys -d" behaviour.
+
+1.6 - February 26th, 2002:
+
+ * replaced -o %PPID with -o $PPID throughout the functions script. This
+ construct does what it's supposed to do (don't take PPID into account
+ because this would fail if a running daemon and the bootscript have
+ the same name).
+
+ * added 'restart' to the swap script
+
+ * instead of using 'echo -n' to suppress newlines so the [ OK ] and
+ related messages align properly, substitute this with a single echo
+ command that simply goes one line up before outputting anything. This
+ also has the benefit that when programs have their own output (like
+ swapon, fsck and loadkeys), there won't be an unwanted blank line
+ between the program's output and the [ OK ] et all. messages.
+
+1.5 - February 2nd, 2002:
+
+ * added 'exit 1' to the statusproc function when there aren't enough
+ parameters passed to it (such as the name of process to check for)
+
+1.4 - February 2nd, 2002:
+
+ * when /fastboot is detected and the message about it is printed,
+ don't run 'exit 1' else the rc script will cause a [FAILED] to
+ be printed which is undesired in this case.
+
+1.3 - January 30th, 2002:
+ * network script: changed default route detection by using the same
+ method as used when starting the script: check if the GATEWAY
+ variable is set
+
+ * removed the emptying of /etc/mtab since it's a symlink to
+ /proc/mounts now
+
+ * added the mountproc script which mounts the proc system. This is done
+ because we need proc mounted even before the mountfs script is ran
+ (now that /etc/mtab is a symlink to /proc/mounts)
+
+ * removed all absolute paths from command calls
+
+ * added umask 022 and PATH="/bin:/usr/bin:/sbin:/usr/sbin" to the
+ functions script. Every file now sources this so that umask and PATH
+ are set correctly
+
+1.2 - January 26th, 2002:
+ * network script: detect if a default route is set before removing it
+
Index: network-scripts/Makefile
===================================================================
--- network-scripts/Makefile (nonexistent)
+++ network-scripts/Makefile (revision 5793)
@@ -0,0 +1,35 @@
+EXTDIR=${DESTDIR}/etc
+LIBDIR=${DESTDIR}/lib
+SERVICEDIR=${LIBDIR}/services
+UNITDIR=${LIBDIR}/systemd/system
+MAN8=${DESTDIR}/usr/share/man/man8
+SBIN=${DESTDIR}/sbin
+MODE=755
+DIRMODE=755
+CONFMODE=644
+
+install: files
+
+create-dirs:
+ install -d -m ${DIRMODE} ${EXTDIR}/sysconfig
+ install -d -m ${DIRMODE} ${SERVICEDIR}
+ install -d -m ${DIRMODE} ${UNITDIR}
+ install -d -m ${DIRMODE} ${MAN8}
+ install -d -m ${DIRMODE} ${SBIN}
+ ln -sfn services ${LIBDIR}/lsb
+
+files: create-dirs
+ install -m ${MODE} lfs/sbin/ifup ${SBIN}
+ install -m ${MODE} lfs/sbin/ifdown ${SBIN}
+ install -m ${MODE} lfs/sbin/ifup.8 ${MAN8}
+ ln -sf ifup.8 ${MAN8}/ifdown.8
+ install -m ${MODE} lfs/lib/services/ipv4-static-route ${SERVICEDIR}
+ install -m ${MODE} lfs/lib/services/ipv4-static ${SERVICEDIR}
+ install -m ${CONFMODE} lfs/lib/services/init-functions ${SERVICEDIR}
+ install -m ${CONFMODE} lfs/units/ifupdownat.service ${UNITDIR}/ifupdown@.service
+
+uninstall:
+ rm -rf ${SERVICEDIR} ${LIBDIR}/lsb ${UNITDIR}/ifupdown@.service \
+ ${SBIN}/ifup ${SBIN}/ifdown ${MAN8}/ifup.8 ${MAN8}/ifdown.8
+
+.PHONY: all create-dirs install files uninstall
Index: network-scripts/README
===================================================================
--- network-scripts/README (nonexistent)
+++ network-scripts/README (revision 5793)
@@ -0,0 +1,27 @@
+Network Configuration:
+ Script Files:
+ /sbin/ifup
+ /sbin/ifdown
+ /lib/lsb/*
+
+ Configuration Files:
+ /etc/sysconfig/ifconfig.*
+ Note: ifconfig.* files will be processed
+ in alphanumerical order on boot, and reversed on shutdown.
+ - IFACE : The interface that is being configured (e.g. eth0)
+ - SERVICE: Which script to run in services directory.
+ - ONBOOT : If set to yes, this interface will be started on bootup
+
+ Additional Configuration:
+ SERVICE ipv4-static:
+ - IP : Static IP Address
+ - GATEWAY : Specifies the IP Address of the gateway server
+ - PREFIX : CIDR prefix of IP Address, defaults to 24 if not set
+ - PEER : IP Address of peer (for point-to-point connections and tunnels)
+ - BROADCAST: Broadcast address
+
+ SERVICE ipv4-static-route:
+ - TYPE : Network (default type if not specified), default, host or unreachable
+ - IP : IP Address of target (for network, host and unreachable)
+ - PREFIX : CIDR prefix of target (for network, host and unreachable)
+ - GATEWAY: IP Address of gateway to reach target (for network and default)