chiark / gitweb /
systemd-hwdb: introduce new tool
[elogind.git] / Makefile.am
index 15e4484dd14b4e9ede536f4573f3760b25cc0536..2c9c5e30416082b27bb442ec81091e776ad95c8e 100644 (file)
@@ -542,7 +542,7 @@ nodist_systemunit_DATA = \
        units/systemd-udevd.service \
        units/systemd-udev-trigger.service \
        units/systemd-udev-settle.service \
-       units/systemd-udev-hwdb-update.service \
+       units/systemd-hwdb-update.service \
        units/debug-shell.service \
        units/initrd-parse-etc.service \
        units/initrd-cleanup.service \
@@ -868,6 +868,8 @@ libsystemd_shared_la_SOURCES = \
        src/shared/audit.h \
        src/shared/xml.c \
        src/shared/xml.h \
+       src/shared/json.c \
+       src/shared/json.h \
        src/shared/bus-label.c \
        src/shared/bus-label.h \
        src/shared/gpt.h \
@@ -891,7 +893,9 @@ libsystemd_shared_la_SOURCES = \
        src/shared/memfd-util.h \
        src/shared/uid-range.c \
        src/shared/uid-range.h \
-       src/shared/nss-util.h
+       src/shared/nss-util.h \
+       src/shared/btrfs-util.c \
+       src/shared/btrfs-util.h
 
 if HAVE_UTMP
 libsystemd_shared_la_SOURCES += \
@@ -1250,7 +1254,7 @@ src/shared/cap-list.txt:
        $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/capability.h -include missing.h - </dev/null | $(AWK) '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $$2; }' | grep -v CAP_LAST_CAP >$@
 
 src/shared/cap-to-name.h: src/shared/cap-list.txt
-       $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
+       $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, tolower($$1) } END{print "};"}' <$< >$@
 
 src/shared/cap-from-name.gperf: src/shared/cap-list.txt
        $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct capability_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@
@@ -1319,7 +1323,8 @@ manual_tests += \
        test-install \
        test-watchdog \
        test-log \
-       test-ipcrm
+       test-ipcrm \
+       test-btrfs
 
 if HAVE_KMOD
 manual_tests += \
@@ -1363,6 +1368,7 @@ tests += \
        test-tables \
        test-device-nodes \
        test-xml \
+       test-json \
        test-architecture \
        test-socket-util \
        test-fdset \
@@ -1683,6 +1689,13 @@ test_xml_SOURCES = \
 test_xml_LDADD = \
        libsystemd-shared.la
 
+test_json_SOURCES = \
+       src/test/test-json.c
+
+test_json_LDADD = \
+       libsystemd-shared.la \
+       -lm
+
 test_list_SOURCES = \
        src/test/test-list.c
 
@@ -1756,6 +1769,12 @@ test_ipcrm_LDADD = \
        libsystemd-shared.la \
        -lrt
 
+test_btrfs_SOURCES = \
+       src/test/test-btrfs.c
+
+test_btrfs_LDADD = \
+       libsystemd-shared.la
+
 test_rtnl_manual_SOURCES = \
        src/test/test-rtnl-manual.c
 
@@ -2709,7 +2728,7 @@ libsystemd_internal_la_SOURCES = \
        src/libsystemd/sd-network/network-util.c \
        src/libsystemd/sd-hwdb/sd-hwdb.c \
        src/libsystemd/sd-hwdb/hwdb-util.h \
-       src/libsystemd/sd-hwdb/hwdb-intenal.h
+       src/libsystemd/sd-hwdb/hwdb-internal.h
 
 nodist_libsystemd_internal_la_SOURCES = \
        src/libsystemd/libsystemd.sym
@@ -3170,15 +3189,15 @@ nodist_userunit_DATA += \
 USER_DEFAULT_TARGET_WANTS += \
        systemd-consoled.service
 
-EXTRA_DIST += \
-       units/user/systemd-consoled.service.in
-
 tests += \
        test-term-page \
        test-term-parser \
        test-unifont
 endif
 
+EXTRA_DIST += \
+       units/user/systemd-consoled.service.in
+
 libsystemd_terminal_la_CFLAGS = \
        $(AM_CFLAGS) \
        $(TERMINAL_CFLAGS)
@@ -3323,7 +3342,6 @@ libudev_la_SOURCES =\
        src/libudev/libudev-enumerate.c \
        src/libudev/libudev-monitor.c \
        src/libudev/libudev-queue.c \
-       src/libudev/libudev-hwdb-def.h \
        src/libudev/libudev-hwdb.c
 
 libudev_la_CFLAGS = \
