Commit graph

1060 commits

Author SHA1 Message Date
Lennart Poettering 9a98c7a156 util: split off time related calls from util.[ch] into time-util.[ch] 2012-11-23 22:07:24 +01:00
Lennart Poettering 36697dc019 timer: implement calendar time events 2012-11-23 21:37:58 +01:00
Lennart Poettering 555d5c0cb5 build-sys: add zsh completion bits to EXTRA_DIST 2012-11-21 02:19:20 +01:00
Lennart Poettering 0428ddb729 build-sys: prepare 196 2012-11-21 01:37:11 +01:00
Lennart Poettering f2cf0403c9 journal: document new catalog APIs 2012-11-20 22:09:09 +01:00
Tom Gundersen e30431623a build-sys: make loadable module support optional
kmod is unecessary if loadable module support is disabled in the kernel,
so make the dependency optional.
2012-11-20 19:35:27 +01:00
Tom Gundersen 1d0b59f932 build-sys: fix sysvcompat handling in distcheck
Distcheck would fail due to sysvinit dir being set,
but not sysvrcnd dir:

 # ./configure --enable-gtk-doc --with-sysvrcd-path=/etc/rc.d
 # --with-sysvinit-path=/etc/rc.d
 # make distcheck
 ...
 configure: error: *** You need both --with-sysvinit-path=PATH and
--with-sysvrcd-path=PATH to enable SysV compatibility support, or both
empty to disable it.
make: *** [distcheck] Error 1

This also allows sysvcompat support to be disabled from distcheck.
2012-11-20 19:35:27 +01:00
Zbigniew Jędrzejewski-Szmek 1e1954f533 hwdb: revert hwdb.bin back to /etc/udev
> Kay:
udev is early boot without /var. /var is entirely taboo for udev.

This partially reverts commit ee623f0d0c
(moving hwdb.bin is reverted, but the uninstall hook and cosmetic
changes remain).
2012-11-17 01:55:35 +01:00
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
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 c4eb3681c7 build-sys: udev - create hwdb with make install 2012-11-16 17:58:31 +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
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
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
Zbigniew Jędrzejewski-Szmek 2c5417ade0 tests: add tests for config_parse_exec 2012-11-15 16:00:45 +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
Lennart Poettering 6e6fb527f9 shared: add API for replacing @FOO@ style variables in strings 2012-11-14 22:21:16 +01:00
Tom Gundersen 43f9cc65c2 hwdb: change pci.ids location
According to pciutils' TODO, the sourceforge location is scheduled for
removal, use the new one instead.
2012-11-09 15:36:25 +01:00
Kay Sievers 8db6dcfd3c udev: hwdb - add usb class descriptions 2012-11-09 15:02:58 +01:00
Kay Sievers cf7ebcea78 udev: hwdb - add pci class descriptions 2012-11-09 14:29:10 +01:00
Kay Sievers a660c63c55 udev: net_id - add builtin to retrieve data for network devices 2012-11-09 13:05:19 +01:00
Kay Sievers 87281abdf3 hwdb: OUI - use ID_OUI_FROM_DATABASE= 2012-11-09 12:39:27 +01:00
Kay Sievers 448004c340 hwdb: add IEEE OUI data 2012-11-07 14:23:05 +01:00
Kay Sievers bd49c40537 bash-completion > shell-completion 2012-11-03 22:10:32 +01:00
Kay Sievers b7f1542c8b shared: add timer_get_dst() 2012-11-02 00:44:23 +01:00
Lennart Poettering 669b04a492 service: drop special HTTP server target, as it is a bad idea anf Fedora specific
This was premarily intended to support the LSB facility $httpd which is
only known by Fedora, and a bad idea since it lacks any real-life
usecase.

Similar, drop support for some other old Fedora-specific facilities.

Also, document the rules for introduction of new facilities, to clarify
the situation for the future.
2012-10-31 02:55:04 +01:00
Kay Sievers ff944daa01 udev: get rid of SYSCONFDIR 2012-10-28 04:04:22 +01:00
Lennart Poettering 6524990fdc logind: support for hybrid sleep (i.e. suspend+hibernate at the same time) 2012-10-28 00:50:35 +02:00
Kay Sievers 2001208c2a libudev: import hwdb and export lookup interface 2012-10-27 23:39:41 +02:00
Lennart Poettering 85210bffd8 journal: provide an API that allows client to figure out whether they need to recheck the journal manually for changes in regular intervals
Network file systems generally do not offer inotify() that would work
across the network. We hence cannot rely on inotify() exclusiely in
those case. Provide an API to determine these cases, and suggest doing
manual regular rechecks.

Note that this is not complete yet, as we need to rescan journal dirs on
network file systems explicitly to find new/removed files
2012-10-26 20:07:33 +02:00
Martin Pitt 221a6c2a26 keymap: Add HP EliteBook 8440p
Thanks to Glen Ditchfield <gjditchfield@acm.org>!

https://launchpad.net/bugs/1071579
2012-10-26 06:31:14 +02:00
Lennart Poettering a4bcff5ba3 journal: introduce entry array chain cache
When traversing entry array chains for a bisection or for retrieving an
item by index we previously always started at the beginning of the
chain. Since we tend to look at the same chains repeatedly, let's cache
where we have been the last time, and maybe we can skip ahead with this
the next time.

This turns most bisections and index lookups from O(log(n)*log(n)) into
O(log(n)). More importantly however, we seek around on disk much less,
which is good to reduce buffer cache and seek times on rotational disks.
2012-10-26 03:24:03 +02:00
Kay Sievers 0380748b55 udev: hwdb: add acpi/pnp vendor description file 2012-10-25 21:44:23 +02:00
Kay Sievers 796b06c21b udev: add hardware database support 2012-10-23 16:43:32 +02:00
Lennart Poettering 139ee8cc31 build-sys: prepare 195 2012-10-23 00:12:33 +02:00
Kay Sievers 3c62146280 shared: move sparse-endian.h from journal 2012-10-22 18:08:48 +02:00
Kay Sievers 5b4882b6aa build-sys: fix distcheck 2012-10-22 17:20:18 +02:00
Kay Sievers 955bd501c2 shared: strbuf - add string de-duplication facility 2012-10-22 16:27:00 +02:00
Lennart Poettering 7cd28a8a2f man: add man page for localectl 2012-10-21 03:35:54 +02:00
Zbigniew Jędrzejewski-Szmek 5de0409e54 journal: add tool to extract coredumps
'systemd-coredumpctl' will list available coredumps:
   PID   UID   GID sig exe
 32452  500  500  11 /home/zbyszek/systemd/build/journalctl
 32666  500  500  11 /usr/lib64/valgrind/memcheck-amd64-linux
