Hello,

Attached is a very early preview of the patch that updates xfce in the book. Comments are welcome.

I had to drop the "minimal" installation variant because of the optional dependencies between xfce components, and because I want all clickable buttons to work in the "minimal" installation.

This cannot go in for the following reasons:

1) It is different from the LiveCD implementation and thus completely untested

2) Compilation is not tested against the old version of dbus in the book

3) The contents needs to be updated

4) I would prefer to see a description for each XFCE subpackage, but I need XML help from Manuel in order to do this (not sure where it goes)

OTOH, I am not sure if I am able to maintain xfce in the book. Maybe it is better to drop it instead of updating.

--
Alexander E. Patrakov
Index: general.ent
===================================================================
--- general.ent (revision 6768)
+++ general.ent (working copy)
@@ -414,7 +414,7 @@
 <!ENTITY sawfish-version              "1.3">
 <!ENTITY fluxbox-version              "0.9.15.1">
 <!ENTITY metacity-version             "2.14.5">
-<!ENTITY xfce-version                 "4.2.3.2">
+<!ENTITY xfce-version                 "4.4.1">
 
 <!-- Part VIII -->
 <!-- Chapter 28 & 29 -->
Index: x/wm/xfce.xml
===================================================================
--- x/wm/xfce.xml       (revision 6768)
+++ x/wm/xfce.xml       (working copy)
@@ -18,10 +18,18 @@
 
   <!ENTITY xfce-download-http 
"http://downloads.sourceforge.net/xfce/xfce-&xfce-version;-src.tar.bz2";>
   <!ENTITY xfce-download-ftp  " ">
-  <!ENTITY xfce-md5sum        "44e126e47657969657ff86fb558d54ea">
-  <!ENTITY xfce-size          "25 MB">
-  <!ENTITY xfce-buildsize     "219 MB (to build and install everything without 
deleting any sources)">
-  <!ENTITY xfce-time          "3.5 SBU">
+  <!ENTITY xfce-md5sum        "dfb3e3c1bdaa4eb94301c0de5a67b9de">
+  <!ENTITY xfce-size          "25 MB"> 
+  <!ENTITY xfce-buildsize     "???">
+  <!ENTITY xfce-time          "???">
+
+  <!ENTITY Terminal-version   "0.2.6">
+  <!ENTITY Thunar-version     "0.8.0">
+  <!ENTITY exo-version        "0.3.2">
+  <!ENTITY gtk-xfce-engine-version "2.4.1">
+  <!ENTITY mousepad-version   "0.2.12">
+  <!ENTITY xfce4-dev-tools-version "4.4.0">
+
 ]>
 
 <sect1 id="xfce" xreflabel="XFce-&xfce-version;">
@@ -66,22 +74,201 @@
       </listitem>
     </itemizedlist>
 
-    <bridgehead renderas="sect3">XFce Dependencies</bridgehead>
+    <bridgehead renderas="sect3">XFce General Dependencies</bridgehead>
 
     <bridgehead renderas="sect4">Required</bridgehead>
     <para role="required"><xref linkend="gtk2"/> and
     <xref linkend="libxml2"/></para>
-
+    
     <bridgehead renderas="sect4">Optional</bridgehead>
-    <para role="optional"><xref linkend="gdm"/>,
-    <xref linkend="librsvg"/>
-    (<application>xffm</application> links to 
<application>librsvg</application>
-    automatically if <application>librsvg</application> is installed),
-    <xref linkend="libgtkhtml"/>,
+    <para role="optional"><xref linkend="libxslt"/>,
+    <xref linkend="intltool"/>,
     <xref linkend="startup-notification"/>, and
-    <xref linkend="a2ps"/>
-    (required to build <application>xfprint</application>).</para>
+    <xref linkend="gtk-doc"/> (untested by BLFS editors)</para>
+    
+    
+    
+    <para>XFce components have additional dependencies upon each other
+    and upon external packages. They are summarized below.</para>
 
