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

638 Commits

Author SHA1 Message Date
David Herrmann
650c544427 terminal: add graphics interface
The grdev layer provides graphics-device access via the
libsystemd-terminal library. It will be used by all terminal helpers to
actually access display hardware.

Like idev, the grdev layer is built around session objects. On each
session object you add/remove graphics devices as they appear and vanish.
Any device type can be supported via specific card-backends. The exported
grdev API hides any device details.

Graphics devices are represented by "cards". Those are hidden in the
session and any pipe-configuration is automatically applied. Out of those,
we configure displays which are then exported to the API user. Displays
are meant as lowest hardware entity available outside of grdev. The
underlying pipe configuration is fully hidden and not accessible from the
outside. The grdev tiling layer allows almost arbitrary setups out of
multiple pipes, but so far we only use a small subset of this. More will
follow.

A grdev-display is meant to represent real connected displays/monitors.
The upper level screen arrangements are user policy and not controlled by
grdev. Applications are free to apply any policy they want.

Real card-backends will follow in later patches.
2014-09-19 14:05:52 +02:00
Michal Schmidt
f44541bc93 build: colorize gcc only if on tty
Rather than forcing gcc to always produce colorized error messages
whether on tty or not, enable automatic colorization by ensuring
GCC_COLORS is set to a non-empty string.

Doing it this way removes the need for workarounds in ~/.emacs or
~/.vimrc for "M-x compile" or ":make", respectively, to work.
2014-09-15 16:08:50 +02:00
Umut Tezduyar Lindskog
4df5c00b6e build-sys: configure option to disable hibernation 2014-09-03 19:40:51 +02:00
Kay Sievers
be2ea723b1 udev: remove userspace firmware loading support 2014-08-30 11:34:20 +02:00
David Herrmann
e06cc7b074 terminal: add xkb-based keyboard devices to idev
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.
2014-08-27 18:42:28 +02:00
David Herrmann
c93e5a62ff terminal: add evdev elements to idev
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.
2014-08-27 18:42:28 +02:00
Tom Gundersen
aeb50ff0bd tmpfiles: make resolv.conf entry conditional on resolved support 2014-08-27 18:17:16 +02:00
Lennart Poettering
d5a169aaee build-sys: update versions for upcoming release 2014-08-19 22:45:53 +02:00
Lennart Poettering
de99c9dcba hashmap: try to use the existing 64bit hash functions for dev_t if it is 64bit 2014-08-19 00:04:55 +02:00
Umut Tezduyar Lindskog
12e34d9d58 ldconfig: add configure option to disable 2014-08-14 01:01:43 +02:00
Lennart Poettering
bdf10b5b4d resolved: handle IDNA domains
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.
2014-08-01 00:58:12 +02:00
Robert Schiele
a59f16ce4a build-sys: check for intltool also when polkit is enabled
intltool is needed for nls _and_ polkit, thus the check needs to be
changed to do the test whenever one of them is enables.

Without this build fails when configured with
--disable-nls --enable-polkit
2014-07-31 09:14:52 -04:00
Zbigniew Jędrzejewski-Szmek
1a40a3393e configure: add -Wno-typedef-redefinition
Message-ID: <CAJ+BJsz9Qy-JU25dUuGT2n0LMNzcOpoJNGNtbf_boSuT_6hONw@mail.gmail.com>
2014-07-21 21:07:19 -04:00
Jean-André Santoni
6589d0dba2 Add IFLA_VTI defines to missing.h 2014-07-21 21:04:44 -04:00
David Herrmann
84da4a3022 ui/term: add line/cell/char handling for terminal pages
This commit introduces libsystemd-ui, a systemd-internal helper library
that will contain all the UI related functionality. It is going to be used
by systemd-welcomed, systemd-consoled, systemd-greeter and systemd-er.
Further use-cases may follow.

For now, this commit only adds terminal-page handling based on lines only.
Follow-up commits will add more functionality.
2014-07-17 11:48:40 +02:00
Zbigniew Jędrzejewski-Szmek
75616a1332 missing.h: add IFLA_MACVLAN_FLAGS
Now we are getting into kernel < 3.4 territory...

https://bugs.freedesktop.org/show_bug.cgi?id=80095
2014-07-16 16:44:50 -04:00
Zbigniew Jędrzejewski-Szmek
ad95fd1d2b journal-remote: add units and read certs from default locations 2014-07-15 22:23:49 -04:00
Zbigniew Jędrzejewski-Szmek
36ef43edcf build-sys: add check for libcurl 2014-07-15 22:23:47 -04:00
Zbigniew Jędrzejewski-Szmek
3b1a55e110 Fix build without any compression enabled 2014-07-11 10:42:27 -04:00
Lennart Poettering
418b9be500 firstboot: add new component to query basic system settings on first boot, or when creating OS images offline
A new tool "systemd-firstboot" can be used either interactively on boot,
where it will query basic locale, timezone, hostname, root password
information and set it. Or it can be used non-interactively from the
command line when prepareing disk images for booting. When used
non-inertactively the tool can either copy settings from the host, or
take settings on the command line.

$ systemd-firstboot --root=/path/to/my/new/root --copy-locale --copy-root-password --hostname=waldi

The tool will be automatically invoked (interactively) now on first boot
if /etc is found unpopulated.

This also creates the infrastructure for generators to be notified via
an environment variable whether they are running on the first boot, or
not.
2014-07-07 15:25:55 +02:00
Zbigniew Jędrzejewski-Szmek
d89c8fdf48 journal: add LZ4 as optional compressor
Add liblz4 as an optional dependency when requested with --enable-lz4,
and use it in preference to liblzma for journal blob and coredump
compression. To retain backwards compatibility, XZ is used to
decompress old blobs.

Things will function correctly only with lz4-119.

Based on the benchmarks found on the web, lz4 seems to be the best
choice for "quick" compressors atm.

For pkg-config status, see http://code.google.com/p/lz4/issues/detail?id=135.
2014-07-06 19:06:03 -04:00
Lennart Poettering
252ff40a38 build-sys: bump package and library versions 2014-07-03 20:48:40 +02:00
Filipe Brandenburger
f15515b5e6 build-sys: disable NLS support if intltool is not found
IT_PROG_INTLTOOL makes configure fail if intltool is not present.  If we can
not find intltool, then disable NLS (otherwise make in po/ fails since MSGFMT
will not be defined.)

Tested: Built it on a host without intltool.
  $ ./configure --enable-nls
  ...
  checking for intltool-merge... no
  configure: error: --enable-nls requested but intltool not found

  $ ./configure --disable-polkit
  ...
  checking for intltool-merge... no
  configure: WARNING: *** Disabling NLS support because intltool was not found
  checking whether NLS is requested... no
  ...
  $ make

https://bugs.freedesktop.org/show_bug.cgi?id=79692
2014-06-26 01:41:05 -04:00
Filipe Brandenburger
2f96919bcd build-sys: add explicit support for --disable-nls
In particular, disable intltool when --disable-nls is passed to configure.

Tested: Built it on a host without intltool or gettext.
  $ ./configure --disable-nls --disable-polkit
  $ make
