Commit graph

1774 commits

Author SHA1 Message Date
Kay Sievers 1401ec2d34 push xorg information to the systemd --user instance 2015-01-09 21:39:31 +01:00
Lennart Poettering 8b0cc9a36c machinectl: show most recent log output in "machinectl status", too 2015-01-08 23:13:45 +01:00
Lennart Poettering 3c7560019e loginctl: show the 10 most recent log user/session log lines in "loginctl user-status" and "loginctl session-status" 2015-01-08 23:13:45 +01:00
Dave Reisner d2f0e78f2b test-verbs: add unit tests for verbs minilib 2015-01-08 15:57:38 -05:00
Filipe Brandenburger 69c4e2771e machine: add reference to machine-dbus.h to Makefile.am
Commit 003dffde2c ("machined: Move image discovery logic into src/shared,
so that we can make use of it from nspawn") moved some definitions from
machine.h to a new machine-dbus.h, but did not include it in Makefile.am

Tested that `make distcheck` works after this fix.
2015-01-05 11:13:30 -05:00
Lennart Poettering 5ac0162c3a udevadm,..: make --help output of udev tools more like the output of the various other tools 2015-01-05 13:19:55 +01:00
Lennart Poettering fa6ac76083 journald: process SIGBUS for the memory maps we set up
Even though we use fallocate() it appears that file systems like btrfs
will trigger SIGBUS on certain low-disk-space situation. We should
handle that, hence catch the signal, add it to a list of invalidated
pages, and replace the page with an empty memory area. After each write
check if SIGBUS was triggered, and consider the write invalid if it was.

This should make journald a lot more robust with file systems where
fallocate() is not reliable, for example all CoW file systems
(btrfs...), where changing written data can fail with disk full errors.

https://bugzilla.redhat.com/show_bug.cgi?id=1045810
2015-01-05 01:40:51 +01:00
Martin Pitt aec432c613 build-sys: Fix install location of systemd.pc
systemd.pc contains "libdir" which can be architecture specific. Thus it needs
to be installed into libdir/pkgconfig/ instead of datadir/pkgconfig.

As nothing else is using pkgconfigdata any more, remove it entirely.

Note that udev.pc does not contain architecture specific values and thus can be
kept in /usr/share/pkgconfig/.
2015-01-01 16:53:40 +01:00
Philippe De Swert 699b7227a2 build-sys: fix build issue with machines.target
When doing "make clean" the unit/machines.target file gets deleted.
This causes a build error later on when trying to rebuild systemd.

V2: The file probably belongs to dist_systemunit_DATA
2015-01-01 09:05:46 -05:00
Lennart Poettering 6a140df004 units: rework systemd-nspawn@.service unit
- Unescape instance name so that we can take almost anything as instance
  name.

- Introduce "machines.target" which consists of all enabled nspawns and
  can be used to start/stop them altogether

- Look for container directory using -M instead of harcoding the path in
  /var/lib/container
2014-12-29 17:00:05 +01:00
Lennart Poettering 003dffde2c machined: Move image discovery logic into src/shared, so that we can make use of it from nspawn 2014-12-28 02:08:40 +01:00
Filipe Brandenburger e7aa89f909 build-sys: update path in reference to sd-lldp.h
The file was moved from src/libsystemd-network to src/systemd in commit
7a6f145746 ("sd-lldp: minor header cleanup").

This fixes "make distcheck".
2014-12-25 10:55:41 -05:00
Lennart Poettering 10f9c75519 machined: beef up machined image listing with creation/modification times of subvolumes
We make use of the btrfs subvol crtime for this, and for gpt images of a
manually managed xattr, if we can.
2014-12-25 03:19:19 +01:00
Lennart Poettering 901992209e import: add a new "pull-gpt" verb for downloading GPT disk images from the internet 2014-12-24 16:53:05 +01:00
Lennart Poettering d04c1fb8e2 machined: introduce polkit for OpenLogin() call
This way "machinectl login" can be opened up to run without privileges.
2014-12-23 21:28:48 +01:00
Lennart Poettering 8b169c0fc2 build-sys: move core/build.h → shared/build.h
After all, pretty much all our tools include it, and it should hence be
shared.

Also move sysfs-show.h from core/ to login/, since it has no point to
exist in core.
2014-12-23 21:05:28 +01:00
Lennart Poettering 3c70e3bb02 core: rearrange code so that libsystemd/sd-bus/ does not include header files from core
Stuff in src/shared or src/libsystemd should *never* include code from
src/core or any of the tools, so don't do that here either. It's not OK!
2014-12-23 19:15:27 +01:00
Lennart Poettering 91f4347ef7 import: rename 'poll-dck' to 'pull-dkr'
I figure "pull-dck" is not a good name, given that one could certainly
read the verb in a way that might be funny for 16year-olds. ;-)

