Re: [PATCH] CUPS lives in libexecdir

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux