Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Clarification and Documentation] systemd requirement of mate-control-center? #744

Closed
rubyFeedback opened this issue Feb 23, 2024 · 18 comments

Comments

@rubyFeedback
Copy link

rubyFeedback commented Feb 23, 2024

Hey guys,

This is not to get into any debate about pro or con; I am mostly fine by decisions made either way, but perhaps
a bit of context, in addition to the issue I report here.

I am currently compiling all of mate and I have almost finished. Example of versions I have:

Reporting the installed versions of the mate-desktop components:

  Mate-Desktop:         1.28.1
  Mate-Utils:           1.28.0
  Mate-Common:          1.28.0
  Mate-Keyboard:        1.28.0
  Mate-Media:           1.28.0
  Mate-Mixer:           1.28.0
  Mate-Applets:         1.28.0
  Mate-Weather:         1.28.0
  Mate-Control-Center:  1.26.1
  Mate-Panel:           1.28.0
  Mate-Power-Manager:   1.28.0
  Marco:                marco: symbol lookup error: marco: undefined symbol: meta_verbose_real
  Mate-Screensaver:     1.28.0
  Atril:                1.28.0
  Eom:                  1.28.0
  Pluma:                1.28.0
  Engrampa:             1.28.0
  Caja:                 1.28.0
  Caja-extensions:      1.28.0

Don't worry about the marco error - that is an unrelated error. I'll fix that lateron.

So I am now trying to update Mate-Control-Center: 1.26.1 to its 1.28.x variant.

When I run GNU configure, though, it tells me this:

checking for polkit-gobject-1... yes
checking for mate-desktop-2.0 >= 1.27.1... yes
checking for libxml-2.0... yes
checking for libmarco-private >= 1.17.0... yes
checking for gmodule-2.0 glib-2.0 >= 2.64.0 gio-2.0 gtk+-3.0 >= 3.22.0... yes
checking for gio-2.0... yes
checking for libgtop-2.0... yes
checking for udisks2... yes
checking for systemd >= 248... no
configure: error: Package requirements (systemd >= 248) were not met:

No package 'systemd' found

So systemd is now required. Note that mate-control-center is the only package that
has this issue; at the least I don't recall any of the other mate 1.28.x components
have this problem. (I do not use systemd, instead I use the LFS scripts udev variants.)

I tried:

--disable-systemd

But this does not exist so I assume systemd is now mandatory for mate-control-center.

This is a bit unusual though. How much of the code in mate-control-center depends on
systemd? All of it? If not, would it be possible to ignore these parts of it that require systemd?

I am not sure how much would depend on systemd, but it would be nice if we'd have the
flexibility to not use systemd. Perhaps mate-control-center is not critical for running the
mate-desktop, but ideally I'd love to use as much as possible that mate-desktop offers, by default.
So my rationale was to try and get all of the downloads that you folks make available on the download
page possible.

Anyway, I am not really here to argue one way or another. What I would like to see, however
had, is a clarification as well as documentation in this regard, ideally on the main README,
such as "systemd is now required for mate-control-center". (I believe the 1.26.x variant
does not require systemd, at the least I was able to compile it; also not sure if we can
mix 1.26 and 1.28 - my attempt to upgrade mate-control-center failed though. Not sure
if I can use mate-desktop still or not. I usually start it via runlevel 3, then "startx". Right
now I am running icewm though; I wanted to switch once I compiled all of it.)

Either way any clarification via a document would be helpful here, so we downstream
users or developers can adjust to this; or have more flexibility if that is possible.

@lukefromdc
Copy link
Member

lukefromdc commented Feb 23, 2024

mate-system-info (EDIT: NOT mate-time-admin!) depends on systemd as it uses that interface. Making it optional to build that capplet would allow depending on systemd only if building mate-system-info. For now, you could build mate-control-center on a systemd distro, then just remove that capplet from the binaries to be installed for a non systemd distro. For that matter, I am pretty sure the control center would work and just that capplet would crash if opened.

I myself have no landline so cannot download something like Devuan for testing this. I don't know if we have ANY team members on a non systemd distro. This one sort of came up by surprise: the new capplet was proposed, worked well, and every tester was on a systemd distro so the need to make that optional was never noticed.

@DidierSpaier
Copy link

DidierSpaier commented Feb 25, 2024

Same issue here. I am the maintainer of the Slint distribution https://slint.fr (based on Slackware) and Mate is our flagship among DEs, as Slint is accessible to the blind and Mate is the best accessible DE (with Gnome that we do not ship). It would be very sad for us to have to not be able to provide Mate anymore or at least one of its core components.