+    <bridgehead renderas="sect3" id="libxfce4util"
+      xreflabel="libxfce4util-&xfce-version;">libxfce4util 
dependencies</bridgehead>
+    <para>Nothing</para>
+    
+    <bridgehead renderas="sect3" id="libxfcegui4"
+      xreflabel="libxfcegui4-&xfce-version;">libxfcegui4 
dependencies</bridgehead>
+    <para><xref linkend="libxfce4util"/>.</para>
+    
+    <bridgehead renderas="sect3" id="libxfce4mcs"
+      xreflabel="libxfce4mcs-&xfce-version;">libxfce4mcs 
dependencies</bridgehead>
+    <para><xref linkend="libxfce4util"/>.</para>
+    
+    <bridgehead renderas="sect3" id="xfce-mcs-manager"
+      xreflabel="xfce-mcs-manager-&xfce-version;">xfce-mcs-manager 
dependencies</bridgehead>
+    <para><xref linkend="libxfcegui4"/>, and
+    <xref linkend="libxfce4mcs"/>.</para>
+
+    <bridgehead renderas="sect3" id="xfce-mcs-plugins"
+      xreflabel="xfce-mcs-plugins-&xfce-version;">xfce-mcs-plugins 
dependencies</bridgehead>
+    <para><xref linkend="libxfcegui4"/>, and
+    <xref linkend="xfce-mcs-manager"/>.</para>
+    
+    <bridgehead renderas="sect3" id="xfwm4"
+      xreflabel="xfwm4-&xfce-version;">xfwm4 dependencies</bridgehead>
+    <para><xref linkend="intltool"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="libxfcegui4"/>, and
+    <xref linkend="xfce-mcs-manager"/>.</para>
+    
+    <bridgehead renderas="sect3" id="xfwm4-themes"
+      xreflabel="xfwm4-themes-&xfce-version;">xfwm4-themes 
dependencies</bridgehead>
+    <para>Nothing</para>
+
+    <bridgehead renderas="sect3" id="xfce4-panel"
+      xreflabel="xfce4-panel-&xfce-version;">xfce4-panel 
dependencies</bridgehead>
+    <para><xref linkend="intltool"/>,
+    <xref linkend="libxfce4util"/>,and
+    <xref linkend="xfce-mcs-manager"/>.</para>
+
+    <bridgehead renderas="sect3" id="xfce4-session"
+      xreflabel="xfce4-session-&xfce-version;">xfce4-session 
dependencies</bridgehead>
+    <para><xref linkend="libxfce4util"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="dbus"/> (optional, for <xref linkend="hal"/> shutdown 
support), and
+    <xref linkend="GConf"/> (optional, for Assistive Technologies support,
+    untested by BLFS editors).</para>
+
+    <bridgehead renderas="sect3" id="xfce4-mixer"
+      xreflabel="xfce4-mixer-&xfce-version;">xfce4-mixer 
dependencies</bridgehead>
+    <para><xref linkend="libxfcegui4"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="xfce4-panel"/> (optional), and
+    <xref linkend="alsa-lib"/> (optional).</para>
+
+    <bridgehead renderas="sect3" id="gtk-xfce-engine"
+      xreflabel="gtk-xfce-engine-&gtk-xfce-engine-version;">gtk-xfce-engine 
dependencies</bridgehead>
+    <para>Nothing</para>
+
+    <bridgehead renderas="sect3" id="orage"
+      xreflabel="orage-&xfce-version;">orage dependencies</bridgehead>
+    <para><xref linkend="libxfce4mcs"/>,
+    <xref linkend="libxfcegui4"/>,
+    <xref linkend="xfce4-panel"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <ulink url="">libical</ulink> (optional, an internal copy
+    is used if external libical is not found), and
+    <xref linkend="db"/> (optional, part of LFS).</para>
+    
+    <bridgehead renderas="sect3" id="xfce4-appfinder"
+      xreflabel="xfce4-appfinder-&xfce-version;">xfce4-appfinder 
dependencies</bridgehead>
+    <para><xref linkend="libxfcegui4"/>.</para>
+
+    <bridgehead renderas="sect3" id="xfce4-icon-theme"
+      xreflabel="xfce4-icon-theme-&xfce-version;">xfce4-icon-theme 
dependencies</bridgehead>
+    <para><xref linkend="intltool"/>.</para>
+
+    <bridgehead renderas="sect3" id="exo"
+      xreflabel="exo-&exo-version;">EXO dependencies</bridgehead>
+    <para><ulink 
url="http://cpan.org/authors/id/G/GA/GAAS/URI-1.35.tar.gz";>URI-1.35</ulink>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="hal"/> (optional, not recommended, see explanation below),
+    <ulink url="http://www.galago-project.org/";>libnotify</ulink> (optional, 
+    not recommended, see explanation below), and
+    <ulink url="http://www.pygtk.org/";>PyGTK</ulink> (optional, 
untested).</para>
+    
+    <bridgehead renderas="sect3" id="Terminal"
+      xreflabel="Terminal-&Terminal-version;">Terminal 
dependencies</bridgehead>
+    <para><xref linkend="exo"/>,
+    <xref linkend="vte"/>,
+    <xref linkend="dbus"/> with <xref linkend="glib2"/> bindings 
(optional).</para>
+    
+    <bridgehead renderas="sect3" id="xfprint"
+      xreflabel="xfprint-&xfce-version;">xfprint dependencies</bridgehead>
+    <para><xref linkend="libxfcegui4"/>, and
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="a2ps"/> (optional),
+    <xref linkend="enscript"/>, and
+    <xref linkend="cups"/> or <xref linkend="LPRng"/>.</para>
+
+    <bridgehead renderas="sect3" id="mousepad"
+      xreflabel="mousepad-&mousepad-version;">mousepad 
dependencies</bridgehead>
+    <para><xref linkend="libxfcegui4"/>, printing support requires
+    <xref linkend="xfprint"/> at runtime.</para>
+    
+    <bridgehead renderas="sect3" id="xfce-utils"
+      xreflabel="xfce-utils-&xfce-version;">xfce-utils 
dependencies</bridgehead>
+    <para><xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="libxfcegui4"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="dbus"/> with <xref linkend="glib2"/> bindings (optional), 
and
+    <xref linkend="gdm"/> (optional, untested by BLFS editors).</para>
+    
+    <bridgehead renderas="sect3" id="Thunar"
+      xreflabel="Thunar-&Thunar-version;">Thunar dependencies</bridgehead>
+    <para><xref linkend="exo"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="xfce4-panel"/> (optional, for trash can support),
+    <xref linkend="libjpeg"/>,
+    <xref linkend="libexif"/> (optional, for the "Image" properties page),
+    <xref linkend="pcre"/> (optional, for the "Search &amp; Replace" renamer),
+    <!-- <xref linkend="fam"/> or --><xref linkend="gamin"/> (optional)
+    <xref linkend="dbus"/> with <xref linkend="glib2"/> bindings (optional),
+    <xref linkend="hal"/> (optional, not recommended), and
+    <xref linkend="GConf"/> (optional, for support of GNOME thumbnailers,
+    untested by BLFS editors).</para>
+    
+    <bridgehead renderas="sect3" id="xfdesktop"
+      xreflabel="xfdesktop-&xfce-version;">xfdesktop dependencies</bridgehead>
+    <para><xref linkend="intltool"/>,
+    <xref linkend="libxfce4util"/>,
+    <xref linkend="libxfcegui4"/>,
+    <xref linkend="xfce-mcs-manager"/>,
+    <xref linkend="Thunar"/> (optional, for file icons on desktop),
+    <xref linkend="dbus"/> (optional, for file icons on desktop),
+    <xref linkend="exo"/> (optional, for nifty icon effects),
+    <xref linkend="xfce4-panel"/> (optional).</para>
+    
+    <bridgehead renderas="sect3" id="xfce4-dev-tools"
+      xreflabel="xfce4-dev-tools-&xfce4-dev-tools-version;">xfce4-dev-tools 
dependencies</bridgehead>
+    <para>Nothing.</para>
+
+    <bridgehead renderas="sect3" id="xfce4-unwanted">Unwanted 
dependencies</bridgehead>
+
+    <para>Some of XFce components have optional dependencies on HAL. E.g.,
+    <xref linkend="exo"/> and <xref linkend="Thunar"/> use HAL as a volume
+    manager in order to mount removable media. However, in non-English
+    environments, it is often needed to pass <quote>iocharset</quote>
+    and <quote>codepage</quote> mount options. This is impossible, because
+    mount options are hard-coded in the <command>exo-mount</command>
+    program. Thus, it is recommended that you don't use the HAL dependency.
+    Installation instructions below make sure that HAL is not used as a
+    volume manager even if found.</para>
+    
+    <para><ulink url="http://www.galago-project.org/";>libnotify</ulink> 
provides
+    support for desktop notifications. The only source of such notifications in
+    XFce itself is <command>Thunar</command>, which (if compiled with HAL)
+    notifies the user when it is safe to remove the media. However, HAL
+    dependency is unwanted, as explained above. Additionally, in order to
+    actually see the notifications, one needs to compile
+    <ulink 
url="http://goodies.xfce.org/projects/applications/notification-daemon-xfce";>notification-daemon-xfce</ulink>,
+    which depends upon <ulink 
url="http://www.chipx86.com/wiki/Libsexy";>libsexy</ulink>.</para>
+
+    <!-- notification-daemon-xfce-0.3.6 fails to build with dbus-1.0.2,
+        Workaround: use SVN snapshot of notification-daemon-xfce, or
+       sed -i 's/glib-server/glib-server --prefix=/' src/daemon/Makefile.in
+       before compiling notification-daemon-xfce-0.3.6 -->
+    
+    <para>The <command>xfce4-tips</command> command from
+    the <xref linkend="xfce4-session"/> package uses
+    <ulink url="http://www.redellipse.net/code/fortune";>Fortune</ulink>
+    in order to display tips and funny quotes on startup. However,
+    it is buggy: does not remember the preference what to display
+    (tips or quotes), and does not display non-English quotes correctly
+    in non-UTF-8 locales. For these reasons, installation of this
+    nearly-useless program is disabled below.</para>
+    
     <para condition="html" role="usernotes">User Notes:
     <ulink url="&blfs-wiki;/xfce"/></para>
 
