GNOME Bugzilla – Bug 689756
installed gnome-classic.session contains unexpanded @libexecdir@
Last modified: 2012-12-10 23:55:40 UTC
It looks like the Makefile rule goes straight from .in.in to the installed file instead of going one step at a time. Probably also the .in needs to be added to the output files in configure.ac...
Created attachment 230869 [details] [review] [PATCH] gnome-classic.session: fix @libexecdir@ substitution The Makefile had two rules by which it could possibly have generated the intermediate .in file (on the way from .in.in to .session) and it picked the one that didn't contain the substitution for @libexecdir@. Consolidate the rules into one that does all the needed substitutions.
Review of attachment 230869 [details] [review]: ::: data/Makefile.am @@ +6,3 @@ sessiondir = $(datadir)/gnome-session/sessions session_in_in_files = gnome-classic.session.desktop.in.in +session_in_files = gnome-classic.session.desktop.in You should be able to keep the old one, right? @@ +13,3 @@ xsession_DATA = $(xsession_in_files:.desktop.in=.desktop) +%.desktop.in: %.desktop.in.in Unrelated change. @@ +27,2 @@ $(desktop_in_in_files) \ $(session_in_in_files) \ This seems wrong as well?
Review of attachment 230869 [details] [review]: ::: data/Makefile.am @@ +6,3 @@ sessiondir = $(datadir)/gnome-session/sessions session_in_in_files = gnome-classic.session.desktop.in.in +session_in_files = gnome-classic.session.desktop.in Indeed, this is from an earlier attempt at a fix... @@ +13,3 @@ xsession_DATA = $(xsession_in_files:.desktop.in=.desktop) +%.desktop.in: %.desktop.in.in Oh come on :p @@ +26,3 @@ EXTRA_DIST = \ $(desktop_in_in_files) \ $(session_in_in_files) \ It doesn't make sense to dist the generated .in file, imho.
Created attachment 230876 [details] [review] gnome-classic.session: fix @libexecdir@ substitution The Makefile had two rules by which it could possibly have generated the intermediate .in file (on the way from .in.in to .session) and it picked the one that didn't contain the substitution for @libexecdir@. Consolidate the rules into one that does all the needed substitutions.
It is entirely possible that I made a mistake while borrowing the Makefile.am snippets from gnome-session, but somehow I can't reproduce it when doing a "./autogen.sh --prefix=/opt && make install".
Not even with -j3. :-/
Probably our versions of make are each choosing a different one of the two possible rules.
Review of attachment 230876 [details] [review]: It works for me, except for this part: - $(xsession_in_files) \ data/gnome-classic.desktop.in is not generated, and contains translatable strings.
Created attachment 230896 [details] [review] gnome-classic.session: fix @libexecdir@ substitution Here is a version that is rebased on fmuellner's patch in bug 689738
Review of attachment 230876 [details] [review]: Oops. My bad, indeed. My eyes crossed on 'xsession' vs. 'session'.
(In reply to comment #9) > Here is a version that is rebased on fmuellner's patch in bug 689738 Note that I'm on holiday for the rest of the week (and out of town til Sunday), so feel free to go ahead here instead of blocking on that bug.
Review of attachment 230896 [details] [review]: I guess this makes sense.