Netatalk / netatalk

Netatalk is a Free and Open Source AFP fileserver. A *NIX or BSD system running Netatalk is capable of serving many Macintosh clients simultaneously as an AppleShare file server.
https://netatalk.io
GNU General Public License v2.0
354 stars 87 forks source link

meson: tracker path detection has unwanted side effects in meson 1.6.0 #1672

Closed rdmark closed 3 weeks ago

rdmark commented 3 weeks ago

The way we detect the tracker path gives the wrong outcome when using meson 1.6.0. For historical reasons, we try to puzzle together a path based on a special tracker_prefix that is user defined, but an empty string by default. That results in the find_program search path being /bin, which on meson 1.5.x gives f.e. /usr/bin/tracker3 but on 1.6.0 leads to /bin/tracker3. The latter is invalid in f.e. Debian.

        tracker3 = find_program(
            'tracker3',
            dirs: tracker_prefix + '/bin',
            required: false,
        )

The easy solution is to remove the dirs parameter and let the find_program function do its thing, but this may have side effects on legacy systems with old meson versions.

rdmark commented 3 weeks ago

@singular0 FYI, I figured out the trigger. Namely, the behavior has changed between meson 1.5.x and 1.6.0. Debian Unstable uses 1.6.0 while Debian Testing (the upcoming Trixie) uses 1.5.2. Hence the discrepancy between what I saw on my Trixie testbed and the Debian buildd machines that are running Unstable.

Oddly, I don't see anything obvious that suggests why this behavior changed in https://mesonbuild.com/Release-notes-for-1-6-0.html

singular0 commented 3 weeks ago

@rdmark Arch also has meson 1.6 now, so I will look into this

rdmark commented 3 weeks ago

For the Debian packaging case, I can use -Dwith-tracker-prefix=/usr to work around this without changing anything on the netatalk side.