Commit Graph

9814 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek ee623f0d0c hwdb: use $(localstatedir)/lib/udev/hwdb.bin for the binary database
It's not configuration, so it doesn't belong in udev.

Also, remove the catalog when uninstalling udev.
2012-11-16 23:29:56 +01:00
Zbigniew Jędrzejewski-Szmek 4ec24515da journal: use $(localstatedir)/lib/systemd/catalog for the catalog
The path doesn't change in the standard configuration.

Also, give full path to the journalctl binary in the hook,
since it might be installed outside of $PATH.

Also, add uninstall hook to remove the binary catalog.
2012-11-16 23:29:18 +01:00
Zbigniew Jędrzejewski-Szmek 943aad8ca5 journal, shared: fix warnings during compilation on 32 bits
Some filesystem magics are too big to fit in 31 bits,
and are wrapped to negative. f_type is an int on 32 bits, so
it is signed, and we get a warning on comparison.
2012-11-16 23:26:44 +01:00
Lennart Poettering 92b5814007 update TODO 2012-11-16 20:07:14 +01:00
Lennart Poettering 1b0fcd7411 rpm: update RPM macros to include definitions for more drop-in directories and for reloading/rebuilding configuration
More specifically this adds a number of macros that resolve to
directories for udev rules, hwdb entries, tmpfiles and sysctl.

Thsi also includes three new macros for rebuilding the hwbd/catalog
index when a package drops in new files
2012-11-16 20:07:14 +01:00
Kay Sievers 7c670f5b44 journal: catalog - silent output, it's usually only called by package management 2012-11-16 19:34:53 +01:00
Lennart Poettering 3cdebc217c service: drop support for SysV scripts for the early boot
This remove distro-specific support for early-boot SysV init scripts.
(And leaves support for normal SysV scripts untouched).

If distributions wish to continue to allow early-boot SysV scripts in
their distribution-specific way they should either maintain this patch
downstream manually, or write a generator for them, or simply ship all
those scripts with a .service wrapper.
2012-11-16 18:46:36 +01:00
Lennart Poettering 93bd157722 umount: always remount read-only before unmounting in final shutdown loop 2012-11-16 18:36:28 +01:00
Lennart Poettering 891a4918ef switch-root: try pivot_root() before overmounting /
We should always try to umount the old root dir if possible, instead of
overmounting it -- if that's possible.

The initial ("first") kernel rootfs can never be umounted, hence
for the usual nitrd case we never bothered using pivot_root() and
hence with fully unmounting it. However, fedup now tranisitions twice
during boot, and in that case it is highly desirable that the "second"
root dir is entirely unmounted when we switch to the "third". This patch
makes that possible.

The pivot_root() needs a directory in the "third" root dir, to move the
"second" root dir to. We use /mnt for that, under the assumption that
this directory is likely to exist, and is not itself a mount point.
2012-11-16 18:21:09 +01:00
Kay Sievers c4eb3681c7 build-sys: udev - create hwdb with make install 2012-11-16 17:58:31 +01:00
Kay Sievers 4641b09cbf hwdb: update 2012-11-16 17:08:20 +01:00
Umut Tezduyar 5bb633f13a udev: firmware - disable firmware loading when firmware file is 0 byte
If firmware file is not found in the file system, udev
terminates firmware loading. This is not the case if
firmware file exists in the file system but doesn't have
any data in it.
2012-11-16 17:07:19 +01:00
Zbigniew Jędrzejewski-Szmek f975e76c0b build-sys: fix catalog-update-hook with older systemd
The hook would fail if preexisting journalctl doesn't support
--update-catalog. Also, the catalog would be updated before new
catalog files were installed. Both issues are fixed by moving to
INSTALL_DATA_HOOK instead of INSTALL_EXEC_HOOK, since the hook is now
executed after both journalctl and catalog files are installed.
2012-11-16 14:05:17 +01:00
Zbigniew Jędrzejewski-Szmek e2bb347f85 build-sys: update catalog on installation 2012-11-16 11:00:49 +01:00
Zbigniew Jędrzejewski-Szmek 80343dc19a journalctl: better error messages for --update-catalog
Also add informational message about catalog size.
2012-11-16 10:46:50 +01:00
Lennart Poettering 0922cbe830 catalog: fix typo 2012-11-16 03:04:56 +01:00
Lennart Poettering 2d27a19d92 man: link up journalctl man page with developer documenation 2012-11-16 03:04:08 +01:00
Lennart Poettering 95ec8647c7 journal: recommend journalctl -x more often 2012-11-16 03:03:54 +01:00
Lennart Poettering 6f9e5c9619 update TODO 2012-11-16 03:03:30 +01:00
Lennart Poettering 5d6a86d7a0 catalog: add catalog entries for all of systemd's own journal messages 2012-11-16 03:03:22 +01:00
Lennart Poettering e6c6e7afff update TODO 2012-11-16 01:36:29 +01:00
Lennart Poettering 83f6936a01 journal: extend catalog header to 64bit for all fields, just to be safe and follow the rest of the file formats 2012-11-16 01:35:11 +01:00
Lennart Poettering 0049f05a8b shutdown: readd explicit sync() when shutting down
As it turns out reboot() doesn't actually imply a file system sync, but
only a disk sync. Accordingly, readd explicit sync() invocations
immediately before we invoke reboot().