...

'systemd-coredumpctl dump PID' will write the coredump
to specified file or stdout.
2012-10-19 15:15:38 +00:00
Lennart Poettering 2087a7aff2 locale: add client tool localectl similar to hostnamectl/timedatectl 2012-10-19 04:55:49 +02:00
Lennart Poettering 3c1668da62 journal: add ability to list values a specified field can take in all entries of the journal
The new 'unique' API allows listing all unique field values that a field
specified by a field name can take in all entries of the journal. This
allows answering queries such as "What units logged to the journal?",
"What hosts have logged into the journal?", "Which boot IDs have logged
into the journal?".

Ultimately this allows implementation of tools similar to lastlog based
on journal data.

Note that listing these field values will not work for journal files
created with older journald, as the field values are not indexed in
older files.
2012-10-18 03:35:18 +02:00
Lennart Poettering 86b2e20a5e units: rework systemd-exit.service to terminate systemd via signal rather than bus
This should make session termination more reliable, as D-Bus doesn't
have to be around anymore for this to succeed.
2012-10-18 01:20:06 +02:00
Lennart Poettering dbc4fbae58 hostname: add new hostnamectl tool as text client for hostnamed 2012-10-17 21:25:42 +02:00
Lennart Poettering 0ce8860a15 docs: install README files into /var/log and 7etc/rc.d/init.d
On systemd systems seasoned admins might be surprised to see that the
init scripts and log files are gone. To ease the transition let's place
some README files there, that hopefully help clearing up the situation.
2012-10-17 21:25:42 +02:00
Lennart Poettering 6d0274f115 timedatectl: introduce new command line client for timedated
Much like logind has a client in loginctl, and journald in journalctl
introduce timedatectl, to change the system time (incl. RTC), timezones
and related settings.
2012-10-17 21:25:42 +02:00
Lennart Poettering 183de6d7d9 id128: introduce new SD_ID128_CONST_STR() macro 2012-10-16 17:02:51 +02:00
Zbigniew Jędrzejewski-Szmek e4d1062c05 build-sys: always distribute file 2012-10-13 14:54:56 +02:00
Zbigniew Jędrzejewski-Szmek e88baee88f journald: properly update message size after stripping the identifier
Valgrind says:
==29176== Conditional jump or move depends on uninitialised value(s)
==29176==    at 0x412A85: cunescape_length_with_prefix (util.c:1565)
==29176==    by 0x40B351: dev_kmsg_record (journald-kmsg.c:301)
==29176==    by 0x40B653: server_read_dev_kmsg (journald-kmsg.c:347)
==29176==    by 0x40B701: server_flush_dev_kmsg (journald-kmsg.c:365)
==29176==    by 0x409DE7: main (journald.c:1535)
2012-10-13 14:40:32 +02:00
Kay Sievers c0735bb218 build-sys: check - fix typo 2012-10-11 22:31:23 +02:00
Lennart Poettering cfbc22abd0 journalctl: implement --since= and --until for filtering by time 2012-10-11 16:43:37 +02:00
Lennart Poettering c6511e859c journal: when browsing the journal via browse.html allow clicking on entries to show their details 2012-10-10 22:41:03 +02:00
Lennart Poettering 96ede2601f detect-virt: install with fs caps by default to allow unprivileged access 2012-10-09 22:25:32 +02:00
Lennart Poettering f9b557200b build-sys: prepare 194 2012-10-03 14:32:29 -04:00
Tom Gundersen f51356b462 vconsole: default to the kernel compiled-in font
No longer override the default kernel font if nothing is specified in
vconsole.conf.

The default kernel font[0] provides ISO-8859-1 and box characters. Users
of Arabic, Cyrilic or Hebrew must set a different font manually as these
character sets were provided by the old default font [1], but are not
any longer.

Rationale:

 * it is counter-intuitive that an empty vconsole.conf file is different
   from adding FONT="";
 * the version of the default font shipped with Arch (which is the
   upstream one) behaves very badly during early boot[2] (which should
   admittedly be fixed in the font itself);
 * the kernel already supplies a default font, it seems reasonable to
   use that unless anything else is specified;
 * This also avoids a needless slow call to setfont; and
 * We don't want to work around problems in the kernel (in case the
   compiled-in font is not acceptable for whatever reason).

[0]: <https://dev.archlinux.org/~tomegun/kernel.bdf>
[1]: <https://dev.archlinux.org/~tomegun/latarcyrheb.bdf>
[2]: <http://i.imgur.com/J2tM4.jpg>
2012-10-03 15:42:19 +02:00
Lennart Poettering c1165f822c audit: turn the audit fd into a static variable
As audit is pretty much just a special kind of logging we should treat
it similar, and manage the audit fd in a static variable.

This simplifies the audit fd sharing with the SELinux access checking
code quite a bit.
2012-10-02 17:40:09 -04:00
Lennart Poettering cad45ba11e selinux: rework selinux access check logic
a) Instead of parsing the bus messages inside of selinux-access.c
simply pass everything pre-parsed in the functions

b) implement the access checking with a macro that resolves to nothing
on non-selinux builds

c) split out the selinux checks into their own sources
selinux-util.[ch]

d) this unifies the job creation code behind the D-Bus calls
Manager.StartUnit() and Unit.Start().
2012-10-02 17:07:00 -04:00
Lennart Poettering 597c52cfed build-sys: prepare 193 2012-09-28 01:34:38 +02:00
Lennart Poettering 7b17a7d72f journal: add minimal journal gateway daemon based on GNU libmicrohttpd
This minimal HTTP server can serve journal data via HTTP. Its primary
purpose is synchronization of journal data across the network. It serves
journal data in three formats:

       text/plain: the text format known from /var/log/messages
       application/json: the journal entries formatted as JSON
       application/vnd.fdo.journal: the binary export format of the journal

The HTTP server also serves a small HTML5 app that makes use of the JSON
serialization to present the journal data to the user.

Examples:

This downloads the journal in text format:

 # systemctl start systemd-journal-gatewayd.service
 # wget http://localhost:19531/entries

Same for JSON:

 # curl -H"Accept: application/json" http://localhost:19531/entries

Access via web browser:

 $ firefox http://localhost:19531/