@@ -90,45 +277,21 @@
   <sect2 role="installation">
     <title>Installation of XFce</title>
 
-    <para>A bare minimum <application>XFce</application> setup requires
-    installation of the following packages:</para>
+    <para>Install the XFce components in the order listed above by issuing
+    the following commands for each package:</para>
 
-    <itemizedlist spacing='compact'>
-      <listitem>
-        <para>libxfce4util-&xfce-version;.2</para>
-      </listitem>
-      <listitem>
-        <para>dbh-1.0.24</para>
-      </listitem>
-      <listitem>
-        <para>libxfcegui4-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>libxfce4mcs-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce-mcs-manager-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfwm4-&xfce-version;.2</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-panel-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfdesktop-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce-utils-&xfce-version;</para>
-      </listitem>
-    </itemizedlist>
-
-    <para>Install the minimum applications by issuing the following
-    commands:</para>
-
-<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc &amp;&amp;
+<screen><userinput>sed -i '/xfce4-tips/d' Makefile.in &amp;&amp;
+./configure --prefix=/usr --sysconfdir=/etc \
+    --libexecdir=/usr/lib/xfce4 --enable-debug=no --enable-panel \
+    --enable-compositor --disable-python --enable-session-screenshots \
+    --with-sound=alsa --disable-hal --with-volume-manager=none &amp;&amp;
 make</userinput></screen>
 
