Project

General

Profile

Housekeeping #3290

Packaging Request #2506: arch introduced a base metapackage to replace the meta group

Housekeeping #2549: move non-systemd packages to [nonsystemd]

[nonsystemd] OpenRC init scripts repackaging

Megver83 - 5 months ago - . Updated about 2 months ago.

Status:
in progress
Priority:
discussion
Assignee:
% Done:

0%


Description

Our OpenRC init scripts PKGBUILDs are based on the deprecated Arch OpenRC and Manjaro OpenRC projects. Although they mostly work, they are outdated and it is better split them in separated PKGBUILDs, like Artix does, rather than creating big PKGBUILDs with split packages.

I'm opening this issue to keep track of this (kinda) long task, which I believe I'll do everything by myself after upgrading the super old kernels.

Roadmap (Step 1):
  • Separate init scripts from packages that integrate them (e.g. dbus, networkmanager)
  • Import Artix initscripts PKGBUILDs
  • Remove split packages
After concluding this task (Step 2):
  • Package s6
  • Package runit

My plan for [nonsystemd] is to closely follow Artix, I think they do a very good job at maintaining PKGBUILDs for alternative inits and most of the work I've done in [nonsystemd] is based on it

I'm assigning the "discussion" priority to discuss the possibility of importing Artix packages (at least the init scripts) directly to [nonsystemd]

History

#1

Updated by Zuss 5 months ago

I do like the way Artix has done it as well, it's a lot more cleaner and organized.
I'll start with moving the [pcr] packages into [nonsystemd] and open up a PR on the Pagure repo to keep track of what has been done

#2

Updated by Zuss 4 months ago

Just opened up a PR (#53) with all the packages I've migrated so far.

I've come into issues with a few packages so far with regards to the Arch PKGBUILD's referencing systemd.

[at] and [cronie] have a hook file which tries to restart the service with systemd. Trying to install the OpenRC hook file over it doesn't work.

The upstream [fcron] Arch package within the .install file tries to execute "systemd-sysusers fcron" but otherwise it launches the service just fine. (Haven't tested it beyond starting the service)

Is there any particular way you want to deal with these packages?

#3

Updated by Zuss 4 months ago

82 packages have been added to the [nonsystemd] repo bar a few which need to be discussed. They can be seen at the PR mentioned above.

Packages that have issues/haven't been migrated:

at:         Arch hook file references systemd
autofs:     Package has been moved to the AUR (32bit package exists on Parabola)
cronie:     Arch hook file references systemd
fcron:      Arch .install file references systemd-sysusers
opensmtpd:  Arch .install file references systemd-sysusers
polipo:     Package no longer exists (Arch + AUR) but 32bit package in Parabola repos
salt:       Requires python-systemd
sane:       Crashes on startup: Socket operation on non-socket
shorewall:  Package has been moved to the AUR (32bit package exists on Parabola)
wicd:       Package no longer exists
x2goserver: Package has been moved to the AUR (32bit package exists on Parabola)

fcron and opensmtpd have been pushed through in the commits because they still seemed to work fine even with the systemd-sysusers error showing up, but they're probably packages that need dealing with as well.
Not sure why sane isn't starting either and couldn't figure out how to fix it.

Other than that, just need some input on what to do with the packages listed above.

#4

Updated by bill-auger about 2 months ago

  • Parent task set to #2549

this is really a continuation of the tree of related issues from when arch obsoleted the 'base' group (#2506), specifically #2549 ("move non-systemd packages to [nonsystemd]"); so i linked this ticket into the tree - there are still 79 -openrc packages in pcr

the biggest problem this caused recently though is that several wiki instructions are wrong now

https://lists.parabola.nu/pipermail/dev/2022-July/008295.html

another that i just noticed on the openrc guide:

you need to mention lxdm in the file /etc/conf.d/xdm. If that file does not exist, install the displaymanager-openrc package.

zuss raised some good cleanup points too - i can comment on only a couple, off-hand

  • i was considering to bring back x2go server and client - its a very nice GUI for VNC sessions - i dont think there is anything else like it
  • the 'at' package hook prints an error; but it is harmless - there is no nonsystemd support though - im using the init scripts from gentoo - dont remember if i packaged them or not
$ cat /etc/conf.d/atd.confd 
#!/sbin/openrc-run
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

# Define startup options for atd(8).
# For example: ATD_OPTS="-l 3.0 -b 5" 
ATD_OPTS="" 

$ cat   /etc/init.d/atd 
#!/sbin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

pidfile="/var/run/atd.pid" 
command="/usr/sbin/atd" 
command_args="${ATD_OPTS}" 
start_stop_daemon_args="--pidfile ${pidfile}" 

depend() {
    need clock
    use logger
}

Also available in: Atom PDF