2012-09-28 00:55:24 +02:00
Lennart Poettering 075d4ecb40 build-sys: prepare release 192 2012-09-25 22:23:57 +02:00
Lennart Poettering 8e41de0d2c Revert "comment out uncommitted test source code"
This reverts commit b8bc868009.

Added the test file now.
2012-09-24 10:19:23 +02:00
Kay Sievers b8bc868009 comment out uncommitted test source code 2012-09-23 14:31:53 +02:00
Lennart Poettering b6a867398d build-sys: prepare release 191 2012-09-21 23:37:06 +02:00
Lennart Poettering f801968466 journal: completely rework the mmap cache as I too dumb to actually understand it
Instead of doing hand optimized fd bisect arrays just use plain old
hashmaps. Now I can understand my own code again. Yay!

As a side effect this should fix some bad memory accesses caused by
accesses after mmap(), introduced in 189.
2012-09-21 20:52:23 +02:00
Lennart Poettering aaeef05886 multi-seat-x: drop a lot of unnecessary code 2012-09-21 17:03:40 +02:00
Lennart Poettering ec29187225 Revert "multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now"
This reverts commit 636d30a089.

Turns out we will need the multi-seat wrapper a bit longer, however
without the fb-specific bits in it.
2012-09-21 15:51:04 +02:00
Lennart Poettering 636d30a089 multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now 2012-09-21 12:46:22 +02:00
Lennart Poettering 0c11f949db build-sys: prepare v190 2012-09-20 18:54:20 +02:00
Lennart Poettering 41f9172f42 unit: split unit_printf() and friends into its own .c file 2012-09-18 11:27:56 +02:00
Lennart Poettering c309067483 selinux: use existing library calls for audit data 2012-09-18 01:55:49 +02:00
Daniel J Walsh e2417e4143 selinux: add bus service access control
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This patch adds the ability to look at the calling process that is trying to
do dbus calls into systemd, then it checks with the SELinux policy to see if
the calling process is allowed to do the activity.

The basic idea is we want to allow NetworkManager_t to be able to start and
stop ntpd.service, but not necessarly mysqld.service.

Similarly we want to allow a root admin webadm_t that can only manage the
apache environment.  systemctl enable httpd.service, systemctl disable
iptables.service bad.

To make this code cleaner, we really need to refactor the dbus-manager.c code.
 This has just become a huge if-then-else blob, which makes doing the correct
check difficult.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlBJBi8ACgkQrlYvE4MpobOzTwCdEUikbvRWUCwOb83KlVF0Nuy5
lRAAnjZZNuc19Z+aNxm3k3nwD4p/JYco
=yops
-----END PGP SIGNATURE-----
2012-09-18 01:21:17 +02:00
Kay Sievers 0bb91b5010 udev: add btrfs support
All "btrfs" file systems will be registered with the kernel when they
show up.

Incomplete multi-device volumes will set SYSTEMD_READY=0, to prevent
access until the volume is complete and fully registered.
2012-09-17 13:54:03 +02:00
Zbigniew Jędrzejewski-Szmek f6c2e28b07 directive-index: journal directives 2012-09-17 12:42:22 +02:00
Zbigniew Jędrzejewski-Szmek ffafe91b5a directive-index: system manager directives 2012-09-17 12:42:22 +02:00
Zbigniew Jędrzejewski-Szmek e1abd3efab directive-index: add UDEV fields 2012-09-17 12:42:22 +02:00
Zbigniew Jędrzejewski-Szmek d9cfd69403 man: generate an index of directives
Systemd has a large (and growing) number of manpages. Sometimes it's
not immediately obvious, where to look for a directive. Especially,
when something is described in more than one place. Making sense of
all the settings should be easier with an index.
2012-09-17 12:42:22 +02:00
Shawn Landden 608da9e9b5 man: remove timezone(5) and add localtime(5) 2012-09-14 19:27:59 +02:00
Lennart Poettering a1d41e17a5 rpm: expose preset dir as rpm macro and in systemd.pc 2012-09-13 22:17:46 +02:00
Lennart Poettering ff89a42a86 python: make gcc shut up 2012-09-13 19:34:09 +02:00
Lennart Poettering 0aee68ad02 python: reindent to follow coding style 2012-09-13 04:16:10 +02:00
Lennart Poettering 8d7e170a52 python: integrate David Strauss' python-systemd package 2012-09-13 04:01:18 +02:00
Dave Reisner b51fc639f0 build-sys: perform autodetection of quota-tools binaries
Use AC_PATH_PROG to try and locate the quotaon and quotacheck binaries,
falling back on hardcoded defaults when they can't be found.
2012-09-11 01:43:48 +02:00
Lennart Poettering b5b46d5995 when determining unit file list, include invalid unit names in an "invalid" state 2012-09-11 01:14:25 +02:00
Lennart Poettering 54aa25e63c build-sys: add libsystemd-id128-internal.la as dep to libsystemd-core.la
condition.c makes use of sd_id128_get_machine() after all.