Also, don't hardcode the index URL to use, make it runtime and configure
time configurable instead.
2014-12-23 03:25:36 +01:00
Umut Tezduyar Lindskog fe659612e4 build: add option to disable hwdb
[tomegun: fix Makefile-man.am, based on fix from Michael Biebl]
2014-12-20 00:23:37 +01:00
Tom Gundersen 7a6f145746 sd-lldp: minor header cleanup
* (potentially) public headers must reside in src/systemd/ (not in
   src/libsystemd*)
 * some private (not prefixed with sd_) functions moved from sd-lldp.h to
   lldp-internal.h
 * introduce lldp-util.h for the cleanup macro, as these should not be public
 * rename the cleanup macro, we always name them _cleanup_foo_, never
   _cleanup_sd_foo_
 * mark some function arguments as 'const'
2014-12-19 22:42:03 +01:00
Lennart Poettering ebeccf9eec machined: add a full bus object for images 2014-12-19 20:43:18 +01:00
Lennart Poettering cd61c3bfd7 machined/machinectl: add logic to show list of available images
This adds a new bus call to machined that enumerates /var/lib/container
and returns all trees stored in it, distuingishing three types:

        - GPT disk images, which are files suffixed with ".gpt"
        - directory trees
        - btrfs subvolumes
2014-12-19 19:19:29 +01:00
Susant Sahani ad1ad5c8e3 networkd: Introduce Link Layer Discovery Protocol (LLDP)
This patch introduces LLDP support to networkd. it implements the
receiver side of the protocol.

The Link Layer Discovery Protocol (LLDP) is an industry-standard,
vendor-neutral method to allow networked devices to advertise
capabilities, identity, and other information onto a LAN. The Layer 2
protocol, detailed in IEEE 802.1AB-2005.LLDP allows network devices
that operate at the lower layers of a protocol stack (such as
Layer 2 bridges and switches) to learn some of the capabilities
and characteristics of LAN devices available to higher
layer protocols.
2014-12-19 08:02:45 +05:30
Lennart Poettering 72648326ea import: add new minimal tool "systemd-import" for pulling down foreign containers and install them locally
This adds a simply but powerful tool for downloading container images
from the most popular container solution used today. Use it like
this:

       # systemd-import pull-dck mattdm/fedora
       # systemd-nspawn -M fedora

This will donwload the layers for "mattdm/fedora", and make them
available locally as /var/lib/container/fedora.

The tool is pretty complete, as long as it's only about pulling down
images, or updating them. Pushing or searching is not supported yet.
2014-12-19 02:08:14 +01:00
Lennart Poettering dca59f6266 util: add generalization of verb parsing for command line tools
We should move loginctl, timedatectl, machinectl over to use this new
API instead of a manual one.
2014-12-19 02:07:42 +01:00
Tom Gundersen 65eb4378c3 systemd-hwdb: introduce new tool
This pulls out the hwdb managment from udevadm into an independent tool.

The old code is left in place for backwards compatibility, and easy of
testing, but all documentation is dropped to encourage use of the new
tool instead.
2014-12-18 15:37:27 +01:00
Alin Rauta b98b483bac networkd: add FDB support 2014-12-18 15:28:16 +01:00
Lennart Poettering e7eebcfc42 shared: add minimal JSON tokenizer 2014-12-15 22:27:15 +01:00
Dave Reisner 0f5a314b2e build-sys: fix distcheck
- fix misspelling in filename (intenal -> internal)
- remove deleted hwdb-related file (nuked with sd-hwdb refactor)
2014-12-14 10:56:25 -05:00
Dave Reisner 7cd3aba6bd build-sys: always distribute systemd-consoled.service.in
Similar to how we handle other facilities that can be flagged out at
configure time, we should always distribute this input file.

http://lists.freedesktop.org/archives/systemd-devel/2014-December/026272.html
2014-12-14 10:40:25 -05:00
Lennart Poettering 34a3e4ecad cap-list: return lower-case capability names, similar to libcap's cap_to_name(), for compat reasons 2014-12-12 18:37:25 +01:00
Lennart Poettering d7c7c334f5 shared: add new btrfs-util.[ch] helpers for doing common btrfs operation 2014-12-12 13:35:32 +01:00
Ronny Chevalier 27c5347c8c test-execute: add tests for UMask directive 2014-12-11 18:32:57 +01:00
Lennart Poettering 1ed09c4491 build-sys: fix user unit m4 logic 2014-12-11 14:56:49 +01:00
Tom Gundersen 8b516fdea7 libudev: make libudev-hwdb a wrapper around sd-hwdb 2014-12-11 13:54:35 +01:00
Tom Gundersen 23fbe14f50 libsystemd: add sd-hwdb library
This is libudev-hwdb, but decoupled from libudev and in the libsystemd style.

The core code is unchanged, apart from the following minor changes:

 - hwdb.bin located in /**/systemd/hwdb/ take preference over the ones located
   in /**/udev/
 - properties are stored internally in an OrderedHashmap, rather than a
   linked list.
 - a new API call allows individual properties to be queried directly, rather
   than iterating over them all
 - the iteration over properties have been moved inside the library, rather than
   exposing a list directly
 - the unused 'flags' parameter was dropped
2014-12-11 13:54:35 +01:00
Lennart Poettering de24871ebf build-sys: update Lennart's private target 2014-12-10 23:20:53 +01:00
Lennart Poettering a9a3da50fb build-sys: add missing file to CLEANFILES 2014-12-10 23:01:13 +01:00
Lennart Poettering 9807712558 build-sys: bump package and library versions in preparation for 218 release 2014-12-10 22:31:27 +01:00
Kay Sievers b9f08b1ff4 build-sys: fix link-order 2014-12-10 19:46:00 +01:00
Lennart Poettering 96aad8d15a sd-bus: move common errors src/shared/bus-errors.h → src/libsystemd/sd-bus/bus-common-errors.h
Stuff in src/shared/ should not use stuff from src/libsystemd/ really.
2014-12-10 19:07:48 +01:00
Patrik Flykt 5c79bd7983 networkd-dhcp6: Move ICMPv6 and DHCPv6 configuration to new file
Handle all aspects of ICMPv6 and DHCPv6 in a file of its own as is done
with DHCPv4 and IPv4LL.
2014-12-10 18:31:21 +01:00
Lennart Poettering 2822da4fb7 util: introduce our own gperf based capability list
This way, we can ensure we have a more complete, up-to-date list of
capabilities around, always.
2014-12-10 03:21:07 +01:00
Lennart Poettering b7c0182b2c build-sys: fix CLEANFILES= for dns_type list 2014-12-10 02:36:35 +01:00
Lennart Poettering e7b04a8166 build-sys: don't fail if CAP_SETFCAP is missing 2014-12-10 00:42:17 +01:00
Przemyslaw Kedzierski dd5ae4c36c bus-proxy: cloning smack label
When dbus client connects to systemd-bus-proxyd through
Unix domain socket proxy takes client's smack label and sets for itself.

It is done before and independent of dropping privileges.

The reason of such soluton is fact that tests of access rights
performed by lsm may take place inside kernel, not only
in userspace of recipient of message.

The bus-proxyd needs CAP_MAC_ADMIN to manipulate its label.

In case of systemd running in system mode, CAP_MAC_ADMIN
should be added to CapabilityBoundingSet in service file of bus-proxyd.

In case of systemd running in user mode ('systemd --user')
it can be achieved by addition
Capabilities=cap_mac_admin=i and SecureBits=keep-caps
to user@.service file
and setting cap_mac_admin+ei on bus-proxyd binary.
2014-12-09 18:23:24 +01:00
WaLyong Cho da64a1fc41 bootchart: add standalone bootchart service 2014-12-04 01:55:01 +01:00
Michael Biebl 3b0ed75c35 vconsole: don't hard-code systemd-vconsole-setup binary path 2014-12-04 00:05:04 +01:00
Lennart Poettering e9140aff75 nss-myhostname: always resolve the host name "gateway" to the local default gateway
This is useful inside of containers or local networks to intrdouce a
stable name of the default gateway host (in case of containers usually
the host, in case of LANs usually local router).
2014-12-03 21:48:45 +01:00
Didier Roche a1405db67c machine-id-commit: add unit file
The unit file only active the machine-id-commit helper if /etc is mounted
writable and /etc/machine-id is an independant mount point (should be a tmpfs).
2014-12-03 03:41:19 +01:00