+    <para>Arguments that make no sense for a package (e.g.,
+    <option>--enable-startup-notification</option> for
+    <xref linkend="xfce4-dev-tools"/>) are slently ignored, and thus
+    they are harmless.</para>
+    
     <para>If you use <xref linkend="gdm"/> as your display manager and would
     like to be able to log into an <application>XFce</application> session from
     the login prompt, pass the <parameter>--enable-gdm</parameter> option to
@@ -136,69 +299,11 @@
     <command>configure</command> script (requires <xref linkend="which"/> to be
     installed at run time).</para>
 
-    <para>Now, as the <systemitem class="username">root</systemitem> 
user:</para>
-
-<screen role="root"><userinput>make install</userinput></screen>
-
-    <para>In addition, you may choose to install:</para>
-
-    <itemizedlist spacing='compact'>
-      <listitem>
-        <para>gtk-xfce-engine-2.2.8</para>
-      </listitem>
-      <listitem>
-        <para>xfcalendar-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce-mcs-plugins-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-appfinder-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-icon-theme-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-iconbox-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-mixer-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-session-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-systray-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-toys-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfce4-trigger-launcher-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xffm-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfprint-&xfce-version;</para>
-      </listitem>
-      <listitem>
-        <para>xfwm4-themes-&xfce-version;</para>
-      </listitem>
-    </itemizedlist>
-
-    <para>Install the remaining applications using the following
-    commands:</para>
-
-<screen><userinput>./configure --prefix=/usr --sysconfdir=/etc \
-     --libexecdir=/usr/lib/xfce4 &amp;&amp;
-make</userinput></screen>
-
     <para>Also, <application>xfprint</application> can be configured with
     <parameter>--enable-cups</parameter> if you have <xref linkend="cups"/>
     installed.</para>
 
