After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 689756 - installed gnome-classic.session contains unexpanded @libexecdir@
installed gnome-classic.session contains unexpanded @libexecdir@
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: extensions
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-12-06 05:00 UTC by Allison Karlitskaya (desrt)
Modified: 2012-12-10 23:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
[PATCH] gnome-classic.session: fix @libexecdir@ substitution (2.00 KB, patch)
2012-12-06 05:08 UTC, Allison Karlitskaya (desrt)
needs-work Details | Review
gnome-classic.session: fix @libexecdir@ substitution (1.52 KB, patch)
2012-12-06 07:31 UTC, Allison Karlitskaya (desrt)
rejected Details | Review
gnome-classic.session: fix @libexecdir@ substitution (1.45 KB, patch)
2012-12-06 15:27 UTC, Debarshi Ray
committed Details | Review

Description Allison Karlitskaya (desrt) 2012-12-06 05:00:04 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...
Comment 1 Allison Karlitskaya (desrt) 2012-12-06 05:08:48 UTC
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.
Comment 2 Jasper St. Pierre (not reading bugmail) 2012-12-06 05:16:35 UTC
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?
Comment 3 Allison Karlitskaya (desrt) 2012-12-06 07:29:23 UTC
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.
Comment 4 Allison Karlitskaya (desrt) 2012-12-06 07:31:29 UTC
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.
Comment 5 Debarshi Ray 2012-12-06 12:19:07 UTC
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".
Comment 6 Debarshi Ray 2012-12-06 12:19:53 UTC
Not even with -j3. :-/
Comment 7 Allison Karlitskaya (desrt) 2012-12-06 15:03:15 UTC
Probably our versions of make are each choosing a different one of the two possible rules.
Comment 8 Debarshi Ray 2012-12-06 15:24:16 UTC
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.
Comment 9 Debarshi Ray 2012-12-06 15:27:36 UTC
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
Comment 10 Allison Karlitskaya (desrt) 2012-12-06 15:58:37 UTC
Review of attachment 230876 [details] [review]:

Oops.  My bad, indeed.  My eyes crossed on 'xsession' vs. 'session'.
Comment 11 Florian Müllner 2012-12-06 16:23:54 UTC
(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.
Comment 12 Giovanni Campagna 2012-12-10 22:13:14 UTC
Review of attachment 230896 [details] [review]:

I guess this makes sense.