Re: [gnome-flashback] Bug 647927 LIBPANEL_APPLET_DIR
- From: Philipp Kaluza <floss ghostroute eu>
- To: Mailing list for the Gnome Flashback project <gnome-flashback-list gnome org>
- Subject: Re: [gnome-flashback] Bug 647927 LIBPANEL_APPLET_DIR
- Date: Thu, 24 Oct 2013 17:47:37 +0200
Hi Lanoxx,
Am 24.10.2013 11:11, schrieb Lanoxx:
Hi,
I have tried to understand the problem behind the LIBPANEL_APPLET_DIR
macro and the issue discusses in bug #647927
(https://bugzilla.gnome.org/show_bug.cgi?id=647927).
I think the behavior as shipped is absolutely correct, and the bug
reporter is in error.
Let me elaborate:
A casual user, that compiles and installs applets to /opt/whereever, but
uses a system-wide gnome-panel (or one int /opt/somewhereelse ), still
_needs_ to install into the directory that gnome-panel actually will
look at. Yes, that might (annoyingly) prompt the user for root rights,
correct. But if gnome-panel cannot find the new applet, because the
build system made up a path on the spot, that'll be a quite worse user
experience.
We have the same problem in gnome-panel btw. for installing the xsession
and gnome-session files, as well es dbus services and gsettings schema
files. We don't handle of of these cases well yet.
Distributions would typically compile with --prefix=/usr and use
something like fakeroot to avoid root permission issues.
As a possible work-around for weird builds or distribution problems,
note that you can create special local-only .pc files that will override
the normal ones. They need to be named like
libpanel-applet-4.0-uninstalled.pc (refer to the pkg-config manual for
details).
The solution that the bug suggests is to replace LIBPANEL_APPLET_DIR
macro by
appletdir = $(datadir)/gnome-panel/4.0/applets
but then we actually hard code 4.0 in a lot of places. Currently we
actually do neither of both in gnome-panel, instead we have:
appletdir = $(appletsdir)
and appletsdir is defined in configure.ac as:
AC_SUBST([appletsdir],"\$(datadir)/gnome-panel/\$(LIBPANEL_APPLET_API_VERSION)/applets")
LIBPANEL_APPLET_DIR on the otherhand should expand to:
AC_SUBST([appletsdir_pkgconfig],"\${datadir}/gnome-panel/\${libpanel_applet_api_version}/applets")
which is actually almost the same, but I cant find the place where its
actually defined?
None of these solutions, when compiling out-of-tree applets, will
actually cover the above use-case, and so are no-gos in my book.
Does anyone on this list have enough automake knowledge to explain
whats going on?
See also commit: c45e8043dc107a7dff1c7eb46074f6d85724ad13 (by Vincent
Untz in 2011-01-31)
The autoconf magic here is just the initial definition for the path for
_the currently-built installation of gnome-panel_ (and the
libpanel-applet-4.0.pc that should later allow for compatibility with it).
Once that is built, the external applets _should_ try to install to the
directory derived at panel configure time.
Cheers
Philipp
--
Philipp Kaluza
Ghostroute IT Consulting
[
Date Prev][
Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]