1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-14 15:21:37 +03:00
Commit Graph

10888 Commits

Author SHA1 Message Date
Tom Gundersen
f4fbb8be14 udev: builtin - use RUN rather than IMPORT for loading modules
The 'kmod' builtin, like the 'firmware' and 'uaccess' builtins, does not set
any variables, so don't use IMPORT.

Notice that this changes the behaviour slightly: the processing of subsequent
rules for the event that loads a module will no longer wait for the module
loading to finish. This is not expected to cause any problems, but we should
keep an eye on it.
2013-03-18 18:28:59 +01:00
Tom Gundersen
0cf2d0d023 udev: net-name-slot - disable by kernel command line switch
The properties will still be set in the udev database, but they will not be used
for setting the interface names. As for the other kernel commandline switches,
we allow it to be prefixed by 'rd.' to only apply in the initrd.
2013-03-18 18:28:59 +01:00
Tom Gundersen
6ec0ac43bb man: udev - move documentation of configuration file
Moved from udev(7) to systemd-udevd.service(8), where the rest of the
documentation of the configuration of the daemon lives.
2013-03-18 16:02:42 +01:00
Kay Sievers
61e536e1b7 udev: ifdef all firmware special handling 2013-03-18 15:22:32 +01:00
Tom Gundersen
a3bd8447be udev: make firmware loading optional and disable by default
Distros that whish to support old kernels should set
  --with-firmware-dirs="/usr/lib/firmware/updates:/usr/lib/firmware"
to retain the old behaviour.
2013-03-18 15:19:51 +01:00
Tom Gundersen
72c6cf8fa5 man: udev - document 'builtin'
The new IMPORT{builtin} and RUN{builtin} were not documented. Also make it clear
that RUN= is really an alias for RUN{program}=.
2013-03-18 14:55:59 +01:00
Kay Sievers
93f04c80f6 units: initrd, multi-user - add a few more words to Description= 2013-03-16 16:29:29 +01:00
Kay Sievers
0a2cdb3aee man: bootup - intrd-fs.target --> initrd.target 2013-03-16 16:21:47 +01:00
Kay Sievers
83d7d83bcc journal: pass the *pid* to sd_pid_get_owner_uid() 2013-03-16 16:10:22 +01:00
Zbigniew Jędrzejewski-Szmek
1a512bf48c timer: fix grammar in message 2013-03-15 22:56:40 -04:00
Michal Sekletar
c17ec25e4d core: reuse the same /tmp, /var/tmp and inaccessible dir
All Execs within the service, will get mounted the same
/tmp and /var/tmp directories, if service is configured with
PrivateTmp=yes. Temporary directories are cleaned up by service
itself in addition to systemd-tmpfiles. Directory which is mounted
as inaccessible is created at runtime in /run/systemd.
2013-03-15 22:56:40 -04:00
Josh Triplett
3b953d68c6 TODO: uses for SO_REUSEPORT
The new socket option SO_REUSEPORT would enable some new functionality;
add it to TODO.
2013-03-15 22:56:40 -04:00
Nathaniel Chen
abbacb1def smack-setup: enable Smack/CIPSO mapping
CIPSO is the Common IP Security Option, an IETF standard for setting
security levels for a process sending packets. In Smack kernels,
CIPSO headers are mapped to Smack labels automatically, but can be changed.

This patch writes label/category mappings from /etc/smack/cipso/ to
/sys/fs/smackfs/cipso2. The mapping format is "%s%4d%4d"["%4d"]...

For more information about Smack and CIPSO, see:
  https://kernel.org/doc/Documentation/security/Smack.txt
2013-03-15 22:56:40 -04:00
Zbigniew Jędrzejewski-Szmek
a4783bd17a smack-setup: extract rule writing into a separate function
Check all errors.
2013-03-15 22:56:40 -04:00
Umut Tezduyar
faeffa73a8 units: ignore systemd-sysctl on shutdown
No need to try to stop systemd-sysctl on shutdown as
this service doesn't have ExecStop= anyways.
2013-03-15 22:56:33 -04:00
Umut Tezduyar
89b1d5e0e4 core: keep mountinfo .mounts until late shutdown
.mount units coming from /proc/self/mountinfo file are
unmounted after local-fs.target is reached during shutdown.

Problem: .mount units popping up in mountinfo file are
added to systemd without any dependency. For that reason,
they are the first one to be unmounted during shutdown.
Whichever program mounted the file system deserves a
chance to also unmount it. This patch ensures that
/proc/self/mountinfo units will be unmounted after
local-fs.target during shutdown (if they haven't been
unmounted already)
2013-03-15 22:55:24 -04:00
Zbigniew Jędrzejewski-Szmek
df34f169b8 man: fix grammar 2013-03-15 22:55:24 -04:00
Zbigniew Jędrzejewski-Szmek
b04c8c83e8 systemd-python: add systemd.daemon wrapping sd-daemon
Please see the documentation (e.g. pydoc3 systemd.daemon) for full
description. As usual, systemd._daemon wraps the raw interface, while
systemd.daemon provides the more pythonic API. sd_listen_fds,
sd_booted, sd_is_fifo, sd_is_socket, sd_is_socket_unix,
sd_is_socket_inet, sd_is_mq, and SD_LISTEN_FDS_START are currently
wrapped.
2013-03-15 22:55:24 -04:00
Zbigniew Jędrzejewski-Szmek
5e65c93a43 systemd-activate: pass environment variables through
I need this to test half-installed socket-activated python
script, which requires PYTHONPATH and LD_LIBRARY_PATH set.
I assume that other people might find it useful to.

-E VAR passes through VAR from the environment, while
-E VAR=value sets VAR=value.

systemd-activate -E PYTHONPATH=/var/tmp/inst1/usr/lib64/python3.3/site-packages -E LD_LIBRARY_PATH=/var/tmp/inst1/usr/lib -l 2000 python3 -c 'from systemd.daemon import listen_fds; print(listen_fds())'
2013-03-15 22:55:24 -04:00
Kay Sievers
0f59fe5171 sysctl: default - add safe sysrq options 2013-03-15 19:30:53 +01:00
Kay Sievers
7aaec603d9 TODO: update 2013-03-15 17:48:12 +01:00
Lennart Poettering
9d60cb63d6 nspawn: don't make assumptions about the size of pid_t 2013-03-15 16:49:08 +01:00
Lennart Poettering
bb27ff6672 logind: explicitly create state directories during early initialization
Strictly speaking this isn't necessary for the /run/systemd/seats/
directory, since that is created anyway as the first seat is found, and
seat0 is always found. But let's be explicit here, and also create the
sessions/ and users/ directories, so that people can always install
inotify watches from very early on, even when nobody logged in yet.
2013-03-15 16:49:08 +01:00
Lennart Poettering
66e411811b sd-booted: update sd_booted() check a bit
Previously we were testing whether /sys/fs/cgroup/systemd/ was a mount
point. This might be problematic however, when the cgroup trees are bind
mounted into a container from the host (which should be absolutely
valid), which might create the impression that the container was running
systemd, but only the host actually is.

Replace this by a check for the existance of the directory
/run/systemd/system/, which should work unconditionally, since /run can
never be a bind mount but *must* be a tmpfs on systemd systems, which is
flushed at boots. This means that data in /run always reflects
information about the current boot, and only of the local container,
which makes it the perfect choice for a check like this.