Spotted by Khem Raj.
2012-09-10 09:28:42 +02:00
Lennart Poettering a1a03e3075 journal: add call to determine current journal file disk usage 2012-09-07 23:20:28 +02:00
Lennart Poettering cb7ed9dfca tmpfiles: don't attempt creation of device nodes when we run in a container 2012-09-05 23:42:05 -07:00
Lennart Poettering ddffe89246 journal: don't pull in flush service from journald service
In the initrd we don't need the flush service hence don't attempt to
pull it in.
2012-09-03 18:59:05 -07:00
Lennart Poettering 877d54e9b0 journal: generate structured journal messages for a number of events 2012-09-03 18:59:04 -07:00
Zbigniew Jędrzejewski-Szmek fe1fed02c7 build-sys: xsltproc is required for man pages and gtk-doc 2012-08-25 02:01:44 +02:00
Lennart Poettering 38a60d7112 build-sys: prepare release 189 2012-08-23 02:46:22 +02:00
Lennart Poettering d2bd7630d7 journal: the ratelimiter is part of journald 2012-08-22 03:43:45 +02:00
Lennart Poettering 0153028ae3 journald: split off native protocol support into its own .c file 2012-08-22 03:42:23 +02:00
Lennart Poettering 3b7124a8db journald: split console transport stuff into its own file 2012-08-22 03:36:29 +02:00
Lennart Poettering a45b9fca6b journald: move stream protocol into its own .c file 2012-08-22 03:32:41 +02:00
Lennart Poettering 35e2e347d3 journald: splitt of syslog protocol support into its own file 2012-08-22 03:21:03 +02:00
Lennart Poettering ef63833d53 journald: split /dev/kmsg related stuff into its own .c file 2012-08-22 03:09:44 +02:00
Lennart Poettering bdfb9e7f7c journald: augment journal entries from the kernel with data from udev 2012-08-22 02:49:17 +02:00
Lennart Poettering 2cfa886eb1 build-sys: fix ntp-units.d path creation
Spotted by Dave Reisner
2012-08-21 16:40:19 +02:00
Lennart Poettering f6a971bc0b journalctl: output FSS key as QR code on generating 2012-08-20 22:02:19 +02:00
Lennart Poettering feb12d3ed2 journal: make libgcrypt dependency optional 2012-08-20 16:51:46 +02:00
Kay Sievers 45b51b6b71 keymap: fix map name reference 2012-08-16 21:00:06 +02:00
Lennart Poettering f5028bfaf0 journal: journal-send.h doesn't actually exist 2012-08-16 17:19:47 +02:00
Lennart Poettering 0284adc6a6 journal: split up journal-file.c 2012-08-16 17:10:57 +02:00
Lennart Poettering beec008561 journal: implement basic journal file verification logic 2012-08-16 17:10:57 +02:00
Lennart Poettering 16e9f408fa journal: implement generic sharable mmap caching logic
instead of having one simple per-file cache implement an more
comprehensive one that works for multiple files and can actually
maintain multiple maps per file and per object type.
2012-08-16 17:10:56 +02:00
Lennart Poettering 7560fffcd2 journald: initial version of FSPRG hookup
This adds forward-secure authentication of journal files. This patch
includes key generation as well as tagging of journal files,
Verification of journal files will be added in a later patch.
2012-08-13 20:31:10 +02:00
Kay Sievers dbf61afb29 udev: export udev_device_new_from_device_id() 2012-08-10 19:56:57 +02:00
Huang Hang af18d7ca4b build-sys: use more generic regular expression to generate syscall-list.txt correctly
Currently MIPS and ARM define syscall numbers for multiple ABI in one
<asm/unistd.h>. The #define statments for each syscall are formated as:

 #define __NR_scname (BASE_OFFSET + sc_number)

Thus we need a more generic regular expression to match these in awk.
2012-08-09 12:21:04 +02:00
Lennart Poettering c269cec334 build-sys: prepare release 188 2012-08-08 21:49:01 +02:00
Peter Alfredsen 276c54e799 build-sys: add CFLAGS to CPP calls
It changes the defines WORDSIZE and __I386, CFLAGS=-m32.
2012-08-08 21:33:42 +02:00
Kay Sievers 81311bbd12 build-sys: link internal selinux lib to systemd-remount-fs 2012-08-08 12:29:54 +02:00
Lennart Poettering 3984d657ff build-sys: typo fix 2012-08-08 12:27:10 +02:00
Lennart Poettering 5a45a93627 build-sys: enable a couple of security features
Most distributions enable these downstream anyway, but it probably makes
sense to enable them unconditionally upstream too.
2012-08-08 12:03:34 +02:00
Lennart Poettering b2c9cbafb8 units: remove prefdm
It's time to get rid of prefdm. Distributions which still want to use
this should maintain this downstream, but it's probably better to just
provide proper units for the various display managers, like Fedora is
doing this, for example:

https://fedoraproject.org/wiki/Features/DisplayManagerRework
2012-08-07 17:08:31 +02:00
Simon Peeters f9a3b83bf4 build-sys: do not link systemctl against journal-internal and id128-internal
systemctl does not need the internal journal and id128 libraries to
function, so don't link against them.
2012-08-03 18:20:09 +02:00
Lennart Poettering 18c7ed186b journal: add sd_journal_perror() to API 2012-08-01 19:53:23 +02:00
Zbigniew Jędrzejewski-Szmek cd8654b13e build-sys: fix path to src/gudev/gudevenumtypes.h
This file is generated, so it should be referred to as
$(top_builddir)/src/gudev/gudevenumtypes.h. It could only appear in
$(top_srcdir) as a result of previous build in $(top_srcdir). Better
to just let automake add the prefix for us, so there's no need to
spell it out.

Remove the prefix from other source files too, $(top_srcdir) is the
default anyway.
2012-07-31 00:28:46 +02:00
Zbigniew Jędrzejewski-Szmek bd923ff29e build-sys: always create the output directory first
$(MKDIR_P) is added where missing, and rules are standardized on one
form of $(MKDIR_P), to make it easier to spot when it is missing.
Single line $(MKDIR)&&command form is broken into two line form.

https://bugs.freedesktop.org/show_bug.cgi?id=49459

For compilation in a separate build directory to work, when a file is
generated, the rule must include an explicit mkdir first, unless the
file is created at the top level. Even when building in a separate
build-dir, automake would normally create all directories as a side
result of creating the dependencies files. Therefore the bug was only
visible with -C (turning off dependency generation).
2012-07-31 00:27:56 +02:00
Lennart Poettering bad1837c18 Revert "man: ship systemd-udevd as the real manpage"
We want to keep things uniform, and hence treat udevd's man page like
any other in the repo. What matters is how users primarily interface
with a service, and that is not the binary path in /usr/lib/systemd but
the service name.

This reverts commit 6c1f3ba54a.
2012-07-29 11:58:41 +02:00
Dave Reisner 6c1f3ba54a man: ship systemd-udevd as the real manpage
Instead of making systemd-udevd a so-link to systemd-udevd.service,
ship the real page as systemd-udevd to integrate better with distros
where udevd might be run standalone.
2012-07-28 22:35:41 +02:00
Bryan Kadzban 299031ca8b build-sys: always populate EXTRA_DIST
"make dist" can build a different tarball depending on the flags passed
to ./configure and the (optional) dependencies found on the system.
Move all append-to-EXTRA_DIST operations out of automake conditionals to
fix this.

Introduce a polkitpolicy_files so that the policy files built still
correctly depend on the automake conditionals, but the .in files that
get distributed do not.
2012-07-28 22:35:26 +02:00
Peeters Simon b5dd874dda build-sys: use correct cpp
this solves issues where $(CPP) has differend include paths than 'cpp'
2012-07-26 16:04:52 +02:00
Michal Schmidt c37046cd3c build-sys: create ntp-units.d dropin directories on install 2012-07-26 07:47:12 +02:00
Kay Sievers 9bd4457cfa build-sys: man - add missing dependency 2012-07-23 01:58:24 +02:00
Zbigniew Jędrzejewski-Szmek bf7410e4a7 build-sys: distribute a few more man pages 2012-07-22 23:34:31 +02:00
Zbigniew Jędrzejewski-Szmek a804b788a8 build-sys: fix (again) index generation in subdir
make-man-index.py doesn't care about .html files, only .xml files, so
the source list was wrong. Also, $(XML_FILES) are specified without
prefix, so compilation in sepearate build-dir was broken:

  GEN    man/index.html
