On Fri, 2024-02-23 at 16:14 +0000, Emil Velikov wrote: > 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 Like so ? >From 70a424b9935712fef297afcb0e6dff8ee154b21e 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 | 3 ++- configure.ac | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile.tools b/Makefile.tools index 044342e29..c17244677 100644 --- a/Makefile.tools +++ b/Makefile.tools @@ -538,7 +538,8 @@ endif endif if CUPS -cupsdir = $(libdir)/cups/backend + +cupsdir = $(CUPSDIR) cups_PROGRAMS = profiles/cups/bluetooth diff --git a/configure.ac b/configure.ac index bb6380f2f..778c27a0f 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}]) -- 2.43.0