<?xml version="1.0" encoding="utf-8"?>
<appendix id="compile">
	<appendixinfo>
		<pubdate>2024-09-24</pubdate>
	</appendixinfo>
	<title>Netatalk をソースコードからコンパイルする</title>
	<sect1 id="compile-overview">
		<title>概要</title>
	</sect1>
	<sect1>
		<para>本付録では、以下オペレーティング システムで Netatalk のソースコードをコンパイルする手順が記載されている。</para>
		<para>本手順書は自動的に生成されたため、ご使用のシステムに最適化されていない可能性があるのでご了承ください。</para>
		<para>Autotools か Meson のビルドシステムは選択可能。 テスト手順は任意である。</para>
	</sect1>
	<sect1 id="compile-os">
		<title>オペレーティング システム一覧</title>
	</sect1>
	<sect1>
		<sect2 id="build-alpine">
			<title>Alpine Linux</title>
			<para>Install dependencies</para>
			<para>
				<screen>apk add \
  acl-dev \
  autoconf \
  automake \
  avahi-compat-libdns_sd \
  avahi-dev \
  bison \
  build-base \
  cracklib \
  cracklib-dev \
  cracklib-words \
  curl \
  db-dev \
  dbus-dev \
  dbus-glib-dev \
  flex \
  gcc \
  krb5-dev \
  libevent-dev \
  libgcrypt-dev \
  libtirpc-dev \
  libtool \
  libtracker \
  linux-pam-dev \
  mariadb-dev \
  meson \
  ninja \
  openldap-dev \
  openrc \
  openssl-dev \
  pkgconfig \
  rpcsvc-proto-dev \
  talloc-dev \
  tracker \
  tracker-dev \
  tracker-miners
</screen>
			</para>
			<para>Autotools - Bootstrap</para>
			<para>
				<screen>./bootstrap</screen>
			</para>
			<para>Autotools - Configure</para>
			<para>
				<screen>./configure \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --with-cracklib \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-init-style=openrc \
  --with-tracker-pkgconfig-version=3.0
</screen>
			</para>
			<para>Autotools - Build</para>
			<para>
				<screen>make -j $(nproc)</screen>
			</para>
			<para>Autotools - Run tests</para>
			<para>
				<screen>make check</screen>
			</para>
			<para>Autotools - Install</para>
			<para>
				<screen>make install</screen>
			</para>
			<para>Autotools - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Autotools - Uninstall</para>
			<para>
				<screen>make uninstall</screen>
			</para>
			<para>Meson - Configure</para>
			<para>
				<screen>meson setup build \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-init-style=openrc \
  -Dwith-tests=true
</screen>
			</para>
			<para>Meson - Build</para>
			<para>
				<screen>meson compile -C build</screen>
			</para>
			<para>Meson - Run tests</para>
			<para>
				<screen>cd build &amp;&amp; meson test</screen>
			</para>
			<para>Meson - Install</para>
			<para>
				<screen>meson install -C build</screen>
			</para>
			<para>Meson - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Meson - Uninstall</para>
			<para>
				<screen>ninja -C build uninstall</screen>
			</para>
		</sect2>
		<sect2 id="build-archlinux">
			<title>Arch Linux</title>
			<para>Install dependencies</para>
			<para>
				<screen>pacman -Sy --noconfirm \
  autoconf \
  automake \
  cracklib \
  gcc \
  libtool \
  make \
  mariadb-clients \
  meson \
  ninja \
  pkgconfig \
  rpcsvc-proto
</screen>
			</para>
			<para>Autotools - Bootstrap</para>
			<para>
				<screen>./bootstrap</screen>
			</para>
			<para>Autotools - Configure</para>
			<para>
				<screen>./configure \
  --disable-init-hooks \
  --with-cracklib \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-init-style=systemd