Traceback (most recent call last):
  File "../make-man-index.py", line 24, in <module>
    t = parse(p)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1183, in parse
    tree.parse(source, parser)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 647, in parse
    source = open(source, "rb")
IOError: [Errno 2] No such file or directory: 'man/systemd.xml'
2012-07-21 07:55:36 +02:00
Lennart Poettering 3fd8953688 build-sys: bump revision of libudev too 2012-07-20 00:40:32 +02:00
Lennart Poettering c4f1b86299 build-sys: prepare 187 2012-07-20 00:38:02 +02:00
Lennart Poettering 4819ff0358 unit: split off KillContext from ExecContext containing only kill definitions 2012-07-20 00:10:31 +02:00
Kay Sievers 1d57af45cf build-sys: fix variable assignment 2012-07-19 23:07:23 +02:00
Lennart Poettering 57fb9fb56d nspawn: introduce new --link-journal= switch to link container journals into host 2012-07-19 02:02:39 +02:00
Zbigniew Jędrzejewski-Szmek e5e25a6857 build-sys: put all BUILT_SOURCES in CLEANFILES
Since currently all items in BUILT_SOURCES are also in CLEANFILES,
we can reduce clutter by appending BUILT_SOURCES directly.
2012-07-18 01:36:39 +02:00
Zbigniew Jędrzejewski-Szmek 96bd03d5b8 build-sys: use .DELETE_ON_ERROR
All instances of "|| rm $@" are replaced with .DELETE_ON_ERROR, which
has a similar effect. One difference is that the return code is not
masked by rm return code.

.DELETE_ON_ERROR is GNU-Make specific, but -Wno-portability is already
defined, and it's unlikely that anyone would build systemd with a
shell not supporting .DELETE_ON_ERROR. If they did, then
.DELETE_ON_ERROR would be silently ignored, i.e. in the worst case a
garbage file wouldn't be deleted, which is not very serious.
2012-07-18 01:30:01 +02:00
Kay Sievers ecca17f6ee man: html - cross-ref man page references and add Index link 2012-07-17 23:04:48 +02:00
Harald Hoyer e4d9640961 Makefile.am: fixed dependencies for man/index.html 2012-07-17 20:45:20 +02:00
Harald Hoyer b694b00b45 Makefile.am: MKDIR_P man for man/index.html 2012-07-17 16:42:42 +02:00
Kay Sievers 95769b329e build-sys: distcheck - add seccomp*.h to SOURCES 2012-07-17 16:04:58 +02:00
Lennart Poettering bc76549dd6 build-sys: use C preprocessor for key list, too 2012-07-17 15:55:53 +02:00
Zbigniew Jędrzejewski-Szmek cc9f61b815 build-sys: automake needs to know about generated files
CC     src/core/libsystemd_core_la-syscall-list.lo
src/core/syscall-list.c:31:29: fatal error: syscall-to-name.h: No such file or directory
2012-07-17 12:22:16 +02:00
Lennart Poettering 8351ceaea9 execute: support syscall filtering using seccomp filters 2012-07-17 04:17:53 +02:00
Lennart Poettering 6fa9a61092 build-sys: make building of index.html fail sensibly 2012-07-16 19:10:57 +02:00
Lennart Poettering 9c4fa6ed10 min: generate an index page for all man pages
This makes use of python, if it is available
2012-07-16 17:19:39 +02:00
Kay Sievers 4cb72937d3 udev: get rid of TEST_PREFIX and use unshare() to fake /sys, /dev, /run 2012-07-15 22:10:46 +02:00
Kay Sievers 216e2aded6 build-sys: fix "make distcheck" 2012-07-15 15:48:26 +02:00
Lennart Poettering 95694951a0 build-sys: fix build 2012-07-13 23:38:32 +02:00
Lennart Poettering 976c46f84f man: add man page aliases for all macros/types too 2012-07-13 23:10:23 +02:00
Lennart Poettering a4023a43d0 man: Split sd_randomize(3) from sd_id128_get_{machine,boot}(3)
They have too little to do with each other...
2012-07-13 22:55:52 +02:00
Lennart Poettering 9a1d541663 build-sys: don't install sd-readahead.h as include file, but as documentation
sd-readahead.h is supposed to be a drop-in API, nothing people should
ever link to or could make use without also adding sd-readahead.c to
their sources. Hence, don't install this header file into INCLUDES, but
instead install it as DOCS.
2012-07-13 22:47:46 +02:00
Lennart Poettering 639a6a2529 man: document sd_journal_seek_head() 2012-07-13 22:39:02 +02:00
Lennart Poettering f4e761c4fc man: document sd_journal_add_match() 2012-07-13 22:18:17 +02:00
Lennart Poettering e362b3725a man: suppress man page dates/authors in generated pages 2012-07-13 21:54:03 +02:00
Lennart Poettering 24fb2ddc12 build-sys: clean man pages when building them 2012-07-13 21:53:44 +02:00
Lennart Poettering 6ca9571edd man: document sd_journal_get_fd() 2012-07-13 21:03:58 +02:00
Lennart Poettering 4a010f4e6e man: document sd_journal_get_cursor() 2012-07-13 20:39:05 +02:00
Lennart Poettering b59866aefa man: document sd_journal_get_cutoff_realtime_usec() 2012-07-13 20:17:37 +02:00
Lennart Poettering 7a8a6e8854 man: document sd_journal_get_realtime_usec() 2012-07-13 19:32:11 +02:00
Lennart Poettering 4171a6676c man: document sd_journal_get_data() and friends 2012-07-13 19:00:48 +02:00
Lennart Poettering 67c3cf4f9e man: document sd_journal_next() 2012-07-13 18:28:08 +02:00
Lennart Poettering 3bb55eee6a man: document sd_journal_open() 2012-07-13 15:49:34 +02:00
Lennart Poettering bd3fa1d243 core: go on a killing spree when transitioning from initrd to main system 2012-07-13 14:41:57 +02:00
Lennart Poettering 95ea1b90cc test: hook up more tests with make check 2012-07-13 13:50:39 +02:00
Lennart Poettering 184850e8a7 man: fix man page chapter in Makefile.am 2012-07-13 02:19:07 +02:00
Lennart Poettering a81df0ad90 man: document sd_journal_stream_fd() 2012-07-13 02:18:45 +02:00
Lennart Poettering cb07866b1b man: move header file man pages from section 7 to 3
This way we can include documentation about minor macros/inline function
within the introducionary man page in a sane way.
2012-07-13 01:50:05 +02:00
Zbigniew Jędrzejewski-Szmek ba961854dd journalctl: show any printable Unicode character
This makes sure we are OK in outputting all valid, non-control UTF-8
characters, instead of just printable 7bit ASCII.
2012-07-13 01:07:41 +02:00
Lennart Poettering cbdca8525b journal: beef up journal matches considerably
we now can take multiple matches, and they will apply as AND if they
apply to different fields and OR if they apply to the same fields. Also,
terms of this kind can be combined with an overreaching OR.
2012-07-13 00:32:32 +02:00
Lennart Poettering 474abe33bb build-sys: avoid duplicate inclusion of log.c in tools
Before: shared code such as log.c was linked once into the public
libraries (where it is entirely hidden) and once into the various tools
which might use those libraries. This is suboptimal, as this way static
variables such as the maximum log level are instantiated twice in all
tools.