@@ -3382,8 +3400,7 @@ libudev_internal_la_CFLAGS = \
 
 # ------------------------------------------------------------------------------
 INSTALL_DIRS += \
-       $(sysconfdir)/udev/rules.d \
-       $(sysconfdir)/udev/hwdb.d
+       $(sysconfdir)/udev/rules.d
 
 dist_network_DATA = \
        network/99-default.link \
@@ -3411,20 +3428,6 @@ dist_udevrules_DATA += \
 nodist_udevrules_DATA += \
        rules/99-systemd.rules
 
-dist_udevhwdb_DATA = \
-       hwdb/20-pci-vendor-model.hwdb \
-       hwdb/20-pci-classes.hwdb \
-       hwdb/20-usb-vendor-model.hwdb \
-       hwdb/20-usb-classes.hwdb \
-       hwdb/20-sdio-vendor-model.hwdb \
-       hwdb/20-sdio-classes.hwdb \
-       hwdb/20-bluetooth-vendor-product.hwdb \
-       hwdb/20-acpi-vendor.hwdb \
-       hwdb/20-OUI.hwdb \
-       hwdb/20-net-ifname.hwdb \
-       hwdb/60-keyboard.hwdb \
-       hwdb/70-mouse.hwdb
-
 udevconfdir = $(sysconfdir)/udev
 dist_udevconf_DATA = \
        src/udev/udev.conf
@@ -3444,14 +3447,12 @@ CLEANFILES += \
 EXTRA_DIST += \
        units/systemd-udevd.service.in \
        units/systemd-udev-trigger.service.in \
-       units/systemd-udev-settle.service.in \
-       units/systemd-udev-hwdb-update.service.in
+       units/systemd-udev-settle.service.in
 
 CLEANFILES += \
        units/systemd-udevd.service \
        units/systemd-udev-trigger.service \
-       units/systemd-udev-settle.service \
-       units/systemd-udev-hwdb-update.service
+       units/systemd-udev-settle.service
 
 SOCKETS_TARGET_WANTS += \
        systemd-udevd-control.socket \
@@ -3459,8 +3460,7 @@ SOCKETS_TARGET_WANTS += \
 
 SYSINIT_TARGET_WANTS += \
        systemd-udevd.service \
-       systemd-udev-trigger.service \
-       systemd-udev-hwdb-update.service
+       systemd-udev-trigger.service
 
 rootbin_PROGRAMS += \
        udevadm
@@ -3581,10 +3581,49 @@ udevadm_SOURCES = \
 udevadm_LDADD = \
        libudev-core.la
 
+# ------------------------------------------------------------------------------
+INSTALL_DIRS += \
+       $(sysconfdir)/udev/hwdb.d
+
+systemd_hwdb_SOURCES = \
+       src/libsystemd/sd-hwdb/hwdb-internal.h \
+       src/hwdb/hwdb.c
+
+systemd_hwdb_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-internal.la \
+       libudev-internal.la
+
+rootbin_PROGRAMS += \
+       systemd-hwdb
+
+dist_udevhwdb_DATA = \
+       hwdb/20-pci-vendor-model.hwdb \
+       hwdb/20-pci-classes.hwdb \
+       hwdb/20-usb-vendor-model.hwdb \
+       hwdb/20-usb-classes.hwdb \
+       hwdb/20-sdio-vendor-model.hwdb \
+       hwdb/20-sdio-classes.hwdb \
+       hwdb/20-bluetooth-vendor-product.hwdb \
+       hwdb/20-acpi-vendor.hwdb \
+       hwdb/20-OUI.hwdb \
+       hwdb/20-net-ifname.hwdb \
+       hwdb/60-keyboard.hwdb \
+       hwdb/70-mouse.hwdb
+
+EXTRA_DIST += \
+       units/systemd-hwdb-update.service.in
+
+CLEANFILES += \
+       units/systemd-hwdb-update.service
+
+SYSINIT_TARGET_WANTS += \
+       systemd-hwdb-update.service
+
 # Update hwdb on installation. Do not bother if installing
 # in DESTDIR, since this is likely for packaging purposes.
 hwdb-update-hook:
-       -test -n "$(DESTDIR)" || $(rootbindir)/udevadm hwdb --update
+       -test -n "$(DESTDIR)" || $(rootbindir)/systemd-hwdb update
 
 INSTALL_DATA_HOOKS += \
        hwdb-update-hook
@@ -5263,6 +5302,7 @@ libsystemd_networkd_core_la_SOURCES = \
        src/network/networkd-address.c \
        src/network/networkd-route.c \
        src/network/networkd-manager.c \
+       src/network/networkd-fdb.c \
        src/network/networkd-address-pool.c
 
 nodist_libsystemd_networkd_core_la_SOURCES = \