This commit makes sure that src/gudev/gudevprivate.h is included
in the distribution, fixing a failure in building gudev with
`make distcheck`. There's also some code cleanup and migration
of all configurable paths to the main configure.ac file.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit the related issues of building gudev with/out
introspection. It draws on suggestions from nvinson in
https://github.com/gentoo/eudev/pull/20
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
We move the test-udev.c and test-libudev.c from src/test to test.
This corrects the a problem with hard coded relative paths finding
the test/test/sys directory created by test/udev-test.pl.
This commit draws heavily from nvinson patch in
https://github.com/gentoo/eudev/pull/20
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit is a continuation of the previous one in which all the configured
paths obtained in configure.ac are propagated to the Makefile.am and .c files
via AM_CPPFLAGS of the form -DUDEV_CONF_FILE=\"$(udevconffile)\". This should
address the issue in
https://github.com/gentoo/eudev/issues/17
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The configuration of the installation paths for various components
was scattered between the main configure.ac file and the various
Makefile.am's. These components are: udev config file, hwdb, keymaps
and force-release keymaps and the rules. This commit consolidates
them all into one point in configure.ac and anticipates the inclusion
of new AM_CPPFLAGS of the form -DHWDB_BIN=@udevhwdbdir@ as upstream
has done, so it is easier to address issues like:
https://github.com/gentoo/eudev/issues/17
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The original checks for python were to build some man pages and
for systemd-python. These checks are no longer relevant. There
still is a dependency on python for tests but this is checked by
test/rules-test.sh which tests for python or skips. Also, there
is a dependency on perl for both tests and hwdb. These checks can
be reintroduced at a future date when re revisit both.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The GTK_DOC_CHECK macro includes AC_ARG_ENABLE/AS_HELP_STRING etc
for --enable-gtk-doc and there is no need for a second check.
One caveat should be noted: GTK_DOC_CHECK must begin the line for
gtkdocize to recognize its presense in configure.ac.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
The keys/keymap test preformed by src/keymap/check-keymaps.sh must
find both keys.txt and the keymap directory. When building out of
the source tree, eg when doing `make distcheck`, these are located
at ${top_builddir}/src/keymap/keys.txt and ${top_srcdir}/keymap/,
respectively. This patch fixes the build so that these are now
correctly found.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
This commit reintroduces code to
1) build src/keymap
2) test keymap/Makefile.am that it has all the key maps listed
3) test that all the key names in keymap/* are in <linux/input.h>
4) do a syntax check on rules/*.rules which now includes
95-keymap.rules and 95-keyboard-force-release.rules
For #4, the regex expressions in rule-syntax-check.py had to be
updated. They do not allow trailing comments via # comment, and
I did not include that. A rule in 95-keymap.rules had to have its
comment moved from the end to another line.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Changes to rules were introduced by
7c2dee4a4d while builtin-blkid support was
introduced in other commits. The removal of systemd resulted in this
code causing linker errors. This code adds complexity with no clear
benefit, so we remove it.
Signed-off-by: Richard Yao <ryao@gentoo.org>
Changes to rules were introduced by
06316d9f1a while kmod support was
introduced in other commits. A ton of commits were made involving kmod
and it is quite clear that it is broken, so we remove it.
This changes our rules to depend on modprobe. As long as the modprobe
binary is in /, and not /usr, udev module loading should function
properly.
Signed-off-by: Richard Yao <ryao@gentoo.org>
The original Makefile.am was drawn to the top level. This commit
breaks it out into the various directories with SUBDIRS connecting
them. This makes each directory easier to maintain.
This is the first pass attempting to keep as much of the build system
as is necessary for only udev from the fork. Emphasis was given to
configure.ac. Gutting had to be done to Makefile.am but this needs
work to be broken out into SUBDIR Makefile.am which each address those
pieces.
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.
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.
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/
./.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"
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.
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>
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.
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.
We finally got the OK from all contributors with non-trivial commits to
relicense systemd from GPL2+ to LGPL2.1+.
Some udev bits continue to be GPL2+ for now, but we are looking into
relicensing them too, to allow free copy/paste of all code within
systemd.
The bits that used to be MIT continue to be MIT.
The big benefit of the relicensing is that closed source code may now
link against libsystemd-login.so and friends.
This is an S/MIME signed message
The new function ima_setup() loads an IMA custom policy from a file in the
default location '/etc/ima/ima-policy', if present, and writes it to the
path 'ima/policy' in the security filesystem. This function is executed
at early stage in order to avoid that some file operations are not measured
by IMA and it is placed after the initialization of SELinux because IMA
needs the latter (or other security modules) to understand LSM-specific
rules. This feature is enabled by default and can be disabled by providing
the option '--disable-ima' to the configure script.
Signed-off-by: Roberto Sassu <roberto.sassu@polito.it>
Acked-by: Gianluca Ramunno <ramunno@polito.it>
The text mode welcome message will only show the distro name stored
in /etc/os-release and no longer read any distro-specific files. If
/etc/os-release does not exist, 'Linux' will be printed.
When the source tree is is ./configure'd, only /etc-os-release is read
to guess the distro to build for. If /etc/os-release does not exist,
--with-distro= needs to be specified.
The way the various properties[] arrays are initialized is inefficient:
- only the .data members change at runtime, yet the whole arrays of
properties with all the fields are constructed on the stack one by
one by the code.
- there's duplication, eg. the properties of "org.freedesktop.systemd1.Unit"
are repeated in several unit types.
Fix it by moving the information about properties into static const
sections. Instead of storing the .data directly in the property, store
a constant offset from a run-time base.
The small arrays of struct BusBoundProperties bind together the constant
information with the right runtime information (the base pointer).
On my system the code shrinks by 60 KB, data increases by 10 KB.
This patch adds support for the Mageia Linux distribution:
http://www.mageia.org/
Mageia is a fork of Mandriva although some divergence has already occured
and thus inclusion of these changes upstream allow us to (hopefully)
migrate more rapidly to the new standard approaches systemd offers.
Indeed, we already use the preferred mechanism of OS identification via
the /etc/os-release file rather than a distro specific variation.
This patch mostly mirrors the patch added previously for Mandriva
support. In addition to those original authors, this patch was mostly
written by Dexter Morgan with help from Colin Guthrie and Eugeni Dodonov.