(As side effect this is nice to Ubuntu people who now use logind with
the systemd cgroup hierarchy, where the old sd_booted() check misdetects
systemd, even though they still run legacy Upstart.)
2013-03-15 16:49:08 +01:00
Lennart Poettering
961e452692 strv: fix STRV_FOREACH_PAIR macro definition 2013-03-15 16:49:07 +01:00
Kay Sievers
8f27a2212e sysctl: add 50-default.conf 2013-03-15 16:37:58 +01:00
Kay Sievers
94c525f076 sysctl: coredump.conf -> 50-coredump.conf 2013-03-15 15:59:21 +01:00
Kay Sievers
d8a9ae897b man: bootup - "Systemd in the Initrd" -> "Initrd System Manager Bootup" 2013-03-15 12:34:50 +01:00
Harald Hoyer
9e5f0f9291 Make initrd.target the default target in the initrd
First, rename root-fs.target to initrd-root-fs.target to clarify its usage.

Mount units with "x-initrd-rootfs.mount" are now ordered before
initrd-root-fs.target. As we sometimes construct /sysroot mounts in
/etc/fstab in the initrd, we want these to be mounted before the
initrd-root-fs.target is active.

initrd.target can be the default target in the initrd.

                             (normal startup)
                                    :
                                    :
                                    v
                              basic.target
                                    |
             ______________________/|
            /                       |
            |                  sysroot.mount
            |                       |
            |                       v
            |             initrd-root-fs.target
            |                       |
            |                       v
            |            initrd-parse-etc.service
(custom initrd services)            |
            |                       v
            |            (sysroot-usr.mount and
            |             various mounts marked
            |               with fstab option
            |                x-initrd.mount)
            |                       |
            |                       v
            |                initrd-fs.target
            |                       |
            \______________________ |
                                   \|
                                    v
                               initrd.target
                                    |
                                    v
                          initrd-cleanup.service
                               isolates to
                         initrd-switch-root.target
                                    |
                                    v
             ______________________/|
            /                       |
            |        initrd-udevadm-cleanup-db.service
            |                       |
(custom initrd services)            |
            |                       |
            \______________________ |
                                   \|
                                    v
                        initrd-switch-root.target
                                    |
                                    v
                        initrd-switch-root.service
                                    |
                                    v
                               switch-root
2013-03-15 00:49:37 +01:00
Lennart Poettering
c1dae1b3c9 main: don't mount /sys, /dev and friends when we run with PID != 1
Back from old times when we developed systemd on non-systemd hosts we
still mounted the missing directories such as the cgroup stuff even when
running with a PID != 1. There's no point for that anymore, so let's
just do that if we are actually PID 1, and never otherwise.

https://bugs.freedesktop.org/show_bug.cgi?id=62354
2013-03-14 21:39:07 +01:00
Zbigniew Jędrzejewski-Szmek
1c17cbed55 fileio: use _cleanup_ 2013-03-13 22:50:04 -04:00
Zbigniew Jędrzejewski-Szmek
d29dd03302 build-sys: link libsystemd-login also against libsystemd-daemon-internal
https://bugs.freedesktop.org/show_bug.cgi?id=62085

