Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Emulation (Games) Open Source Unix BSD Linux

GSOC Project Works To Emulate Systemd For OpenBSD 314

An anonymous reader writes Through a Google Summer of Code project this year was work to emulate systemd on OpenBSD. Upstream systemd remains uninterested in supporting non-Linux platforms so a student developer has taken to implementing the APIs of important systemd components so that they translate into native systemd calls. The work achieved this summer was developing replacements for the systemd-hostnamed, systemd-localed, systemd-timedated, and systemd-logind utilities. The hope is to allow for systemd-dependent components like more recent versions of GNOME to now run on OpenBSD.
This discussion has been archived. No new comments can be posted.

GSOC Project Works To Emulate Systemd For OpenBSD

Comments Filter:
  • Oh well ... (Score:4, Funny)

    by Xolotl ( 675282 ) on Monday September 08, 2014 @05:15AM (#47850851) Journal
    ... there goes that refuge then ;)
    • Re:Oh well ... (Score:5, Informative)

      by Anonymous Coward on Monday September 08, 2014 @05:53AM (#47850939)

      Not really.

        * This software is not going to end up in the base system but in ports. It will not have a big effect on the base system.
        * The goal of the project is not to import the systemd programs like the NTP daemon or the cron daemon. Instead, it implements some of the APIs so it will be easier to port software that depends on some systemd features.

      When the software is ready and ends up in OpenBSD ports, it will probably only be installed if you install a piece of software that depends on systemd (future gnome, for instance). So if you don't install these kinds of software, you don't even end up having "systembsd" on your computer.

      In what way is the refuge gone now?

      • Re:Oh well ... (Score:5, Insightful)

        by Kvorg ( 21076 ) on Monday September 08, 2014 @07:00AM (#47851093)

        Exactly, it would seem this will simply emulate the behaviour for applications that expect it, sitting on a DBUS interface. Since it now seems the whole systemd mess will not go away, I would assume this is the "correct" approach to manage it.

        I can only wish non-RH GNU/Linux distrost adopted the same approach.

        • Why Not? (Score:4, Interesting)

          by Anna Merikin ( 529843 ) on Monday September 08, 2014 @08:26AM (#47851355) Journal

          Mebbe this will motivate some distro to do a similar; I, for one, would go for a distro without systemd nor Gnome, which I never use. Gnome is expendible. For those who like Gnome, why not do it this way?

          • PCBSD, Slack, Gentoo and pclinuxos are systemd free :D pclinuxos user here
            • by fnj ( 64210 )

              PC-BSD is of course not a linux distro at all. It is FreeBSD plus some desktop GUI oriented packaging.

              Gentoo pulls in systemd if you run Gnome.

              So if you're right about the others, that leaves 2 linux distros out of how many hundred that are systemd free - FOR NOW. Enjoy the head in the sand approach while you still can. Linux has already been ruined. The revolution got subverted and pwned by the enemy. Systemd has conceptually a very real point. Where it goes off the rails is in being architecturally such a

              • by gweihir ( 88907 )

                I agree. There is no sane reason to do something this stupid engineering-wise, except a power-play.

          • Mebbe this will motivate some distro to do a similar; I, for one, would go for a distro without systemd nor Gnome, which I never use. Gnome is expendible. For those who like Gnome, why not do it this way?

            There is no need on linux to a translation to system calls. Being built on the linux kernel it just makes the system calls it needs. As for Gnome requiring systemd, it doesn't. It uses logind which is just one part of it. People keep implying that systemd is this huge monolithic init system. It isn't. It is made up of numerous individual daemons that you are free to include or not. For instance, you can use all of your current init scripts or upstart and just include logind if you want to use gnome-shell.

            Ju

        • Exactly, it would seem this will simply emulate the behaviour for applications that expect it, sitting on a DBUS interface. Since it now seems the whole systemd mess will not go away, I would assume this is the "correct" approach to manage it.

          I can only wish non-RH GNU/Linux distrost adopted the same approach.

          There is no need to emulate. Any distro can implement what portions of systemd to include or to exclude by simply clicking on the portions they want and off the portions they don't want. Systemd isn't an all or nothing choice. The distros can use as much or as little of it as they please.

        • Re:Oh well ... (Score:4, Interesting)

          by weilawei ( 897823 ) on Monday September 08, 2014 @12:35PM (#47853491)

          Not much chance of successful management when his idea of ignoring log corruption is to IGNORE it. Yes, literally, ignore it. Feature, not bug. In Poettering's own words [freedesktop.org],

          Yupp, journal corruptions result in rotation, and when reading we try to make the best of it. they are nothing we really need to fix hence.

          This guy shouldn't be allowed anywhere NEAR system software!

          • by gweihir ( 88907 )

            The fascinating thing is that despite numerous public demonstrations of incompetence and arrogance by the systemd team, their trash is still hailed as the second coming by many people. Has stupidity really become that mainstream in IT?

      • Re:Oh well ... (Score:5, Insightful)

        by dpilot ( 134227 ) on Monday September 08, 2014 @09:09AM (#47851607) Homepage Journal

        I see systemd as the product of a culture clash between old and old-school Linux users/developers and new Linux users/developers.

        Linux was really derived from Unix, and in a very important way RMS has always been correct in insisting it be called GNU/Linux. Because "GNU's Not Unix" only in the licensing aspect. Philosophically, GNU really IS Unix.

        A few years back, Linus and Linux started getting a lot of attention in the computing and even general press. Linux started becoming cool and interesting. It started attracting new users, a new wave of early adopters, and since early adopters also tend to be developers, Linux attracted a new wave of developers.

        But these developers has a key difference - they had no Unix background. They largely came from Windows, simply because that's the largest source of developers, by simple demographics. But they weren't "fleeing Windows", they were attracted to Linux. They also brought their background, attitudes and preferences with them, and that includes a heave dose of "The Windows Way" and little to nothing of "The Unix Way."

        The result is systemd - the Windows Way ported on top of the Linux kernel.

        Then there is the demographics issue. The classical Linux market share has been so small and Windows so big that it doesn't take many Windows users/developers to swamp out the old school Linux/Unix camp. We're bing "conquered by demographics." They don't see anything wrong with systemd because it fits their background and world view perfectly - in fact it's a better fit for them than SysV Init is. There's also a bit of the Windows "One Way" attitude at work, attempting to push systemd across the board.

        Fortunately there are a few never-newbie distributions still around, and it seems that the old-school Unix users are congregating there and will keep them alive. Or there are always the BSDs..

        • by gweihir ( 88907 )

          Well said. I personally hope that at least Gentoo will remain immune. That Debian caved is utterly pathetic and I will definitely migrate away from them as soon as they try to force systemd on me.

    • by Korgan ( 101803 )

      Heh, funny you should say that. I've been trialing FreeBSD 10-RELEASE lately, primarily because of the whole systemd fiasco.

      So far, most of my apps look like they'll cope without a hassle. A few others while probably just have to be run in VMs on Slackware or something.

  • by Anonymous Coward

    Why in God's name would you want to infect well designed OSs with Systemd ?
    That's unbelievably stupid.

    • by Noryungi ( 70322 )

      Go tell that to the GNOME dev, who adopted systemd and now require it on all platforms running Gnome.

      I don't run that piece of crap myself, but it has been ported under OpenBSD, and some people want to keep using it on OpenBSD.

      • by fnj ( 64210 )

        To the people who want to run Gnome3 on BSD: it sucks to have made a stupid choice. Wake up, kick it to hell and use a better DE or WM.

        • To the people who want to run Gnome3 on BSD: it sucks to have made a stupid choice. Wake up, kick it to hell and use a better DE or WM.

          Or, stick to a command line on a server! Few people run BSD as a desktop OS. Most are servers and get the fscking GUI OFF THE DAMN THING AS YOU LEAVE MY LAWN!

    • I honestly dont get the issue here.

      Linux is FOSS. Im not 100% up on the issue, but if distros are adopting something you have a philosophical objection to, use the ones that dont use Systemd. If everyone is using it, then clearly it solves their problem, and you can work with others like you to maintain an alternate solution.

      • by armanox ( 826486 )

        That's not how Linux works. A recent G+ post of mine:

        People don't understand how Linux works these days. I constantly hear "Oh, but you can fork it/use a different distro/make your own" in response to complaints about Linux problems (systemd, for example). But that's simply not true. There are really three distributions that matter: Ubuntu, Fedora, and SuSE. Ubuntu because it's the "common man's Linux." Fedora because it is what becomes Red Hat, which brings us to Red Hat and SuSE are what counts in t

        • : Ubuntu, Fedora, and SuSE

          You mean Debian (the upstream from Ubuntu, which doesnt have a lot of the crap Ubuntu does), Red Hat (which drives Fedora), and Suse.

          Plus others like Arch, Slackware, and Gentoo-- Im not sure what qualifies as "mattering", but Im not clear why it should matter to an Arch user what the Ubuntu world is doing.

          the majority of people that use Linux in the enterprise world must use Red Hat or SuSE.

          You mean Red Hat (or CentOS! which can always fork!) or Debian.

          Complaining about Fedora is dumb. It's show is run by a company who has specific goals, and if you dont like them there's CentOS. If thing

          • by armanox ( 826486 )

            Since Linux is widespread in enterprises, fringe distros have ceased to matter for most people. Not knowing how to use yum (or in rarer cases apt and yast) means that saying you know Linux isn't true. As much as I like Slackware, they're a minority that nobody cares about. Nobody that matters anyway. People use CentOS because it's compatible with RHEL, right down to the security holes. We're approaching the point that saying "I am a Linux admin" will mean you know systemd and firewalld.

      • by jythie ( 914043 )
        Within FOSS there are still pragmatic realities and politics involved. The major distributions are not democracies, they have core groups who make the decisions regarding what goes in or stays out. Applications developers who want their stuff to work on major distros have to follow the direction and standards of the distro maintainers otherwise their projects lose ease and compatibility. Thus one's options can rapidly diminish, it is a bit of a cascade effect. While in theory since it is FOSS one can do
      • That's the theory yes. But unfortunately with systemd it didn't work out that way.

        See, the GNOME developers decided to make systemd a hard dependency, this pretty much means that (binary) distributions that want to keep offering GNOME to their users have two options:
        a) patch GNOME to work without systemd
        b) switch to systemd

  • Huh? (Score:5, Insightful)

    by Richard_at_work ( 517087 ) on Monday September 08, 2014 @05:32AM (#47850887)

    Why the hell is a GUI system dependent on a low level system control daemon?

    • Re:Huh? (Score:5, Insightful)

      by Noryungi ( 70322 ) on Monday September 08, 2014 @05:43AM (#47850909) Homepage Journal

      Thank you, you have just summed up the abomination that is systemd for all of us.

    • by qbast ( 1265706 )
      Because GNOME.
    • Re:Huh? (Score:5, Insightful)

      by Anonymous Coward on Monday September 08, 2014 @06:42AM (#47851057)

      Because the user of a GUI will want to touch hardware (mount a USB stick, use an audio device, suspend to RAM, configure a wireless network ...) and all of those interactions need some form of permissions broker. The current approach of having a hundred different command line utilities being called from the GUI (and then not working because their command line output has changed yet again) scales very badly and is the reason why linux has a (fairly well deserved) reputation at being hopeless for doing simple things like letting a desktop user use the usb stick they just put in, dealing with audio devices etc...

      Fixing that requires an integrated approach. Layers of crappy shell scripts calling yet more layers of crappy shell scripts calling some binary that then calls some shell script that then pokes something into /sys IS the problem.

      You'll also find that systemd is indeed quite unix-like. It's about a reduction of code duplication. It's about consolidation of functions into one implementation that *does* work as opposed to 20 half-arsed implementations that do not. It's about providing what amounts to a library for daemons ... and libraries are deduplication are good things while reinventing wheels in every single application is bad, right?

      For an application to effectively use these libraries and reduce the amount of code duplication across kde/gnome/xfce/lxde/... it has to actually have access to that code, which means that the thing that provides the code needs to be available. That means that the relevant systemd *component* is there -- and much of this is managed by logind.

      • by fnj ( 64210 )

        Because the user of a GUI will want to touch hardware ... and all of those interactions need some form of permissions broker.

        Why do they need a permissions broker? Because somebody wants to make everyone submit to his personal OCD?

      • Re:Huh? (Score:4, Insightful)

        by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Monday September 08, 2014 @11:27AM (#47852657) Homepage Journal

        Because the user of a GUI will want to touch hardware (mount a USB stick, use an audio device, suspend to RAM, configure a wireless network ...) and all of those interactions need some form of permissions broker.

        Right. We have multiple capabilities-based security systems available for use with Linux, and we have a pluggable authentication system, and now we need another system to handle privilege management?

        Fixing that requires an integrated approach.

        That's what Unix gives you. Because the system is made up of small pieces, you can recombine them in different ways to achieve your goals. The pieces are designed to integrate with one another.

        You'll also find that systemd is indeed quite unix-like. It's about a reduction of code duplication.

        We achieve that with shared libraries. There is no need for monolithic daemons which serve many purposes. Process creation is cheap on Unix.

        You'll also find that systemd is indeed quite unix-like. It's about a reduction of code duplication. It's about consolidation of functions into one implementation that *does* work as opposed to 20 half-arsed implementations that do not.

        But in fact it's one half-arsed implementation that only works sometimes instead of 10 really brilliant implementations that almost always work, and 10 mediocre ones.

        For an application to effectively use these libraries and reduce the amount of code duplication across kde/gnome/xfce/lxde/... it has to actually have access to that code, which means that the thing that provides the code needs to be available.

        Yeah, it's called a shared library.

        No one has offered an explanation as to what systemd gives us that we did not have before. There is not one single thing. And what we've lost is simplicity. systemd is the opposite of the Unix way.

    • Huh? (Score:2, Informative)

      by Anonymous Coward

      because Desktop Environments DO interact with the lower systems.

      They need access to the DRM and input device, they need access to things like reboot/shutdown/hibernate.

      If I understand it correctly one goal of logind is to run the X-server and the Desktop Environment without root, so they cannot do this directly... they use the logind API for it.

    • Why the hell is a GUI system dependent on a low level system control daemon?

      Just a wild guess (and I may be wrong), but perhaps it's for better communication of events between the underlying system and the GUI.

    • "

      Why the hell is a GUI system dependent on a low level system control daemon?

      1. Because the systemd project provides an nice distro agnostic compatability layer, so upstream projects can get information about the OS and do basic things like setting locale, time etc.

      2. User login and session managment. The OS ought to provide this. At the moment only systemd's "logind" is actively maintained and fully functional. The old "ConsoleKit" isn't maintained any more, and nobody in the Linux world seems to be working on a replacement. Without it stuff like multi-user systems, hibernation et

  • /etc/inittab (Score:5, Interesting)

    by MrKaos ( 858439 ) on Monday September 08, 2014 @05:37AM (#47850897) Journal
    and rc.d it's so simple. I'm still struggling to understand why systemd is required - what problem it is actually solving. Am I missing something?
    • Re: (Score:3, Insightful)

      by Anonymous Coward

      The problem it solves is that currently you don't always need to hire RedHat to manage your large Linux clusters.

      While keeping hold of the top end, they are seeing the bottom end fall out from underneath them. And they have to do something to shore up that attrition of tomorrow's decision makers.

    • Re: (Score:3, Informative)

      by Barsteward ( 969998 )
      you could try reading up on it. Here's a taster for you..

      "systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux control groups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based
      • by MrKaos ( 858439 )

        you could try reading up on it. Here's a taster for you..

        I did. I've been using it - to give it a fair chance. I'm still struggling to understand if those benefits will manifest and why it's required.

      • systemd provides aggressive parallelization capabilities,

        which could be provided through some fairly simple tweaks to init scripts.

        uses socket and D-Bus activation for starting services

        We could do this before systemd.

        offers on-demand starting of daemons

        We could do this before systemd.

        keeps track of processes using Linux control groups

        We could do this before systemd.

        supports snapshotting and restoring of the system state

        What does that mean? We could hibernate and resume before. Do you mean, reboot and launch all the same daemons that are running?

        maintains mount and automount points

        We could do this before systemd.

        and implements an elaborate transactional dependency-based service control logic

        Oh good, elaborate. A simple system implemented with init script tweaks would do.

        It can work as a drop-in replacement for sysvinit

        We had several drop-in replacements for sysvinit before systemd.

        its probably getting rid of SCO stuff from Linux as well as its a Linux specific project

        Oh, you're just a troll. There's no S [wikipedia.org]

    • Re:/etc/inittab (Score:5, Interesting)

      by antientropic ( 447787 ) on Monday September 08, 2014 @07:22AM (#47851145)

      It's so simple that it's broken. See for example http://utcc.utoronto.ca/~cks/s... [utoronto.ca] for a nice overview of all the limitations of SysV init, the most important being that it doesn't actually keep track of what services are running and what processes belong to what services.

  • On the one hand, it sounds like a cool project.
    On the other hand, if they don't port it, they'll get the benefit of having neither Gnome 3 nor Systemd on BSD.

The Tao is like a glob pattern: used but never used up. It is like the extern void: filled with infinite possibilities.

Working...