systemd acceptance, packaging guidelines (was Re: systemd and changes)

Matthew Miller mattdm at mattdm.org
Tue Aug 24 15:47:41 UTC 2010


On Mon, Aug 23, 2010 at 11:06:32PM -0400, Bill Nottingham wrote:
> RUNTIME TOOLS
> - telinit [0123456] does the proper thing.

It currently doesn't, by the way. But there's been upstream fixes which
aren't yet in rawhide, so I'll retest when that's available.

> - the 'runlevel' command displays correct output if we are in a target
>   that is aliased to a runlevel.

"Correct" meaning not just the highest-numbered synonymous runlevel, but the
one which was selected? From one point of view, it tells you something that
is "correct" now.

>From a practical point of view, I think what's actually important is:

  -- if you're in single user mode  → it says 'S'
  -- if you're in non-GUI multiuser → it says '3'
  -- if you're in X mode            → it says '5'

Because that's what people are testing for in scripts.

It should also print the correct _previous_ runlevel.

I note that the man page for Fedora 13's runlevel command (and RHEL 5's, for
that matter) claims that init will set the environment variables RUNLEVEL
and PREVLEVEL, but that doesn't seem to actually happen.

The systemd man page for runlevel doesn't say that init will set those, but
says that if they *are* set, that's where it will get its information.


> - 'shutdown' shall support the following arguments in a compatible manner:
>   'r', 'h', 'H', 'P', 'c', 'k', <time>.

Including acting like the current shutdown command with times e.g. tomorrow
morning.

> - 'telinit' does not error when passed '[Qq]' (to reload its configuration)
>   and '[Uu]' to re-exec itself. It can optionally make systemd do a similar
>   action, if valid.

Since it already is documented as doing the similar actions, let's remove
"optionally" from this statement.


> SERVICE HANDLING
> - Running 'chkconfig <foo> <(null)|on|off>' on a service managed by systemd
>   will return the correct code/perform an appropriate action.
> - Running 'service <foo> <start|stop|...>' on a service managed by systemd
>   will perform the appropriate action (via systemctl), and return 
>   similar errors.

Please also include 'restart' and 'reload'. 

And if 'graceful' for httpd and any other services which support that kind
of thing will no longer work, that needs to be documented in big bold
letters.

> - Running '/etc/init.d/<foo> <start|stop|...>' will not break the systemd
>   environment, while still performing the action specified, and shall return
>   similar errors.

Likewise, commands like apache's 'apachectl graceful' need to continue
working, even if upstart does something special to start those services. (I
don't know that they wouldn't; it just should go on the list.)

I would like to see tab-completion for systemctl working before the final
release. That's a request, though, not a demand.



-- 
Matthew Miller <mattdm at mattdm.org>
Senior Systems Architect -- Instructional & Research Computing Services
Harvard School of Engineering & Applied Sciences


More information about the devel mailing list