And we are not alone: there are several other distributions not including systemd, let alone the specific version of systemd required. If to avoid that we have to give up this capplet so be it be it, but please let us continue to build and ship Mate with its control center.

PS I see that someone has found a workaround: https://slackbuilds.org/slackbuilds/15.0/desktop/mate-control-center/mate-control-center.SlackBuild and will apply it for now, but that systemd be an optional dependency of Mate as whole and in the future would be appreciated.

Thanks.

@lukefromdc
Copy link
Member

We need more developers. I am entirely time-saturated and bandwidth saturated and cannot maintain multiple distro cases myself. If one of you can submit a PR for this (just removing the offending capplet if systemd is not found is enough) we can test that and ensure it doesn't break when systemd is present.

@raveit65
Copy link
Member

If to avoid that we have to give up this capplet so be it be it, but please let us continue to build and ship Mate with its control center.

OMG, I am so tired of such comments.
Go ahead with removing mate from your distro or help us and do a pull request

@zhuyaliang
Copy link
Member

@rubyFeedback I will fix this issue soon

@yledoare
Copy link

yledoare commented Mar 18, 2024

Hello, my disto (LinuxConsole) is not using systemd
I build Mate 1.28 for the LinuxConsole 2024 release, with your last fix it and now it builds and runs fine, thanks !
Here is my mate software list : https://github.com/yledoare/ydfs/blob/2.10/2.10/packages/list-mate

@DidierSpaier
Copy link

DidierSpaier commented Mar 18, 2024

Hello, my disto (LinuxConsole) is not using systemd I build Mate 1.28 for the LinuxConsole 2024 release, with your last fix it and now it builds and runs fine, thanks ! Here is my mate software list : https://github.com/yledoare/ydfs/blob/2.10/2.10/packages/list-mate

Hello, I ended up getting rid of two capplets: system-info but also time-admin, see attached patch.

EDIT: in text message this thing does not accept to upload files with extension.diff...

@DidierSpaier
Copy link

@zhuyaliang
Copy link
Member

Can we close this issue ?

@yledoare
Copy link

Yes !

@DidierSpaier
Copy link

I will build from git master today then answer.

@DidierSpaier
Copy link

Sorry, but no.

I built from git master (using meson this time) with no issue, but clicking on System Clock in the mate-control-center raises a window with the title GetNtpState and a message GDBus.Error:org.freedestop.timedate1 was not provided by any .service files

This has been reported downstream in several distributions, for instance:
https://forums.gentoo.org/viewtopic-t-1133610-view-previous.html?sid=3feb188738cbdd57ad742e87ca0ae977
https://forum.artixlinux.org/index.php/topic,465.0.html

I had a look in Ubuntu-mate, it appears that the expected service file /usr/share/dbus-1/system-services/org.freedesktop.timedate1.service comes from the systemd package there.

However, Mate include a somehow similar applet in mate-panel (the clock applet) and in this case the service file is included in the applet's source: https://github.com/mate-desktop/mate-panel/blob/master/applets/clock/org.mate.panel.applet.ClockAppletFactory.service.in so... Would it not be possible to include the service file in mate-control-center for the time-admin capplet as well?

@yledoare
Copy link

@DidierSpaier : do you want the System Clock be hidden when systemd is not detected ?

I use a home made script to set hour without Systemd : https://github.com/yledoare/ydfs/blob/2.10/2.10/init-x86/ydfs/config/date

@DidierSpaier
Copy link

@DidierSpaier : do you want the System Clock be hidden when systemd is not detected ?

I can do that myself customizing in the control-center the file matemenu.cc. But I would prefer that the applet work in this context :)

I use a home made script to set hour without Systemd : https://github.com/yledoare/ydfs/blob/2.10/2.10/init-x86/ydfs/config/date

Thanks, nice script but we use an application that does that in text mode as in a GUI (it can also set or not ntp and the time zone, with the hardware set to local time or not), written by George Vlahavas, Salix maintainer.

@zhuyaliang
Copy link
Member

@DidierSpaier I will fix this time admin capplet issue soon

@zhuyaliang
Copy link
Member

@DidierSpaier The new time admin issue has been opened and I will close it

@DidierSpaier
Copy link

@DidierSpaier The new time admin issue has been opened and I will close it

Sorry this issue should no be closed just because another one has been opened, only if a solution to this one has been provided and tested which is not the case. This issue should stay open until then.

@zhuyaliang
Copy link
Member

@DidierSpaier Fixed this issue in the latest commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants