summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAge
* terminal: add xkb-based keyboard devices to idevDavid Herrmann2014-08-27
| | | | | | | | | | The idev-keyboard object provides keyboard devices to the idev interface. It uses libxkbcommon to provide proper keymap support. So far, the keyboard implementation is pretty straightforward with one keyboard device per matching evdev element. We feed everything into the system keymap and provide proper high-level keyboard events to the application. Compose-features and IM need to be added later.
* terminal: add evdev elements to idevDavid Herrmann2014-08-27
| | | | | | | | | | | | | | The evdev-element provides linux evdev interfaces as idev-elements. This way, all real input hardware devices on linux can be used with the idev interface. We use libevdev to interface with the kernel. It's a simple wrapper library around the kernel evdev API that takes care to resync devices after kernel-queue overflows, which is a rather non-trivial task. Furthermore, it's a well tested interface used by all other major input users (Xorg, weston, libinput, ...). Last but not least, it provides nice keycode to keyname lookup tables (and vice versa), which is really nice for debugging input problems.
* terminal: add input interfaceDavid Herrmann2014-08-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idev-interface provides input drivers for all libsystemd-terminal based applications. It is split into 4 main objects: idev_context: The context object tracks global state of the input interface. This will include data like system-keymaps, xkb contexts and more. idev_session: A session serves as controller for a set of devices. Each session on an idev-context is independent of each other. The session is also the main notification object. All events raised via idev are reported through the session interface. Apart of that, the session is a pretty dumb object that just contains devices. idev_element: Elements provide real hardware in the idev stack. For each hardware device, one element is added. Elements have no knowledge of higher-level device types, they only provide raw input data to the upper levels. For example, each evdev device is represented by a different element in an idev session. idev_device: Devices are objects that the application deals with. An application is usually not interested in elements (and those are hidden to applications), instead, they want high-level input devices like keyboard, touchpads, mice and more. Device are the high-level interface provided by idev. Each device might be fed by a set of elements. Elements drive the device. If elements are removed, devices are destroyed. If elements are added, suitable devices are created. Applications should monitor the system for sessions and hardware devices. For each session they want to operate on, they create an idev_session object and add hardware to that object. The idev interface requires the application to monitor the system (preferably via sysview_*, but not required) for hardware devices. Whenever hardware is added to the idev session, new devices *might* be created. The relationship between hardware and high-level idev-devices is hidden in the idev-session and not exposed. Internally, the idev elements and devices are virtual objects. Each real hardware and device type inherits those virtual objects and provides real elements and devices. Those types will be added in follow-up commits. Data flow from hardware to the application is done via idev_*_feed() functions. Data flow from applications to hardware is done via idev_*_feedback() functions. Feedback is usually used for LEDs, FF and similar operations.
* terminal: add system view interfaceDavid Herrmann2014-08-27
| | | | | | | | | | | | | | We're going to need multiple binaries that provide session-services via logind device management. To avoid re-writing the seat/session/device scan/monitor interface for each of them, this commit adds a generic helper to libsystemd-terminal: The sysview interface scans and tracks seats, sessions and devices on a system. It basically mirrors the state of logind on the application side. Now, each session-service can listen for matching sessions and attach to them. On each session, managed device access is provided. This way, it is pretty simple to write session-services that attach to multiple sessions (even split across seats).
* tmpfiles: make resolv.conf entry conditional on resolved supportTom Gundersen2014-08-27
|
* hibernate-resume-generator: add a generator for instantiating the resume unit.Ivan Shapovalov2014-08-26
| | | | | | | | | | | | | hibernate-resume-generator understands resume= kernel command line parameter and instantiates the systemd-resume@.service accordingly if it is passed. This enables resume from hibernation using device specified on the kernel command line, and it may be specified either as "/dev/disk/by-foo/bar" or "FOO=bar", not only "/dev/sdXY" which is understood by the in-kernel implementation. So now resume= is brought on par with root= in terms of possible ways to specify a device.
* hibernate-resume: add a tool to write a device node's major:minor to ↵Ivan Shapovalov2014-08-26
| | | | | | | | | | /sys/power/resume. This can be used to initiate a resume from hibernation by path to a swap device containing the hibernation image. The respective templated unit is also added. It is instantiated using path to the desired resume device.
* core: add support for a configurable system-wide start-up timeoutLennart Poettering2014-08-22
| | | | | | | | | | | | | | | | | | | When this system-wide start-up timeout is hit we execute one of the failure actions already implemented for services that fail. This should not only be useful on embedded devices, but also on laptops which have the power-button reachable when the lid is closed. This devices, when in a backpack might get powered on by accident due to the easily reachable power button. We want to make sure that the system turns itself off if it starts up due this after a while. When the system manages to fully start-up logind will suspend the machine by default if the lid is closed. However, in some cases we don't even get as far as logind, and the boot hangs much earlier, for example because we ask for a LUKS password that nobody ever enters. Yeah, this is a real-life problem on my Yoga 13, which has one of those easily accessible power buttons, even if the device is closed.
* build-sys: update versions for upcoming releaseLennart Poettering2014-08-19
|
* tmpfiles: add new 'r' line type to add UIDs/GIDs to the pool to allocate ↵Lennart Poettering2014-08-19
| | | | | | | | UIDs/GIDs from This way we can guarantee a limited amount of compatibility with login.defs, by generate an appopriate "r" line out of it, on package installation.
* tests: add test-condition-utilRonny Chevalier2014-08-18
|
* memfd: move code from public library to src/sharedDaniel Mack2014-08-18
| | | | | Don't expose generic kernel API via libsystemd, but keep the code internal for our own usage.
* Makefile.am: test-bus-memfd went away. Kill its residues in Makefile.amDaniel Mack2014-08-18
|
* kdbus: switch over to generic memfd implementation (ABI+API break)Daniel Mack2014-08-17
|
* resolved: allow passing on which protocol, family and interface to look ↵Lennart Poettering2014-08-14
| | | | | | something up Also, return on which protocol/family/interface we found something.
* ldconfig: add configure option to disableUmut Tezduyar Lindskog2014-08-14
|
* networkd: link - split out dhcp4 handlingTom Gundersen2014-08-12
|
* networkd: link - split out ipv4ll handlingTom Gundersen2014-08-12
|
* networkd: split out networkd-link.hTom Gundersen2014-08-12
|
* timesyncd: split up into multiple source fileLennart Poettering2014-08-12
| | | | | The source file got much too large, hence split up the sources into multiple per-object files, similar in style to resolved.
* networkd: fix buildLennart Poettering2014-08-12
|
* sd-network: move sd-network API into libsystemd properLennart Poettering2014-08-12
| | | | | | In contrast to the DHCP/IPv4LL/ICMP6 APIs sd-network is not a protocol implementation but a client API for networkd, hence move it into libsystemd proper.
* networkd: add minimal client tool "networkd" to query network statusLennart Poettering2014-08-12
| | | | | | | In the long run this should become a full fledged client to networkd (but not before networkd learns bus support). For now, just pull interesting data out of networkd, udev, and rtnl and present it to the user, in a simple but useful output.
* resolve-host: make arg_type an intZbigniew Jędrzejewski-Szmek2014-08-03
| | | | We are using it also to store _DNS_TYPE_INVALID, so it should be signed.
* resolve: add more record types and convert to gperf tableZbigniew Jędrzejewski-Szmek2014-08-03
| | | | | | | | | | | | | We are unlikely to evert support most of them, but we can at least display the types properly. The list is taken from the IANA list. The table of number->name mappings is converted to a switch statement. gcc does a nice job of optimizing lookup (when optimization is enabled). systemd-resolve-host -t is now case insensitive.
* build-sys: use a common rule for some gperf commandsZbigniew Jędrzejewski-Szmek2014-08-03
|
* resolved: rename resolved.h to resolved-manager.hLennart Poettering2014-08-01
| | | | | After all it pretty much exlcusively containers definitions about the "Manager" object, hence let's call this the most obvious way.
* resolved: beef up DNS server configuration logicLennart Poettering2014-08-01
| | | | | | | | | | | | | | | | We now maintain two lists of DNS servers: system servers and fallback servers. system servers are used in combination with any per-link servers. fallback servers are only used if there are no system servers or per-link servers configured. The system server list is supposed to be populated from a foreign tool's /etc/resolv.conf (not implemented yet). Also adds a configuration switch for LLMNR, that allows configuring whether LLMNR shall be used simply for resolving or also for responding.
* resolved: handle IDNA domainsLennart Poettering2014-08-01
| | | | | | | | Make sure we format UTF-8 labels as IDNA when writing them to DNS packets, and as native UTF-8 when writing them to mDNS or LLMNR packets. When comparing or processing labels always consider native UTF-8 and IDNA formats equivalent.
* resolved: implement LLMNR uniqueness verificationLennart Poettering2014-07-31
|
* resolved: LOC recordsZbigniew Jędrzejewski-Szmek2014-07-31
| | | | | | | | | | LOC records have a version field. So far only version 0 has been published, but if a record with a different version was encountered, our only recourse is to treat it as an unknown type. This is implemented with the 'unparseable' flag, which causes the serialization/deserialization and printing function to cause the record as a blob. The flag can be used if other packet types cannot be parsed for whatever reason.
* sysusers: split users for remote into separate fileZbigniew Jędrzejewski-Szmek2014-07-31
| | | | This mirrors the setup for tmpfiles.d done in ad95fd1d2b9.
* resolved: add API for resolving specific RRsLennart Poettering2014-07-30
|
* resolved: add tool to query resolvedZbigniew Jędrzejewski-Szmek2014-07-30
|
* resolve: add llmnr responder side for UDP and TCPLennart Poettering2014-07-29
| | | | Name defending is still missing.
* build-sys: add missing files for distcheckKay Sievers2014-07-29
|
* test: test_tables - fix missing symbols when --gc-sections are not availableKay Sievers2014-07-29
|
* factory: install minimal PAM and nsswitch configKay Sievers2014-07-29
|
* build-sys: remove systemd-coredumpctl symlinkKay Sievers2014-07-29
|
* resolved: rework logic so that we can share transactions between queries of ↵Lennart Poettering2014-07-23
| | | | different clients
* shell-completion: systemd-analyze verify, systemctl linkZbigniew Jędrzejewski-Szmek2014-07-21
| | | | | | | | Some zsh completion helpers were not installed, so completion was broken. Add systemd-analyze verify. Make systemctl link complete only unit names.
* Merge systemd-verify with systemd-analyzeZbigniew Jędrzejewski-Szmek2014-07-21
|
* update-done: set proper selinux context for .updatedZbigniew Jędrzejewski-Szmek2014-07-21
| | | | https://bugzilla.redhat.com/show_bug.cgi?id=1121806
* systemd-verify: a simple tool for offline unit verificationZbigniew Jędrzejewski-Szmek2014-07-20
| | | | | | | | This tool will warn about misspelt directives, unknown sections, and non-executable commands. It will also catch the common mistake of using Accept=yes with a non-template unit and vice versa. https://bugs.freedesktop.org/show_bug.cgi?id=56607
* test-cgroup-mask: fix masks in test and enable by defaultZbigniew Jędrzejewski-Szmek2014-07-20
| | | | | | | | | Commit 637f421e5c6a ("cgroups: always propagate controller membership to siblings") changed the mask propagation logic, but the test wasn't updated. Move to normal tests from manual tests, it should not touch the system anymore.
* test-engine: fix access to unit load pathZbigniew Jędrzejewski-Szmek2014-07-20
| | | | | | | | Also add a bit of debugging output to help diagnose problems, add missing units, and simplify cppflags. Move test-engine to normal tests from manual tests, it should now work without destroying the system.
* install: systemd-timesyncd.service is enabled by sysinit.targetMichael Olbrich2014-07-19
| | | | | systemd-timesyncd.service has a "WantedBy=sysinit.target" so the initially generated link should match that.
* Nuke update-kbd-mapZbigniew Jędrzejewski-Szmek2014-07-18
| | | | | | Our version has evolved independently of the original table in systemd-config-keyboard, so it cannot be ever regenerated from original upstream. Remove script to avoid confusion.
* Makefile.am: tweaks to python commandsZbigniew Jędrzejewski-Szmek2014-07-18
|
* terminal: add unifont font-handlingDavid Herrmann2014-07-18
| | | | | | | | | | | | | | | | | The unifont layer of libsystemd-terminal provides a fallback font for situations where no system-fonts are available, or if you don't want to deal with traditional font-formats for some reasons. The unifont API mmaps a pre-compiled bitmap font that was generated out of GNU-Unifont font-data. This guarantees, that all users of the font will share the pages in memory. Furthermore, the layout of the binary file allows accessing glyph data in O(1) without pre-rendering glyphs etc. That is, the OS can skip loading pages for glyphs that we never access. Note that this is currently a test-run and we want to include the binary file in the GNU-Unifont package. However, until it was considered stable and accepted by the maintainers, we will ship it as part of systemd. So far it's only enabled with the experimental --enable-terminal, anyway.