After: our build the public libraries a second time, as a convenience
libary, and link our tools against those. Hence all tools use only a
single instance of everything.
2012-07-13 00:32:32 +02:00
Lennart Poettering b8156be03f journal: replace implicit flushing of journal by explicit one
The old automatism that the flushing of the journal from /run to /var
was triggered by the appearance of /var/log/journal is broken if that
directory is mounted from another host and hence always available to be
useful as mount point. To avoid probelsm with this, introduce a new unit
that is explicitly orderer after all mounte files systems and triggers
the flushing.
2012-07-11 02:41:16 +02:00
Auke Kok 8401e9f91d MeeGo: Remove build support for MeeGo distribution.
The MeeGo distribution is still a supported distribution, but
will probably not see an updated version of systemd anymore.

Most of the development is focussing on Tizen now, and the
generic support for building --with-distro=other is more than
adequate enough.

This patch removes the support as a custom configuration build
target in systemd. People who are still building this for
the MeeGo distribution should build as "other" distro.
2012-07-09 16:37:46 +02:00
Lennart Poettering a8eedf4953 man: document sd_print() and friends 2012-07-09 15:46:21 +02:00
Lennart Poettering 1235509582 man: document libsystemd-id128 2012-07-06 21:29:31 +02:00
Lennart Poettering b32d167503 timedated: replace ntp-units file with an ntp-units.d drop-in dir
To be considered by timedated for NTP a package simply has to drop in
/usr/lib/systemd/ntp-units.d/foobar.list and write one or more unit
names into it. The first one listed is the one that is enabled.
2012-07-03 02:02:13 +02:00
Lennart Poettering e88dcb8f77 build-sys: bump version 2012-07-02 23:21:51 +02:00
Colin Guthrie 51dfddc2cc units: Rename systemd-udev.service to systemd-udevd.service
This naming convention is more inline with other systemd daemon
unit names (systemd-logind.service, systemd-localed.service etc)

The companion .socket units have also been renamed, however the
-trigger and -settle units keep their current name as these are
not directly related to daemon process itself.
2012-07-02 23:21:51 +02:00
Lennart Poettering d1f9edafe7 units: rename systemd-debug-shell.service to debug-shell.service
The systemd- prefix for services should be reserved only for services
that invoke our own code rather than generic, external code.
2012-07-02 14:33:04 +02:00
Lennart Poettering ac7019f33f timedated: replace systemd-timedated-ntp.target logic with simpler scheme
The previous systemd-timedated-ntp.target was suffering by the problem
that NTP implementations enabled via the machanism could not be disabled
the obvious way on the "systemctl disable" command line. Replace
systemd-timedated-ntp.target by a list of implementations we try in
turn. The list is encoded in $pkgdatadir/ntp-units.
2012-07-02 10:43:56 +02:00
Dave Reisner cc2600642a man: fix incorrectly named manpage for udev service
The service is systemd-udev.service, not systemd-udevd.service.
2012-06-27 22:33:44 +02:00
Lennart Poettering 5231084b47 units: add explicit dependency on display-manager.service to graphical.target
This replaces the symlink based dependency by an explicit one in the
unit file so that we avoid the dangling symlink when no display manager
is installed.
2012-06-27 22:23:16 +02:00
Lennart Poettering 75d67e6837 man: document preset files 2012-06-27 16:29:08 +02:00
Lennart Poettering ff5d32c875 man: document unit names in systemd-tmpfiles(8) 2012-06-27 15:39:51 +02:00
Lennart Poettering 059b37cc28 man: document fstab generator 2012-06-27 15:27:29 +02:00
Lennart Poettering f5ccf26ded man: document systemd-update-generator 2012-06-27 15:12:29 +02:00
Lennart Poettering f220d83cbc man: document getty-generator 2012-06-27 15:03:02 +02:00
Lennart Poettering 8e129f5156 man: document systemd-cryptsetup-generator 2012-06-27 14:51:47 +02:00
Lennart Poettering 45ae1a05f9 man: document /etc/crypttab 2012-06-27 13:23:12 +02:00
Lennart Poettering d0d6944cdc man: document systemd-cryptsetup 2012-06-27 12:19:35 +02:00
Lennart Poettering c52f663bfa man: document tty-ask-password-agent 2012-06-27 02:12:39 +02:00
Lennart Poettering 359deb60c2 man: write man page for systemd-analyze 2012-06-27 01:53:07 +02:00
Lennart Poettering 7df46b2af5 man: document systemd-ask-password-console.service and friends 2012-06-27 01:32:15 +02:00
Lennart Poettering 743b8558f6 man: document quotacheck 2012-06-27 01:17:49 +02:00
Lennart Poettering ee1c0ad436 man: properly document .socket units in man page 2012-06-27 01:06:35 +02:00
Lennart Poettering a32f224aaf man: document systemd-fsck 2012-06-27 00:37:36 +02:00
Lennart Poettering 56a379a97e man: document the readahead services 2012-06-26 18:16:00 +02:00
Lennart Poettering 0127336c01 man: document systemd-halt.service and friends 2012-06-26 17:50:29 +02:00
Lennart Poettering e2b696ee9b man: document systemd-suspend.service 2012-06-26 17:33:11 +02:00
Lennart Poettering 11901ad596 man: document systemd-shutdownd 2012-06-26 00:21:13 +02:00
Lennart Poettering f59e0b6435 man: document systemd-initctl 2012-06-26 00:15:59 +02:00
Lennart Poettering 29f4f5118b man: document systemd-hostnamed 2012-06-26 00:04:50 +02:00
Lennart Poettering 62ce62123d man: document localed 2012-06-25 23:55:35 +02:00
Lennart Poettering 83620960d6 man: document systemd-timedated.service 2012-06-25 22:56:45 +02:00
Lennart Poettering 6b7b92055d man: document systemd-update-utmp-runlevel 2012-06-25 22:07:58 +02:00
Lennart Poettering a882169a16 man: document systemd-user-sessions.service 2012-06-25 17:34:50 +02:00
Lennart Poettering 448eefeba9 build-sys: make distcheck pass 2012-06-25 15:49:05 +02:00
Lennart Poettering 0e0320e045 units: rename halt/hibernate/kexec/poweroff/reboot/suspend to systed-xxx
These service units also execute our own code, hence rename the
accordingly and prefix them with systemd-
2012-06-25 14:28:50 +02:00
Lennart Poettering 93a1d735ac units: rename fsck@.service to systemd-fsck@.service
The rule is that units that encapsulate our own code are prefixed with
"systemd-". Since the fsck units invoke our own code, hence add the
missing prefix. Since a long long time the fsck units didn't invoke the
naked fsck binaries anymore, and it is unlikely that this well ever
change. On the opposite: the code in systemd-fsck will probably get more
complex over time to handle fsck progress to plymouth forwarding.

