目次
本付録では、以下オペレーティング システムで Netatalk のソースコードをコンパイルする手順が記載されている。
本手順書は自動的に生成されたため、ご使用のシステムに最適化されていない可能性があるのでご了承ください。
Autotools か Meson のビルドシステムは選択可能。 テスト手順は任意である。
Install dependencies
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
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./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
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-style=openrc \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
pacman -Sy --noconfirm \ autoconf \ automake \ cracklib \ gcc \ libtool \ make \ mariadb-clients \ meson \ ninja \ pkgconfig \ rpcsvc-proto
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-init-hooks \ --with-cracklib \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=systemd
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-hooks=false \ -Dwith-init-style=systemd \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
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
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./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
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
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
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
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
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./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
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
sudo make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
sudo make uninstall
Meson - Configure
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
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
sudo ninja -C build uninstall
Install dependencies
zypper in -y \ automake \ file \ gawk \ gcc \ libtool \ make \ meson \ ninja \ pkg-config \ systemd \ wget && 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
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./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
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
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
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
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
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./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
Autotools - Generate manual pages
make html
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Run distribution tests
make distcheck
Autotools - Install
sudo make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sudo systemctl start netatalk sleep 2 asip-status localhost
Autotools - Stop netatalk
sudo systemctl stop netatalk
Autotools - Uninstall
sudo make uninstall
Meson - Configure
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
Meson - Build
meson compile -C build
Meson - Run distribution tests
cd build && meson dist
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sudo systemctl start netatalk sleep 1 asip-status localhost
Meson - Stop netatalk
sudo systemctl stop netatalk
Meson - Uninstall
sudo ninja -C build uninstall
Install dependencies
brew install automake berkeley-db libressl libtool meson mysql talloc
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./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
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Install
sudo make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sudo /usr/local/bin/netatalkd start && sleep 2 && asip-status localhost
Autotools - Stop netatalk
sudo netatalkd stop
Autotools - Uninstall
sudo make uninstall
Meson - Configure
meson setup build \ -Dwith-init-style=macos-launchd \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/opt/homebrew/sbin/netatalk -V /opt/homebrew/sbin/afpd -V sudo netatalkd start && sleep 2 && asip-status localhost
Meson - Stop netatalk
sudo netatalkd stop
Meson - Uninstall
sudo ninja -C build uninstall
必要なパッケージをインストールする
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
コンフィグレーションとビルド
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
必要なパッケージをインストールする
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
コンフィグレーションとビルド
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
必要なパッケージをインストールする
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
コンフィグレーションとビルド
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 && 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
必要なパッケージをインストールする
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
コンフィグレーションとビルド
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
必要なパッケージをインストールする
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
コンフィグレーションとビルド
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
必要なパッケージをインストールする
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 ..
コンフィグレーションとビルド
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 && 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