[systemd-devel] [ANNOUNCE] systemd v30
Lennart Poettering
lennart at poettering.net
Wed Jul 13 15:20:54 PDT 2011
Heya,
http://www.freedesktop.org/software/systemd/systemd-30.tar.bz2
This is a bigger new release, including a lot of fresh code. If you are
looking for utmost stability you should continue to work with 29 for a
while.
Bigger changes include:
- There's a tiny mechanism daemon to allow system locale changes, for
usage by GNOME and other DEs, see
http://www.freedesktop.org/wiki/Software/systemd/localed for more
information on the API
- Similar, there's another one for time changes. Docs in the wiki on
this iface will be available shortly.
- There's now a simple login daemon available ("systemd-logind") and
installed by default. It takes over a lot of the logic of pam_systemd
(which is now a small stub only, talking to logind, which makes it a
lot more robust) as well as ConsoleKit and udev-acl. It keeps tracks
of user sessions and seats. There's a tool "systemd-loginctl" which you can
use to introspect the state of it, and manipulate users, sessions and
seats.
- Due to logind we'll now autospawn VT gettys only when needed, not all
the time. This means we normally boot up with zero gettys. (As mentioned
previously)
- Multi-seat support is pretty comprehensively available now. X11 and
gdm have not been ported to it yet. Documentation about the multi-seat
logic will show up in the wiki shortly, too.
- If used in conjunction with dracut we will now jump back into the
initrd on shutdown. Dracut will then unmount the root file system,
detach all storage devices it was mounted on and
power off. This is something long missing on Linux. This is only available in
conjunction with dracut. If your OS is still using another initrd
implementation, this might be killer feature that might be the reason
to switch?
- we support translations for the PK policy files now. i18n for the
client tool might be added later.
Neither hostnamed, nor logind/pam_systemd, nor localed, nor timedated
are necessary on most embedded setups. I'd be happy to merge a patch
that makes them individually disabable.
shortlog:
Bastien Nocera (1):
build-sys: Add i18n support through intltool
Bill Nottingham (1):
units: Use /etc/rc.d/rc.local as the path to rc.local in Fedora.
Frederic Crozat (2):
systemctl: add support for --root for systemctl enable/disable/is-enabled
units: add units for boot.local/halt.local on SUSE distributions.
Harald Hoyer (4):
umount: log_info about what we unmounted
umount: umount, until all umounts failed
umount: log failed umounts only once at the end
shutdown: pivot_root to a tmpfs directory to properly umount root
Henry Gebhardt (1):
configure: Add --enable-plymouth option
Kay Sievers (3):
clarify separate-/usr message
build-sys: drop AM_GNU_GETTEXT as it fights with IT_PROG_INTLTOOL
seat: udev - use ID_PATH_TAG instead of 'sed' hack
Lennart Poettering (173):
update TODO
manager: include full systemctl status command line in error message
dbus: make bus_flags_to_events() and friends generally useful
hostnamed: split dbus initialization into a separate function
util: introduce dirent_is_file()
english: s/_per_/_by_/
util: add pipe_eof()
util: move string enum mapping to the end
logind: first version that compiles fine
logind: split up logind.h
logind: implement ACL management
util: add fopen_temporary()
logind: implement GC
logind: unlink state files when stopping
udev: simplify udev rules a bit
dbus: add api for append gid/uid properties
logind: implement D-Bus properties
util: return errno in close_nointr()
dbus: introduce UnsetAndSetEnvironment()
service: check whether sysv scripts where changed
util: make a couple of files we write atomic
mechanisms: add mechanisms to change system locale and clock
update TODO
timedated: sync clock down to RTC where necessary
timedated: rename a few things for clarification
dbus: add dbus introspection extraction
logind: implement idle hint logic
logind: implement more dbus functionality
logind: implement ListXXX bus methods
logind: send dbus signals when sessions/users/seats come and go
logind: send out PropertyChanged signals where appropriate
logind: make idle hint logic work
logind: hook up PAM module with logind
logind: various clean-ups
logind: make sure we hand out write fd, and keep read fd for session end detection
logind: fix generation of bus arrays
logind: remove a session when its cgroup is gone
logind: when generating session ids with a counter, retry if session is already allocated
logind: properly handle if two session with identical loginuids are attempted to be created
logind: fix set of capabilities
logind: use pipe fd to detect when a session is dead
logind: save/restore session type
pam: fix up tty if it is actually a display
pam: fix up tty if it is actually a display
logind: add more necessary caps to the service
dbus: send our finished signal when we are finished booting
logind: update TODO
update TODO
pam: make sure we pass a valid tty field to logind
logind: automatically deduce seat from display
logind: save object data only when started fully
logind: when the leader of a session exited, don't fail
logind: check whether newly created session is active
logind: properly detect whether we got the bus name
logind: fix bad memory access
dbus: use bus_error_message() where applicable
dbus: fix name allocation logic
logind: fix ACL code allocation
logind: when enumerating acl devices for seat0, don't set a tag
logind: autospawn gettys when necessary
logind: kill a session as soon as its pipe fd gets EOF
unit: when loading symlinked template units, properly add all names on the way to the unit
logind: properly preallocate configured auto VTs
logind: don't spawn autovt getty on more VTs than configured
logind: ensure our autovts always stay allocated
logind: implement SetUserLinger() D-Bus call
dbus: properly unref message
execute: don't choke when systemd was compiled with a different CAP_LAST_CAP then what it is run with
logind: activate autovt at .service instead of autovt-getty at .service when the user switches to a previously unused tty, since it doesn't have to be a getty we start on it on demand
logind: when changing linger stetings, make sure they take place immediately
udev: only tag the main card device of a sound card with 'seat'
udev: dynamically generate seat where applicable from ID_PATH
logind: implement basic version of AttachDevice() D-Bus call
logind: include subsystem name in device id for assigning seats
logind: supply default bus policy with minimal access
logind: call udev_device_get_is_initialized() to trigger lazy loading, as a temporary work-around for broken libudev
logind: retrigger devices when we reassign them
logind: inherit ID_SEAT even on devices that themselves are not seat assignable
logind: fix generation of seat state file
logind: use named pipes instead of fifos to keep track of sessions so that we can reconnect later
logind: parse configuration file
logind: fix udev rule to generate valid tags, as a temporary fix until udev gains a native feature for this
logind: be a bit more rigid with seat names
logind: udev no longer ignores subsystem matches on monitors when used in conjunction with tags
logind: move default reset controller/kill exclude list into logind
logind: add man page for configuration file
man: update pam_systemd page to document new behaviour
logind: fix typo in config parser
dbus: add FlushDevices() bus call to reset all seat assignments
logind: when initializing drop sessions that are unreferenced
logind: we need to open and close a named pipe once for read before we get EOF
logind: hook uaccess into udev by default
uaccess: drop ACLs in case of error, just to be safe
acl: libudev currently doesn't handle properly enumerator matches with multiple tags, so avoid using them for now
logind: allow access to SetIdleHint() to owner of the session
util: clear scrolling region when clearing screen
exec: add ControlGroupModify= switch to allow changing access mode to cgroups fs
execute: do initgroups() first, pam initialization second so that it can still modify the groups list
manager: use sd_notify() to notify parent systemd that we have finished startup
logind: make sure to create/run/systemd/sessions before we try to place a fifo in it
logind: add service for per-user shared systemd daemon
execute: when parsing ConrolGroup= replace wildcards
unit: consider all cgroups in the name=systemd hierarchy, even when the user has specified an explicit path in it
execute: don't invoke pam_setcred, since we are not running on a tty where the user could change his password
execute: invoke sigwait() in a loop when waiting for PAM parent, to avoid spurious wake-ups
execute: fix PAM error checking
util: try harder to rename the process
execute: properly pass PAM environment to executed process
pam: initialize XDG_RUNTIME_DIR
unit: add three new specifiers to use in unit files
cgroup: kill processes even in cgroups that aren't realized
unit: do wildcard expansion in ListenStream= and friends
unit: support wildcards in Environment=, EnvironmentFile=
dbus: listen on private sockets in user mode too
logind: create private subdirectory for X11 socket
log: log to syslog unless connected to a tty in user mode
logind: temporarily hack right user bus address into unit file
nspawn: better use setresuid() instead of setreuid()
manager: don't even think of enumerating sysv services in user instances
units: enable dev-hugepages.automount and dev-mqueue.automount only when enabled in kernel
tmpfiles: don't exit with an error code if we cannot access all files
password-agent: make sure not to access unallocated memory
password-agent: actually really don't access unallocated memory
update todo
logind: write rules files atomically
add a few O_CLOEXEC where missing
util: explicitly turn of O_CLOEXEC for stdin/stdout/stderr
udev: pull in printer.target from all kinds of printers
udev: improve udev rule a bit
update TODO
udev: tag virtio serial ports with systemd by default
cgroup: don't trim a cgroup we create, we might just take it over from somebody else
manager: merge serialization and desrialization counter into one, and increase it when reexecuting
update TODO
path,unit: support globbing in conditions and path units
cgls: add pager support to systemd-cgls
loginctl: add basic implementation of loginctl for introspecting controlling sessions/users/seats
systemctl: cache tty value before we open the pager
systemctl: use cached tty value where possible
systemctl: hide all information on --kill-mode= since it is mostly useless
seat: only mark main input device for seat assignments
loginctl: add various introspection functions
acl: two tag matching is not going to be available in libudev
logind: fix introspection typo
logind: don't confuse 'shared' with a session of its own
systemctl: fix --help syntax for variables
loginctl: add missing header file
update TODO
Merge remote-tracking branch 'harald/master'
shutdown: coding style fixes
build-sys: add a number of missing header files to EXTRA_DIST
build-sys: fix make distcheck
build-sys: remove autogenerated bus introspection files from git
build-sys: fix copynpaste mistake
sysctl: support application of sysctl subtrees
update TODO
tmpfiles: allow creation of named pipes with tmpfiles
service: properly handle who argument on D-Bus kill calls
unit: introduce ConditionFileIsExecutable= and use it where we check for a binary we'll spawn
loginctl: implement more verbs
unit: accept empty defaults for kill who/mode args
unit: use ESRCH as error when we don't find anybody to kill
loginctl: implement missing kill verb
udev: actually check for existance of ID_PATH_TAG before we use it
logind: remove some unused labels
loginctl: use new udev_device_has_tag() call from libudev where applicable
logind: use new udev_enumerate_add_match_parent() where applicable
nspawn: always use bind mounts to make API file systems available in the container
consolidate TODO
man: add man page for systemd-loginctl
man: add a couple of crosslinks
nspawn: compress mount table a bit
build-sys: bump release
logind: fix some potentially uninitialized accesses
Michael Olbrich (2):
swap: ignore missing /proc/swaps
umount: ignore missing /proc/swaps
Michal Schmidt (6):
manager: consider the active job when merging
shutdown: accept minutes argument without '+'
shutdown: respect the dry run option '-k'
shutdown: print the standard wall message even when the user provided one
systemadm: report GLib.Error only to stderr
service: 'pidfile:' in SysV chkconfig header implies a real daemon
Michal Vyskocil (3):
main: Fix a typo emergency shall->emergency shell
nspawn: Move the get_user_creds from execute.c to utils.c for later usage in nspawn.c.
nspawn: spawn shell under specified --user
Ville Skyttä (3):
bash: Add host, privileged, and no-pager bash option completions.
man: Documentation spelling fixes
systemctl: Add SYSTEMD_PAGER for setting the pager to use in systemctl
William Douglas (1):
sd-daemon: Add sd_is_special for special file descriptors
Zbigniew Jędrzejewski-Szmek (2):
man: un-reverse IgnoreOnSnapshot description
logind: Fix compilation without ACL
Lennart
--
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel
mailing list