Same for quotacheck (but not quotaon!)
2012-06-25 14:28:50 +02:00
Lennart Poettering ca6b98ae21 man: document systemd-remount-fs.service 2012-06-25 13:08:23 +02:00
Lennart Poettering edcf89bebe man: document systemd-random-seed-load.service 2012-06-25 12:13:17 +02:00
Lennart Poettering 4aa6e7782a man: document systemd-vconsole-setup.service 2012-06-25 12:00:43 +02:00
Lennart Poettering 013d8a39a6 man: introduce bootup(7) 2012-06-22 23:14:19 +02:00
Lennart Poettering b0193f1c1f systemctl: automatically turn paths and unescaped unit names into proper unit names
This makes sure that

  systemctl status /home

is implicitly translated to:

  systemctl status /home.mount

Similar, /dev/foobar becomes dev-foobar.device.

Also, all characters that cannot be part of a unit name are implicitly
escaped.
2012-06-22 13:08:48 +02:00
Lennart Poettering b79f817b1b man: refer to udevd by its service name not binary name
Since the binary name is now hidden away in /usr/lib/ the primary user
handle for the udev service is the unit name, hence change the man page
to be available under the unit name, and make the binary name an alias
for it.
2012-06-22 10:38:40 +02:00
Lennart Poettering c66e7bc7a1 man: document all kernel command line options we understand 2012-06-22 01:35:52 +02:00
Lennart Poettering 87ce22cc0d readahead: merge three binaries into one
since the binaries share much of the same code and we better load only
one binary instead of two from disk at early boot let's merge the three
readahead binaries into one. This also allows us to drop a lot of
duplicated code.
2012-06-21 23:53:20 +02:00
Lennart Poettering 590f18a27c rpm: include RPM macro definition for .spec snippets
Let's try to standardize a bit the RPM macros used for
installing/uninstalling services.

This only covers the non-SysV compat bits, since that tends to vary
widely between the various distros.

Usage:

Add %{?systemd_requires} to the header of the spec file. And then:

%post
%systemd_post foobar.service

%preun
%systemd_preun foobar.service

%postun
%systemd_postun foobar.service

And, instead of the latter, in case the service shall be restarted on updates:

%postun
%systemd_postun_restart foobar.service
2012-06-21 22:14:17 +02:00
Kay Sievers b30b426025 libudev: clarify that udev_monitor_receive_device() is non-blocking
Based on a patch from: Sam Thursfield <ssssam@gmail.com>
https://bugs.freedesktop.org/show_bug.cgi?id=51202
2012-06-18 15:58:44 +02:00
Kay Sievers 8e8eb8fbaf udev: always use $(rootprefix)/lib/udev for libexecdir
On Sat, Jun 9, 2012 at 12:46 AM, Malte Starostik <lists@malte.homeip.net> wrote:
> From: Malte Starostik <m-starostik@versanet.de>
>
> Rules get installed in $(libexecdir)/udev/, so are keymaps.  Helper
> binaries go to $(rootprefix)/lib/udev though.  Problem is, in the code,
> both are referenced via UDEVLIBEXECDIR which is defined to the former
> location.  Result: systemd-udev can't find e.g. the keymap binary to
> apply keymaps.
2012-06-10 17:23:43 +02:00
Kay Sievers 26cbf29c52 delete plymouth units; moved to plymouth 2012-06-07 19:27:17 +02:00
Michal Schmidt ed061a8dc2 units: add systemd-debug-shell.service
If enabled, the service provides a root shell from an early boot. It also
remains active late into shutdown. It is useful for debugging startup and
shutdown problems.

This is the unit referenced in
http://freedesktop.org/wiki/Software/systemd/Debugging#early_debug_shell
2012-06-07 16:33:45 +02:00
Auke Kok cae544bcdb readahead: Add tool to analyze the contents of the pack file. v3.
This patch adds code to compile 'systemd-readahead-analyze' and install
it into $bindir.

Use this program to parse the contents of the readahead pack file, or
an arbitrary pack file and display which files are listed in it, and
how much of the files are requested to be readahead.

This code is not new - it's partially taken from sreadahead (formerly
maintained by Arjan van der Ven and me, and was originally written
by me), and adapted with the right bits to parse the systemd
readahead pack files, which are slightly different in format.