</screen>
			</para>
			<para>Autotools - Build</para>
			<para>
				<screen>make -j $(nproc)</screen>
			</para>
			<para>Autotools - Run tests</para>
			<para>
				<screen>make check</screen>
			</para>
			<para>Autotools - Install</para>
			<para>
				<screen>make install</screen>
			</para>
			<para>Autotools - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Autotools - Uninstall</para>
			<para>
				<screen>make uninstall</screen>
			</para>
			<para>Meson - Configure</para>
			<para>
				<screen>meson setup build \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-init-hooks=false \
  -Dwith-init-style=systemd \
  -Dwith-tests=true
</screen>
			</para>
			<para>Meson - Build</para>
			<para>
				<screen>meson compile -C build</screen>
			</para>
			<para>Meson - Run tests</para>
			<para>
				<screen>cd build &amp;&amp; meson test</screen>
			</para>
			<para>Meson - Install</para>
			<para>
				<screen>meson install -C build</screen>
			</para>
			<para>Meson - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Meson - Uninstall</para>
			<para>
				<screen>ninja -C build uninstall</screen>
			</para>
		</sect2>
		<sect2 id="build-debian">
			<title>Debian Linux</title>
			<para>Install dependencies</para>
			<para>
				<screen>apt-get update
apt-get install --assume-yes --no-install-recommends \
  autoconf \
  automake \
  bison \
  default-libmysqlclient-dev \
  file \
  flex \
  gcc \
  libacl1-dev \
  libavahi-client-dev \
  libcrack2-dev \
  libdb-dev \
  libdbus-1-dev \
  libdbus-glib-1-dev \
  libevent-dev \
  libgcrypt-dev \
  libglib2.0-dev \
  libkrb5-dev \
  libldap2-dev \
  libltdl-dev \
  libpam0g-dev \
  libssl-dev \
  libtalloc-dev \
  libtirpc-dev \
  libtool \
  libtool-bin \
  libtracker-sparql-3.0-dev \
  libwolfssl-dev \
  libwrap0-dev \
  make \
  meson \
  ninja-build \
  quota \
  systemtap-sdt-dev \
  tcpd \
  tracker \
  tracker-miner-fs
</screen>
			</para>
			<para>Autotools - Bootstrap</para>
			<para>
				<screen>./bootstrap</screen>
			</para>
			<para>Autotools - Configure</para>
			<para>
				<screen>./configure \
  --disable-dependency-tracking \
  --disable-init-hooks \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --enable-quota \
  --with-cracklib \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-init-style=debian-systemd \
  --with-tracker-pkgconfig-version=3.0
</screen>
			</para>
			<para>Autotools - Build</para>
			<para>
				<screen>make -j $(nproc) all</screen>
			</para>
			<para>Autotools - Run tests</para>
			<para>
				<screen>make check</screen>
			</para>
			<para>Autotools - Install</para>
			<para>
				<screen>make install</screen>
			</para>
			<para>Autotools - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Autotools - Uninstall</para>
			<para>
				<screen>make uninstall</screen>
			</para>
			<para>Meson - Configure</para>
			<para>
				<screen>meson setup build \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-init-hooks=false \
  -Dwith-init-style=debian-systemd \
  -Dwith-pkgconfdir-path=/etc/netatalk \
  -Dwith-tests=true
</screen>
			</para>
			<para>Meson - Build</para>
			<para>
				<screen>meson compile -C build</screen>
			</para>
			<para>Meson - Run tests</para>
			<para>
				<screen>cd build &amp;&amp; meson test</screen>
			</para>
			<para>Meson - Install</para>
			<para>
				<screen>meson install -C build</screen>
			</para>
			<para>Meson - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Meson - Uninstall</para>
			<para>
				<screen>ninja -C build uninstall</screen>
			</para>
		</sect2>
		<sect2 id="build-fedora">
			<title>Fedora Linux</title>
			<para>Install dependencies</para>
			<para>
				<screen>dnf --setopt=install_weak_deps=False --assumeyes install \
  automake \
  avahi-devel \
  bison \
  chkconfig \
  cracklib-devel \
  dbus-devel \
  dbus-glib-devel \
  flex \
  glib2-devel \
  krb5-devel \
  libacl-devel \
  libdb-devel \
  libgcrypt-devel \
  libtalloc-devel \
  libtool \
  mariadb-connector-c-devel \
  meson \
  ninja-build \
  openldap-devel \
  openssl-devel \
  pam-devel \
  perl \
  quota-devel \
  systemd \
  systemtap-sdt-devel \
  tracker \
  tracker-devel