2014-06-26 01:41:05 -04:00
Michael Marineau
972bded032 build-sys: require elfutils >= 158
The recently added stacktrace support in 8d4e028f uses functions added
in elfutils 158. Check for one of the new functions to avoid attempting
to build against older versions.
2014-06-22 12:26:09 -04:00
Zbigniew Jędrzejewski-Szmek
81577dc228 missing.h: add various network enums
We used to check if e.g. IFLA_BOND_MAX is defined and provide fallback
values in missing.h is it wasn't. But over time, various kernel
versions added IFLA_* defines, so checking for IFLA_BOND_MAX is not
enough if the kernel is new enough to have some of them but too old to
have all. In case we detect that the latest known enum value is
missing, #define most of them.

https://bugs.freedesktop.org/show_bug.cgi?id=80095
2014-06-20 22:05:43 -04:00
Zbigniew Jędrzejewski-Szmek
747cf8cdf6 build-sys: fail if python support requested but not found 2014-06-20 18:44:40 -04:00
Filipe Brandenburger
be8737ae38 build-sys: add verbosity to python-lxml detection in ./configure
Be verbose when checking if Python module lxml is available.  Also warn that
Python support will be disabled when the lxml module is not present.

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

Tested:
- Without python-lxml package installed:
  $ ./configure
  checking for python extension module directory... ${exec_prefix}/lib64/python2.7/site-packages
  checking for python lxml module... no
  configure: WARNING: *** python support requires python-xml module installed

- With python-lxml package installed:
  $ ./configure
  checking for python extension module directory... ${exec_prefix}/lib64/python2.7/site-packages
  checking for python lxml module... yes
  checking for PYTHON_DEVEL... yes
  ...
          Python:                  yes
          Python Headers:          yes
2014-06-20 18:44:40 -04:00
Lennart Poettering
8d4e028f18 coredump: include stacktrace of coredumps in the log message
elfutils' libdw is maintained, can read DWARF debug data and appears to
be the library of choice for generating backtraces today.
2014-06-19 12:38:45 +02:00
Lennart Poettering
f8b5d99408 sysuser: generate default snippet incorporating TTY_GID properly
When the user specifies --with-tty-gid= then we should honour that and
write it to the snippet, too.
2014-06-12 23:22:27 +02:00
Lennart Poettering
1b99214789 sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from 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-12 23:07:33 +02:00
Lennart Poettering
42a04ee69c build-sys: update library versions 2014-06-11 15:30:28 +02:00
Kay Sievers
4196a3ead3 NEWS: add section about udev locking 2014-06-11 12:00:47 +02:00
John
235c6e6281 build-sys: accommodate gcc-4.9.0 link-time optimization (LTO) changes
systemd fails to build (symbols not found/resolved during cgls link step)
under gcc-4.9.0 due to link-time optimization (lto) changes, in particular
from gcc-4.9.0/NEWS:

  + When using a linker plugin, compiling with the -flto option
    now generates slim objects files (.o) which only contain
    intermediate language representation for LTO. Use
    -ffat-lto-objects to create files which contain additionally
    the object code. To generate static libraries suitable for LTO
    processing, use gcc-ar and gcc-ranlib; to list symbols from a
    slim object file use gcc-nm. (Requires that ar, ranlib and nm
    have been compiled with plugin support.)

Both -flto and -ffat-lto-objects are now needed when building and linking
against static libs w/LTO.
2014-06-04 17:47:20 +02:00
Tom Gundersen
0bbea466dc configure: networkd no longer requires kmod
Reported by Samuli Suominen.
2014-06-03 01:05:13 +02:00
Lennart Poettering
fdd2531170 virt: rework container detection logic
Instead of accessing /proc/1/environ directly, trying to read the
$container variable from it, let's make PID 1 save the contents of that
variable to /run/systemd/container. This allows us to detect containers
without the need for CAP_SYS_PTRACE, which allows us to drop it from a
number of daemons and from the file capabilities of systemd-detect-virt.

Also, don't consider chroot a container technology anymore. After all,
we don't consider file system namespaces container technology anymore,
and hence chroot() should be considered a container even less.
2014-05-28 18:53:44 +08:00
Kay Sievers
d2edfae0f9 build-sys: use glibc's xattr support instead of requiring libattr 2014-05-28 17:36:40 +08:00
Lennart Poettering
76d4bef384 build-sys: bump package and library version 2014-05-27 19:02:22 +08:00
Zbigniew Jędrzejewski-Szmek
49e5c2b26a build-sys: fix typo in variable name 2014-05-24 18:50:21 -04:00
Lennart Poettering
f7dc3ab9f4 logind: don't apply RemoveIPC= to system users
We shouldn't destroy IPC objects of system users on logout.

http://lists.freedesktop.org/archives/systemd-devel/2014-April/018373.html

This introduces SYSTEM_UID_MAX defined to the maximum UID of system
users. This value is determined compile-time, either as configure switch
or from /etc/login.defs. (We don't read that file at runtime, since this
is really a choice for a system builder, not the end user.)

While we are at it we then also update journald to use SYSTEM_UID_MAX
when we decide whether to split out log data for a specific client.
2014-05-21 09:36:49 +09:00
Tom Gundersen
091a364c80 resolved: add daemon to manage resolv.conf
Also remove the equivalent functionality from networkd.
2014-05-19 18:14:56 +02:00
Cristian Rodríguez
2a4d1ec152 build: Compile everything with PIE 2014-05-19 01:14:35 +09:00
Tom Gundersen
7b4d796839 networkd: also add IPv6 DNS servers by default 2014-05-16 19:48:25 +02:00
Tom Gundersen
e16cb2e4ef networkd: hardcode a set of default dns servers
Similarly to NTP servers, this can be set at compile-time.
2014-05-16 17:19:04 +02:00
Lennart Poettering
4468835285 build-sys: at configure check for verifying that ln supports --relative 2014-05-16 16:51:42 +02:00
Cristian Rodríguez
679be2a742 network: fix build failure, missing KMOD_XXX flags
- Add KMOD_CFLAGS and KMOD_LIBS where appropiate
- networkd now requires kmod. make --disable-kmod --enable-networkd
to raise an error.
2014-05-15 18:51:54 +02:00
Zbigniew Jędrzejewski-Szmek
5ea846cc51 networkd, build-sys: spelling fix 2014-05-15 15:29:59 +02:00
Zbigniew Jędrzejewski-Szmek
de0671ee7f Remove unnecessary casts in printfs
No functional change expected :)
2014-05-15 15:29:58 +02:00
Lennart Poettering
661278ee29 timesyncd: never accept NTP time from server that is older than systemd's release time 2014-05-06 18:08:04 +02:00
Lennart Poettering
e8af69739a timesyncd: read server settings from a configuration file
Also, allow compiling in a default server list via a configure command
line item.
2014-05-06 17:02:11 +02:00
Lennart Poettering
43ba1b3e64 build-sys: enable timesyncd by default 2014-05-05 21:39:10 +02:00
Kay Sievers
a91df40e69 timesyncd: add unit and man page 2014-04-29 09:51:53 +02:00
Kay Sievers
687ed1237b rename timedate-sntp to timesync 2014-04-28 17:08:52 +02:00
Zbigniew Jędrzejewski-Szmek
ae0ceefc2f build-sys: add configure switch for -fsanitize=undefined
--enable-undefined-sanitizer mirrors --enable-memory-sanitizer.
2014-04-26 08:16:39 -04:00
Cristian Rodríguez
aca33b078c build: if -fstack-protector-strong is available, use it. 2014-04-12 11:56:07 -04:00
Lennart Poettering
3b5b000fbc build-sys: prepare 212 2014-03-25 20:22:41 +01:00
Lennart Poettering
7f8aa67131 core: remove tcpwrap support
tcpwrap is legacy code, that is barely maintained upstream. It's APIs
are awful, and the feature set it exposes (such as DNS and IDENT
access control) questionnable. We should not support this natively in
systemd.

