浏览代码

Several modifications to Glibc - Add FHS patch that removes usage of /var/db and replaces it with /var/cache/nscd for nscd and /var/lib/nss_db for nss_db. Set libexecdir to /usr/lib istead of /usr/lib/glibc. Add instructions to install nscd configuration file and runtime directory.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10120 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Krejzi 12 年之前
父节点
当前提交
eea40552f7
共有 4 个文件被更改,包括 50 次插入13 次删除
  1. 16 1
      chapter01/changelog.xml
  2. 28 10
      chapter06/glibc.xml
  3. 2 2
      general.ent
  4. 4 0
      patches.ent

+ 16 - 1
chapter01/changelog.xml

@@ -36,7 +36,22 @@
     </listitem>
     </listitem>
 -->
 -->
     <listitem>
     <listitem>
-      <para>2013-02-06</para>
+      <para>2013-02-11</para>
+      <itemizedlist>
+        <listitem>
+          <para>[krejzi] - Added a patch to Glibc that removes
+          references to /var/db and replaces it with FHS-compliant
+          location.</para>
+        </listitem>
+        <listitem>
+        <para>[krejzi] - Added instructions to install nscd configuration
+          file and runtime directory.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>2013-02-10</para>
       <itemizedlist>
       <itemizedlist>
         <listitem>
         <listitem>
           <para>[krejzi] - Modified Util-Linux instructions to
           <para>[krejzi] - Modified Util-Linux instructions to

+ 28 - 10
chapter06/glibc.xml

@@ -61,6 +61,13 @@
     Glibc autoconf tests would give false results and defeat the goal
     Glibc autoconf tests would give false results and defeat the goal
     of achieving a clean build.</para>
     of achieving a clean build.</para>
 
 
+    <para>Some of the Glibc programs use non-FHS compilant
+    <filename class="directory">/var/db</filename> directory
+    to store their runtime data. Apply the following patch to make such programs
+    store their runtime data in the FHS-compliant locations:</para>
+
+<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
+
     <para>The Glibc documentation recommends building Glibc outside of the source
     <para>The Glibc documentation recommends building Glibc outside of the source
     directory in a dedicated build directory:</para>
     directory in a dedicated build directory:</para>
 
 
@@ -69,22 +76,26 @@ cd ../glibc-build</userinput></screen>
 
 
     <para>Prepare Glibc for compilation:</para>
     <para>Prepare Glibc for compilation:</para>
 
 
-<screen><userinput remap="configure">../glibc-&glibc-version;/configure  \
-    --prefix=/usr          \
-    --disable-profile      \
-    --enable-kernel=2.6.25 \
-    --libexecdir=/usr/lib/glibc</userinput></screen>
+<!-- We would get /usr/lib/glibc/getconf instead of /usr/lib/getconf and
+     /usr/lib/getconf was used before. Other distros seem to use same
+     libexecdir -->
+<screen><userinput remap="configure">../glibc-&glibc-version;/configure   \
+    --prefix=/usr         \
+    --libexecdir=/usr/lib \
+    --disable-profile     \
+    --enable-kernel=2.6.25</userinput></screen>
 
 
     <variablelist>
     <variablelist>
       <title>The meaning of the new configure options:</title>
       <title>The meaning of the new configure options:</title>
 
 
       <varlistentry>
       <varlistentry>
-        <term><parameter>--libexecdir=/usr/lib/glibc</parameter></term>
+        <term><parameter>--libexecdir=/usr/lib</parameter></term>
         <listitem>
         <listitem>
           <para>This changes the location of the <command>pt_chown</command>
           <para>This changes the location of the <command>pt_chown</command>
-          program from its default of <filename
+          program and <filename class="directory">getconf</filename> directory
+          from their default install location of <filename
           class="directory">/usr/libexec</filename> to <filename
           class="directory">/usr/libexec</filename> to <filename
-          class="directory">/usr/lib/glibc</filename>.</para>
+          class="directory">/usr/lib</filename>.</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
@@ -162,6 +173,12 @@ grep Error glibc-check-log</userinput></screen>
 cp -v ../glibc-&glibc-version;/sunrpc/rpcsvc/*.h /usr/include/rpcsvc
 cp -v ../glibc-&glibc-version;/sunrpc/rpcsvc/*.h /usr/include/rpcsvc
 cp -v ../glibc-&glibc-version;/nis/rpcsvc/*.h /usr/include/rpcsvc</userinput></screen>
 cp -v ../glibc-&glibc-version;/nis/rpcsvc/*.h /usr/include/rpcsvc</userinput></screen>
 
 
+    <para>Install the configuration file and runtime directory for
+    <command>nscd</command>:</para>
+
+<screen><userinput remap="install">install -v -m644 ../glibc-&glibc-version;/nscd/nscd.conf /etc/nscd.conf &amp;&amp;
+install -v -dm755 /var/cache/nscd</userinput></screen>
+
     <para>The locales that can make the system respond in a different language
     <para>The locales that can make the system respond in a different language
     were not installed by the above command. None of the locales are required,
     were not installed by the above command. None of the locales are required,
     but if some of them are missing, test suites of the future packages would
     but if some of them are missing, test suites of the future packages would
@@ -425,8 +442,9 @@ mkdir /etc/ld.so.conf.d</userinput></screen>
         /usr/include/netipx, /usr/include/netiucv, /usr/include/netpacket,
         /usr/include/netipx, /usr/include/netiucv, /usr/include/netpacket,
         /usr/include/netrom, /usr/include/netrose, /usr/include/nfs,
         /usr/include/netrom, /usr/include/netrose, /usr/include/nfs,
         /usr/include/protocols, /usr/include/rpc, /usr/include/rpcsvc,
         /usr/include/protocols, /usr/include/rpc, /usr/include/rpcsvc,
-        /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/glibc,
-        /usr/lib/locale, /usr/share/i18n, /usr/share/zoneinfo, /var/db</seg>
+        /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/getconf,
+        /usr/lib/locale, /usr/share/i18n, /usr/share/zoneinfo, /var/cache/nscd,
+        and /var/lib/nss_db</seg>
       </seglistitem>
       </seglistitem>
     </segmentedlist>
     </segmentedlist>
 
 

+ 2 - 2
general.ent

@@ -1,5 +1,5 @@
-<!ENTITY version "SYSTEMD-20130210">
-<!ENTITY releasedate "February 10, 2013">
+<!ENTITY version "SYSTEMD-20130211">
+<!ENTITY releasedate "February 11, 2013">
 <!ENTITY copyrightdate "1999-2013"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY copyrightdate "1999-2013"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone "7.3">
 <!ENTITY milestone "7.3">
 <!ENTITY generic-version "systemd"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
 <!ENTITY generic-version "systemd"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->

+ 4 - 0
patches.ent

@@ -26,6 +26,10 @@
 <!ENTITY flex-bison-patch-md5 "d5b001ef9bdbbe32e2f27576d97d8ff0">
 <!ENTITY flex-bison-patch-md5 "d5b001ef9bdbbe32e2f27576d97d8ff0">
 <!ENTITY flex-bison-patch-size "2.8 KB">
 <!ENTITY flex-bison-patch-size "2.8 KB">
 
 
+<!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch">
+<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
+<!ENTITY glibc-fhs-patch-size "2.8 KB">
+
 <!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
 <!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
 <!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
 <!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
 <!ENTITY kbd-backspace-patch-size "12 KB">
 <!ENTITY kbd-backspace-patch-size "12 KB">