</screen>
			</para>
			<para>Autotools - Bootstrap</para>
			<para>
				<screen>./bootstrap</screen>
			</para>
			<para>Autotools - Configure</para>
			<para>
				<screen>./configure \
  --disable-init-hooks \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --enable-quota \
  --with-cracklib \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-init-style=redhat-systemd \
  --with-tracker-pkgconfig-version=3.0
</screen>
			</para>
			<para>Autotools - Build</para>
			<para>
				<screen>make -j $(nproc)</screen>
			</para>
			<para>Autotools - Run tests</para>
			<para>
				<screen>make check</screen>
			</para>
			<para>Autotools - Install</para>
			<para>
				<screen>sudo make install</screen>
			</para>
			<para>Autotools - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Autotools - Uninstall</para>
			<para>
				<screen>sudo make uninstall</screen>
			</para>
			<para>Meson - Configure</para>
			<para>
				<screen>meson setup build \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-init-hooks=false \
  -Dwith-init-style=redhat-systemd \
  -Dwith-tests=true
</screen>
			</para>
			<para>Meson - Build</para>
			<para>
				<screen>meson compile -C build</screen>
			</para>
			<para>Meson - Run tests</para>
			<para>
				<screen>cd build &amp;&amp; meson test</screen>
			</para>
			<para>Meson - Install</para>
			<para>
				<screen>sudo meson install -C build</screen>
			</para>
			<para>Meson - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Meson - Uninstall</para>
			<para>
				<screen>sudo ninja -C build uninstall</screen>
			</para>
		</sect2>
		<sect2 id="build-opensuse">
			<title>openSUSE Linux</title>
			<para>Install dependencies</para>
			<para>
				<screen>zypper in -y \
  automake \
  file \
  gawk \
  gcc \
  libtool \
  make \
  meson \
  ninja \
  pkg-config \
  systemd \
  wget &amp;&amp;
zypper in -y \
  bison \
  cracklib-devel \
  dbus-1-devel \
  flex \
  libacl-devel \
  libavahi-devel \
  libdb-4_8-devel \
  libevent-devel \
  libgcrypt-devel \
  libmariadb-devel \
  libopenssl-devel \
  libtalloc-devel \
  libtdb-devel \
  libtracker-sparql-3_0-0 \
  openldap2-devel \
  pam-devel \
  systemtap-sdt-devel \
  tcpd-devel \
  tracker
</screen>
			</para>
			<para>Autotools - Bootstrap</para>
			<para>
				<screen>./bootstrap</screen>
			</para>
			<para>Autotools - Configure</para>
			<para>
				<screen>./configure \
  --disable-init-hooks \
  --disable-krbV-uam \
  --enable-pgp-uam \
  --with-cracklib \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-init-style=suse-systemd \
  --with-tracker-pkgconfig-version=3.0
</screen>
			</para>
			<para>Autotools - Build</para>
			<para>
				<screen>make -j $(nproc)</screen>
			</para>
			<para>Autotools - Run tests</para>
			<para>
				<screen>make check</screen>
			</para>
			<para>Autotools - Install</para>
			<para>
				<screen>make install</screen>
			</para>
			<para>Autotools - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Autotools - Uninstall</para>
			<para>
				<screen>make uninstall</screen>
			</para>
			<para>Meson - Configure</para>
			<para>
				<screen>meson setup build \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-init-hooks=false \
  -Dwith-init-style=suse-systemd \
  -Dwith-tests=true
