#1054233 liblilv-0-0: Package does not follow FHS, it adds /usr/lib/$(DEB_HOST_MULTIARCH) to the --default-lv2-path waf configure option, see rules file, line 21.

Package:
liblilv-0-0
Source:
liblilv-0-0
Description:
library for simple use of LV2 plugins
Submitter:
Jeremy Jongepier
Date:
2023-10-29 18:45:08 UTC
Severity:
normal
Tags:
#1054233#5
Date:
2023-10-19 15:51:33 UTC
From:
To:
Package does not follow FHS, it adds /usr/lib/$(DEB_HOST_MULTIARCH) to the --default-lv2-path waf configure option, see rules file, line 21. The addition of this line indicates that something fundamental has changed, namely the default path where Debian installs its LV2 plugins. These go into /usr/lib/$(DEB_HOST_MULTIARCH) too now which breaks setups running software that uses the FHS as a starting point for LV2 plugin discovery. The LV2 plugin packages that Debian now installs are now not discovered anymore.
#1054233#10
Date:
2023-10-19 17:24:13 UTC
From:
To:
The LV2 FHS that Jeremy mention can be found at
https://lv2plug.in/pages/filesystem-hierarchy-standard.html

Now you may not like, or disagree with the official standard, but
breaking it is not acceptable. This affects various 3rd party software,
notably Reaper, Harrison Mixbus, Ardour and other non-free DAWs that
expect LV2 plugins in /usr/lib/lv2/

LV2s are to be installed $PREFIX/lib/lv2 (unrelated to $LIBDIR).
Most LV2 plugin build systems use LV2DIR = $PREFIX/lib/lv2 for this.

Thanks in advance,
robin

PS. VST3 has a similar spec using /usr/lib/vst3/ -
https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Locations+Format/Plugin+Locations.html

#1054233#15
Date:
2023-10-29 12:10:31 UTC
From:
To:
Control: tags -1 moreinfo

I think you are mistaken. It you compare the the default path in
meson.build and the one specified in debian/rules, it extends the
default path with /usr/lib/$(DEB_HOST_MULTIARCH)/lv2 (note the lv2).

Please describe the actual problem that you are seeing.

Cheers

#1054233#22
Date:
2023-10-29 14:01:07 UTC
From:
To:
Sebastian,

I'm fairly certian Robin Gareus made it quite clear what Jeremy was
saying in his reply:

 >The LV2 FHS that Jeremy mention can be found at
 >https://lv2plug.in/pages/filesystem-hierarchy-standard.html
 >
 >Now you may not like, or disagree with the official standard, but
breaking it is not acceptable. This affects various >3rd party software,
notably Reaper, Harrison Mixbus, Ardour and other non-free DAWs that
expect LV2 plugins in >/usr/lib/lv2/
 >
 >LV2s are to be installed $PREFIX/lib/lv2 (unrelated to $LIBDIR).
 >Most LV2 plugin build systems use LV2DIR = $PREFIX/lib/lv2 for this.

This does divert from the standard location in which shared libraries
are expected to be located, but LV2 plugins, as you are aware, are not
normal shared libraries. If they cannot be found in /usr/lib/lv2, then
it literally breaks the functionality of several DAWs out there,
including Ardour (which we ship). Sure, users can always manually add
the search path of /usr/lib/$(DEB_HOST_MULTIARCH)/lv2 to the software,
but that's an unnecessary inconvenience.

I checked the salsa repo for liblilv (and another) and it seems as
though /usr/lib/$(DEB_HOST_MULTIARCH)/lv2 is being intentionally set as
the install location here, so this simply needs to be reverted. I can
even set-up the pull request.

Beyond that, I will be fairly unhappy if I have to downstream patch this.

Cheers,
Erich

#1054233#27
Date:
2023-10-29 16:45:56 UTC
From:
To:
lilv does not install LV2 plugins. If other packages abuse lilv's libdir
as base to determine LV2DIR, those packages are buggy. As you explain
above, it's not $libdir/lv2 but $prefix/lib/lv2 that's to be used.

Please point me to the place where this is set as install location.

Cheers

#1054233#32
Date:
2023-10-29 18:14:40 UTC
From:
To:
FWIW, the only packages in Debian installing LV2 plugins in multi-arch
locations are mda-lv2 and naspro-bridges. Fixes for both have been
uploaded to unstable.

Cheers