v2 adds a common READAHEAD_PACK_FILE_VERSION used in all the code
to provide a quick way to assure all these programs are always
synchronized. v3 fixes the integer math.
2012-06-05 22:45:37 +02:00
Kay Sievers 2d1972857b build-sys: release 185 2012-06-04 20:15:16 +02:00
Dave Reisner 7ff5404be1 keymaps: replace dir tokens in keyboard-force-release
Use the correct udev libexec dir as well, not systemd's.
2012-06-02 21:39:39 +02:00
Lennart Poettering 01cf0ca850 man: document systemd-journal 2012-06-01 17:27:15 +02:00
Lennart Poettering af3bccd6d8 man: write man page for systemd-logind 2012-06-01 17:27:15 +02:00
Matthias Clasen ddcbc87378 sleep: Don't call execute_directory() on a binary
Probably a copy-paste error, SYSTEMD_SLEEP_BINARY_PATH should
have been SYSTEMD_SLEEP_PATH.
2012-06-01 15:58:21 +02:00
Kay Sievers 477572f5c7 build-sys: split-off D-Bus requires from selinux convenience lib 2012-05-31 22:12:47 +02:00
Lennart Poettering 9393a8774c man: add documentation for the binfmt, modules-load, sysctl services 2012-05-31 16:00:34 +02:00
Lennart Poettering 4c8cd17330 build-sys: prepare release 184 2012-05-31 01:58:01 +02:00
Lennart Poettering d7e1c95e0a login: properly detect MIMO USB displays
MIMO USB displays use a generic VID/PID for the hub component. With a
bit of trickery we can detect them by the VID/PID of the graphics
component.
2012-05-31 01:20:37 +02:00
Lennart Poettering ba1261bc02 build-sys: fix built with --disable-logind 2012-05-30 22:25:01 +02:00
Lennart Poettering 069cfc85f8 logind: optionally handle power, sleep and lid switch events
This takes handling of chassis power and sleep keys as well as the lid
switch over from acpid.

This logic is enabled by default for power and sleep keys, but not for
the lid switch.

If a graphical session is in the foreground no action is taken under the
assumption that the graphical session does this.
2012-05-30 15:01:51 +02:00
Lennart Poettering 9262a51946 build-sys: prepare release 183 2012-05-24 15:44:38 +02:00
Lennart Poettering 1897573598 readahead: when doing a system update drop readahead file 2012-05-23 03:50:15 +02:00
Lennart Poettering d360705f0f system-update: add system update generator
http://freedesktop.org/wiki/Software/systemd/SystemUpdates
2012-05-22 19:48:51 +02:00
Lennart Poettering 6b1dc2bd3c mount: replace PID1 internal fstab parser with generator
Bit by bit we should remove non-unit parsing from PID 1 and move into
generators, to clean up our code base a bit and clearly separate
parsers.
2012-05-22 19:25:17 +02:00
Lennart Poettering 49e7f02774 rescue: don't pull in sockets
In rescue mode let's not establish all sockets, so that we don't end up
starting a lot of additional services automatically.

Instead of pulling in basic.target we now only pull in sysinit.target
which pulls in local-fs.target and swap.target. That way rescue mode has
all the really basic setup around, but normal services are not started
and not autostarted either.
2012-05-22 16:12:25 +02:00
Lennart Poettering 416693175b switch-root: move switch_root() call into its own .c file 2012-05-21 19:33:39 +02:00
Lennart Poettering 27b5482cc0 delta: add systemd-delta tool to find overriden configuration and unit files 2012-05-16 03:24:50 +02:00
Kay Sievers 20bbd54f60 udev: libudev - bump soname, remove deprecated functions, introduce symbol versions 2012-05-15 23:06:26 +02:00
Kay Sievers 0e483bf911 build-sys: fix distcheck 2012-05-15 14:52:53 +02:00
Lennart Poettering 6edd7d0a09 sleep: implement suspend/hibernate as first class targets 2012-05-08 13:54:23 +02:00
Kay Sievers 9eb977db5b util: split-out path-util.[ch] 2012-05-08 02:33:10 +02:00
Kay Sievers bbc98d3256 util: split-out hwclock.[ch] 2012-05-08 01:57:17 +02:00
Kay Sievers 2c21044f05 util: split-out conf-file.[ch] 2012-05-07 19:01:24 +02:00
Lennart Poettering eecd1362f7 logind: implement delay inhibitor locks in addition to block inhibitor locks
This is useful to allow applications to synchronously save data before
the system is suspended or shut down.
2012-05-05 00:36:08 +02:00
Lennart Poettering 04b6f7c1a7 rc-local-generator: hook halt-local in based on generator too 2012-05-03 16:00:49 +02:00
Lennart Poettering 7c8fa05c4d unit: add new dependency type RequiresMountsFor=
RequiresMountsFor= is a shortcut for adding requires and after
dependencies to all mount units neeed for the specified paths.

This solves a couple of issues regarding dep loop cycles for encrypted
swap.
2012-04-30 10:52:07 +02:00
Michal Schmidt e0209d83e7 core: add NOP jobs, job type collapsing
Two of our current job types are special:
JOB_TRY_RESTART, JOB_RELOAD_OR_START.

They differ from other job types by being sensitive to the unit active state.
They perform some action when the unit is active and some other action
otherwise. This raises a question: when exactly should the unit state be
checked to make the decision?

Currently the unit state is checked when the job becomes runnable. It's more
sensible to check the state immediately when the job is added by the user.
When the user types "systemctl try-restart foo.service", he really intends
to restart the service if it's running right now. If it isn't running right
now, the restart is pointless.

Consider the example (from Bugzilla[1]):

sleep.service takes some time to start.
hello.service has After=sleep.service.
Both services get started. Two jobs will appear:
 hello.service/start  waiting
 sleep.service/start  running
Then someone runs "systemctl try-restart hello.service".

Currently the try-restart operation will block and wait for
sleep.service/start to complete.

The correct result is to complete the try-restart operation immediately
with success, because hello.service is not running. The two original
jobs must not be disturbed by this.

To fix this we introduce two new concepts:
- a new job type: JOB_NOP
  A JOB_NOP job does not do anything to the unit. It does not pull in any
  dependencies. It is always immediately runnable. When installed to a unit,
  it sits in a special slot (u->nop_job) where it never conflicts with
  the installed job (u->job) of a different type. It never merges with jobs
  of other types, but it can merge into an already installed JOB_NOP job.

- "collapsing" of job types
  When a job of one of the two special types is added, the state of the unit
  is checked immediately and the job type changes:
  JOB_TRY_RESTART     -> JOB_RESTART or JOB_NOP
  JOB_RELOAD_OR_START -> JOB_RELOAD or JOB_START
  Should a job type JOB_RELOAD_OR_START appear later during job merging, it
  collapses immediately afterwards.
  Collapsing actually makes some things simpler, because there are now fewer
  job types that are allowed in the transaction.

[1] Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=753586
2012-04-25 18:38:27 +02:00