<?xml version="1.0" encoding="UTF-8"?>
<chapter id="installation">
<chapterinfo>
- <date>24.8.2012</date>
+ <date>4.8.2013</date>
</chapterinfo>
<title>Installation</title>
!!!</para>
</warning>
- <para></para>
-
<sect1>
<title>How to obtain Netatalk</title>
</ulink></para>
<para>Solaris package: <ulink
- url="http://www.blastwave.org/">http://www.blastwave.org/
- </ulink></para>
+ url="http://www.opencsw.org/packages/CSWnetatalk/">http://www.opencsw.org/</ulink></para>
<para>FreeBSD ports: <ulink
url="http://www.freebsd.org/ports/index.html">http://www.freebsd.org/ports/index.html
<title>Git</title>
<para>Downloading the Git repository can be done quickly and
- easily.</para>
+ easily:</para>
<orderedlist>
<listitem>
<para>Make sure you have Git installed. <command>which
git</command> should produce a path to git.</para>
- <screen><prompt>$></prompt> <userinput>which git</userinput>
+ <screen><prompt>$ </prompt><userinput>which git</userinput>
<computeroutput>/usr/bin/git</computeroutput></screen>
</listitem>
- <listitem>
- <para>If you don't have one make a source directory.
- <command>cd</command> to this directory.</para>
-
- <screen><prompt>$></prompt> <userinput>mkdir /path/to/new/source/dir</userinput>
-<prompt>$></prompt> <userinput>cd /path/to/new/source/dir</userinput></screen>
- </listitem>
-
<listitem>
<para>Now get the source:</para>
- <screen><prompt>$></prompt> <userinput>git clone git://git.code.sf.net/p/netatalk/code netatalk-code
+ <screen><prompt>$</prompt> <userinput>git clone -b develop git://git.code.sf.net/p/netatalk/code netatalk-code
</userinput><computeroutput>Initialized empty Git repository in /path/to/new/source/dir/netatalk/.git/
remote: Counting objects: 2503, done.
...
</computeroutput></screen>
- <para>This will create a local directory called "netatalk-code"
- containing a complete and fresh copy of the whole Netatalk source
- from the Git repository.</para>
+ <para>This will create a local directory called
+ <filename>netatalk-code</filename> containing a complete and fresh
+ copy of the whole Netatalk source from the Git repository.</para>
</listitem>
<listitem>
<para>In order to keep your repository copy updated, occasionally
run:</para>
- <screen><prompt>$></prompt> <userinput>git pull</userinput></screen>
+ <screen><prompt>$</prompt> <userinput>git pull</userinput></screen>
</listitem>
<listitem>
<filename>configure</filename> script required in the next
step.</para>
- <screen><prompt>$></prompt> <userinput>./bootstrap</userinput></screen>
+ <screen><prompt>$</prompt> <userinput>./bootstrap</userinput></screen>
</listitem>
</orderedlist>
- <para></para>
+ <para>For futher information refer to this <ulink
+ url="http://netatalk.sourceforge.net/wiki/index.php/Developer_Infos">wiki</ulink>
+ page.</para>
</sect3>
</sect2>
</sect1>
<listitem>
<para>Berkeley DB<indexterm>
<primary>BDB</primary>
-
<secondary>Berkeley DB</secondary>
</indexterm>.</para>
-
- <para>At the time of writing, the following versions are
- supported:</para>
-
- <itemizedlist>
- <listitem>
- <para>minimum 4.6.x</para>
- </listitem>
- </itemizedlist>
-
- <para>In case Berkeley DB is not installed on your system, please
- download it from:</para>
-
- <para><ulink
- url="http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html">
- http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html</ulink></para>
-
- <para>and follow the <link linkend="build-bdb">installation
- instructions</link>.</para>
+ <para>At the time of writing you need at least version 4.6.</para>
</listitem>
<listitem>
it's functionality.</para>
<itemizedlist>
+ <listitem>
+ <para>Tracker for Spotlight<indexterm>
+ <primary>Spotlight</primary>
+ </indexterm> support</para>
+
+ <para>Netatalk uses <ulink
+ url="http://projects.gnome.org/tracker/">Tracker</ulink> as the
+ metadata backend. Recent Linux distributions will provide the
+ libtracker-sparql library which is available since Tracker version
+ 0.7.</para>
+ </listitem>
+
<listitem>
<para>mDNSresponderPOSIX or Avahi for Bonjour (aka
Zeroconf)</para>
<para>Avahi must be build with DBUS support (
<userinput>--enable-dbus</userinput>).</para>
-
- <para>You can download Avahi from: <ulink
- url="http://www.avahi.org/">http://www.avahi.org/</ulink>.</para>
-
- <para>You can download mDNSresponder from: <ulink
- url="http://opensource.apple.com/tarballs/mDNSResponder/">http://opensource.apple.com/tarballs/mDNSResponder/</ulink>.</para>
</listitem>
<listitem>
<para>Security options are: access control per host, domain and/or
service; detection of host name spoofing or host address spoofing;
booby traps to implement an early-warning system.</para>
-
- <para>TCP Wrappers can be downloaded from: <ulink
- url="ftp://ftp.porcupine.org/pub/security">ftp://ftp.porcupine.org/pub/security</ulink>/</para>
</listitem>
<listitem>
</indexterm> Microsystems. Linux-PAM is a suite of shared
libraries that enable the local system administrator to choose how
applications authenticate users.</para>
-
- <para>You can get the Linux PAM documentation and sources from
- <ulink
- url="http://www.kernel.org/pub/linux/libs/pam/">http://www.kernel.org/pub/linux/libs/pam/</ulink>.</para>
</listitem>
<listitem>
built in conversions for, like ISO-8859-1. On glibc systems,
Netatalk can use the glibc provided iconv implementation.
Otherwise you can use the GNU libiconv implementation.</para>
-
- <para>You can download GNU libiconv from: <olink><ulink
- url="http://www.gnu.org/software/libiconv/">http://www.gnu.org/software/libiconv/</ulink></olink>.</para>
</listitem>
</itemizedlist>
</sect3>
automatically configure Netatalk for your operating system. If you
have unusual needs, then you may wish to run</para>
- <screen>$> <userinput>./configure --help</userinput></screen>
+ <screen>$ <userinput>./configure --help</userinput></screen>
<para>to see what special options you can enable.</para>
<para>Now run configure with any options you need</para>
- <screen><prompt>$></prompt> <userinput>./configure [arguments]</userinput></screen>
+ <screen><prompt>$</prompt> <userinput>./configure [arguments]</userinput></screen>
<para>Configure will end up in an overview showing the settings the
Netatalk Makefiles have been created with.</para>
+ </sect3>
+
+ <sect3 id="spotlight-compile">
+ <title>Spotlight<indexterm>
+ <primary>Spotlight</primary>
+ </indexterm></title>
+
+ <para>Netatalk uses Gnome <ulink url="https://projects.gnome.org/tracker/">Tracker</ulink> as the
+ metadata backend. The minimum required version is 0.7 as that's the
+ first version to support <ulink url="https://wiki.gnome.org/Tracker/Documentation">SPARQL</ulink>.</para>
+
+ <para>If not already installed, install the packages
+ <emphasis>tracker</emphasis> and <emphasis>tracker-devel</emphasis>,
+ on Solaris install <ulink url="http://www.opencsw.org/">OpenCSW</ulink> and then install
+ the Tracker package from the OpenCSW unstable repository.</para>
+
+ <para>The tracker packages are found via pkg-config, you may have to
+ pass the version suffix as you may have a newer version installed then
+ the default 0.12, eg</para>
+
+ <screen><prompt>$ </prompt><userinput>pkg-config --list-all | grep tracker
+</userinput>tracker-extract-0.16 tracker-extract - Tracker : A library to develop metadata extractors for 3rd party file types.
+tracker-sparql-0.16 tracker-sparql - Tracker : A library to perform SPARQL queries and updates in the Tracker Store
+tracker-miner-0.16 tracker-miner - A library to develop tracker data miners</screen>
+
+ <para>So:</para>
- <para>If this step fails please visit the <ulink
- url="http://netatalk.sourceforge.net/wiki/index.php/Troubleshooting">troubleshooting
- guide</ulink>.</para>
+ <screen><prompt>$ </prompt><userinput>./configure --with-tracker-pkgconfig-version=0.16 ...</userinput></screen>
+
+ <para>If you're using Solaris and Tracker from OpenCSW, then you need
+ to set the PKG_CONFIG_PATH environment variable, add the
+ --with-tracker-prefix configure option and add
+ LDFLAGS="-R/opt/csw/lib"</para>
+
+ <screen>PKG_CONFIG_PATH=/opt/csw/lib/pkgconfig LDFLAGS="-R/opt/csw/lib" ./configure --with-tracker-prefix=/opt/csw --with-tracker-pkgconfig-version=0.16 ...</screen>
+
+ <para>Check the configure output whether the Tracker libs were
+ found:</para>
+
+ <screen>checking for TRACKER... yes
+checking for TRACKER_MINER... yes
+...
+Configure summary:
+...
+ AFP:
+ Spotlight: yes (SPARQL)
+...</screen>
+ </sect3>
+
+ <sect3>
+ <title>Compile and install</title>
<para>Next, running</para>
- <screen><prompt>$></prompt> <userinput>make</userinput></screen>
+ <screen><prompt>$</prompt> <userinput>make</userinput></screen>
<para>should produce the Netatalk binaries (this step can take several
minutes to complete).</para>
<para>When the process finished you can use</para>
- <screen><prompt>$></prompt> <userinput>make install</userinput></screen>
+ <screen><prompt>$</prompt> <userinput>make install</userinput></screen>
<para>to install the binaries and documentation (must be done as
"root" when using default locations).</para>