RE: gnome-3.16.x without systemd





On Fri, Jun 26, 2015 at 10:17 AM, John Frankish <john frankish outlook com> wrote:
From: dantrell mirthil org [mailto:dantrell mirthil org]
Sent: Wednesday, 24 June, 2015 17:40
To: john frankish outlook com
Subject: Re: gnome-3.16.x without systemd

I came across your post by chance. To answer your question, it is indeed possible for GNOME 
3.16 to work without systemd.
I have actually been maintaining a patchset that reintegrates support for Session Tracking and 
Power Management.
A recent version of the most directly related files can be found here: 
https://bugs.funtoo.org/browse/FL-2485
I have a newer version but I'm not quite ready to share it.
If you let me know what operating system you use, I may to be able to help you expedite matters.
In fact, if you use Gentoo or Funtoo Linux you can be using GNOME 3.16 without systemd as fast 
as you can compile it.


Thanks for the positive feedback.

I'm using the 64-bit version of tinycorelinux on which I have gnome-3.10.x working without 
problems.

I've compiled everything for gnome-3.16.x, but cannot post the various extensions (packages)
to the tinycorelinux repo as gnome-session will not run.
As posted, gnome-shell fails to register with gnome-session, but without any error messages to go 
on, I'm unable to fix things.
I had a quick look at the site you mention, but I don't see any patches that stand out as being 
likely to fix my problem?

I am not actually familiar with tinycorenetwork but what I do know is that GNOME 3.16 should 
actually work as-is
(although with reduced features), if you don't use GDM (as in 3.16 ConsoleKit support was removed)
and if you force clutter to use the X11 backend (as the other backends require systemd, as far as I 
can tell).

My patchset is further down on that page under the attachment section.
Here's a direct link: http://files.mirthil.org/dantrell-portage-overlays.tar.xz (mind, this will 
only stay live for a while longer).
You will mostly be interested in any package that applies a *restore-deprecated-code.patch file
but you will also want to look at what configure options are being passed regarding consolekit and 
systemd,
especially if you intend to use GDM. Only a few packages not in that attachment are not very 
relevant to your purposes.

You wouldn't by chance be using ConsoleKit2 (any version greater than 0.4.6)?
Because when I tested GNOME 3.16 against that, I believe things went similarly haywire.
Also, if you manage to things working but find that native applications don't launch/work,
double check that clutter is using an appropriate backend as I mentioned earlier.


Thanks - to answer some of your questions:

1. I don't know what backend clutter is using, but I don't get any clutter errors and using 
CLUTTER_BACKEND=x11 doesn't change anything.

2. I'm not using gdm.

3. I've tried with both consolekit-0.4.6 and consolekit2 and neither give any error messages.

I already reverted the consolekit changes to gnome-shell-3.16 and applied your revert patch to 
gnome-settings-daemon,
but unfortunately this did > not help.

In general I compiled the various packages against upower-0.99.2 except where they would not 
(telepathy-mission-control)
and against consolekit. > I don't see any particular configure switches in your tarball that I've missed.
I have not compiled gnome-bluetooth-3.16 as the version of udev in tinycorelinux is too old for this,
but other than that everything I know of is present.

I'm starting gnome-session with a wrapper script:

ck-launch-session dbus-launch --exit-with-session gnome-session2 
--autostart=/usr/local/etc/xdg/autostart --debug

..which gives the attached output - as you can see there's nothing to indicate why gnome-shell fails 
to register
and I'm unable to get any debug output from gnome-shell.

It's possible I might be missing a runtime dep as opposed to having a consolekit problem,
but without error messages it's impossible to tell.

I took another at things, including the logs you provided and I think that your problems have nothing
to do with any patches (missing or otherwise). Since you are not using GDM I think ConsoleKit is not 
the problem.
In fact, if things don't work without the patches (yours or mine), it won't work with them.

Without actually getting tinycorelinux myself and retracing your efforts, my best guess is that you are 
probably
correct in thinking that you forgot a dependency or built something against an incorrect one.
The only thing that comes to mind is gobject-introspection, dbus and udev (in that order).

Also, while I don't think your wrapper script is suspect, in Gentoo/Funtoo, we use the following 
.xinitrc:

# Fix Missing Applications in Gnome
export XDG_MENU_PREFIX=gnome-

# Properly Launch the Desired X Session
exec ck-launch-session gnome-session

Thanks - I'm using gobject-introspection-1.44.0, dbus-1.18.6 and udev-174 - udev is in the tinycorelinux 
base, so I cannot change that.

I'm reasonably sure I haven't missed compiling against gobject-introspection and/or dbus - what makes you 
think that I might have?

As mentioned, the only app that complains about udev-174 is gnome-bluetooth, so I haven't compiled 
against that.

I was thinking it was more likely that I'd missed a runtime dep, but what?

A couple of points on your patches:

patch -Np1 -i ../gnome-control-center-3.16.2-restore-deprecated-code.patch

patching file config.h.in
patching file configure
patching file configure.ac
Hunk #1 succeeded at 340 (offset -99 lines).
Hunk #2 FAILED at 649.
1 out of 2 hunks FAILED -- saving rejects to file configure.ac.rej
patching file panels/power/cc-power-panel.c

patch -Np1 -i ../telepathy-mission-control-5.16.3-restore-deprecated-code.patch
...
Make
...
cd . && /bin/bash /usr/src/telepathy-mission-control-5.16.3/build-aux/missing automake-1.13 --gnu
configure.ac:20: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:20: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
[snip]
tests/twisted/Makefile.am:228: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
Makefile:445: recipe for target 'Makefile.in' failed
make: *** [Makefile.in] Error 1

While udev is probably moot, gobject-introspection can be finicky, likewise with dbus.
Sometimes, when those are updated, everything that depends on it needs to be rebuilt otherwise when you 
start GNOME,
it will say something along the lines of "GNOME 3 Failed to Load" (if I recall correctly) and fail 
gracefully
but without any obvious errors. Usually it's enough to rebuild around 5-10 critical applications.

If you are not already aware, here's the list of core GNOME 3.16 applications:
https://download.gnome.org/core/3.16/3.16.2/sources/

Are you missing something from that list (excluding anything that starts with gnome)?

The first patch failed to apply because it depends on prior patches being applied first.
You can see what is being applied by looking at the ebuild.
I think in the case of gnome-control-center only the optional patch matters.
As for telepathy-mission-control, did you configure it with --disable-static and --enable-deprecated?

Thanks - I compiled dbus and gobject-introspection first and then everything was compiled against them - in 
any case, I don't see the "gnome-3 failed to load error.

I'd seen the list of gnome apps and I seem to have them all.

Telepathy-mission-control was indeed compiled with "--disable-static --enable-deprecated"

If somebody could point me to where in the gnome-shell code it tests for what is required to register with 
gnome-session and then sends the dbus registration request to gnome-session, I could try to debug things.

The other thing I would need to know is how to pass debug messages from gnome-shell to stdout/stderr when it 
is started by gnome-session - gnome-shell does not appear to output to stdout/stderr/js log/js error - or 
maybe it does, but gnome-session kills the putput?

John


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