Heads Up: FESCo is considering to block packages providing sysvinit services without systemd unit
"Jóhann B. Guðmundsson"
johannbg at gmail.com
Wed Nov 9 11:01:02 UTC 2011
On 11/09/2011 05:49 AM, Ian Kent wrote:
>> What other form of encouragement can you suggest?
> This email thread for a start.
We have had email threads like this for two release cycles now and yet
the main problem still remains the same packagers/maintainers not either
migrating themselves or they not packaging submitted unit files...
>
> I'm not hurrying to make changes to my package because I've had problems
> a couple of times now because of what I consider poor documentation or a
> lack of information about where to find documentation. This isn't
> specific to systemd at all.
The man pages for systemd are really and I mean really good as has been
pointed out several times along with upstream documentation and
Lennart's blog posts which usually tackle anykind of gray area the
previous mention documentation do not cover.
That as also has been stated serveral times and once again now for the
third developement cycle that systemd has been the default init system.
> Recent bugs relating to startup problems haven't been worked on because
> of ongoing confusion over other init mechanisms and the lack of
> assistance in terms of adequate documentation, at least as far as what I
> was pointed to.
I'm not sure who and what you have been pointed to but when in doubt ask
upstream and systemd is no exception from that general rule of thumb.
So ask what you have not yet been answered on systemd-devel list or on
the systemd channel on freenode both of which are very active...
> The documentation link in this thread however is somewhat more useful
> but that implies that there is a huge amount of work to do on my daemon
> and that will take time. Assuming I do get a pointer to adequate
> documentation to unit file construction I'll then start on daemon work.
>
> But don't forget, this is not high priority because the daemon itself
> does work OK, except for the startup order dependency difficulties that
> have arisen, which weren't introduced by me.
If you are looking for somekind of spoon feeding migration documentation
it has not been written since for the most part the migration process
needs to be handle on case by case bases and that migration process
works best ( and at the same time fastest ) when
upstream/maintainers/packagers work with those of us that have been
migrating legacy sysv init scripts to native systemd units not against us.
Now taking a quick look at the autofs service which I assume you are
referring too I'm not seeing anykind of massive rewrite in order for the
daemon ( which generally is an exception that a rule ) to work in
systemd unit so from a quick and convertion on top of my head while
writing this, here's a unit file which you can start as your base point
to work on.
### autofs.service ###
[Unit]
Description=Automounts filesystems on demand
Requires=ypbind.service
After=network.target ypbind.service
[Service]
Type=forking
PIDFile=/run/autofs.pid
EnvironmentFile=-/etc/sysconfig/autofs
ExecStart=/usr/sbin/automount ${OPTIONS} --pid-file /run/autofs.pid
[Install]
WantedBy=multi-user.target
The load module and check section has been drop since loading modules in
systemd unit is frowned upon and rightly so since kmods these days can
be autoloaded on use and those that cant should drop an conf file for
that module load into /etc/modules-load.d/ directory.
If yours cant be autoloaded on use here's a conf file that loads that
module.
### autofs.conf ###
# Load autofs module at boot
autofs4
That only leaves this relevant sections from that quick look that needs
some work and remains questionable if that should be handled in unit
file et all...
# Check misc device
if [ -n "$USE_MISC_DEVICE" -a "x$USE_MISC_DEVICE" = "xyes" ]; then
sleep 1
if [ -e "/proc/misc" ]; then
MINOR=`awk "/$DEVICE/ {print \\$1}" /proc/misc`
if [ -n "$MINOR" -a ! -c "/dev/$DEVICE" ]; then
mknod -m 0600 /dev/$DEVICE c 10 $MINOR
fi
fi
if [ -x /sbin/restorecon -a -c /dev/$DEVICE ]; then
/sbin/restorecon /dev/$DEVICE
fi
else
if [ -c /dev/$DEVICE ]; then
rm /dev/$DEVICE
fi
fi
> So, to sum up, this thread has encouraged me to look further into
> systemd support and a heavy handed approach will not make that go any
> faster.
Well people have had 2 whole development cycles to get with the program,
three if you count the first time we tried to push this through as in
F14 and yet people have not done it already ( even if they have been
submitted unit files to use ) which clearly points out to that
packagers/maintainers aren't maintaining their packages or have been
living under a rock and arent involved/paying attention on what's
happening in Fedora.
One would think that 12 months ( 18 if you count in the equation the
initial introduction to fedora ) would be sufficient time for people to
get up to speed but as it turns out it isn't hence using a heavy hand as
you put it will result in a) unit's being made and shipped or b)
unmaintained/poorly maintained packages removed both of which do the
community good.
Ofcourse if you have any other suggestion than using a heavy hand to
speed up the migration and the general adoption of systemd feel free to
share it.
JBG
More information about the devel
mailing list