Hence, let's remove the code. If people want to continue making use of
this, they can do so by plugging in "tcpd" for the processes they start.
With that scheme things are as well or badly supported as they were from
traditional inetd, hence no functionality is really lost.
2014-03-24 20:07:42 +01:00
Lennart Poettering
5f381b355a missing: define LO_FLAGS_PARTSCAN if it is missing
https://bugs.freedesktop.org/show_bug.cgi?id=76335
2014-03-19 01:10:14 +01:00
Zbigniew Jędrzejewski-Szmek
3f57309664 build-sys: bump required µhttpd version
MHD_USE_EPOLL_LINUX_ONLY, MHD_USE_DUAL_STACK are only available in
next-but-last release.
2014-03-17 01:55:48 -04:00
Zbigniew Jędrzejewski-Szmek
f12be7e8ca journal-gatewayd: check if certificate is signed by CA
If --trust=ca.crt is used, only clients presenting certificates signed
by the ca will be allowed to proceed. No hostname matching is
performed, so any client wielding a signed certificate will be
authorized.

Error functions are moved from journal-gateway to microhttp-util and
made non-static, since now they are used in two source files.
2014-03-17 01:55:48 -04:00
Zbigniew Jędrzejewski-Szmek
6031319956 build-sys: add check on gnutls 2014-03-17 01:55:48 -04:00
Lennart Poettering
6bf6f402b6 build-sys: prepare release 211 2014-03-11 20:25:00 +01:00
Samuli Suominen
2d0efdf1af build-sys: Find the tools for users with no /sbin:/usr/sbin in PATH since some systems still make the distiction between bin and sbin. 2014-03-10 22:36:17 +01:00
Lennart Poettering
1c231f5648 logind: make $XDG_RUNTIME_DIR a per-user tmpfs
This way each user allocates from his own pool, with its own size limit.

This puts the size limit by default to 10% of the physical RAM size but
makes it configurable in logind.conf.
2014-03-04 20:02:50 +01:00
Lennart Poettering
62ca29b81b build-sys: bump revisions and version 2014-02-24 19:25:00 +01:00
Mike Gilbert
4ca39b280f configure: Do not require xsltproc for installation of man pages
The release tarballs ship with pre-generated man pages, so we do not
need xsltproc for a typical end-user build.

Developers will probably have xsltproc anyway, but if not they will now
encounter a build-time failure instead of an error in configure.
2014-02-24 00:20:25 -05:00
Jason A. Donenfeld
7a243b2204 configure: show if networkd is enabled in status 2014-02-21 09:36:04 -05:00
Michael Scherer
eef65bf3ee core: Add AppArmor profile switching
This permit to switch to a specific apparmor profile when starting a daemon. This
will result in a non operation if apparmor is disabled.
It also add a new build requirement on libapparmor for using this feature.
2014-02-21 03:44:20 +01:00
Lennart Poettering
fdc8509fb6 build-sys: don't use -Wcast-align anymore
We do a lot of these casts, and they are all OK, so let's get rid of the
warning, to make things quieter.

http://lists.freedesktop.org/archives/systemd-devel/2014-February/017174.html
2014-02-21 03:15:52 +01:00
Holger Schurig
3b79431414 build-sys: Add setns() functions if not in the C library.
Debian Stable is still using glibc 2.13, which doesn't provide the setns().
So we detect this and provide a tiny wrapper that issues the setns syscall
towards the kernel.
2014-02-21 03:06:29 +01:00
Lennart Poettering
e2044076bf build-sys: bump release in preparation for release 2014-02-19 21:03:55 +01:00
Lennart Poettering
6a6751fe24 core: warn when unit files with unsupported options are parsed 2014-02-17 17:49:09 +01:00
Lennart Poettering
17df7223be core: rework syscall filter
- Allow configuration of an errno error to return from blacklisted
  syscalls, instead of immediately terminating a process.

- Fix parsing logic when libseccomp support is turned off

- Only keep the actual syscall set in the ExecContext, and generate the
  string version only on demand.
2014-02-12 18:30:36 +01:00
Ronny Chevalier
c0467cf387 syscallfilter: port to libseccomp 2014-02-12 18:30:36 +01:00
Zbigniew Jędrzejewski-Szmek
32dcef3ab1 build-sys: make lxml required when generating indices
Since the manpage indices generated without lxml would be missing some
parts, it doesn't make sense to keep lxml optional anymore.
2014-02-12 03:04:57 -05:00
Zbigniew Jędrzejewski-Szmek
53e856e16a build-sys: create "compatibility libraries" section
Compat stuff is moved to src/compat-libs/.
Warnings are issued when programs are linked with the deprecated library.
2014-01-25 18:10:08 -05:00
Zbigniew Jędrzejewski-Szmek
39c4ead232 build-sys: default to gold linker
gold doesn't exhibit the problems with linking of compatibility
libraries.

It is also slightly faster:

make clean && make -j5   bfd       gold

real                   34.885s     33.707s
user                   34.486s     32.189s
sys                    9.929s      10.845s

real                   35.128s     33.508s
user                   34.660s     31.858s
sys                    10.798s     10.341s

real                   35.405s     33.748s
user                   34.765s     32.384s
sys                    11.635s     10.998s

real                   35.250s     33.795s
user                   34.704s     32.253s
sys                    11.220s     11.469s

touch src/libsystemd/sd-bus.c && make -j5
                        bfd        gold

real                   10.224s      9.030s
user                   11.664s      9.877s
sys                    3.431s       2.878s

real                   10.021s      9.165s
user                   11.526s      9.990s
sys                    3.061s       3.015s

real                   10.233s      8.961s
user                   11.657s      9.973s
sys                    3.467s       2.202s

real                   10.160s      9.086s
user                   11.637s      9.950s
sys                    3.188s       2.859s
2014-01-25 18:10:08 -05:00
Chengwei Yang
8114dedc59 build-sys: fix --enable-dbus
The incorrect shell code of AS_IF always get false value, so it always
build without dbus though build with "--enable-dbus" explicitely.
2014-01-16 00:16:02 -05:00
Dave Reisner
146ccaafd5 configure: use POSIX conformant syntax for test
In shells like bash, == and = are equivalent in test contexts. In POSIX
compliant shells, == isn't a valid operator.
2014-01-05 11:57:05 -05:00
Zbigniew Jędrzejewski-Szmek
ac6b760cee build-sys: add --disable-dbus autoconf option 2014-01-02 19:45:47 -05:00
Zbigniew Jędrzejewski-Szmek
ccd06097c7 Use format patterns for usec_t, pid_t, nsec_t, usec_t
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.
2014-01-02 19:45:47 -05:00
Zbigniew Jędrzejewski-Szmek
4acbce7979 build-sys: fix generation of user@.service 2013-12-27 12:12:41 -05:00
Lennart Poettering
25ad866460 build-sys: the pure/const warning options are probably too much as default, but let's make it available via "autogen.sh a" 2013-12-25 19:00:38 +01:00
Lennart Poettering
693eb9a2d4 bus: rename message "serial" to "cookie"
Even if the lower-leveld dbus1 protocol calls it "serial", let's expose
the word "cookie" for this instead, as this is what kdbus uses and since
it doesn't imply monotonicity the same way "serial" does.
2013-12-25 18:04:04 +01:00
Lennart Poettering
cd49e2f664 build-sys: build bus-driverd if kdbus support is enabled 2013-12-17 01:36:59 +01:00
Daniel Mack
294c866023 Add bus-driverd
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-16 22:34:48 +01:00
Lennart Poettering
213298fb82 build-sys: warn if builds are not byte-by-byte reproducible due to usage of __DATE__ and suchlike 2013-12-16 04:58:20 +01:00
Lukasz Skalski
c97a6dbcf1 build-sys: fix help text for --enable-kdbus 2013-12-13 15:50:38 +01:00
Lennart Poettering
626851be97 bus: do kdbus only if this is enabled on the configure switch
Since we want to retain the ability to break kernel ←→ userspace ABI
after the next release, let's not make use by default of kdbus, so that
people with future kernels will not suddenly break with current systemd
versions.