This is much less dramatic than it might sounds as we umount all
disks/read-only remount them anyway before going down.
2012-11-16 01:35:11 +01:00
Anders Olofsson f553b3b107 udev: make blkid optional
I'm building systemd for an embedded system and we would prefer not having
to include the entire util-linux package just to get a libblkid whose
functionality we don't need.
2012-11-16 01:17:18 +01:00
Lennart Poettering d4205751d4 journal: implement message catalog
The message catalog can be used to attach short help texts to log lines,
keyed by their MESSAGE_ID= fields. This is useful to help the
administrator understand the context and cause of a message, find
possible solutions and find further related documentation.

Since this is keyed off MESSAGE_ID= this will only work for native
journal messages.

The message catalog supports i18n, and is useful to augment english
language system messages with explanations in the local language.

This commit only includes short explanatory messages for a few example
message IDs, we'll add more complete documentation for the relevant
systemd messages later on.
2012-11-15 23:09:07 +01:00
Lennart Poettering 59f432ea6d hostnamectl: fix parsing of --no-ask-password 2012-11-15 23:07:25 +01:00
Lennart Poettering 8e6054f732 Update TODO 2012-11-15 23:07:25 +01:00
Lennart Poettering 8885064fd0 polkit: if PK is not around, consider this a permission denied error
Uninstalling PK should cleanly disable PK authorization but not result
in further runtime errors.
2012-11-15 23:07:25 +01:00
Kay Sievers 33c770b174 udev: hwdb - properly handle a missing database
On Thu, Nov 15, 2012 at 5:05 PM, Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> wrote:
> Something like this appeared with latest git:
>
> Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [364] terminated by signal 11 (Segmentation fault)
> Nov 15 16:55:46 fedora-15 [387]: Process 364 (systemd-udevd) dumped core.
> Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [364] failed while handling '/devices/virtual/net/lo'
> Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [360] terminated by signal 11 (Segmentation fault)
> Nov 15 16:55:46 fedora-15 systemd-udevd[334]: worker [360] failed while handling '/devices/pci0000:00/0000:00:03.0/virtio0/net
> Nov 15 16:55:46 fedora-15 [389]: Process 360 (systemd-udevd) dumped core.
>
> Core was generated by usr/lib/systemd/systemd-udevd'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x0000000000423c87 in udev_hwdb_get_properties_list_entry (hwdb=0x0, modalias=0x7fffbcd155f0
2012-11-15 17:30:03 +01:00
Zbigniew Jędrzejewski-Szmek f72daa64dc dbus-manager: modernize style 2012-11-15 16:30:24 +01:00
Eelco Dolstra 645a9e5a2b dbus-manager: fix a fatal dbus abort in bus_manager_message_handler()
If ListUnitFiles fails, or an OOM occurs, then dbus_message_unref()
will be called twice on "reply", causing systemd to crash.  So remove
the call to dbus_message_unref(); it is unnecessary because of
the cleanup attribute on "reply".