</screen>
			</para>
			<para>Meson - Build</para>
			<para>
				<screen>meson compile -C build</screen>
			</para>
			<para>Meson - Run tests</para>
			<para>
				<screen>cd build &amp;&amp; meson test</screen>
			</para>
			<para>Meson - Install</para>
			<para>
				<screen>meson install -C build</screen>
			</para>
			<para>Meson - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
</screen>
			</para>
			<para>Meson - Uninstall</para>
			<para>
				<screen>ninja -C build uninstall</screen>
			</para>
		</sect2>
		<sect2 id="build-ubuntu">
			<title>Ubuntu Linux</title>
			<para>Install dependencies</para>
			<para>
				<screen>sudo apt-get update
sudo apt-get install --assume-yes --no-install-recommends autoconf \
automake \
bison \
cracklib-runtime \
docbook-xsl \
flex \
libacl1-dev \
libavahi-client-dev \
libcrack2-dev \
libdb-dev \
libdbus-1-dev \
libdbus-glib-1-dev \
libevent-dev \
libgcrypt-dev \
libglib2.0-dev \
libkrb5-dev \
libldap2-dev \
libmariadb-dev \
libpam0g-dev \
libssl-dev \
libtalloc-dev \
libtirpc-dev \
libtool \
libtool-bin \
libtracker-sparql-3.0-dev \
libwolfssl-dev \
libwrap0-dev \
meson \
ninja-build \
quota \
systemtap-sdt-dev \
tcpd \
tracker \
tracker-miner-fs \
xsltproc

</screen>
			</para>
			<para>Autotools - Bootstrap</para>
			<para>
				<screen>./bootstrap</screen>
			</para>
			<para>Autotools - Configure</para>
			<para>
				<screen>./configure \
  --disable-init-hooks \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --enable-quota \
  --with-cracklib \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-docbook=/usr/share/xml/docbook/stylesheet/docbook-xsl \
  --with-init-style=debian-systemd \
  --with-tracker-pkgconfig-version=3.0
</screen>
			</para>
			<para>Autotools - Generate manual pages</para>
			<para>
				<screen>make html</screen>
			</para>
			<para>Autotools - Build</para>
			<para>
				<screen>make -j $(nproc) all</screen>
			</para>
			<para>Autotools - Run tests</para>
			<para>
				<screen>make check</screen>
			</para>
			<para>Autotools - Run distribution tests</para>
			<para>
				<screen>make distcheck</screen>
			</para>
			<para>Autotools - Install</para>
			<para>
				<screen>sudo make install</screen>
			</para>
			<para>Autotools - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sudo systemctl start netatalk
sleep 2
asip-status localhost
</screen>
			</para>
			<para>Autotools - Stop netatalk</para>
			<para>
				<screen>sudo systemctl stop netatalk</screen>
			</para>
			<para>Autotools - Uninstall</para>
			<para>
				<screen>sudo make uninstall</screen>
			</para>
			<para>Meson - Configure</para>
			<para>
				<screen>meson setup build \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-manual=true \
  -Dwith-init-hooks=false \
  -Dwith-init-style=debian-systemd \
  -Dwith-tests=true
</screen>
			</para>
			<para>Meson - Build</para>
			<para>
				<screen>meson compile -C build</screen>
			</para>
			<para>Meson - Run distribution tests</para>
			<para>
				<screen>cd build &amp;&amp; meson dist</screen>
			</para>
			<para>Meson - Install</para>
			<para>
				<screen>sudo meson install -C build</screen>
			</para>
			<para>Meson - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sudo systemctl start netatalk