kdbus support is left in all builds but must now be explicitly requested
at runtime (for example via setting $DBUS_SESSION_BUS). Via a configure
switch the old behaviour can be restored. In fact, we change autogen.sh
to do this, so that git builds (which run autogen.sh) get kdbus by
default, but tarball builds (which ue the configure defaults) do not get
it, and hence this stays out of the distros by default.
2013-11-30 20:18:48 +01:00
Lennart Poettering
03930e4863 Revert "build-sys: avoid warnings from assert_cc"
This reverts commit f1a1264d13.

We can turn this off with a pragma only on old gcc. Newer gcc doesn't
need this, so let's not turn this off for everybody.
2013-11-29 13:34:55 +01:00
Zbigniew Jędrzejewski-Szmek
0b340bcf0e build-sys: use C99
We already use various constructs, so let's just admit that we're using C99.
2013-11-28 14:37:11 -05:00
Zbigniew Jędrzejewski-Szmek
bd441fa27a build-sys: make multi-seat-x optional
At some point it should become disabled by default.

http://lists.freedesktop.org/archives/systemd-devel/2013-November/014869.html
2013-11-28 14:37:11 -05:00
Zbigniew Jędrzejewski-Szmek
f1a1264d13 build-sys: avoid warnings from assert_cc 2013-11-28 03:43:07 -05:00
Kay Sievers
b850b06e1e build-sys: enable gcc Link Time Optimization when optimization is enabled 2013-11-21 21:56:18 +01:00
Lennart Poettering
54b434b1b5 valgrind: make running PID 1 in valgrind useful
Since valgrind only generates useful output on exit() (rather than
exec()) we need to explicitly exit when valgrind is detected.
2013-11-20 22:12:47 +01:00
Umut Tezduyar Lindskog
6aad7f2cd7 build: Allow disabling maintainer mode
This allows make rules for generated build files (i.e.  configure,
Makefile.in, ... ) to be skipped.  This is useful when
the source is stored without timestamps (for example in CVS or GIT).

When the build rules trigger to regenerate the build files, it tries to
use the same autotools version (currently 1.14) as was originally used
for the release.  Since many of our build machines run Debian Squeeze,
they only have autotools 1.11 available and the build fails.

Currently, we have to work around this by touching all the generated
files before building to avoid triggering the make rule. With this
patch, we would be able to just run configure with
--disable-maintainer-mode instead.  The patch sets the default to enable
to not change the default behavior.

Ref: http://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/
     ?id=f5cc26c77d2f332a9b40f51f0ec72e95711edf1e
2013-11-14 00:09:45 +10:00
Colin Walters
3c9317d2d9 build-sys: Add --disable-networkd option
For GNOME (Continuous), we are unlikely to require or want
systemd-networkd in the near term future; all of the tools and code
are targeting NetworkManager.

The long term story is still an open question of course, but for now,
there's no reason for gnome-continuous to build or ship this.
2013-11-12 22:38:08 +01:00
Kay Sievers
2270309471 bus: test-bus-marshal - make dbus-1 optional 2013-11-06 02:03:05 +01:00
Kay Sievers
03a170c03c build-sys: disable _FORTIFY_SOURCE for -Og builds for now
Older gcc versions throw things like:

  In file included from /usr/include/fcntl.h:302:0,
                 from ../src/core/execute.c:25:
In function 'open',
    inlined from 'open_null_as' at ../src/core/execute.c:196:12:
/usr/include/bits/fcntl2.h:50:24: error: call to '__open_missing_mode'
  declared with attribute error: open with O_CREAT in second argument needs 3 arguments
    __open_missing_mode ();
2013-10-21 18:29:53 +02:00
Kay Sievers
ca2871d9b0 bus: remove static introspection file export 2013-10-21 00:41:26 +02:00
David Strauss
70d8320978 Fix kmod error message to have correct version requirement 2013-10-17 13:19:29 -07:00
Tom Gundersen
a18535d9e1 static-nodes: don't call mkdir
This is no longer necessary with kmod-15. Bump the requirement.
2013-10-17 19:53:44 +02:00
Lennart Poettering
3990f24765 rfkill: add new rfkill tool to save/restore rfkill state across reboots
This works analogous to the existing backlight and random seed services
2013-10-14 04:31:49 +02:00
Auke Kok
8b197c3a8a Run with a custom SMACK domain (label).
Allows the systemd --system process to change its current
SMACK label to a predefined custom label (usually "system")
at boot time.

This is needed to have a few system-generated folders and
sockets automatically be created with the right SMACK
label. Without that, processes either cannot communicate with
systemd or systemd fails to perform some actions.
2013-10-07 10:23:20 -07:00
Lennart Poettering
cd4010b373 build-ss: prepare new release 2013-10-02 03:02:25 +02:00
Lennart Poettering
a3b6fafed4 hashmap: randomize hash functions a bit 2013-10-01 23:11:49 +02:00
Lennart Poettering
abaaabf40a build-sys: don't fallback to upstart defaults 2013-10-01 03:23:14 +02:00
Zbigniew Jędrzejewski-Szmek
f2ec0646ab build-sys: restore detection of sphinx 2013-09-27 08:24:08 +02:00
Zbigniew Jędrzejewski-Szmek
732bfe09ae build-sys: add ./configure --enable-address-sanitizer
Enabling address sanitizer seems like a useful thing, but is quite
tricky. Proper flags have to be passed to CPPFLAGS, CFLAGS and
LDFLAGS, but passing them on the commandline doesn't work because
we tests are done with ld directly, and not with libtool like in
real linking. We might want to fix this, but let's add a handy
way to enable address checking anyway.
2013-09-26 11:12:04 +02:00
Zbigniew Jędrzejewski-Szmek
1864b0e395 build-sys: don't build python modules after --without-python
The modules should build just fine, but AM_PATH_PYTHON sets
pkgpyexecdir for us. Without that variable we don't know where to
install modules. In addition libtool tries an empty rpath, breaking
the build. Those issues could be fixed or worked around, but we
probably don't have many people who want to avoid using python binary,
but want to compile python modules. If such uses ever come up, this
issue should be revisited.
2013-09-19 14:58:21 -04:00
Lennart Poettering
4f0be680b5 build-sys: prepare 207 2013-09-13 02:12:16 +02:00
Zbigniew Jędrzejewski-Szmek
5c390a4ae0 Add pam configuration to allow user sessions to work out of the box
systemd-logind will start user@.service. user@.service unit uses
PAM with service name 'systemd-user' to perform account and session
managment tasks. Previously, the name was 'systemd-shared', it is
now changed to 'systemd-user'.