[zj: modified to leave one dbus_message_unref() alone, per Colin
Walters' comment.]
2012-11-15 16:29:53 +01:00
Holger Hans Peter Freyther bb11271068 sched: Only setting CPUSchedulingPriority=rr doesn't work
A service that only sets the scheduling policy to round-robin
fails to be started. This is because the cpu_sched_priority is
initialized to 0 and is not adjusted when the policy is changed.

Clamp the cpu_sched_priority when the scheduler policy is set. Use
the current policy to validate the new priority.

Change the manual page to state that the given range only applies
to the real-time scheduling policies.

Add a testcase that verifies this change:

$ make test-sched-prio; ./test-sched-prio
[test/sched_idle_bad.service:6] CPU scheduling priority is out of range, ignoring: 1
[test/sched_rr_bad.service:7] CPU scheduling priority is out of range, ignoring: 0
[test/sched_rr_bad.service:8] CPU scheduling priority is out of range, ignoring: 100
2012-11-15 16:16:45 +01:00
Lekensteyn 71c0159692 journalctl: require argument for --priority
This fixes a segfault due to a missing value for --priority. -p is
unaffected because it is specified in the getopt_long parameter list.
2012-11-15 16:09:02 +01:00
Zbigniew Jędrzejewski-Szmek 2480f0c677 man: update description of ExecStart and friends
Semicolon separated lines are supported for all those commands,
and semicolons can now be escaped.
2012-11-15 16:01:22 +01:00
Zbigniew Jędrzejewski-Szmek 0f67f1efae core: lift restriction on order of - and @ in ExecStart 2012-11-15 16:01:22 +01:00
Oleksii Shevchuk 7e1a84f552 core: interpret \; token in ExecStart as escaped ;
Some commands (like 'find') take a semicolon as separate arg. With
current parser implementation there is no way to pass one.

Patch adds token \;
2012-11-15 16:01:10 +01:00
Zbigniew Jędrzejewski-Szmek 2c5417ade0 tests: add tests for config_parse_exec 2012-11-15 16:00:45 +01:00
Oleksii Shevchuk a66f3bea8b core/load-fragment-gperf: add missing CONDITION_FILE_NOT_EMPTY
Unit files couldn't be properly parsed, because of
absent ConditionFileNotEmpty in load-fragment table.
2012-11-15 16:00:03 +01:00
Oleksii Shevchuk 774de5a97f core: fix %h, %s, %p handling in templates in user session 2012-11-15 15:59:50 +01:00
Olivier Brunel f09a7d2554 systemd: highlight ordering cycle deletions
Having unit(s) removed/not started, even if it solved the issue and allowed
to boot successfully, should still be considered an error, as something
clearly isn't right.

This patch elevates the log message from warning to error, and adds a status
message to make things more obvious.
2012-11-15 15:59:39 +01:00
Zbigniew Jędrzejewski-Szmek 45c0c61df3 systemctl: add help for --type/-t
The list of types and load states if lengthy, so a little reminder
can be sometimes useful.
2012-11-15 11:54:57 +01:00
Zbigniew Jędrzejewski-Szmek 48c2826b4e systemctl: remove empty line in case of no units 2012-11-15 11:39:23 +01:00
Zbigniew Jędrzejewski-Szmek d025f1e4dc build-sys: store journald code in a noinst library
The point is to allow the use of journald functions by other binaries.
Before, journald code was split into multiple files (journald-*.[ch]),
but all those files all required functions from journald.c. And
journald.c has its own main(). Now, it is possible to link against
those functions, e.g. from test binaries.

This constitutes a fix for https://bugzilla.redhat.com/show_bug.cgi?id=872638.

The patch does the following:
1. rename journald.h to journald-server.h and move corresponding code
   to journald-server.c.
2. add journald-server.c and other journald-*.c parts to
   libsystemd-journal-internal.
3. remove journald-syslog.c from test_journal_syslog_SOURCES, since
   it is now contained in libsystemd-journal-internal.
There are no code changes, apart from the removal of a few static's,
to allow function calls between files.
2012-11-14 23:39:53 +01:00
Zbigniew Jędrzejewski-Szmek be1015dd34 man: throw in an example of timedatectl output
timedatectl is too cool not to advertise it a bit.
2012-11-14 23:25:22 +01:00
Zbigniew Jędrzejewski-Szmek fea05a40ff timedatectl: break line to not exceed 80 columns 2012-11-14 22:49:29 +01:00
Zbigniew Jędrzejewski-Szmek e7098b699a lawyerese: add header to make-directive-index 2012-11-14 22:49:29 +01:00
Lennart Poettering e673ad0415 update TODO 2012-11-14 22:21:16 +01:00
Lennart Poettering 6e6fb527f9 shared: add API for replacing @FOO@ style variables in strings 2012-11-14 22:21:16 +01:00
Lennart Poettering 409bc9c33e util: add strreplace() to replace a substring by another string 2012-11-14 22:21:16 +01:00
Lennart Poettering 7ae03f3697 specifier: minor modernizations 2012-11-14 22:21:16 +01:00