/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../lib64/libsystemd-login.so:
undefined reference to `sd_listen_fds'

In ee465038ce 'build-sys: break dependency loop between
libsystemd-id128.la and -shared.la', a partial fix was applied, and
the use of functions from libsystemd-id128 was removed from
libsystemd-shared. Nevertheless, fdset.c was still using sd_listen_fds,
so libsystemd-login should be linked against libysystemd-daemon
or libsystemd-daemon-internal.

Tested-by: Elias Probst <mail@eliasprobst.eu>
2013-03-13 22:20:51 -04:00
Michal Sekletar
1609dcb137 systemctl: remove unused variable 2013-03-13 21:05:08 -04:00
Zbigniew Jędrzejewski-Szmek
d39efe744a tmpfiles: add missing missing.h include
mbiebl> src/tmpfiles/tmpfiles.c:221:13: error: ‘MAX_HANDLE_SZ’
        undeclared (first use in this function)

Fixup for 427b47c4ab.
2013-03-13 20:27:36 -04:00
Zbigniew Jędrzejewski-Szmek
427b47c4ab initctl: catch write error, use _cleanup_
!= operator always returns something nonnegative, so the
error condition was not caught.
2013-03-13 19:53:45 -04:00
Zbigniew Jędrzejewski-Szmek
7199aa96ce journalctl: show systemd messages about unit for -u
journalctl -u unit is not very useful, because it doesn't show
systemd messages about starting, stopping, coredumps, etc,
like systemctl status unit does. Make it show the same
information using the same rules.

If somebody really want to see just messages from by the unit,
it is easy enough to use _SYSTEMD_UNIT=...
2013-03-13 19:53:45 -04:00
Zbigniew Jędrzejewski-Szmek
886a64fe69 logs-show: export logic to add matches for units
After that functions which add matches, show_journal_by_unit
and show_journal_by_user_unit, become nearly identical, so
I merged them into one function.
2013-03-13 19:53:29 -04:00
Thomas Hindoe Paaboel Andersen
7d7681f70b man: fix some typos 2013-03-13 23:09:49 +01:00
Zbigniew Jędrzejewski-Szmek
4afb5c73a2 build-sys: add two new files to EXTRA_DIST
Also move custom-*.xsl EXTRA_DIST additions closer to where
they are used.
2013-03-13 13:24:14 -04:00
Hannes Reinecke
946f182575 libudev: implement udev_device_set_attribute_value() 2013-03-13 17:44:45 +01:00
Michal Schmidt
814cc56212 core: single unit_kill implementation for all unit types
There are very few differences in the implementations of the kill method in the
unit types that have one. Let's unify them.

This does not yet unify unit_kill() with unit_kill_context().
2013-03-13 17:21:53 +01:00
Michal Schmidt
6282c859bd util, manager: and mempset() and use it
Just like mempcpy() is almost identical to memcpy() except the useful
return value, so is the relation of mempset() to memset().
2013-03-13 14:14:13 +01:00
Michal Schmidt
5052495bba manager: use more stpcpy() 2013-03-13 14:14:00 +01:00
Kay Sievers
99d680acf1 tmpfiles: --clean -- check for bind mounts of the same filesystem and skip them 2013-03-13 13:16:10 +01:00
Harald Hoyer
24a988e9aa cryptsetup-generator: use _cleanup_ where possible 2013-03-13 09:18:30 +01:00
Harald Hoyer
700e07ffd5 add initrd-fs.target and root-fs.target
Instead of using local-fs*.target in the initrd, use root-fs.target for
sysroot.mount and initrd-fs.target for /sysroot/usr and friends.

Using local-fs.target would mean to carry over the activated
local-fs.target to the isolated initrd-switch-root.target and thus in
the real root. Having local-fs.target already active after
deserialization causes ordering problems with the real root services and
targets.

We better isolate to targets for initrd-switch-root.target, which are
only available in the initrd.
2013-03-13 08:11:17 +01:00
Zbigniew Jędrzejewski-Szmek
783162123d build-sys: use -f with ln -s
Parallel builds would sometimes try to recreate the link,
and fail since 'ln -s' would refuse to overwrite.
2013-03-13 00:55:45 -04:00
Mathieu Bridon
3ae390ba02 man: Document the actual behaviour of ExecStopPost
The documentation makes it sound like ExecStopPost is only run when
stopping the service with `systemctl stop foo.service`

However, that is not the case, as it also gets run when the service
unexpectedly exists, crashes, or gets SIGKILLed.
2013-03-13 00:51:35 -04:00
Zbigniew Jędrzejewski-Szmek
702f64b93c man,html: say 'systemd 198' in the header
This should help readers of the man or HTML pages know if the documentation
is out of date. An alternative to use a date generated from 'git log' was
considered, but since we try to keep user visible documentation up to date,
showing the project version should be enough.
2013-03-12 23:57:46 -04:00
Zbigniew Jędrzejewski-Szmek
a0b8045be2 man: strip the comments in man page headers
They contained the date, which creates a problem with multiarch
packages, since the generated file would be different each time.
2013-03-12 23:57:46 -04:00