Most PAM installations use one common setup for different callers.
Based on a quick poll, distributions fall into two camps: those that
have system-auth (Redhat, Fedora, CentOS, Arch, Gentoo, Mageia,
Mandriva), and those that have common-auth (Debian, Ubuntu, OpenSUSE).
Distributions that have system-auth have just one configuration file
that contains auth, password, account, and session blocks, and
distributions that have common-auth also have common-session,
common-password, and common-account. It is thus impossible to use one
configuration file which would work for everybody. systemd-user now
refers to system-auth, because it seems that the approach with one
file is more popular and also easier, so let's follow that.
2013-09-11 15:35:06 -04:00
Michael Marineau
4b357e1587 build-sys: Add configure check for linux/btrfs.h
btrfs.h was added to uapi in Linux 3.9. To fix building with older
header versions this adds a configure check for the header and re-adds
btrfs definitions to missing.h which was removed in bed2e820 along with
two other ioctls used by gpt-auto-generator.

[ Apparently, btrfs.h was only added recently:
  http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=55e301fd57a6239ec14b91a1cf2e70b3dd135194
  let's re-add it for now -- kay ]
2013-08-16 23:29:41 +02:00
Lennart Poettering
3731acf1ac backlight: add minimal tool to save/restore screen brightness across reboots
As many laptops don't save/restore screen brightness across reboots,
let's do this in systemd with a minimal tool, that restores the
brightness as early as possible, and saves it as late as possible. This
will cover consoles and graphical logins, but graphical desktops should
do their own per-user stuff probably.

This only touches firmware brightness controls for now.
2013-08-14 01:57:02 +02:00
William Giokas
4f87c47b35 zsh_completion: fix zsh completion installation
Moved zsh shell completion to shell-completion/zsh/_systemd for
automake's sake. Also allow users to specify where the files should go
with::

  ./configure --with-zshcompletiondir=/path/to/some/where

and by default going to `$datadir/zsh/site-functions`
2013-08-02 10:43:08 -04:00
Kay Sievers
7959ff9914 build-sys: support old glibc versions without clock_gettime() 2013-07-30 03:46:14 +02:00
Shawn Landden
fba1ea06bb build: do not link everything with -lrt (and therefore -pthread) 2013-07-30 02:35:36 +02:00
Zbigniew Jędrzejewski-Szmek
a6c0b31d50 build-sys: use pkg-config for python compilation flags
Python 2.7, and 3.2 and higher support querying compilation
flags through pkg-config. This makes python support follow
rules similar to various other optional compilation-time
libraries. New flags are called PYTHON_DEVEL_CFLAGS and
PYTHON_DEVEL_LIBS, because PYTHON (without _DEVEL), is
already used for the python binary name, and things would
be confusing if the same prefix was used for two things.
configure has --disable-python-devel to disable python modules.

One advantage is that CFLAGS for modules gets smaller:
- -I/usr/include/python3.3m -I/usr/include/python3.3m -Wno-unused-result -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv
+ -I/usr/include/python3.3m
as does LIBS:
- -lpthread -ldl -lutil -lm -lpython3.3m
+ -lpython3.3m

Support for Python 2.6 is removed, but can be easily
restored by using
PYTHON_DEVEL_CFLAGS="$(python2.6-config --cflags)",
etc., as ./configure parameters.

https://bugs.freedesktop.org/show_bug.cgi?id=57800
2013-07-26 11:28:15 -04:00
Lennart Poettering
251cc81942 build-sys: prepare 206 2013-07-23 01:32:36 +02:00
Zbigniew Jędrzejewski-Szmek
1070f974f7 systemd-python: fix iteration
Back in 6a58bf4135 raising stop iteration was removed from the C
code, but wasn't added in the Python counterpart.
2013-07-17 23:40:42 -04:00
Kay Sievers
ddc77f6224 switch from udev keymaps to hwdb 2013-07-16 16:22:01 +02:00
Zbigniew Jędrzejewski-Szmek
7801356442 build-sys: discover the path to kexec during build time
https://bugs.freedesktop.org/show_bug.cgi?id=55248
2013-07-15 23:20:56 -04:00
Jan Janssen
8cf3ca8068 cryptsetup: Add tcrypt support
Tcrypt uses a different approach to passphrases/key files. The
passphrase and all key files are incorporated into the "password"
to open the volume. So, the idea of slots that provide a way to
open the volume with different passphrases/key files that are
independent from each other like with LUKS does not apply.

Therefore, we use the key file from /etc/crypttab as the source
for the passphrase. The actual key files that are combined with
the passphrase into a password are provided as a new option in
/etc/crypttab and can be given multiple times if more than one
key file is used by a volume.
2013-07-16 01:24:31 +02:00
Thomas H.P. Andersen
6aea6d10f4 Add test coverage and generate report with lcov
Enable coverage with --enable-coverage.
"make coverage" will create the report locally,
"make coverage-sync" will upload the report to
http://www.freedesktop.org/software/systemd/coverage/.

Requires lcov version 1.10 to handle naming in systemd and to
use the --no-external option.

[zj: make the coverage at least generate something with
     separate build dir, simplify rules a bit: all errors
     are mine. ]
2013-07-13 21:56:33 -04:00
Zbigniew Jędrzejewski-Szmek
9f64229f9c Revert "build-sys: don't enable color gcc on dumb terminals"
This reverts commit cd3069559a.

Emacs compilation can be fixed by putting
(custom-set-variables
 '(compilation-environment (quote ("GCC_COLORS="))))
in ~/.emacs.
2013-07-12 13:24:06 -04:00
Lennart Poettering
cd3069559a build-sys: don't enable color gcc on dumb terminals
Guys, we know that emacs is the best editor on earth, but unfortunately
its "M-x compile" terminal cannot do colors (well, it does its own
highlighting of the output anyway), and it will inform the programs it
calls about this with TERM=dumb, and gcc should check for that. But you
guys turned that off. Not cool. Let's turn it on again.
2013-07-12 01:15:52 +02:00
Dave Reisner
e2ca86cf78 configure: split checks for libkmod >= 14
PKG_CHECK_EXISTS won't created a cached variable that later messes with
our PKG_CHECK_MODULES check for an explicit version. Unfortunately,
nesting these checks as the code existed lead to an odd error. Rather,
split the checks apart.

This also improves to the error message when the requisite version
isn't found, and supplies the literal version systemd needs.
2013-07-11 10:33:48 -04:00
Tom Gundersen
c495574096 configure: fail if out-of-date kmod found and kmod not disabled
Almost everyone wants kmod support, so don't fail silently if the libs are
out-of-date.

kmod can still be explicitly disabled and if it is not found at all, we still
default to disabling it.
2013-07-09 00:19:55 +02:00
Tom Gundersen
edeb68c53f static-nodes: move creation of static nodes from udevd to tmpfiles
As of kmod v14, it is possible to export the static node information from
/lib/modules/`uname -r`/modules.devname in tmpfiles.d(5) format.

Use this functionality to let systemd-tmpfilesd create the static device nodes
at boot, and drop the functionality from systemd-udevd.

As an effect of this we can move from systemd-udevd to systemd-tmpfiles-setup-dev:

 * the conditional CAP_MKNOD (replaced by checking if /sys is mounted rw)
 * ordering before local-fs-pre.target (see 89d09e1b5c)
2013-07-08 21:26:24 +02:00
Lennart Poettering
00aa832b94 build-sys: prepare v205 2013-07-03 16:33:53 +02:00
Lennart Poettering
1ee306e124 machined: split out machine registration stuff from logind
Embedded folks don't need the machine registration stuff, hence it's
nice to make this optional. Also, I'd expect that machinectl will grow
additional commands quickly, for example to join existing containers and
suchlike, hence it's better keeping that separate from loginctl.
2013-07-02 03:47:23 +02:00
Lennart Poettering
3d585edbb1 build-sys: we do not support --disable-largefile builds 2013-06-06 10:38:31 +02:00
Cristian Rodríguez
5e63ce78b5 build-sys: do not allow --enable static 2013-06-06 10:10:54 +02:00
Umut Tezduyar
6351163bf3 build-sys: option to disable tmpfiles 2013-06-02 11:12:14 +02:00
Zbigniew Jędrzejewski-Szmek
8de1fd281e build-sys: more pretty colors 2013-05-30 00:43:39 -04:00
Karol Lewandowski
2b3e18de74 Make it possible to disable smack separately from xattr support
Additionally, compile out rule loading if feature is disabled.
2013-05-17 09:58:28 -07:00
Zbigniew Jędrzejewski-Szmek
b37250d661 build-sys: fix gtkdocize check
gtkdocize: GTK_DOC_CHECK not called in configure.ac

Fixup for 6581f00f7e.
2013-05-14 22:26:48 -04:00
Zbigniew Jędrzejewski-Szmek
6581f00f7e build-sys: properly report missing gtk-doc
This brings the check for ENABLE_GTK_DOC in line with
HAVE_INTROSPECTION and other similar checks. Only
the status line that is printed with uninstalled
gtk-doc is changed.

https://bugs.freedesktop.org/show_bug.cgi?id=63108
2013-05-14 22:10:44 -04:00
Lennart Poettering
606c24e3bd build-sys: prepare 204 2013-05-09 15:45:50 +02:00
Lennart Poettering
2f3fcf85c5 build-sys: prepare new release 2013-05-06 23:43:59 +02:00
Cristian Rodríguez
45df1f2c9a build-sys: add --with-debug-shell=PATH
Distributions may have selinux but not sushell or might
need to set a custom debug shell.

Defaults to /sbin/sushell if selinux is enabled, /bin/sh if not.

[zj: Renamed --with-debugshelltty to --with-debug-tty, and
     added a line in output showing DEBUGSHELL and DEBUGTTY.
     I figure that debug shell is pretty useful, and I hope
     the extra line in configure status will draw attention
     to it.]
2013-04-25 22:26:58 -04:00
Evangelos Foutras
9d2d0fe1e3 build-sys: prevent library underlinking
Underlinking can cause subtle bugs like the recent issue with
libnss_myhostname (which was fixed in commit 1e335af7).
2013-04-19 18:15:45 -04:00
Lennart Poettering
ef3b524687 build-sys: prepare release 202 2013-04-19 00:41:24 +02:00
Henrik Grindal Bakken
cee22bd3cb buildsys: Add --disable-tests to avoid building tests
This patch adds --disable-tests to configure.  It is based on a patch
posted by Thierry Reding in 2010.  The motivation for adding it is that
some tests fail link-time when cross-compiling.

The patch adds a new Makefile variable -- manual_tests -- and uses
that instead of noinst_PROGRAMS.  However, if ENABLE_TESTS is true,
the former is added to the latter.  It also renames noinst_tests to
simply tests.
2013-04-18 17:15:59 +02:00
Martin Jansa
ac714a78fd configure: use AC_CHECK_TOOL for objcopy, strings and gperf
* using AC_PATH_TOOL does not allow to override it from shell environment
  which is useful when cross-compiling
* with external toolchain I have different HOST_PREFIX and HOST_SYS
  AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
  which is available only as ${TARGET_PREFIX}-objcopy then it tries
  objcopy without prefix which is found on host, but that objcopy
  does not work for !host (e.g. arm when building on x86) libs
2013-04-17 00:41:16 -04:00
Lennart Poettering
7211f918ba bus: make the kdbus code valgrind clean 2013-04-12 02:19:26 +02:00
Lennart Poettering
d3a86981d1 build-sys: prepare 201 2013-04-08 22:24:19 +02:00
Lennart Poettering
9ca3c17f20 build-sys: prepare release 200 2013-03-29 03:07:17 +01:00
Kay Sievers
d8d4bee76c build-sys: fix HAVE/ENABLE_FIRMWARE
https://bugs.freedesktop.org/show_bug.cgi?id=62864
2013-03-28 15:28:10 +01:00
Lennart Poettering
03e1151676 build-sys: bump version and .so revisions 2013-03-26 15:43:43 +01:00
Kay Sievers
5ec6b15b65 build-sys: add missing sed substitution for DEBUGTTY 2013-03-25 19:28:00 +01:00
Umut Tezduyar
d95fd3df59 build-sys: configurable debug shell tty path 2013-03-25 18:40:38 +01:00
Cristian Rodríguez
4ad61fd180 add --with-telinit=PATH configure option
Distributions that never shipped upstart do not have
"telinit" in /lib/upstart/..

Defaults to /lib/upstart/telinit so there is no change
for systems existing installs.
2013-03-23 01:44:56 +01:00
Zbigniew Jędrzejewski-Szmek
7cb2086695 build-sys: use _FORTIFY_SOURCE with new gcc level -Og 2013-03-21 22:39:23 -04:00
Lennart Poettering
de1c301ed1 bus: add basic implementation of a native bus client library 2013-03-20 23:00:09 +01:00
Jan Engelhardt
1f048a6b6b build-sys: fix typo in human-readable output 2013-03-20 16:21:34 +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
Lennart Poettering
01ec23582d build-sys: bump release and sonames 2013-03-07 21:53:53 +01:00
Michael Biebl
03c149144d build-sys: be more tolerant if dbus directories do not exist
use readlink -m instead of -f since we might be building in a minimal
chroot where those directories do not actually exist and readlink -f
would return an empty string.
2013-03-04 02:13:34 +01:00
Michael Biebl
5a37b9476f build-sys: resolve absolute path for the dbus directories
/usr/share/dbus-1/system-services simply looks a lot nicer then
/usr/share/dbus-1/services/../system-services
2013-03-04 01:47:19 +01:00
Michael Biebl
25ee45f995 build-sys: replace backticks `` with $()
for consistencies sake use $() everywhere
2013-03-04 01:46:03 +01:00
Michael Biebl
db059f1b03 build-sys: don't hard code bash-completion directory 2013-03-04 00:10:38 +01:00
Michael Biebl
6b7620431f build-sys: use $PKG_CONFIG instead of calling the pkg-config binary directly 2013-03-04 00:10:34 +01:00
Zbigniew Jędrzejewski-Szmek
37d3ab1b7e Merge branch 'python-systemd-reader'
* python-systemd-reader:
  python-systemd: rename Journal to Reader
  build-sys: upload python documentation to freedesktop.org
  systemd-python: add Journal class for reading journal
  python: build html docs using sphinx
  journalct: also print Python code in --new-id
  python: utilize uuid.UUID in logging
  python: add systemd.id128 module
  ... and 34 other commits

In short: python module systemd.id128 is added, and existing
systemd.journal gains a new class systemd.journal.Reader, which can be
used to iterate over journal entries. Documentation is provided, and
accessible under e.g.
    pydoc3 systemd.journal.Reader
or
    firefox http://www.freedesktop.org/software/systemd/man/python-systemd/
2013-02-28 20:05:12 -05:00
Zbigniew Jędrzejewski-Szmek
603c0b7b14 build-sys: make sphinx support uncoditional
It needs to be invoked explicitly, so there's no need to check
explicitly.
2013-02-28 20:04:17 -05:00
Tom Gundersen
317c96d944 debug-shell: don't be picky, use /bin/sh rather than /bin/bash
In a minimal initramfs, one might not always have the full bash available.
Typically if using busybox.
2013-02-25 15:08:36 +01:00
Zbigniew Jędrzejewski-Szmek
9015fa646e python: build html docs using sphinx
Build instructions:
   make
   make DESTIDIR=/tmp/... install
   make DESTIDIR=/tmp/... sphinx-html sphinx-man sphinx-epub ...
2013-02-22 16:57:43 +01:00
Lennart Poettering
b872e9a059 build-sys: make EFI support build-time optional 2013-02-13 23:08:25 +01:00
Lennart Poettering
46ba8aae2b build-sys: make PolicyKit support compile-time optional (was runtime-optional already) 2013-02-13 23:08:25 +01:00
Zbigniew Jędrzejewski-Szmek
6fc00209d5 build-sys: disable tests in po/, docs/ with separate build dir
Both gtk-doc and intltoolize have problems with VPATH builds.
"Creatively" disable tests when configuring from outside the
source directory.

This more-or-less reverts 9795da43c.
2013-02-13 01:05:28 -05:00
Zbigniew Jędrzejewski-Szmek
c937e0d5c5 build-sys: add -U_FORTIFY_SOURCE to $PYTHON_CFLAGS when necessary
This patch only adds one line, but moves python detection
after cflags detection, so the result of the latter can
be used in the former.

$PYTHON_CFLAGS usually includes -D_FORTIFY_SOURCE, which will generate
a warning when compiling without optimization. Avoid by undefining
_FORTIFY_SOURCE.
2013-02-11 01:21:14 -05:00
Zbigniew Jędrzejewski-Szmek
c3e31c7ba1 Replace autoconf int max test with simple define 2013-01-22 23:20:15 -05:00
Kay Sievers
780040dc2a configure.ac: combine --Wformat* options into one argument
https://bugs.freedesktop.org/show_bug.cgi?id=59621
2013-01-23 02:12:48 +01:00
Zbigniew Jędrzejewski-Szmek
d6a195a3c3 build-sys: add autoconf macro to pick macro for x32 compatibility 2013-01-18 17:04:50 -05:00
Zbigniew Jędrzejewski-Szmek
6a17986542 build-sys: use _FORTIFY_SOURCE only if optimizing
Rather then force the user to undefine _FORTIFY_SOURCE,
don't define it in the first place if it cannot be used.

I'm assuming that -O* can only be sensibly specified in $CFLAGS.
2013-01-11 10:03:16 -05:00
Lennart Poettering
dee4c24425 build-sys: fix spelling of sysvrcndir 2013-01-08 02:37:37 +01:00
Lennart Poettering
71c474864c build-sys: bump version and so revisions 2013-01-08 01:42:41 +01:00
Kay Sievers
8666abb452 build-sys: disable static libraries 2013-01-07 23:48:43 +01:00
Auke Kok
83fdc450aa bootchart: merge bootchart
Bootchart is renamed to 'systemd-bootchart' and installed as
/usr/lib/systemd/systemd-bootchart. The configuration file
will reside in /etc/systemd/bootchart.conf.
2013-01-07 23:48:43 +01:00
Lennart Poettering
f8c5a5815f build-sys: fix help text for --disable-myhostname 2013-01-07 22:16:07 +01:00
Tom Gundersen
d562955eac nss-myhostname: integrate into systemd buildsystem
Note that there are still some rome for cleanups. In particular,
the .la files are now installed, which we probably don't want; and
some of the macros in Makefile.am are likely redundan.
2013-01-07 15:15:57 +01:00
Zbigniew Jędrzejewski-Szmek
b86d11da80 build-sys: use full path to python in scripts
Commit c4eb236a2c didn't take into account the situation when the user
sets e.g. PYTHON=python3 (without the full path).  This value would
then be used verbatim for PYTHON_BINARY and in she-bang lines in
scripts, which is incorrect. To fix this, $PYTHON is passed through
which, which expands the path.  If $PYTHON_BINARY is desired which is
not installed on the build system, then PYTHON_BINARY must be set
separately.
2013-01-05 13:19:38 -05:00
Zbigniew Jędrzejewski-Szmek
d66ee73a3d build-sys: fix message about gintrospection
When gobject-introspection-devel was not available, the message
was missing the yes/no part
2013-01-04 22:52:32 -05:00
Zbigniew Jędrzejewski-Szmek
2f4da3e6c2 systemd-analyze: use specified binary, add --version
Python binary used in the she-bang line in installed
scripts can be set with ./configure PYTHON_BINARY=...
Defaults to the same path as python used during compilation.

Adding --version makes systemd-analyze behave consistently with the
rest of installed programs.

The lines in ./configure output are reordered to keep all yes/no lines
separate.  I think that this makes the output clearer.
2013-01-04 22:20:35 -05:00
Lennart Poettering
bc2708414b build-sys: drop all distribution specfic checks
Yay, we now have a completely generic systemd. No distribution specific checks anymore!
2013-01-04 23:26:21 +01:00
Lennart Poettering
a382332eed build-sys: make path of loadkeys/setfont configurable in configure 2013-01-04 23:26:21 +01:00
Lennart Poettering
77e68fa2f0 systemctl: enable chkconfig compat only if chkconfig is found rather than based on distro 2013-01-04 23:26:21 +01:00
Lennart Poettering
b1c4ca25bf build-sys: make rc-local support part of SYSV compat
This also drops automatic selection of the rc local scripts
based on the local distro. Distributions now should specify the paths
of the rc-local and halt-local scripts on the configure command line.
2013-01-04 23:26:20 +01:00
Lennart Poettering
0979f2855c build-sys: drop TARGET_UBUNTU
TARGET_UBUNTU is effectively the same as TARGET_DEBIAN. Given the Ubuntu
is unlikely to use systemd anytime soon there's no point in keeping this
separate.
2012-11-24 00:24:46 +01:00
Lennart Poettering
0428ddb729 build-sys: prepare 196 2012-11-21 01:37:11 +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
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
Michal Schmidt
e17187091d configure.ac: fix FTBFS with new glibc
glibc moved clock_* functions from librt to the core libc. As a result,
clock_gettime is no more a suitable symbol to use when finding librt.
Look for mq_open instead.
Reference:
http://www.sourceware.org/git/gitweb.cgi?p=glibc.git&h=6e6249d0b461b952d0f544792372663feb6d792a

Fixes a FTBFS in Fedora Rawhide.
2012-11-14 14:46:15 +01:00
Zbigniew Jędrzejewski-Szmek
568c7e0237 systemd-python: use python${PYTHON_VERSION}-config as python-config
This is the usual setup, where pythonX.Y and pythonX.Y-config go
together. Using python-config with python3 will only lead to
confusion.

--libs is changed to --ldflags, since the latter also includes other
required flags like -L<dir>.

The tests for HAVE_PYTHON and HAVE_PYTHON_DEVEL are separated. It is
possible to have python development libraries installed without the
binary (or to want to build python modules without using python during
the build).

A line is added to the output, to show what flags will be used for
python.
2012-11-13 02:32:56 +01:00
Kay Sievers
796b06c21b udev: add hardware database support 2012-10-23 16:43:32 +02:00
Zbigniew Jędrzejewski-Szmek
59bb9d9a14 build-sys: add check for microhttpd version 2012-10-23 15:35:34 +02:00
Lennart Poettering
139ee8cc31 build-sys: prepare 195 2012-10-23 00:12:33 +02:00
Dave Reisner
c1c02e07ed configure.ac: fix typo in fallback value for KILL 2012-10-21 08:33:33 -04: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
fb0951b02e journal: implement time-based rotation/vacuuming
This also enables time-based rotation (but not vacuuming) after 1month,
so that not more one month of journal is lost at a time per vacuuming.
2012-10-16 22:58:07 +02:00
Wulf C. Krueger
78fbaacac0 configure.ac: Add a --without-python option.
Being able to be explicit about Python support (in addition to the
default of auto-detecting it) and acting upon the result, specifying
it as an option gains us more control about both dependencies and
the resulting build.

Furthermore, relying purely on auto-detection can lead to problems for
source-based distros. E. g. systemd being built before *both* 32-bit &
64-bit ABIs are installed will lead to build failures as systemd's
build system will pick up either 32-/64-bit Python, conclude both are
available and fail if that's not the case.
2012-10-16 02:24:31 +02:00
Michael Olbrich
9388e99e20 build-sys: check for name_to_handle_at declaration instead of its definition
AC_CHECK_FUNCS may be successful, even though name_to_handle_at and
'struct file_handle'  are not available.
2012-10-16 01:30:29 +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
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
a2807ac2e0 build-sys: bump revision 2012-09-27 17:18:38 +02:00
Lennart Poettering
b6a867398d build-sys: prepare release 191 2012-09-21 23:37:06 +02:00
Lennart Poettering
0c11f949db build-sys: prepare v190 2012-09-20 18:54:20 +02:00
Jan Engelhardt
3f8cc098d2 build-sys: require certain version of libselinux
./.libs/libsystemd-core.a(libsystemd_core_la-selinux-access.o):
In function "selinux_access_check":
src/core/selinux-access.c:487: undefined reference to
"selinux_check_access"
2012-09-20 11:10:49 +02:00
Zbigniew Jędrzejewski-Szmek
4db17f291c build-sys: __secure_getenv lost dunder in libc 2.17 2012-09-17 00:21:25 +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
a8348796c0 missing: define name_to_handle_at on our own if it is missing 2012-09-04 15:30:24 -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
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
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
Lennart Poettering
c269cec334 build-sys: prepare release 188 2012-08-08 21:49:01 +02:00
Lennart Poettering
c1663b9daf build-sys: pass param to stack protector 2012-08-08 12:27:10 +02:00
Lennart Poettering
d88c952c3a build-sys: drop obsolete gcc switch 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
18c7ed186b journal: add sd_journal_perror() to API 2012-08-01 19:53:23 +02:00
Zbigniew Jędrzejewski-Szmek
c87f7103fe build-sys: hide error message from grep 2012-07-22 23:34:31 +02:00
Lennart Poettering
c4f1b86299 build-sys: prepare 187 2012-07-20 00:38:02 +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
Tom Gundersen
880a599e26 cryptsetup: add keyfile-offset= support
This is useful if your keyfile is a block device, and you want to
use a specific part of it, such as an area between the MBR and the
first partition.

This feature is documented in the Arch wiki[0], and has been supported
by the Arch initscripts, so would be nice to get this into systemd.

This requires libcryptsetup >= 1.4.2 (released 12.4.2012).

Acked-by: Paul Menzel <paulepanter@users.sourceforge.net>

[0]:
<https://wiki.archlinux.org/index.php/System_Encryption_with_LUKS#
Storing_the_key_between_MBR_and_1st_partition>
2012-07-09 22:07:52 +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
e88dcb8f77 build-sys: bump version 2012-07-02 23:21:51 +02:00
Colin Guthrie
fbf5b12653 mageia: Correct usage of M4_DEFINES vs. M4_DISTRO_FLAG.
This seems to have been a problem since mageia support was merged,
as upstream had changed how this bit worked without us realising.
2012-07-02 11:52:22 +02:00
Tom Gundersen
4bf43a32a9 arch: drop sysvcompat support
Our downstream generator takes care of all the sysvcompat support we need.
2012-06-10 17:33:34 +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
Kay Sievers
2d1972857b build-sys: release 185 2012-06-04 20:15:16 +02:00
Lennart Poettering
4c8cd17330 build-sys: prepare release 184 2012-05-31 01:58:01 +02:00
Lennart Poettering
9262a51946 build-sys: prepare release 183 2012-05-24 15:44:38 +02:00
Kay Sievers
9a203affa6 build-sys: use libpci's pkgconfig file to find the pci.ids file 2012-05-22 02:35:44 +02:00
Kay Sievers
6e92b23f0d build-sys: support build-from-git without gobject-introspection 2012-05-15 15:05:36 +02:00
Kay Sievers
66be655480 autogen.sh: undef _FORTIFY_SOURCE, which now logs warnings when used with -O0 2012-05-08 02:51:26 +02:00
Javier Jardón
9e45e7d8f0 docs: do not generate tmpl files
Its not needed as all the documentation is inline source code,
not in separate *.tmpl files
2012-04-19 16:21:09 +02:00
Kay Sievers
80a5cbace4 build-sys: silence gtk-doc check, remove gtk-doc options from configure and distcheck 2012-04-17 17:11:02 +02:00
Javier Jardón
92ec4495f7 build-sys: make gtk-doc dependency optional 2012-04-17 17:01:21 +02:00
Javier Jardón
a80db8bd5f configure.ac: Use a auxiliar directory to store autogenerated files 2012-04-17 16:02:36 +02:00
Javier Jardón
4e949c11a1 configure.ac: Use the new autoconf field to set the project webpage 2012-04-17 16:01:08 +02:00
Kay Sievers
bb061708d5 udev: move libudev, gudev to src/; move gudev/docs/, udev/docs/ to to docs/ 2012-04-13 19:22:06 +02:00
Kay Sievers
0eaeca1f23 udev: use native instead of custom --disable-introspection logic 2012-04-13 12:49:51 +02:00
Marc-Antoine Perennou
d5449fdcc5 udev: gudev - rework introspection generation 2012-04-12 13:12:06 +02:00
Kay Sievers
78a825f216 rename machine-id-main.c tomacht the binary and move main.c to core/ 2012-04-12 13:12:06 +02:00