On Fri, 23 Feb 2024 at 12:01, Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> wrote: > > On Fri, 2024-02-23 at 11:09 +0000, Emil Velikov wrote: > > On Thu, 22 Feb 2024 at 13:22, Joakim Tjernlund > > <Joakim.Tjernlund@xxxxxxxxxxxx> wrote: > > > > > > On Thu, 2024-02-22 at 13:06 +0000, Emil Velikov wrote: > > > > On Wed, 21 Feb 2024 at 11:19, Joakim Tjernlund > > > > <joakim.tjernlund@xxxxxxxxxxxx> wrote: > > > > > > > > > > From: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> > > > > > > > > > > Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@xxxxxxxxxxxx> > > > > > --- > > > > > Makefile.tools | 2 +- > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > diff --git a/Makefile.tools b/Makefile.tools > > > > > index 044342e29..b785ebea8 100644 > > > > > --- a/Makefile.tools > > > > > +++ b/Makefile.tools > > > > > @@ -538,7 +538,7 @@ endif > > > > > endif > > > > > > > > > > if CUPS > > > > > -cupsdir = $(libdir)/cups/backend > > > > > +cupsdir = $(libexecdir)/cups/backend > > > > > > > > > > > > > Is this true, can you provide some references? > > > > > > > > Looking at Debian [1] (which contrary to Arch has libexec) - backends > > > > are in /usr/lib. Glancing at the cups backends makefile it's using > > > > SERVERBIN. Casual grep shows that libexec can be applicable for > > > > BSD/Darwin platforms [3], which are out of scope for bluez IIRC. > > > > > > on Gentoo you have: > > > > > > qlist net-print/cups | grep backend > > > ... > > > /usr/libexec/cups/backend/implicitclass > > > /usr/libexec/cups/backend/beh > > > /usr/libexec/cups/backend/serial > > > /usr/libexec/cups/backend/parallel > > > /usr/libexec/cups/backend/driverless-fax > > > /usr/libexec/cups/backend/driverless > > > /usr/libexec/cups/backend/cups-pdf > > > > > > but now I see this in Gentoo ebuild: > > > # Install in /usr/libexec always, instead of using /usr/lib/cups, as that > > > # makes more sense when facing multilib support. > > > sed -i -e 's:CUPS_SERVERBIN="$exec_prefix/lib/cups":CUPS_SERVERBIN="$exec_prefix/libexec/cups":g' configure ||die > > > > > > econf "${myeconfargs[@]}" > > > > > > sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die > > > sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die > > > sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die > > > > > > so it appears to be a Gentoo addition. > > > Would perhaps > > > pkg-config cups --variable=cups_serverbin > > > or > > > cups-config --serverbin > > > be acceptable? If no we can just drop this and Gentoo will continue to patch bluez for cups > > > > > > > Using the foo-config tools sounds better than the current hard-coded > > behaviour. Patch that does that gets a big thumbs-up from me. > > Personally I have slight inclination towards the pkg-config - although > > it'll be up-to the maintainers. > > This is what I came up with: > > From c6776b205b8adbf6e2e29108a1a7ff348546a531 Mon Sep 17 00:00:00 2001 > From: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx> > Date: Fri, 23 Feb 2024 12:56:21 +0100 > Subject: [PATCH] cups: Use pkg-config to find cups backend dir > > Some distributions(Gentoo) patch cups backend path to > something else than libdir. Use pkg-config to find backend > path for cups. > > Signed-off-by: Joakim Tjernlund <joakim.tjernlund@xxxxxxxxxxxx> > --- > Makefile.tools | 2 -- > configure.ac | 3 +++ > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/Makefile.tools b/Makefile.tools > index 044342e29..760727557 100644 > --- a/Makefile.tools > +++ b/Makefile.tools > @@ -538,8 +538,6 @@ endif > endif > > if CUPS > -cupsdir = $(libdir)/cups/backend > - > cups_PROGRAMS = profiles/cups/bluetooth > > profiles_cups_bluetooth_SOURCES = profiles/cups/main.c \ > diff --git a/configure.ac b/configure.ac > index bb6380f2f..6a7fefa1d 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -242,6 +242,9 @@ AC_SUBST(UDEV_DIR, [${path_udevdir}]) > AC_ARG_ENABLE(cups, AS_HELP_STRING([--disable-cups], > [disable CUPS printer support]), [enable_cups=${enableval}]) > AM_CONDITIONAL(CUPS, test "${enable_cups}" != "no") > +if (test "${enable_cups}" != "no"); then > + AC_SUBST(cupsdir, `$PKG_CONFIG cups --variable=cups_serverbin`/backend) > +fi > > AC_ARG_ENABLE(mesh, AS_HELP_STRING([--enable-mesh], > [enable Mesh profile support]), [enable_mesh=${enableval}]) AFAICT the existing patterns is to use "AC_SUBST(FOOBARDIR, ...)" in configure.ac and "foobardir = $(FOOBARDIR)" in the makefiles. Thanks Emil