sleep 1
asip-status localhost
</screen>
			</para>
			<para>Meson - Stop netatalk</para>
			<para>
				<screen>sudo systemctl stop netatalk</screen>
			</para>
			<para>Meson - Uninstall</para>
			<para>
				<screen>sudo ninja -C build uninstall</screen>
			</para>
		</sect2>
		<sect2 id="build-macos">
			<title>macOS</title>
			<para>Install dependencies</para>
			<para>
				<screen>brew install automake berkeley-db libressl libtool meson mysql talloc</screen>
			</para>
			<para>Autotools - Bootstrap</para>
			<para>
				<screen>./bootstrap</screen>
			</para>
			<para>Autotools - Configure</para>
			<para>
				<screen>./configure \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --with-bdb=/opt/homebrew/opt/berkeley-db \
  --with-init-style=macos-launchd \
  --with-ssl-dir=/opt/homebrew/opt/libressl
</screen>
			</para>
			<para>Autotools - Build</para>
			<para>
				<screen>make -j $(nproc) all</screen>
			</para>
			<para>Autotools - Run tests</para>
			<para>
				<screen>make check</screen>
			</para>
			<para>Autotools - Install</para>
			<para>
				<screen>sudo make install</screen>
			</para>
			<para>Autotools - Start netatalk</para>
			<para>
				<screen>/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sudo /usr/local/bin/netatalkd start &amp;&amp; sleep 2 &amp;&amp; asip-status localhost
</screen>
			</para>
			<para>Autotools - Stop netatalk</para>
			<para>
				<screen>sudo netatalkd stop</screen>
			</para>
			<para>Autotools - Uninstall</para>
			<para>
				<screen>sudo make uninstall</screen>
			</para>
			<para>Meson - Configure</para>
			<para>
				<screen>meson setup build \
  -Dwith-init-style=macos-launchd \
  -Dwith-tests=true
</screen>
			</para>
			<para>Meson - Build</para>
			<para>
				<screen>meson compile -C build</screen>
			</para>
			<para>Meson - Run tests</para>
			<para>
				<screen>cd build &amp;&amp; meson test</screen>
			</para>
			<para>Meson - Install</para>
			<para>
				<screen>sudo meson install -C build</screen>
			</para>
			<para>Meson - Start netatalk</para>
			<para>
				<screen>/opt/homebrew/sbin/netatalk -V
/opt/homebrew/sbin/afpd -V
sudo netatalkd start &amp;&amp; sleep 2 &amp;&amp; asip-status localhost
</screen>
			</para>
			<para>Meson - Stop netatalk</para>
			<para>
				<screen>sudo netatalkd stop</screen>
			</para>
			<para>Meson - Uninstall</para>
			<para>
				<screen>sudo ninja -C build uninstall</screen>
			</para>
		</sect2>
		<sect2 id="build-dflybsd">
			<title>DragonflyBSD</title>
			<para>必要なパッケージをインストールする</para>
			<para>
				<screen>pkg install -y \
  autoconf \
  automake \
  avahi \
  bison \
  db5 \
  gmake \
  krb5-devel \
  libevent \
  libgcrypt \
  libtool \
  meson \
  mysql80-client \
  openldap26-client \
  perl5 \
  pkgconf \
  py39-gdbm \
  py39-sqlite3 \
  py39-tkinter \
  talloc \
  tracker3
</screen>
			</para>
			<para>コンフィグレーションとビルド</para>
			<para>
				<screen>set -e
echo "Building with Autotools"
./bootstrap
./configure \
  --with-ssl-dir=/usr/local \
  --with-tracker-pkgconfig-version=3.0 \
  LDFLAGS=-L/usr/local/lib \
  MAKE=gmake
gmake -j2
gmake install
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
gmake uninstall
echo "Building with Meson"
meson setup build
meson compile -C build
meson install -C build
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
ninja -C build uninstall
</screen>
			</para>
		</sect2>
		<sect2 id="build-freebsd">
			<title>FreeBSD</title>
			<para>必要なパッケージをインストールする</para>
			<para>
				<screen>pkg install -y \
  autoconf \
  automake \
  avahi \
  bison \
  db5 \
  flex \
  gmake \
  libevent \
  libgcrypt \
  libressl \
  libtool \
  meson \
  mysql84-client \
  openldap26-client-2.6.8 \
  pkgconf \
  talloc \
  tracker3
