Skip to content

Spotlight: Fix timestamps and add additional attributes #7824

Spotlight: Fix timestamps and add additional attributes

Spotlight: Fix timestamps and add additional attributes #7824

Workflow file for this run

name: Builds
on:
push:
branches:
- main
- branch-*
pull_request:
branches:
- main
- branch-*
types:
- opened
- synchronize
- reopened
permissions:
contents: read
jobs:
build-alpine:
name: Alpine Linux
runs-on: ubuntu-latest
timeout-minutes: 24
container:
image: alpine:3.23.2
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies
run: |
apk add \
acl-dev \
avahi-compat-libdns_sd \
avahi-dev \
bison \
build-base \
ca-certificates \
cracklib \
cracklib-dev \
cracklib-words \
cups \
cups-dev \
curl \
db-dev \
dbus-dev \
flex \
gcc \
glib \
iniparser-dev \
krb5-dev \
libev-dev \
libgcrypt-dev \
libtirpc-dev \
libtracker \
linux-pam-dev \
localsearch \
mariadb-dev \
meson \
ninja \
openldap-dev \
openrc \
pandoc \
perl \
pkgconfig \
rpcsvc-proto-dev \
sqlite-dev \
talloc-dev \
tinysparql-dev \
valgrind
- name: Configure
run: |
meson setup build \
-Dbuildtype=release \
-Dwith-appletalk=true \
-Dwith-cups-pap-backend=true \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-eventloop=libev \
-Dwith-statedir-path=/var/lib \
-Dwith-tests=true \
-Dwith-testsuite=true
- name: Build
run: meson compile -C build
- name: Run integration tests
run: meson test -C build
- name: Run memory profiling
run: meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
- name: Install
run: meson install -C build
- name: Check netatalk capabilities
run: |
netatalk -V
afpd -V
atalkd -V
a2boot -V
macipgw -V
papd -V
timelord -V
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-archlinux:
name: Arch Linux
runs-on: ubuntu-latest
timeout-minutes: 24
container:
image: archlinux:base-devel
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies
run: |
pacman -Sy --noconfirm \
avahi \
bison \
cmark-gfm \
cracklib \
cups \
db \
flex \
gcc \
iniparser \
libev \
localsearch \
mariadb-clients \
meson \
ninja \
perl \
pkgconfig \
rpcsvc-proto \
sqlite \
talloc \
tinysparql
- name: Configure
run: |
meson setup build \
-Dbuildtype=release \
-Dwith-appletalk=true \
-Dwith-cups-pap-backend=true \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-eventloop=libev \
-Dwith-init-hooks=false \
-Dwith-tests=true \
-Dwith-testsuite=true
- name: Build
run: meson compile -C build
- name: Run integration tests
run: meson test -C build
- name: Install
run: meson install -C build
- name: Check netatalk capabilities
run: |
netatalk -V
afpd -V
atalkd -V
a2boot -V
macipgw -V
papd -V
timelord -V
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-debian:
name: Debian Linux
runs-on: ubuntu-latest
timeout-minutes: 24
container:
image: debian:13.3
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies
run: |
apt-get update
apt-get install --assume-yes --no-install-recommends \
bison \
ca-certificates \
cmark-gfm \
cracklib-runtime \
file \
flex \
gcc \
libacl1-dev \
libavahi-client-dev \
libcrack2-dev \
libcups2-dev \
libdb-dev \
libdbus-1-dev \
libev-dev \
libgcrypt20-dev \
libglib2.0-dev \
libiniparser-dev \
libkrb5-dev \
libldap2-dev \
libmariadb-dev \
libpam0g-dev \
libsqlite3-dev \
libtalloc-dev \
libtirpc-dev \
libtracker-sparql-3.0-dev \
libwrap0-dev \
meson \
ninja-build \
quota \
systemtap-sdt-dev \
tcpd \
tracker \
tracker-miner-fs \
valgrind
- name: Configure
run: |
meson setup build \
-Dbuildtype=release \
-Dwith-appletalk=true \
-Dwith-cups-pap-backend=true \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-eventloop=libev \
-Dwith-init-hooks=false \
-Dwith-init-style=debian-sysv,systemd \
-Dwith-pkgconfdir-path=/etc/netatalk \
-Dwith-tests=true \
-Dwith-testsuite=true
- name: Build
run: meson compile -C build
- name: Run integration tests
run: meson test -C build
- name: Run memory profiling
run: meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
- name: Install
run: meson install -C build
- name: Check netatalk capabilities
run: |
netatalk -V
afpd -V
atalkd -V
a2boot -V
macipgw -V
papd -V
timelord -V
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-fedora:
name: Fedora Linux
runs-on: ubuntu-latest
timeout-minutes: 24
container:
image: fedora:43
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies
run: |
dnf --setopt=install_weak_deps=False --assumeyes install \
avahi-devel \
bison \
chkconfig \
cracklib-devel \
cups-devel \
dbus-devel \
flex \
glib2-devel \
iniparser-devel \
krb5-devel \
libacl-devel \
libdb-devel \
libev-devel \
libgcrypt-devel \
libtalloc-devel \
localsearch \
mariadb-connector-c-devel \
meson \
ninja-build \
openldap-devel \
pam-devel \
pandoc \
perl \
perl-Net-DBus \
quota-devel \
sqlite-devel \
systemd \
systemtap-sdt-devel \
tinysparql-devel \
valgrind
- name: Configure
run: |
meson setup build \
-Dbuildtype=release \
-Dwith-appletalk=true \
-Dwith-cups-pap-backend=true \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-eventloop=libev \
-Dwith-init-hooks=false \
-Dwith-tests=true \
-Dwith-testsuite=true
- name: Build
run: meson compile -C build
- name: Run integration tests
run: meson test -C build
- name: Run memory profiling
run: meson test --wrapper='valgrind --leak-check=full --error-exitcode=1' -C build
- name: Install
run: sudo meson install -C build
- name: Check netatalk capabilities
run: |
netatalk -V
afpd -V
atalkd -V
a2boot -V
macipgw -V
papd -V
timelord -V
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-ubuntu:
name: Ubuntu Linux
runs-on: ubuntu-latest
timeout-minutes: 24
container:
image: ubuntu:25.10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies
run: |
apt-get update
apt-get install --assume-yes --no-install-recommends \
bison \
ca-certificates \
cmark-gfm \
cracklib-runtime \
file \
flex \
gcc \
libacl1-dev \
libavahi-client-dev \
libcrack2-dev \
libcups2-dev \
libdb-dev \
libdbus-1-dev \
libev-dev \
libgcrypt20-dev \
libglib2.0-dev \
libiniparser-dev \
libkrb5-dev \
libldap2-dev \
libmariadb-dev \
libpam0g-dev \
libtalloc-dev \
libtirpc-dev \
libtracker-sparql-3.0-dev \
libwrap0-dev \
meson \
ninja-build \
quota \
systemtap-sdt-dev \
tcpd \
tracker \
tracker-miner-fs
- name: Configure
run: |
meson setup build \
-Dbuildtype=release \
-Dwith-appletalk=true \
-Dwith-cups-pap-backend=true \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-eventloop=libev \
-Dwith-init-hooks=false \
-Dwith-tests=true \
-Dwith-testsuite=true
- name: Build
run: meson compile -C build
- name: Run integration tests
run: meson test -C build
- name: Install
run: meson install -C build
- name: Check netatalk capabilities
run: |
netatalk -V
afpd -V
atalkd -V
a2boot -V
macipgw -V
papd -V
timelord -V
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-macos:
name: macOS
runs-on: macos-latest
timeout-minutes: 24
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
HOMEBREW_NO_AUTO_UPDATE: 1
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install dependencies
run: |
brew update
brew install \
bstring \
cmark-gfm \
cracklib \
iniparser \
libev \
mariadb \
meson \
openldap
- name: Configure
run: |
meson setup build \
-Dbuildtype=release \
-Dwith-eventloop=libev \
-Dwith-homebrew=true \
-Dwith-tests=true \
-Dwith-testsuite=true
- name: Build
run: meson compile -C build
- name: Run integration tests
run: meson test -C build
- name: Install
run: sudo meson install -C build
- name: Check netatalk capabilities
run: |
netatalk -V
afpd -V
- name: Start netatalk
run: |
sudo netatalkd start
sleep 1
asip-status localhost
- name: Stop netatalk
run: sudo netatalkd stop
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-dflybsd:
name: DragonflyBSD
runs-on: ubuntu-latest
timeout-minutes: 24
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build on VM
uses: vmactions/dragonflybsd-vm@323497fa680c1856dd1ba5c4fd89182a9194f649 # v1.2.7
with:
copyback: true
sync-time: true
sync: nfs
usesh: true
prepare: |
set -e
pkg install -y \
avahi \
cmark \
db5 \
iniparser \
libev \
libgcrypt \
meson \
mysql80-client \
openldap26-client \
perl5 \
pkgconf \
py39-gdbm \
py39-sqlite3 \
py39-tkinter \
sqlite
run: |
set -e
meson setup build \
-Dbuildtype=release \
-Dwith-appletalk=true \
-Dwith-eventloop=libev \
-Dwith-tests=true \
-Dwith-testsuite=true
meson compile -C build
meson test -C build
meson install -C build
netatalk -V
afpd -V
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-freebsd:
name: FreeBSD
runs-on: ubuntu-latest
timeout-minutes: 24
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build on VM
uses: vmactions/freebsd-vm@7ca82f79fe3078fecded6d3a2bff094995447bbd # v1.4.4
with:
copyback: true
sync: sshfs
prepare: |
set -e
pkg install -y \
avahi \
bison \
cmark \
db5 \
flex \
iniparser \
libev \
libgcrypt \
libsunacl \
localsearch \
meson \
mysql96-client \
openldap26-client \
p5-Net-DBus \
perl5 \
pkgconf \
sqlite3 \
talloc
run: |
set -e
meson setup build \
-Dbuildtype=release \
-Dpkg_config_path=/usr/local/libdata/pkgconfig \
-Dwith-eventloop=libev \
-Dwith-tests=true \
-Dwith-testsuite=true
meson compile -C build
meson test -C build --no-rebuild
meson install -C build --no-rebuild
netatalk -V
afpd -V
/usr/local/etc/rc.d/netatalk start
sleep 1
asip-status localhost
/usr/local/etc/rc.d/netatalk stop
/usr/local/etc/rc.d/netatalk disable
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-netbsd:
name: NetBSD
runs-on: ubuntu-latest
timeout-minutes: 24
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build on VM
uses: vmactions/netbsd-vm@ca7ff0556959998c82761c34ea0c3c99fa084c48 # v1.3.7
with:
copyback: true
sync: sshfs
prepare: |
set -e
export PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r|cut -f '1 2' -d.)/All"
pkg_add \
cmark \
db5 \
gcc13 \
heimdal \
iniparser \
libev \
libgcrypt \
meson \
mysql-client \
perl \
pkg-config \
sqlite3
run: |
set -e
meson setup build \
-Dbuildtype=release \
-Dwith-appletalk=true \
-Dwith-cups-pap-backend=true \
-Dwith-dtrace=false \
-Dwith-eventloop=libev \
-Dwith-tests=true \
-Dwith-testsuite=true
meson compile -C build
meson test -C build --no-rebuild
meson install -C build --no-rebuild
netatalk -V
afpd -V
atalkd -V
a2boot -V
macipgw -V
papd -V
timelord -V
service netatalk onestart
sleep 1
asip-status localhost
service netatalk onestop
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-openbsd:
name: OpenBSD
runs-on: ubuntu-latest
timeout-minutes: 24
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build on VM
uses: vmactions/openbsd-vm@9004791062e748d95cc87e499e77485f91888ce1 # v1.3.8
with:
copyback: true
sync: sshfs
prepare: |
set -e
pkg_add -I \
avahi \
cmark \
db-4.6.21p8v0 \
dbus \
gcc-11.2.0p19 \
heimdal \
iniparser \
libev \
libgcrypt \
mariadb-client \
meson \
openldap-client-2.6.10v0 \
openpam \
p5-Net-DBus \
pkgconfig \
sqlite3-3.50.7p0
run: |
set -e
meson setup build \
-Dbuildtype=release \
-Dpkg_config_path=/usr/local/lib/pkgconfig \
-Dwith-eventloop=libev \
-Dwith-gssapi-path=/usr/local/heimdal \
-Dwith-kerberos-path=/usr/local/heimdal \
-Dwith-tests=true \
-Dwith-testsuite=true
meson compile -C build
meson test -C build --no-rebuild
meson install -C build --no-rebuild
netatalk -V
afpd -V
rcctl -d start netatalk
sleep 1
asip-status localhost
rcctl -d stop netatalk
rcctl -d disable netatalk
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-omnios:
name: OmniOS
runs-on: ubuntu-latest
timeout-minutes: 24
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build on VM
uses: vmactions/omnios-vm@68da93c6d9812b29fc90c5b5141b093f84a590fb # v1.2.7
with:
copyback: true
prepare: |
set -e
pkg install \
build-essential \
pkg-config
curl -o bootstrap.tar.gz https://pkgsrc.smartos.org/packages/SmartOS/bootstrap/bootstrap-2025Q4-x86_64.tar.gz
tar -zxpf bootstrap.tar.gz -C /
export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH
pkgin -y install \
avahi \
cmark \
gnome-tracker \
iniparser \
libev \
libgcrypt \
meson \
mysql-client \
sqlite3 \
talloc
run: |
set -e
export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH
meson setup build \
--prefix=/opt/local \
-Dbuildtype=release \
-Dpkg_config_path=/opt/local/lib/pkgconfig \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-eventloop=libev \
-Dwith-ldap-path=/opt/local \
-Dwith-tests=true \
-Dwith-testsuite=true
meson compile -C build
meson test -C build
meson install -C build
netatalk -V
afpd -V
sleep 1
svcadm enable svc:/network/netatalk:default
sleep 1
asip-status localhost
svcadm disable svc:/network/netatalk:default
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs
build-openindiana:
name: OpenIndiana
runs-on: ubuntu-latest
timeout-minutes: 24
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build on VM
uses: vmactions/openindiana-vm@0544593284f5c837f637097e278df86bf5bbab1e # v1.0.7
with:
release: "202510-build"
copyback: true
prepare: |
set -e
pkg install \
archiver/gnu-tar \
compress/gzip \
database/mariadb-114/client \
database/mariadb-114/library \
database/sqlite-3 \
developer/build/cmake \
developer/build/meson \
developer/build/ninja \
developer/build/pkg-config \
developer/gcc-14 \
library/cmark \
library/glib2 \
library/libev \
library/security/cracklib \
runtime/perl \
system/library/dbus \
system/library/libdbus \
system/library/security/libgcrypt \
web/curl
curl --location -o iniparser.tar.gz \
https://gitlab.com/iniparser/iniparser/-/archive/v4.2.6/iniparser-v4.2.6.tar.gz
set +e # tar on illumos is too old to handle git tarballs cleanly
tar xzf iniparser.tar.gz
set -e
cd iniparser-v4.2.6
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local ..
make all
make install
cd ../..
run: |
set -e
export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH
meson setup build \
-Dbuildtype=release \
-Dpkg_config_path=/usr/lib/amd64/pkgconfig \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-eventloop=libev \
-Dwith-iniparser-path=/usr/local \
-Dwith-tests=true \
-Dwith-testsuite=true
meson compile -C build
meson test -C build
meson install -C build
/usr/local/sbin/netatalk -V
/usr/local/sbin/afpd -V
sleep 1
svcadm enable svc:/network/dns/multicast:default
svcadm enable svc:/network/netatalk:default
sleep 1
/usr/local/bin/asip-status localhost
svcadm disable svc:/network/netatalk:default
build-solaris:
name: Solaris
runs-on: ubuntu-latest
timeout-minutes: 24
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build on VM
uses: vmactions/solaris-vm@0a231b94365d1911cf62097ef342f6b30d95598f # v1.3.2
with:
copyback: true
sync-time: true
sync: nfs
prepare: |
set -e
pkg install \
bison \
cmake \
flex \
gcc \
libevent \
libgcrypt \
meson \
ninja \
pkg-config \
sqlite-3
curl --location -o cmark.tar.gz \
https://github.com/commonmark/cmark/archive/refs/tags/0.31.1.tar.gz
curl --location -o iniparser.tar.gz \
https://gitlab.com/iniparser/iniparser/-/archive/v4.2.6/iniparser-v4.2.6.tar.gz
set +e # tar on Solaris is too old to handle git tarballs cleanly
tar xzf cmark.tar.gz
tar xzf iniparser.tar.gz
set -e
cd cmark-0.31.1
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
cmake --install build
cd ..
cd iniparser-v4.2.6
mkdir build
cd build
cmake ..
make all
make install
cd ../..
run: |
set -e
meson setup build \
--prefix=/usr/local \
-Dbuildtype=release \
-Dpkg_config_path=/usr/lib/amd64/pkgconfig \
-Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \
-Dwith-iniparser-path=/usr/local \
-Dwith-tests=true \
-Dwith-testsuite=true
meson compile -C build
meson test -C build
meson install -C build
export PATH=/usr/local/sbin:/usr/local/bin:$PATH
netatalk -V
afpd -V
sleep 1
svcadm -v enable svc:/network/netatalk:default
sleep 1
asip-status localhost
svcadm -v disable svc:/network/netatalk:default
- name: Upload meson logs
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: meson-logs-${{ github.job }}
path: build/meson-logs