[systemd-devel] [ANNOUNCE] systemd 3
Lennart Poettering
lennart at poettering.net
Tue Jul 13 14:49:46 PDT 2010
Heya!
http://www.freedesktop.org/software/systemd/systemd-3.tar.bz2
This release fixes quite a few things and adds a number of new features.
Note that I dropped the libcgroup dependency with this release. The
majority of cgroup operations systemd uses are not available in
libcgroup at this time, which caused me to augment the functionality of
libcgroup bit by bit by native implementations in the system sources. A
few days ago only three interfaces of libcgroup were still used by
systemd, and since they weren't the most complex parts I have then
decided to reimplement them in systemd, to make that dependency
unnecessary. Also libcgroup still has some unresolved locking issues and
other problems I'd really would have liked to see fixed before I could
sleep calm at night.
This means that there is now a certain amount of duplication between
libcgroup and systemd when it comes to access to the cgroup file
system. However, I don't think this is too bad, given that implementing
this in systemd allowed me to use quite a bit of utility functionality
already available elsewhere in systemd and also since we dont need to
cope for all uses libcgroup has to deal with we can shortcut quite a few
things libcgroup cannot shortcut (for example: we know that our
hierarchy is mounted to /cgroup/systemd, we don't have to check
/proc/mounts for that, and so on). The net effect is that our codebase
barely increased in size when I reimplemented this functionality
natively.
The libcgroup folks are aware of the problems we discovered when using
it in systemd, so I hope that while right now libcgroup does not match
our needs in systemd it will eventuall gain the functionality and offer
them to its users.
This release needs dbus 1.3.2 from git, and udev 160.
Note that native systemd support has already been merged into quite a
number of projects now. I have recently started to post my remaining
patches to the various projects, so expect them there soon too. I'll
also begin to encourage people to include systemd service files for the
remaining Fedora default install services now, i.e. will push for this
on fedora-devel. It would be great if other distributors could start
this push, too.
Changes:
Kay Sievers (1):
units: SUSE - set COLD_BOOT to skip own boot.d/ handling on shutdown
Lennart Poettering (74):
install: properly parse --realize=reload
main: make it possible to run a system daemon along side an aloready running one for testing purposes
socket: fix loading of .service files for .socket files
update fixme
build-sys: drop special name hack for dbus.service since a native service file is now shipped upstream dbus
man: update daemon man page a little
systemctl: show connection counters only for Accept=yes sockets
units: introduce umount.target for unmounting all file systems
automount: refuse automounts for the root file system
units: pull in shutdown.target and umount.target when entering emergency mode
mount: add implicit umount.target conflicts only in system mode
execute: add ability to configure the kill signal
main: add a few more useful diagnostic log messages
snapshot: fix deserialization
service: allow immediate stopping while starting
units: turn shutdown dependencies from Requires into Wants to make things a bit more robust
systemctl: show exec status of all exited programs
unit: trim cgroups when going down
cgroup: make cgroup controller name a constant
cgroup: kill processes, not tasks and other cgroup changes
dbus: suppress duplicate message when reusing bus for system and session
manager: introduce unit path cache to minimize disk accesses
manager: free dbus error when ignoring it
service: fix minor memory leak
systemctl: move status further down
dbus: use private connections wherever possible
socket: pass minimal abstract socket names
systemctl: turn --replace into --fail
dbus: don't hit an assert if we sent a changed signal for something not in the dbus queue (i.e. because it was deleted before it was fully created
dbus: get rid of last non-private busses
units: turn Wants=shutdown back into Requires=shutdown to avoid removal of jobs due to the impact minimizer
execute: use right logger socket
install: fix wrong dbus connection shutdown
sd-daemon: fix abstract namespace sockaddr for notification socket
build-sys: require udev 160 to fix notify socket abstract namespace sockaddr length
execute: optionally ignore return status of invoked commands
service: trim cgroups if services that are "active" but "exited"
unit: introduce IgnoreDependencyFailure=
cgroup: implement cg_get_path natively
cgroup: reimplement the last bit of libcgroup functionality natively
pam: remove leftover libcgroup inclusion
update fixme
execute: close inherited fds earlier
util: fix error handling in acquire_terminal()
util: reset terminal even harder
execute: reword comment
service: allow input from terminal when executing more than one start-pre or stop-post command
execute: inherit from original input, not the fixed up
mount: add automatic start ordering dependencies for mounts
units: introduce emergency.target
units: add missing units
units: rely only on isolate to remove running services when entering rescue/emergency modes
socket: when the socket is supposed to stop, don't accept any connections anymore
units: fix ordering problem
socket: when going down, flush all queued sockets
units: introduce bluetooth.target/printer.target which are activated if the right hardware is plugged in
units: dm is an awful piece of work
device: properly create dependencies
unit: retroactively start dependencies for job-less units too
units: make maximum unit name longer, since DM names manager to hit the limit
units: fix minor typo
update fixme
udev: ignore dynamic ram/loop block devices
udev: use prettier subsystem paths for bluetooth devices, too
units: add missing target files
main: replace --running-as= by --session and --system do mimic related tools and D-Bus
cgroup: treat non-existing cgroups like empty ones, to deal with races
unit: disable retroactive starting/stopping of units when deserializing
install: implement systemd-install realize
main: introduce -D as quick acess to debugging
manager: always allow stopping of units that failed to load
systemctl: introduce try-restart and reload-or-restart commands
units: update other distro units to recent fedora changes
build-sys: bump release
Lennart
--
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel
mailing list