</screen>
			</para>
			<para>コンフィグレーションとビルド</para>
			<para>
				<screen>set -e
echo "Building with Autotools"
./bootstrap
./configure \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --with-init-style=freebsd \
  --with-ldap=/usr/local \
  --with-ssl-dir=/usr/local \
  --with-tracker-pkgconfig-version=3.0 \
  MAKE=gmake \
  PKG_CONFIG_PATH=/usr/local/libdata/pkgconfig
gmake -j $(nproc)
gmake install
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
/usr/local/etc/rc.d/netatalk start
sleep 2
/usr/local/bin/asip-status localhost
/usr/local/etc/rc.d/netatalk stop
gmake uninstall
echo "Building with Meson"
meson setup build \
  -Dpkg_config_path=/usr/local/libdata/pkgconfig \
  -Dwith-init-style=freebsd
meson compile -C build
meson install -C build
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
/usr/local/etc/rc.d/netatalk start
sleep 2
/usr/local/bin/asip-status localhost
/usr/local/etc/rc.d/netatalk stop
/usr/local/etc/rc.d/netatalk disable
ninja -C build uninstall
</screen>
			</para>
		</sect2>
		<sect2 id="build-netbsd">
			<title>NetBSD</title>
			<para>必要なパッケージをインストールする</para>
			<para>
				<screen>pkg_add \
  autoconf \
  automake \
  avahi \
  bison \
  db5 \
  dbus-glib \
  flex \
  gcc13 \
  gmake \
  gnome-tracker \
  libevent \
  libgcrypt \
  libressl \
  libtool \
  meson \
  mysql-client \
  p5-Net-DBus \
  perl \
  pkg-config \
  talloc
</screen>
			</para>
			<para>コンフィグレーションとビルド</para>
			<para>
				<screen>set -e
echo "Building with Autotools"
./bootstrap
./configure \
  MAKE=gmake \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --with-init-style=netbsd \
  --with-tracker-pkgconfig-version=3.0
gmake -j $(nproc)
gmake install
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
service netatalk onestart
sleep 2
asip-status localhost
service netatalk onestop
gmake uninstall
echo "Building with Meson"
meson setup build \
  -Dpkg_config_path=/usr/pkg/lib/pkgconfig \
  -Dwith-dtrace=false \
  -Dwith-init-style=netbsd \
  -Dwith-tests=false
meson compile -C build
cd build &amp;&amp; meson test
cd ..
meson install -C build
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
service netatalk onestart
sleep 2
asip-status localhost
service netatalk onestop
ninja -C build uninstall
</screen>
			</para>
		</sect2>
		<sect2 id="build-openbsd">
			<title>OpenBSD</title>
			<para>必要なパッケージをインストールする</para>
			<para>
				<screen>pkg_add -I \
  autoconf-2.71 \
  automake-1.16.5 \
  avahi \
  bison \
  dbus-glib \
  db-4.6.21p7v0 \
  gcc-11.2.0p11 \
  gmake \
  libevent \
  libgcrypt \
  libtalloc \
  libtool \
  mariadb-client \
  meson \
  openldap-client-2.6.7v0 \
  openpam \
  pkgconf \
  tracker3
</screen>
			</para>
			<para>コンフィグレーションとビルド</para>
			<para>
				<screen>set -e
echo "Building with Autotools"
export AUTOCONF_VERSION=2.71
export AUTOMAKE_VERSION=1.16
export CFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
autoreconf -fi
./configure \
  --disable-init-hooks \
  --with-init-style=openbsd \
  --with-tracker-pkgconfig-version=3.0 \
  MAKE=gmake \
  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
gmake -j $(nproc)
echo "Building with Meson"
meson setup build \
  -Dpkg_config_path=/usr/local/lib/pkgconfig \
  -Dwith-init-style=openbsd
