[systemd-devel] [ANNOUNCE] systemd v38
Lennart Poettering
lennart at poettering.net
Tue Jan 10 20:19:53 PST 2012
Hey,
http://www.freedesktop.org/software/systemd/systemd-38.tar.xz
This is the first release with the journal. The journal replaces both
systemd-kmsg-syslogd and systemd-stdout-kmsg-bridge, thus simplifying
greatly our set of always-running services. The journal is quite
complete at this time, but a small number of bigger features are still
missing. Documentation is currently terse and will be extended in the
coming versions. If you want to see the effect of the journal, try
"systemctl status" which is now hooked up with the journal and will show
the most recent log output of a service.
Compatibility with classic syslog implementations is provided, via a
socket /run/systemd/journal/syslog, to which all messages are forwarded,
regardless whether they came in via /dev/log, the journal native
protocol or any other source. To make your syslog implementaiton work
with this make sure that it binds to that socket instead of /dev/log
which is now systemd-journal property.
Note that the journal will store log data only on /run/log/journal,
which makes it volatile. If a subdirectory /var/log/journal is created
the journal will instead store its data on /var, thus making the journal
persistant.
systemd-journalctl may be used to explore the journal. By default it
generates an output that is a pixel perfect copy of the usual
/var/log/messages log format. It can alternatively generate a couple of
differnt outputs, controllable with "-o verbose", "-o short-monotonic"
or "-o json". Use "-f" for something that resembles "tail -f".
This release is more kind of a test release, i.e. like you'd place it in
your distribution's equivalent of Rawhide, not the kind you'd update
your released distro with. We hope to stabilize things in the next
coming releases a bit.
Bill Nottingham (1):
Allow 'list-unit-files' to run with --root.
Dan Walsh (1):
label: fix labeling of symbolic links
Daniel Walsh (1):
namespace: remount namespace root dir for SLAVE to avoid propagation of mounts from the namespace to the host
Dave Reisner (1):
systemctl-completion: always invoke with --no-legend
Dexter Morgan (1):
Add Mageia support
Gregs Gregs (1):
fsck: Fix typo in comment
Jonathan Nieder (1):
audit: do not complain if kernel lacks audit
Kay Sievers (33):
update TODO
journal: silence gcc warnings
Makefile.am: consistently use tabs
logind: add 'login' subdir to include dirs
logind: fix POTFILES location
build-sys: restructure logind parts in Makefile.am and add --disable-logind
timedated: move sources to subdirectory
localed: move sources to subdirectory
hostnamed: move sources to subdirectory
hostnamed, localed: move config files to subdir
binfmt: move sources to subdirectory
journal: restructure Makefile.am
libsystemd-id128: restructure Makefile.am
pam_systemd: restructure Makefile.am and move inside ENABLE_LOGIND
libsystemd-daemon: restructure Makefile.am
build-sys: remove redundant _CFLAGS assignment
build-sys: restructure sd-daemon, sd-readahead, sd-login files
build-sys: more remaining parts of sd-deamon to their own section in Makefile.am
gnome-ask-password-agent: require libnotify >= 0.7.0
build-sys: login - remove specified include dir; all subdirs are in the list now
build-sys: switch to tar xz
do not install drop-in files; the shared library should be used by default
build-sys: rename 'rootdir' to 'rootprefix' like udev and kmod uses
conf-parser: silence compiler warning
logind: add needed include for sd_notify()
build-sys: switch autoconf's default prefix from /usr/local to /usr
build-sys: install pam module in $rootlibdir
build-sys: add some headers to fix 'make distcheck'
build-sys: use ${ac_default_prefix}
build-sys: add headers to EXTRA_DIST to fix 'make distcheck'
autogen: add --with-rootlibdir= and switch /usr/local to /usr
fix compiler warning
autogen.sh: diet and sync with udev and kmod
Lennart Poettering (184):
journal: add preliminary incomplete implementation
journal: store XOR combination of entry data object hashes to identify hash lines
journal: replace linked list by hashmap when merging files
journal: split user logs into their own journal files
journal: implement parallel traversal in client
util: properly detect what the last capability is
Merge branch 'master' into journal
journal: only fallocate() what we really need to avoid slowness on file systems which do not support fallocate natively
util: fix build
journal: place machin journals in machine specific subdirectories
journal: add cgroup path to entries
journal: add cgroup path to entries
journalctl: find journal files in right path
journal: implementation rotation
journal: implement parallel file traversal
journal: fix field retrieval by name
journal: synchronize seqnum across files
journal: when the same entry is in two files, skip over them in sync
journal: move field index from file into journal object
journal: if two entries match with everything but seqnums, they are still identical
journal: properly implement matching with multiple matches
journal: unify code for up and for down traversal
journal: implement seek to head/tail
journal: automaticall reset location when the set of matches changes
update TODO
README: explain dependency on cgroups
plymouth: fix ply proto endianess issues
initctl: don't use dbus connection after PID 1 got respawned
cgroup: always recreate cgroup before we try to apply attributes
mount: order remote mounts after both network.target and remote-fs-pre.target
units: drop [Install] section from remote-fs-pre.target
update TODO
Merge remote-tracking branch 'zbigniew/systemadm_changes'
cgroup: immediately remove all cgroups which run empty
update TODO
macro: fix ALIGN_TO macro definition
journal: implement multiple field matches
TODO
Merge branch 'master' into journal
update TODO
journal: add native protocol to journald, and client side API to send journal messages
journal: enforce limits on open journal files
journal: introduce mandatory sd_journal_printf() priority parameter
journald: filter fields send from client starting with underscore
man: document the sd-login interfaces
sd-daemon: fix #include lines since we now ship a shared library
man: build new man pages
man: sd_readahead is not actually available in libsystemd-daemon
build-sys: add rules for man page aliases
man: add sd-login(7) page
man: various updates
man: extend sd-login(7) in regards to mixing D-Bus and synchronous library calls a bit
hashmap: add hashmap_first_key()
man: generate HTML instead of XHTML with XSL docbook to work around 'fsfunc' noise
man: switch to UTF-8 output, to work around charset issues
journal: implement inotify-based live logging logic
journal: fix matches
journal: fix space reservation limit enforcement
journal: add inline compression support with XZ
journalctl: add json, export, short and verbose output modes
journalctl: add command line parsing
journal: add missing compress.[ch]
journal: properly handle first inline bisect array entry
journald: enforce some syntax restrictions on field names sent from the client side
journal: implement stdout transport
journald: implement sophisticated rate limiting
udev: exclude loopback device from udev rule based sysctl application, since we can just apply that directly at boot
journal: fix typo
journal: fix hash table lookup logic
journald: when checking available disk space for rate limiting, cache the results temporarily
journal: never mmap beyond file size
journald: increase rate limit burst rate
journald: flush /run to /var as soon as it becomes available
journald: don't recheck /var availability more often than 30s
remount-api-vfs: handle another OOM condition
journald: add missing header
journal: add unit files and shared library glue
journald: forward all syslog messages to syslogd
journal: fix a few bad memory accesses and leaks
journal: disable default debug logging
journal: move max_use into metrics structure
Merge branch 'journal'
socket: rename the PassCred= option to PassCredentials=, since we don't want to needlessly abbreviate options unless they are very well established
kmsg: drop unused variable
journal: automatically deduce journal metrics from file system sizes
git: update gitignore
logind: move logind into its own subdirectory
logind: move more files into subdirectory
journal: move symver file into subdirectory
util: fix warning
login: move libsystemd-login.pc.in into src/login/
test: rename test directory
login: move the PAM module to src/login/ since it is just a client to logind
build-sys: fix mageia kbd mappings
build-sys: make readahead and vconsole optional
login: move systemd-user-sessions.service into login/, too
cryptsetup: split off cryptsetup into its own subdir
build-sys: move kbd-model-map to locale/
build-sys: make quotacheck and randomseed optional
socket: only add dependency on kmsg socket to socket units which have any kind of exec program specified
readahead: bring export definition of sd-readahead in line with sd-daemon
nspawn: get rid of BUFFER_SIZE, use LINE_MAX instead
login: introduce sd_pid_get_service()
journal: add _public_ to all sd-journal calls, and add parameter checks
sd-id128: add _public_ to all exports, and add validity checks for all parameters
journald: add _SYSTEMD_SESSION, _SYSTEMD_OWNER_UID, _SYSTEMD_SERVICE to all entries
journald: treat a read-only /var identical to an unmounted one
journal: never fail if we cannot access /var, just print a warning
systemctl: hook up systemctl with the journal
logind: if we can't open /dev/tty0, assume there is no VT subsystem and don't pretend we could do VT switching
logind: don't watch vcsa if nobody cares
logind: send out Lock signal when locking
journald: fix _SYSTEMD_CGROUP= values
sd128: add format string macros for outputting sd_id128_t variables
sd128: rename SD_FORMAT_ID128_STR to SD_ID128_FORMAT_STR to follow naming scheme
journalctl: add -n switch
journal: add missing error check
journal: add memory barrier before linking in newly created entries
journal: apply seek check before resizing window, and refresh stat data if necessary
journal: when increasing window, make sure to use the increased window
journald: don't rotate on startup
journal: don't mind too much if we can't find a monotonic timestamp
journal: add missing error check
journal: fix reverse traversing of entries
journalctl: fix counting of -n parameter
journalctl: only output 10 most recent lines in --follow mode
journald: store _SYSTEMD_UNIT= instead of _SYSTEMD_SERVICE= field, since processes might also be related to mount, swap or socket units, not just services
systemctl: shortcut log output for non-service, non-socket, non-mount, non-swap units
journal: it's not a problem if the realtime jumps, hence don't ensure monotonicity of realtime for entries we write
journal: beef up journal output of systemctl and journalctl
journal: fix XZ build flags
journald: parse configuration file
util: when printing status updates during boot, take terminal width into account
log: minor optimization
journald: add configuration file options to forward all logged data to kmsg, console, syslog
util: never ellipsize welcome message
build-sys: move public header files into a dir of their own
journal: add missing sd-messages.h
journalctl: add --new-id switch to generate a new 128Bit id
git: only ignore toplevel systemd file
journal: fix include in sd-journal.h
build-sys: add stub makefiles to subdirs
build-sys: drop colorgcc
headers: fix git URLs for source files
README: correct license claims
journalctl: rework short output mode to rebuild full syslog message
journal: move sockets into their own subdir
journal: store used transport in journal
journal: store used transport in journal
execute: talk directly to the journald, instead to the stdout-syslog-bridge
sd-journal: close reading side of sd_journal_stream_fd() file descriptors
journal: rename priority_prefix to level_prefix, since that's how we call it in PID 1
journal: rename syslog tag to identifier since that's what we call it on the server side.
login: implement sd_session_get_service()
stdout: remove stdout-syslog-bridge since it is now obsoleted by journald
journal: introduce log target 'journal' for executed processes
special: fix name of journal socket unit
kmsg-syslogd: remove kmsg-syslogd, since it's entirely obsoleted and replaced by journald
journald: start the journal after the syslog socket, so that the syslog socket queues syslog messages from early boot on
units: remove left-over unit file
service: add dependencies on configured sockets
unit: properly update references to units which are merged
journald: shorten the time we wait for a forwarding syslog
journald: start journald right away, don't wait until activation
journald: introduce systemd_journald.forward_to_kmsg=1 (and friends) to enable kmsg forwarding globally via kernel cmdline
main: fix spelling
load-fragment: fix parsing of Socket= setting
build-sys: move .pc files next to the matching sources
journalctl: rename --new-id to --new-id128 in order not to introduce yet another new name
sd-id128: let's make our API a bit smaller, since sd_id128_make_v4_uuid() is dispensable
journald: remove inner loop debug message
journald: add kmsg source
journalctl: add new short-monotonic output mode
journalctl: display source timestamp, not journald timestamp, if known
shutdown: exclude processes with argv[0][0] from killing
update TODO
service: brutally slaughter processes that are running in the cgroup when we enter START_PRE and START
shutdown: add link to root storage daemon text
unit: implement new PropagateReloadTo=/PropagateReloadFrom= operations
Update TODO
journalctl: always show monotonic timestamp even if it's from an old boot
systemd: reconnect to syslog as soon as the journal is fully up
sd-journal: implement a number of non-implemented calls from the API for now
journal: don't realign window twice
build-sys: bump version
build-sys: fix upload rule for xz
Michael Biebl (2):
build-sys: fix typo in help string
build-sys: link systemctl and systemd-journalctl against libsystemd-id128
Michal Schmidt (55):
manager: fix a crash in isolating
utmp: remove unneded parameters
utmp: no need to zero a struct before overwriting it with memcpy
utmp: initialize store with the found entry, not with the lookup key
utmp: for DEAD_PROCESS write the current time to wtmp
man: fix a typo in signal number
units: drop unnecessary 'StandardOutput=syslog'
units/fedora: let rc-local.service log to syslog
units/suse: let rc-local.service log to syslog
service: don't warn if the pidfile still exists after SIGCHLD
job: colored status messages on boot
man: fix typo in sd_notify
execute: avoid logging to closed fds
execute: make setup_pam() return -errno when possible
execute: log errors from "sd(EXEC)"
pam-module: use the correct session type "unspecified"
pam-module: treat "cron" in PAM_TTY as empty tty
let mount and swap units log to the configured defaults
socket: add option for SO_PASSCRED
shutdownd: use PassCred=yes in the socket unit
syslog: use PassCred=yes for the /dev/log socket
man: document the PassCred option
add a generator to pull rc-local.service in
rc-local: no need to check if the script is executable
rc-local: order after network.target
util: fix error checking after fgets()
path: use %m instead of strerror(errno)
path: refactor PathSpec usage
path: add PathModified (= PathChanged + IN_MODIFY)
service: handle services with racy daemonization gracefully
service: stop the service if ExecStartPost ends with a failure
unit: garbage collect units with load error
systemctl: print 'error' load state in red
path: add missing pieces for PathModified
unit: fix false positive in check for unneeded unit
unit: check for unneeded dependencies even when unit stop was expected
pam-module: add a couple of debugging prints
systemctl: fix typo in 'is-enabled'
tmpfiles: use an enum instead of plain char for item type
tmpfiles: rename a couple of functions
tmpfiles: use a common function to set owner/group/mode/label
tmpfiles: separate a generic item glob processing function
tmpfiles: add RECURSIVE_RELABEL_PATH ('Z')
man: document 'Z' in tmpfiles
man: mention that 'Z' ignores uid/gid/mode
service: use 'syslog+console' for sysv_console
tmpfiles: apply chown, chmod for 'Z' entries too
tmpfiles: add 'z', like 'Z' but not recursive
man: fix misplaced remark in description of Sockets=
execute: fix losing of start timestamps
dbus: register to DBus asynchronously
dbus: no sync D-Bus connection flushing
log: never block on syslog in PID 1
util: fix switching to console unicode mode
util: switch the console to text mode on reset
Michał Górny (2):
man: Fix out-of-source manpage builds.
build-sys: Fix missing directories with parallel 'make install'.
Ran Benita (3):
bash-completion: update with new verbs and arguments
bash-completion: add completions for systemd-loginctl
bash-completion: rename file since it is no longer for systemctl only
Thomas Jarosch (2):
condition: Fix file descriptor leak in test_capability()
Fix same expression on both sides of '&&'
Tim Waugh (1):
'@' is an 'ampersat' not an 'ampersand'; let's call it 'at symbol'
Tollef Fog Heen (1):
service: Drop rcN.d runlevels from SysV services that also exist in rcS.d
Tom Gundersen (3):
random-seed: convert poolsize from bits to bytes
cryptsetup-generator: avoid ordering cycle on swap
man: fix SEE ALSO in hostname(5)
Zbigniew Jędrzejewski-Szmek (16):
systemadm: break timestamp formatting out into a seperate function
systemadm: allow sorting of jobs and units
systemadm: split the type+status combo box into type combo & status checkbox
systemadm: filter on swaps, paths, and timers too.
systemadm: add a wrappable label and use it for status lines
systemadm: add libgee as dependency and use it for a unit map
systemadm: display dependencies sorted
systemadm: use color for dependency links
systemadm: use bold for "requires", etc.
systemadm: make the dependency listing selectable
systemadm: catch exceptions generated by dbus
systemadm: coalesce id and decription fields
systemadm: adjust row numbers after removing 'aliases'
systemadm: use colors for id too, remove color from fragment link
systemctl: make list-unit-files output more economical
fix compilation error with 'PathSpec redefined'
Lennart
--
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel
mailing list