summaryrefslogtreecommitdiff
path: root/.gitignore
AgeCommit message (Collapse)Author
2014-06-13sd-dhcp-server: add basic functionality for creating/destroying server instanceTom Gundersen
2014-06-13update-done: add minimal tool to manage system updates for /etc and /var, if ↵Lennart Poettering
/usr has changed In order to support offline updates to /usr, we need to be able to run certain tasks on next boot-up to bring /etc and /var in line with the updated /usr. Hence, let's devise a mechanism how we can detect whether /etc or /var are not up-to-date with /usr anymore: we keep "touch files" in /etc/.updated and /var/.updated that are mtime-compared with /usr. This means: Whenever the vendor OS tree in /usr is updated, and any services that shall be executed at next boot shall be triggered, it is sufficient to update the mtime of /usr itself. At next boot, if /etc/.updated and/or /var/.updated is older than than /usr (or missing), we know we have to run the update tools once. After that is completed we need to update the mtime of these files to the one of /usr, to keep track that we made the necessary updates, and won't repeat them on next reboot. A subsequent commit adds a new ConditionNeedsUpdate= condition that allows checking on boot whether /etc or /var are outdated and need updating. This is an early step to allow booting up with an empty /etc, with automatic rebuilding of the necessary cache files or user databases therein, as well as supporting later updates of /usr that then propagate to /etc and /var again.
2014-06-12sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from ↵Lennart Poettering
static files systemd-sysusers is a tool to reconstruct /etc/passwd and /etc/group from static definition files that take a lot of inspiration from tmpfiles snippets. These snippets should carry information about system users only. To make sure it is not misused for normal users these snippets only allow configuring UID and gecos field for each user, but do not allow configuration of the home directory or shell, which is necessary for real login users. The purpose of this tool is to enable state-less systems that can populate /etc with the minimal files necessary, solely from static data in /usr. systemd-sysuser is additive only, and will never override existing users. This tool will create these files directly, and not via some user database abtsraction layer. This is appropriate as this tool is supposed to run really early at boot, and is only useful for creating system users, and system users cannot be stored in remote databases anyway. The tool is also useful to be invoked from RPM scriptlets, instead of useradd. This allows moving from imperative user descriptions in RPM to declarative descriptions. The UID/GID for a user/group to be created can either be chosen dynamic, or fixed, or be read from the owner of a file in the file system, in order to support reconstructing the correct IDs for files that shall be owned by them. This also adds a minimal user definition file, that should be sufficient for most basic systems. Distributions are expected to patch these files and augment the contents, for example with fixed UIDs for the users where that's necessary.
2014-06-07Move handling of sysv initscripts to a generatorThomas Hindoe Paaboel Andersen
Reuses logic from service.c and the rc-local generator. Note that this drops reading of chkconfig entirely. It also drops reading runlevels from the LSB headers. The runlevels were only used to check for runlevels outside of the normal 1-5 range and then add special dependencies and settings. Special runlevels were dropped in the past so it seemed to be unused code. The generator does not know about non-generated units with a value set with SysVStartPriority=. These are therefor not taken into account when converting start priority to before/after.
2014-05-19resolved: add daemon to manage resolv.confTom Gundersen
Also remove the equivalent functionality from networkd.
2014-05-16networkd: add missing filesTom Gundersen
2014-05-13shared: add ring bufferDavid Herrmann
New "struct ring" object that implements a basic ring buffer for arbitrary byte-streams. A new basic runtime test is also added. This will be needed for our pty helpers for systemd-console and friends.
2014-04-28rename timedate-sntp to timesyncKay Sievers
2014-04-22remove bus-driverd, the interface is now handled natively by bus-proxydKay Sievers
2014-03-25gitignore updateKay Sievers
2014-03-14logind: automatically remove SysV + POSIX IPC objects when the users owning ↵Lennart Poettering
them fully log out
2014-03-14timedated: add SNTP client/query hookup (unused for now)Kay Sievers
2014-03-01Update gitignoreZbigniew Jędrzejewski-Szmek
2014-02-21update gitignoreThomas Hindoe Paaboel Andersen
2014-01-27journal: guarantee async-signal-safety in sd_journald_sendvZbigniew Jędrzejewski-Szmek
signal(7) provides a list of functions which may be called from a signal handler. Other functions, which only call those functions and don't access global memory and are reentrant are also safe. sd_j_sendv was mostly OK, but would call mkostemp and writev in a fallback path, which are unsafe. Being able to call sd_j_sendv in a async-signal-safe way is important because it allows it be used in signal handlers. Safety is achieved by replacing mkostemp with open(O_TMPFILE) and an open-coded writev replacement which uses write. Unfortunately, O_TMPFILE is only available on kernels >= 3.11. When O_TMPFILE is unavailable, an open-coded mkostemp is used. https://bugzilla.gnome.org/show_bug.cgi?id=722889
2014-01-25build-sys: merge libsystemd-login into libsystemdZbigniew Jędrzejewski-Szmek
A compatibility libsystemd-login library is created which uses .symver and ifunc magic proposed by Lennart to make programs linked to the old library name continue to work seamlessly. Unfortunately the bfd linker crashes: https://sourceware.org/bugzilla/show_bug.cgi?id=16467 This will be fixed in binutils 2.25. As a work-around, gold can be used: LDFLAGS=-Wl,-fuse-ld=gold Unfortunately the switch to pick the linker appeared in gcc 4.8. This also doesn't work with LLVM: http://llvm.org/bugs/show_bug.cgi?id=11897
2014-01-14sd-resolv: rename to sd-resolveTom Gundersen
Lennart pointed out that we were misspelling 'resolve'. Let's not repeat the mistakes of 'umount' and 'resolv.conf'.
2014-01-13libsystemd-dns: merge into libsystemdTom Gundersen
Also rename sd-dns -> sd-resolv.
2014-01-13libsystemd-bus: rename to libsystemdTom Gundersen
Documentation was updated to refer to either 'libsystemd' or 'sd-bus' in place of libsystemd-bus.
2014-01-11sd-dns: initial commitDaniel Buch
Origin: <http://0pointer.de/lennart/projects/libasyncns/> [tomegun: renamed some more files asyncns -> sd-dns and moved to libsystemd-bus as requested by Lennart]
2014-01-02Use format patterns for usec_t, pid_t, nsec_t, usec_tZbigniew Jędrzejewski-Szmek
It is nicer to predefine patterns using configure time check instead of using casts everywhere. Since we do not need to use any flags, include "%" in the format instead of excluding it like PRI* macros.
2013-12-28shared: add simplistic XML parser for usage in the D-Bus policy language ↵Lennart Poettering
compat parser
2013-12-16Add bus-driverdDaniel Mack
systemd-bus-driverd is a small daemon that connects to kdbus and implements the org.freedesktop.DBus interface. IOW, it provides the bus functions traditionally taken care for by dbus-daemon. Calls are proxied to kdbus, either via libsystemd-bus (were applicable) or with the open-coded use of ioctl(). Note that the implementation is not yet finished as the functions to add and remove matches and to start services by name are still missing.
2013-12-13bus: install systemd-bus-proxyd unit files for compatibility with dbus1Lennart Poettering
2013-12-13git: update .gitignoreLennart Poettering
2013-12-05bus: add support for serializing to gvariantLennart Poettering
(deserialization is still missing, hence this is not hooked up to kdbus)
2013-12-03bus: add generator that turns old dbus1 activation files into .busname + ↵Lennart Poettering
.service units
2013-11-29rename stdio-bridge to bus-proxydKay Sievers
2013-11-28bus: add new sd_bus_creds object to encapsulate process credentialsLennart Poettering
This way we can unify handling of credentials that are attached to messages, or can be queried for bus name owners or connection peers. This also adds the ability to extend incomplete credential information with data from /proc, Also, provide a convenience call that will automatically determine the most appropriate credential object for an incoming message, by using the the attached information if possible, the sending name information if available and otherwise the peer's credentials.
2013-11-27journal: add a test case for flushing messages out of a series of journal ↵Lennart Poettering
files into a single new one
2013-11-22build-sys: move more files from core/ to share/ that are generic enoughLennart Poettering
2013-11-22cgroups: Cache controller masks and optimize queues.David Strauss
2013-11-12build-sys: parallelize 'exported' targetZbigniew Jędrzejewski-Szmek
2013-11-12build-sys: add a link test for exported symbolsZbigniew Jędrzejewski-Szmek
I know that this is a pretty big net to catch some small fish, but we *do* regularly forget to properly export symbols that were supposed to be exported. This time sd_bus_get_current and some renamed symbols are caught.
2013-11-09networkd: add a basic network daemonTom Gundersen
This daemon listens for and configures network devices tagged with 'systemd-networkd'. By default, no devices are tagged so this daemon can safely run in parallel with existing network daemons/scripts. Networks are configured in /etc/systemd/network/*.network. The first .network file that matches a given link is applied. The matching logic is similar to the one for .link files, but additionally supports matching on interface name. The mid-term aim is to provide an alternative to ad-hoc scripts currently used in initrd's and for wired setups that don't change much (e.g., as seen on servers/and some embedded systems). Currently, static addresses and a gateway can be configured. Example .network file: [Match] Name=wlp2s0 [Network] Description=My Network Gateway=192.168.1.1 Address=192.168.1.23/24 Address=fe80::9aee:94ff:fe3f:c618/64
2013-11-08systemctl: rename 'listen'Kay Sievers
src/systemctl/systemctl.c: In function ‘get_listening’: src/systemctl/systemctl.c:535:25: warning: declaration of ‘listen’ shadows a global declaration [-Wshadow] src/systemctl/systemctl.c: In function ‘list_sockets’: src/systemctl/systemctl.c:690:44: warning: declaration of ‘listen’ shadows a global declaration [-Wshadow]
2013-10-27libsystemd-rtnl: add a rtnetlink libraryTom Gundersen
This is intentionally as similar to sd-bus as possible. While it would be simple to export it, the intentions is to keep this internal (at least for the forseeable future). Currently only synchronous communication is implemented
2013-10-26update gitignoreDave Reisner
2013-10-21bus: remove static introspection file exportKay Sievers
2013-10-18socket-proxyd: rename from saproxyLennart Poettering
The thing is a daemon, hence needs a "d" prefix. Also, we tend to not abbreviate names of background components unnecessarily, since they are not primary commands people type. Then, the fact that this thing does socket actviation is mostly in implementationd detail for the proxy. Also, do some minor indenting clean-ups and other code updates.
2013-10-15Rename sabridge to saproxy to be less crypticDavid Strauss
2013-10-15Add sabridge for socket activation of traditional daemonsDavid Strauss
2013-10-14git: add test-ellipsize to files to ignore by gitLennart Poettering
2013-10-14rfkill: add new rfkill tool to save/restore rfkill state across rebootsLennart Poettering
This works analogous to the existing backlight and random seed services
2013-10-13gitignore: ignore clang --analyze outputZbigniew Jędrzejewski-Szmek
2013-10-10bus: add minimal event loop APILennart Poettering
So far we tried to use epoll directly wherever we needed an event loop. However, that has various shortcomings, such as the inability to handle larger amounts of timers (since each timerfd costs one fd, which is a very limited resource, usually bounded to 1024), and inability to do priorisation between multiple queued events. Let's add a minimal event loop API around epoll that is suitable for implementation of our own daemons and maybe one day can become public API for those who desire it. This loop is part of libsystemd-bus, but may be used independently of it.
2013-10-09libsystemd-bus: add lightweight object vtable implementation for exposing ↵Lennart Poettering
objects on the bus This adds a lightweight scheme how to define interfaces in static fixed arrays which then can be easily registered on a bus connection. This makes it much easier to write bus services. This automatically handles implementation of the Properties, ObjectManager, and Introspection bus interfaces.
2013-09-24support acpi firmware performance data (FPDT)Kay Sievers
Prefer firmware-provided performance data over loader-exported ones; if ACPI data is available, always use it, otherwise try to read the loader data. The firmware-provided variables start at the time the first EFI image is executed and end when the operating system exits the boot services; the (loader) time calculated in systemd-analyze increases.
2013-09-19device-nodes: move device node specific code to own fileDave Reisner
In the process, rename udev_encode_string which is poorly named for what it does. It deals specifically with encoding names that udev creates and has its own rules: utf8 is valid but some ascii is not (e.g. path separators), and everything else is simply escaped. Rename it to encode_devnode_name.
2013-09-17move utf8 functions from libudev-private.h to utf8.hDave Reisner
There's now some more obvious overlap amongst the two utf8 validation functions, but no more than there already was previously. This also adds some menial tests for anyone who wants to do more merging of these two in the future.