meson compile -C build
meson install -C build
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
rcctl -d start netatalk
sleep 2
asip-status localhost
rcctl -d stop netatalk
rcctl -d disable netatalk
ninja -C build uninstall
</screen>
			</para>
		</sect2>
		<sect2 id="build-omnios">
			<title>OmniOS</title>
			<para>必要なパッケージをインストールする</para>
			<para>
				<screen>pkg install \
  build-essential \
  libtool \
  pkg-config
curl -O https://pkgsrc.smartos.org/packages/SmartOS/bootstrap/bootstrap-trunk-x86_64-20240116.tar.gz
tar -zxpf bootstrap-trunk-x86_64-20240116.tar.gz -C /
export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH
pkgin -y install \
  avahi \
  dbus-glib \
  gnome-tracker \
  libevent \
  libgcrypt \
  meson \
  mysql-client \
  talloc
</screen>
			</para>
			<para>コンフィグレーションとビルド</para>
			<para>
				<screen>set -e
export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH
echo "Building with Autotools"
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
./bootstrap
./configure \
  --enable-pgp-uam \
  --with-bdb=/opt/local \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-init-style=solaris \
  --with-ldap=/opt/local \
  --with-tracker-pkgconfig-version=3.0
make -j $(nproc)
make install
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sleep 2
svcadm enable svc:/network/netatalk:default
sleep 2
/usr/local/bin/asip-status localhost
svcadm disable svc:/network/netatalk:default
make uninstall
echo "Building with Meson"
meson setup build \
  -Dpkg_config_path=/opt/local/lib/pkgconfig \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-init-style=solaris \
  -Dwith-ldap-path=/opt/local \
  -Dwith-pgp-uam=true
meson compile -C build
meson install -C build
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sleep 2
svcadm enable svc:/network/netatalk:default
sleep 2
/usr/local/bin/asip-status localhost
svcadm disable svc:/network/netatalk:default
ninja -C build uninstall
</screen>
			</para>
		</sect2>
		<sect2 id="build-solaris">
			<title>Solaris</title>
			<para>必要なパッケージをインストールする</para>
			<para>
				<screen>pkg install \
  autoconf \
  automake \
  bison \
  flex \
  gcc \
  libevent \
  libgcrypt \
  libtool \
  ninja \
  pkg-config \
  python/pip
pip install meson
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz --no-check-certificate
wget https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz --no-check-certificate
tar xvf autoconf-2.71.tar.gz
tar xvf automake-1.16.5.tar.gz
cd autoconf-2.71
./configure --prefix=/usr
make
make install
cd ../automake-1.16.5
./configure --prefix=/usr
make
make install
cd ..
</screen>
			</para>
			<para>コンフィグレーションとビルド</para>
			<para>
				<screen>set -e
echo "Building with Autotools"
./bootstrap
./configure \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \
  --with-init-style=solaris \
  --with-tracker-pkgconfig-version=2.0 \
  --without-afpstats \
  MAKE=gmake \
  PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig
gmake -j $(nproc)
gmake install
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sleep 2
svcadm enable svc:/network/netatalk:default
sleep 2
/usr/local/bin/asip-status localhost
svcadm disable -s svc:/network/netatalk:default
gmake uninstall
echo "Building with Meson"
meson setup build \
  -Dpkg_config_path=/usr/lib/amd64/pkgconfig \
  -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
  -Dwith-init-style=solaris \
  -Dwith-pgp-uam=true \
  -Dwith-tests=true
meson compile -C build
cd build &amp;&amp; meson test
cd ..
meson install -C build
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sleep 2
svcadm enable svc:/network/netatalk:default
sleep 2
/usr/local/bin/asip-status localhost
svcadm disable svc:/network/netatalk:default
ninja -C build uninstall
</screen>
			</para>
		</sect2>
		<sect2></sect2>
	</sect1>
</appendix>