-    <para>And then as <systemitem class="username">root</systemitem>:</para>
+    <para>Now, as the <systemitem class="username">root</systemitem> 
user:</para>
 
 <screen role="root"><userinput>make install</userinput></screen>
 
@@ -227,6 +332,11 @@
     <application>xfce4-session</application> requires this parameter to
     install some utility programs to the correct location.</para>
 
+    <para><parameter>--disable-hal</parameter>: disables <xref linkend="hal"/>
+    support in <xref linkend="exo"/>.</para>
+
+    <para><parameter>--with-volume-manager=none</parameter>: disables <xref 
linkend="hal"/>
+    support in <xref linkend="Thunar"/>.</para>
   </sect2>
 
   <sect2 role="configuration">
@@ -246,13 +356,7 @@
       your existing <filename>.xinitrc</filename> file before
       proceeding.</para>
 
-<screen><userinput>cat &gt; ~/.xinitrc &lt;&lt; "EOF"
-<literal>xfce-mcs-manager
-xfwm4 --daemon
-xftaskbar4 &amp;
-xfdesktop &amp;
-exec xfce4-panel</literal>
-EOF</userinput></screen>
+<screen><userinput>echo "exec startxfce4" >~/.xinitrc</userinput></screen>
 
       <indexterm zone="xfce xfce-config">
         <primary sortas="e-AA.xinitrc">~/.xinitrc</primary>
@@ -263,7 +367,7 @@
   </sect2>
 
   <sect2 role="content">
-    <title>Contents</title>
+    <title>Contents (outdated)</title>
 
     <segmentedlist>
       <segtitle>Installed Programs</segtitle>
@@ -364,7 +468,7 @@
         </listitem>
       </varlistentry>
 
-      <varlistentry id="xfce-mcs-manager">
+      <varlistentry id="xfce-mcs-manager-prog">
         <term><command>xfce-mcs-manager</command></term>
         <listitem>
           <para>is the settings manager for
@@ -385,7 +489,7 @@
         </listitem>
       </varlistentry>
 
-      <varlistentry id="xfce4-session">
+      <varlistentry id="xfce4-session-prog">
         <term><command>xfce4-session</command></term>
         <listitem>
           <para>saves the state of your desktop and restores it when you next 
start
@@ -407,7 +511,7 @@
         </listitem>
       </varlistentry>
 
-      <varlistentry id="xfce4-panel">
+      <varlistentry id="xfce4-panel-prog">
         <term><command>xfce4-panel</command></term>
         <listitem>
           <para>is the panel manager for <application>XFce</application>.
@@ -419,7 +523,7 @@
         </listitem>
       </varlistentry>
 
-      <varlistentry id="xfdesktop">
+      <varlistentry id="xfdesktop-prog">
         <term><command>xfdesktop</command></term>
         <listitem>
           <para> is the desktop manager for
@@ -531,7 +635,7 @@
         </listitem>
       </varlistentry>
 
-      <varlistentry id="xfwm4">
+      <varlistentry id="xfwm4-prog">
         <term><command>xfwm4</command></term>
         <listitem>
           <para>is an <application>X11</application> window manager for
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to