Re: [systemd-devel] [PATCH] Change CONFIG_FW_LOADER_USER_HELPER to default n and don't select it
On Tue, Aug 06, 2013 at 11:17:17AM +0200, Tom Gundersen wrote: On Tue, Aug 6, 2013 at 11:11 AM, Tom Gundersen t...@jklm.no wrote: On Tue, Aug 6, 2013 at 10:20 AM, Maarten Lankhorst m.b.lankho...@gmail.com wrote: Op 05-08-13 18:29, Andy Lutomirski schreef: The systemd commit below can delay firmware loading by multiple minutes if CONFIG_FW_LOADER_USER_HELPER=y. Unfortunately no one noticed that the systemd-udev change would break new kernels as well as old kernels. Since the kernel apparently can't count on reasonable userspace support, turn this thing off by default. commit a3bd8447be4ea2ce230eb8ae0e815c04d85fa15a Author: Tom Gundersen t...@jklm.no Date: Mon Mar 18 15:12:18 2013 +0100 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. methinks this patch should be reverted then, Well, all the code is still there, so it can be enabled if anyone wants it. or a stub should be added to udev to always fail firmware loading so timeouts don't occur. I think the only use (if any) of a userspace firmware loader would be for anyone who wants a custom one (i.e., not udev), so we shouldn't just fail the loading from udev unconditionally. How about we just improve the udev documentation a bit, similar to Andy's kernel patch? Sorry, I should first have checked. We already document this in the README: Userspace firmware loading is deprecated, will go away, and sometimes causes problems: CONFIG_FW_LOADER_USER_HELPER=n ...And this patch is making the kernel default to the correct behavior, instead of the now-broken-by-udev behavior. I'm not sure I see the issue with it? :-) (Add me to the list of people that think udev is broken too, fwiw. But let's at least not leave *both* sides in a broken-by-default state.) ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 3/6] nss-myhostname: integrate into systemd buildsystem
Alexander E. Patrakov wrote: 2013/1/7 Bryan Kadzban br...@kadzban.is-a-geek.net: Untrue. They're perfectly useful for dynamic linking as well: http://www.sourceware.org/autobook/autobook/autobook_68.html#SEC68 Second paragraph. Also the page several sections after this one, about installing a shared library with libtool. Unfortunately, on linux, libtool's la files are actively harmful for multilib setup and _must_ be removed (ideally, upstream) if possible. They represent an unsolvable problem in the following case: * you are on amd64 * libfoo is built both as 64-bit and 32-bit library and has a *.la file at least in in /usr/lib64 * you are trying to link a 32-bit program as follows: libtool --mode=compile --tag=CC gcc -m32 test.c -c -o test.lo libtool --mode=link --tag=CC gcc -m32 test.lo -lfoo -o test I've seen a sort-of-inverse of that break (though not permanently fail) before, when the system is not multilib (64-bit only). If, when the .la file was installed, --libdir was /usr/lib, and that directory was a symlink to lib64, then libtool complains about the file having been moved because it finds it in /usr/lib64 first. But that's different than what you're describing, and I had not run into the situation you describe. That's despite having built lots and lots of libraries as both 32-bit and 64-bit (with proper --libdir args for each, doing 64-bit last to overwrite installed 32-bit binaries, and special handling of *-config scripts to look at an environment variable to decide which bit width script to execute to pick up the right flags), and having linked against them, on the system I'm currently running. Haven't ever had this happen. I *suppose* that might be because pkg-config or some equivalent fixes it up somehow, pointing to the .la files directly. Or maybe -L affects this somehow. Well that sucks. :-) Sigh. Surely you don't want create a problem for distributions that want to build various systemd libraries both for 64 and 32 bits, do you? Not really. I assumed libtool handled multilib the same way gcc did. Figures that it doesn't. :-/ Argh. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 3/6] nss-myhostname: integrate into systemd buildsystem
Tollef Fog Heen wrote: ]] Tom Gundersen This was what the old nss-myhostname did. Lennart: any good reason to exclude the .la or should nss-myhostname be treated the same as the other libs? .la files are only useful for static linking. Untrue. They're perfectly useful for dynamic linking as well: http://www.sourceware.org/autobook/autobook/autobook_68.html#SEC68 Second paragraph. Also the page several sections after this one, about installing a shared library with libtool. (I hold that static linking in general is a bad idea and .la files should just go away entirely on Linux, but this is not a universally held opinion.) No, because that opinion would defeat the whole purpose of libtool, which is to have a single interface (in terms of commands that get run) that's portable both across Unix-like OSes, and across shared vs. static libraries by adding one flag. On Linux the .la files are probably not necessary for shared libs, no -- but using libtool to find them still is, if the code ever expects to compile on another system. And not everyone has the systemd all the world is Linux viewpoint; some projects can't afford to be that fragmentary toward other Unix implementations. On the other hand, if nothing else ever has to link against this library (if it's an nss provider in glibc for instance), then sure, kill the .la file. But be sure it isn't needed first. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] execute: Fix seccomp support on x32
microcai wrote: 2012/8/4 Lennart Poettering lenn...@poettering.net: On Tue, 24.07.12 22:45, Jonathan Callen (a...@gentoo.org) wrote: In the x32 ABI, syscall numbers start at 0x4000. Mask that bit on x32 for lookups in the syscall_names array and syscall_filter and ensure that syscall.h is parsed correctly. Hmpf, can't say I find this patch particularly beautiful? Can we solve this differently? For example, I'd be open to replace the direct seccomp code in systemd by some code based on libseccomp (now that libseccomp actually fixed its static global state issues). That way we should get this portability for free? looks like some source-based distro will blame you again :) libseccomp uses pkg-config, so it's much less of a problem IMO; SECCOMP_CFLAGS= SECCOMP_LIBS= will allow configure to at least finish properly if the library is not present. (Whether the system builds at all in this case is of course an issue that anyone sending those params to ./configure will have to deal with.) ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] Always populate EXTRA_DIST
Lennart Poettering wrote: On Thu, 07.06.12 23:24, Bryan Kadzban (br...@kadzban.is-a-geek.net) wrote: Bryan Kadzban wrote: make dist can build a different tarball depending on the flags passed to ./configure and the (optional) dependencies found on the system. Move all append-to-EXTRA_DIST operations out of automake conditionals to fix this. Introduce a polkitpolicy_files so that the policy files built still correctly depend on the automake conditionals, but the .in files that get distributed do not. Signed-Off-By: Bryan Kadzban bryan.kadzban.is-a-geek.net Arg, always compile-check. Tested, this time. v2, fixing warnings about polkitpolicy_files not being defined. Looks good, but could you rebase this to current master? Will apply then. v3, rebased. (Finally got time to do this.) diff --git a/Makefile.am b/Makefile.am index a74a806..e4dfafb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -95,6 +95,7 @@ lib_LTLIBRARIES = include_HEADERS = pkgconfiglib_DATA = polkitpolicy_in_files = +polkitpolicy_files = dist_udevrules_DATA = nodist_udevrules_DATA = dist_man_MANS = @@ -1950,9 +1951,6 @@ lib_LTLIBRARIES += libgudev-1.0.la pkgconfiglib_DATA += \ src/gudev/gudev-1.0.pc -EXTRA_DIST += \ - src/gudev/gudev-1.0.pc.in - CLEANFILES += \ src/gudev/gudev-1.0.pc @@ -2003,14 +2001,6 @@ libgudev_1_0_la_LDFLAGS = \ -export-dynamic -no-undefined \ -export-symbols-regex '^g_udev_.*' -EXTRA_DIST += \ - src/gudev/gudevmarshal.list \ - src/gudev/gudevenumtypes.h.template \ - src/gudev/gudevenumtypes.c.template \ - src/gudev/gjs-example.js \ - src/gudev/seed-example-enum.js \ - src/gudev/seed-example.js - src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list $(AM_V_GEN)glib-genmarshal $ --prefix=g_udev_marshal --header $@ @@ -2091,6 +2081,16 @@ INSTALL_EXEC_HOOKS += libgudev-install-move-hook UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook endif +EXTRA_DIST += \ + src/gudev/gudev-1.0.pc.in \ + src/gudev/gudevmarshal.list \ + src/gudev/gudevenumtypes.h.template \ + src/gudev/gudevenumtypes.c.template \ + src/gudev/gjs-example.js \ + src/gudev/seed-example-enum.js \ + src/gudev/seed-example.js + + # -- if ENABLE_KEYMAP keymap_SOURCES = \ @@ -2126,10 +2126,6 @@ dist_udevhome_SCRIPTS = \ TESTS += \ src/udev/keymap/check-keymaps.sh -EXTRA_DIST += \ - src/udev/keymap/check-keymaps.sh \ - src/udev/keymap/keyboard-force-release.sh.in - CLEANFILES += \ src/udev/keymap/keys.txt \ src/udev/keymap/keys-from-name.gperf \ @@ -2219,6 +2215,10 @@ src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt Makefile $(AM_V_GEN)$(AWK) 'BEGIN{ print const char* const key_names[KEY_CNT] = { } { print [ $$1 ] = \ $$1 \, } END{print };}' $ $@ endif +EXTRA_DIST += \ + src/udev/keymap/check-keymaps.sh \ + src/udev/keymap/keyboard-force-release.sh.in + # -- mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.c \ @@ -2550,13 +2550,13 @@ rootlibexec_PROGRAMS += \ sysctl_DATA = \ sysctl.d/coredump.conf -EXTRA_DIST += \ - sysctl.d/coredump.conf.in - CLEANFILES += \ sysctl.d/coredump.conf endif +EXTRA_DIST += \ + sysctl.d/coredump.conf.in + # -- if ENABLE_BINFMT systemd_binfmt_SOURCES = \ @@ -2597,10 +2597,10 @@ MANPAGES_ALIAS += \ man/systemd-binfmt.8 man/systemd-binfmt.8: man/systemd-binfmt.service.8 +endif EXTRA_DIST += \ units/systemd-binfmt.service.in -endif # -- if ENABLE_VCONSOLE @@ -2634,10 +2634,10 @@ MANPAGES_ALIAS += \ man/systemd-vconsole-setup.8 man/systemd-vconsole-setup.8: man/systemd-vconsole-setup.service.8 +endif EXTRA_DIST += \ units/systemd-vconsole-setup.service.in -endif # -- if ENABLE_READAHEAD @@ -2670,11 +2670,6 @@ nodist_systemunit_DATA += \ units/systemd-readahead-replay.service \ units/systemd-readahead-done.service -EXTRA_DIST += \ - units/systemd-readahead-collect.service.in \ - units/systemd-readahead-replay.service.in \ - units/systemd-readahead-done.service.in - MANPAGES += \ man/sd_readahead.3 \ man/sd-readahead.3 \ @@ -2693,6 +2688,11 @@ man/systemd-readahead.8: man/systemd-readahead-replay.service.8 endif +EXTRA_DIST += \ + units/systemd-readahead-collect.service.in \ + units/systemd-readahead-replay.service.in \ + units/systemd-readahead-done.service.in
Re: [systemd-devel] Minimal builds
Bryan Kadzban wrote: On Wed, Jun 20, 2012 at 06:22:49PM +0200, Lennart Poettering wrote: Heya, regarding the whole discussion on minimal builds and people wanting to pick specific parts of the systemd build leaving out others, beyond what the configure switches offer: Here are some guidelines how we recommend people to do this: http://freedesktop.org/wiki/Software/systemd/MinimalBuilds From our side this should be enough to settle the discussion. Would an extremely minimal patch (just to configure.ac, not touching any of the pkg-config dependencies, but only intltool, libcap, and gperf), allowing them to be made optional, be acceptable to systemd? Note that the patch would not need to create a new configure switch, either; it could just as easily trigger off some environment variable, if there's a worry that its presence in the ./configure --help output could cause people to use it without understanding what it does, and break their systemd build. (Same as DBUS_CFLAGS / DBUS_LIBS overriding pkg-config today, actually. Something like SYSTEMD_ONLY_DEPS_OPTIONAL, or whatever; the name isn't exactly critical I don't think.) I have sent a patch adding a libcap.pc file to the libcap installation, to morgan@ -- not sure what will happen there, but that will help a bit if it gets in. But thinking more along those lines, I should consider changing intltool's m4 script to allow it to be found via pkg-config, as well, and changing gperf to install a .pc file like the patch to libcap. Then nothing would need to be changed in systemd at all, except using PKG_CHECK_EXISTS for these deps instead of AC_CHECK_TOOL and an AC_MSG_ERROR. (And nothing should be required for intltool; the existing IT_PROG_INTLTOOL should keep working.) ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] setting up to allow separate udev and systemd builds
Lennart Poettering wrote: On Fri, 15.06.12 20:06, Bryan Kadzban (br...@kadzban.is-a-geek.net) wrote: dbus libcap I am quite happy with depending on these two as it makes little sense to build an OS without it, unless you go super minimal in which case sysemd/udev are not relevant. As I said, dbus probably makes sense for a full desktop system. Most of us that are pushing for these changes are *not* running that. Only Fedora and Ubuntu seem to be pushing it this hard from what I can tell. Web/mail/whatever servers, where users never log in except possibly over ssh, have *zero* use for dbus. FS capability support is also unnecessary unless you're trying to get some kind of security certification or something; the kernel even allows disabling support entirely. (CONFIG_EXT?_FS_XATTR) m4 intltool gperf (--enable-keymap will require gperf for a udev build as well) These are only build-time deps, and hence are totally OK to have. I mean, the next thing you come up with is a patch to not require automake and use only make, just because you have a problem with dependencies? I mean, seriously. No, because I realize as well as you do that automake is only required to run automake, before configuring, before turning the git tree into the distribution package (make dist-xz or whatever). In the tarballs as distributed, automake is totally unnecessary unless the distributed tarball has a bug. Automake is not a dependency. m4, intltool, and gperf are, because configure unconditionally requires them to be present. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] setting up to allow separate udev and systemd builds
microcai wrote: 2012/6/15 William Hubbs w.d.hu...@gmail.com On Fri, Jun 15, 2012 at 07:27:26PM +0800, microcai wrote: 2012/6/15 William Hubbs w.d.hu...@gmail.com systemd has several more dependencies than udev. Because of that and because of the way the build system is setup to only do a full systemd build, I have to install all of systemd's dependencies on every gentoo user's system regardless of whether or not they are using systemd or udev standalone. That's not true. Please tell us exactly which lib is use only by systemd and not by the rest of the system. At least dbus and intltool are not used by udev. There are probably more; I haven't really looked at all of the details yet. It isn't only libraries though; many things get built even when you use all of the --disable switches that are not needed on a system that is using udev standalone. but others will do use dbus and intltool. Requirements that systemd-183, -184, and -185 all add, over and above the requirements of udev-182 (these are the deps that my initial patch relaxed the requirements on with the right flag to configure): dbus intltool m4 gperf (--enable-keymap will require gperf for a udev build as well) libcap There is also an optional dependency that systemd-185 adds (libpam) -- but it's optional, so not relevant here. Yes, some systems use dbus and FS capabilities. But they are *not* required for a Linux system, and they are not required for udev. D-Bus probably makes a full-on desktop system easier, no argument there -- but not all of us are running full-on desktop systems, either. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] Allow configuring without systemd-only dependencies
William Hubbs wrote: On Thu, Jun 07, 2012 at 11:35:00PM -0700, Bryan Kadzban wrote: Some dependencies (intltool, m4, dbus, pkg-config, PAM) are only required or useful for systemd, not for udev. Leave these required by default, but allow them to be made optional if the right flag is used to ./configure. How about using --disable-systemd to take out these dependencies instead of adding another switch? Well, this is the minimum to let us (LFS) at least get a build process together to upgrade from udev-182. systemd as-is has too many build dependencies for us to use it the way it is today. I figured I'd see what upstream thought about just doing the minimum we need first. (We can override variables at make time to build just the udev binary and helpers.) But if a --disable-systemd switch ends up getting committed, sure, that'd work too. ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] [PATCH] Always populate EXTRA_DIST
make dist can build a different tarball depending on the flags passed to ./configure and the (optional) dependencies found on the system. Move all append-to-EXTRA_DIST operations out of automake conditionals to fix this. Introduce a polkitpolicy_files so that the policy files built still correctly depend on the automake conditionals, but the .in files that get distributed do not. Signed-Off-By: Bryan Kadzban bryan.kadzban.is-a-geek.net diff --git a/Makefile.am b/Makefile.am index f45fa27..6991391 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1714,9 +1714,6 @@ lib_LTLIBRARIES += libgudev-1.0.la pkgconfiglib_DATA += \ src/gudev/gudev-1.0.pc -EXTRA_DIST += \ - src/gudev/gudev-1.0.pc.in - CLEANFILES += \ src/gudev/gudev-1.0.pc @@ -1767,14 +1764,6 @@ libgudev_1_0_la_LDFLAGS = \ -export-dynamic -no-undefined \ -export-symbols-regex '^g_udev_.*' -EXTRA_DIST += \ - src/gudev/gudevmarshal.list \ - src/gudev/gudevenumtypes.h.template \ - src/gudev/gudevenumtypes.c.template \ - src/gudev/gjs-example.js \ - src/gudev/seed-example-enum.js \ - src/gudev/seed-example.js - CLEANFILES += \ $(nodist_libgudev_1_0_la_SOURCES) @@ -1858,6 +1847,15 @@ INSTALL_EXEC_HOOKS += libgudev-install-move-hook UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook endif +EXTRA_DIST += \ + src/gudev/gudev-1.0.pc.in \ + src/gudev/gudevmarshal.list \ + src/gudev/gudevenumtypes.h.template \ + src/gudev/gudevenumtypes.c.template \ + src/gudev/gjs-example.js \ + src/gudev/seed-example-enum.js \ + src/gudev/seed-example.js + # -- if ENABLE_KEYMAP keymap_SOURCES = \ @@ -1893,10 +1891,6 @@ dist_udevhome_SCRIPTS = \ TESTS += \ src/udev/keymap/check-keymaps.sh -EXTRA_DIST += \ - src/udev/keymap/check-keymaps.sh \ - src/udev/keymap/keyboard-force-release.sh.in - CLEANFILES += \ $(nodist_keymap_SOURCES) \ src/udev/keymap/keys.txt \ @@ -1987,6 +1981,10 @@ src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt Makefile $(AM_V_GEN)$(AWK) 'BEGIN{ print const char* const key_names[KEY_CNT] = { } { print [ $$1 ] = \ $$1 \, } END{print };}' $ $@ endif +EXTRA_DIST += \ + src/udev/keymap/check-keymaps.sh \ + src/udev/keymap/keyboard-force-release.sh.in + # -- mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.c \ @@ -2288,13 +2286,13 @@ rootlibexec_PROGRAMS += \ sysctl_DATA = \ sysctl.d/coredump.conf -EXTRA_DIST += \ - sysctl.d/coredump.conf.in - CLEANFILES += \ sysctl.d/coredump.conf endif +EXTRA_DIST += \ + sysctl.d/coredump.conf.in + # -- if ENABLE_BINFMT systemd_binfmt_SOURCES = \ @@ -2335,10 +2333,10 @@ MANPAGES_ALIAS += \ man/systemd-binfmt.8 man/systemd-binfmt.8: man/systemd-binfmt.service.8 +endif EXTRA_DIST += \ units/systemd-binfmt.service.in -endif # -- if ENABLE_VCONSOLE @@ -2366,10 +2364,10 @@ INSTALL_DATA_HOOKS += \ MANPAGES += \ man/vconsole.conf.5 +endif EXTRA_DIST += \ units/systemd-vconsole-setup.service.in -endif # -- if ENABLE_READAHEAD @@ -2416,16 +2414,16 @@ nodist_systemunit_DATA += \ units/systemd-readahead-replay.service \ units/systemd-readahead-done.service -EXTRA_DIST += \ - units/systemd-readahead-collect.service.in \ - units/systemd-readahead-replay.service.in \ - units/systemd-readahead-done.service.in - MANPAGES += \ man/sd_readahead.3 \ man/sd-readahead.7 endif +EXTRA_DIST += \ + units/systemd-readahead-collect.service.in \ + units/systemd-readahead-replay.service.in \ + units/systemd-readahead-done.service.in + # -- if ENABLE_QUOTACHECK rootlibexec_PROGRAMS += \ @@ -2434,9 +2432,6 @@ rootlibexec_PROGRAMS += \ nodist_systemunit_DATA += \ units/quotacheck.service -EXTRA_DIST += \ - units/quotacheck.service.in - systemd_quotacheck_SOURCES = \ src/quotacheck/quotacheck.c @@ -2444,6 +2439,9 @@ systemd_quotacheck_LDADD = \ libsystemd-shared.la endif +EXTRA_DIST += \ + units/quotacheck.service.in + # -- if ENABLE_RANDOMSEED rootlibexec_PROGRAMS += \ @@ -2453,10 +2451,6 @@ nodist_systemunit_DATA += \ units/systemd-random-seed-save.service \ units/systemd-random-seed-load.service -EXTRA_DIST += \ - units/systemd-random-seed-save.service.in
Re: [systemd-devel] [PATCH] Always populate EXTRA_DIST
Bryan Kadzban wrote: make dist can build a different tarball depending on the flags passed to ./configure and the (optional) dependencies found on the system. Move all append-to-EXTRA_DIST operations out of automake conditionals to fix this. Introduce a polkitpolicy_files so that the policy files built still correctly depend on the automake conditionals, but the .in files that get distributed do not. Signed-Off-By: Bryan Kadzban bryan.kadzban.is-a-geek.net Arg, always compile-check. Tested, this time. v2, fixing warnings about polkitpolicy_files not being defined. diff --git a/Makefile.am b/Makefile.am index f45fa27..0d39f88 100644 --- a/Makefile.am +++ b/Makefile.am @@ -91,6 +91,7 @@ lib_LTLIBRARIES = include_HEADERS = pkgconfiglib_DATA = polkitpolicy_in_files = +polkitpolicy_files = dist_udevrules_DATA = nodist_udevrules_DATA = dist_man_MANS = @@ -1714,9 +1715,6 @@ lib_LTLIBRARIES += libgudev-1.0.la pkgconfiglib_DATA += \ src/gudev/gudev-1.0.pc -EXTRA_DIST += \ - src/gudev/gudev-1.0.pc.in - CLEANFILES += \ src/gudev/gudev-1.0.pc @@ -1767,14 +1765,6 @@ libgudev_1_0_la_LDFLAGS = \ -export-dynamic -no-undefined \ -export-symbols-regex '^g_udev_.*' -EXTRA_DIST += \ - src/gudev/gudevmarshal.list \ - src/gudev/gudevenumtypes.h.template \ - src/gudev/gudevenumtypes.c.template \ - src/gudev/gjs-example.js \ - src/gudev/seed-example-enum.js \ - src/gudev/seed-example.js - CLEANFILES += \ $(nodist_libgudev_1_0_la_SOURCES) @@ -1858,6 +1848,15 @@ INSTALL_EXEC_HOOKS += libgudev-install-move-hook UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook endif +EXTRA_DIST += \ + src/gudev/gudev-1.0.pc.in \ + src/gudev/gudevmarshal.list \ + src/gudev/gudevenumtypes.h.template \ + src/gudev/gudevenumtypes.c.template \ + src/gudev/gjs-example.js \ + src/gudev/seed-example-enum.js \ + src/gudev/seed-example.js + # -- if ENABLE_KEYMAP keymap_SOURCES = \ @@ -1893,10 +1892,6 @@ dist_udevhome_SCRIPTS = \ TESTS += \ src/udev/keymap/check-keymaps.sh -EXTRA_DIST += \ - src/udev/keymap/check-keymaps.sh \ - src/udev/keymap/keyboard-force-release.sh.in - CLEANFILES += \ $(nodist_keymap_SOURCES) \ src/udev/keymap/keys.txt \ @@ -1987,6 +1982,10 @@ src/udev/keymap/keys-to-name.h: src/udev/keymap/keys.txt Makefile $(AM_V_GEN)$(AWK) 'BEGIN{ print const char* const key_names[KEY_CNT] = { } { print [ $$1 ] = \ $$1 \, } END{print };}' $ $@ endif +EXTRA_DIST += \ + src/udev/keymap/check-keymaps.sh \ + src/udev/keymap/keyboard-force-release.sh.in + # -- mtd_probe_SOURCES = \ src/udev/mtd_probe/mtd_probe.c \ @@ -2288,13 +2287,13 @@ rootlibexec_PROGRAMS += \ sysctl_DATA = \ sysctl.d/coredump.conf -EXTRA_DIST += \ - sysctl.d/coredump.conf.in - CLEANFILES += \ sysctl.d/coredump.conf endif +EXTRA_DIST += \ + sysctl.d/coredump.conf.in + # -- if ENABLE_BINFMT systemd_binfmt_SOURCES = \ @@ -2335,10 +2334,10 @@ MANPAGES_ALIAS += \ man/systemd-binfmt.8 man/systemd-binfmt.8: man/systemd-binfmt.service.8 +endif EXTRA_DIST += \ units/systemd-binfmt.service.in -endif # -- if ENABLE_VCONSOLE @@ -2366,10 +2365,10 @@ INSTALL_DATA_HOOKS += \ MANPAGES += \ man/vconsole.conf.5 +endif EXTRA_DIST += \ units/systemd-vconsole-setup.service.in -endif # -- if ENABLE_READAHEAD @@ -2416,16 +2415,16 @@ nodist_systemunit_DATA += \ units/systemd-readahead-replay.service \ units/systemd-readahead-done.service -EXTRA_DIST += \ - units/systemd-readahead-collect.service.in \ - units/systemd-readahead-replay.service.in \ - units/systemd-readahead-done.service.in - MANPAGES += \ man/sd_readahead.3 \ man/sd-readahead.7 endif +EXTRA_DIST += \ + units/systemd-readahead-collect.service.in \ + units/systemd-readahead-replay.service.in \ + units/systemd-readahead-done.service.in + # -- if ENABLE_QUOTACHECK rootlibexec_PROGRAMS += \ @@ -2434,9 +2433,6 @@ rootlibexec_PROGRAMS += \ nodist_systemunit_DATA += \ units/quotacheck.service -EXTRA_DIST += \ - units/quotacheck.service.in - systemd_quotacheck_SOURCES = \ src/quotacheck/quotacheck.c @@ -2444,6 +2440,9 @@ systemd_quotacheck_LDADD = \ libsystemd-shared.la endif +EXTRA_DIST += \ + units/quotacheck.service.in
[systemd-devel] [PATCH] Allow configuring without systemd-only dependencies
Some dependencies (intltool, m4, dbus, pkg-config, PAM) are only required or useful for systemd, not for udev. Leave these required by default, but allow them to be made optional if the right flag is used to ./configure. Signed-Off-By: Bryan Kadzban br...@kadzban.is-a-geek.net - This is necessary for anyone who wants to build udev only. It's not sufficient, but without this or something like it, ./configure fails hard. This change touches *only* configure; if the dependencies are made optional in a ./configure run, and they don't exist on the system (or in some cases, even if they do) make will fail hard. I'm not attached to the --with-X flag's name; coming up with a better one would be fine. Unfortunately there's no use intltool if it's present, otherwise don't bother variant of IT_PROG_INTLTOOL. If that's wanted, I could hack it together with another invocation of AC_PATH_PROG, but this is slightly simpler. diff --git a/configure.ac b/configure.ac index 70f3e96..446fb95 100644 --- a/configure.ac +++ b/configure.ac @@ -44,8 +44,15 @@ AS_IF([test x$host_cpu = xmips || test x$host_cpu = xmipsel || LT_PREREQ(2.2) LT_INIT +AC_ARG_WITH([require-systemd-deps], +[AS_HELP_STRING([--without-require-systemd-deps], +[make systemd configure dependencies optional @:@default: required@:@])], +[with_require_systemd_deps=$withval], [with_require_systemd_deps=yes]) + # i18n stuff for the PolicyKit policy files +AS_IF([test x$with_require_systemd_deps = xyes], [ IT_PROG_INTLTOOL([0.40.0]) +]) GETTEXT_PACKAGE=systemd AC_SUBST(GETTEXT_PACKAGE) @@ -61,7 +68,9 @@ AC_PROG_CC_C99 AM_PROG_CC_C_O AC_PROG_GCC_TRADITIONAL +AS_IF([test x$with_require_systemd_deps = xyes], [ AC_PATH_PROG([M4], [m4]) +]) # gtkdocize greps for '^GTK_DOC_CHECK', so it needs to be on its own line m4_ifdef([GTK_DOC_CHECK], [ @@ -75,7 +84,7 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1]) AC_CHECK_TOOL(OBJCOPY, objcopy) AC_CHECK_TOOL(STRINGS, strings) AC_CHECK_TOOL(GPERF, gperf) -if test -z $GPERF ; then +if test -z $GPERF test x$with_require_systemd_deps = xyes ; then AC_MSG_ERROR([*** gperf not found]) fi @@ -132,6 +141,7 @@ AC_SUBST([GCLDFLAGS], $with_ldflags) AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])]) +AS_IF([test x$with_require_systemd_deps = xyes], [ save_LIBS=$LIBS LIBS= AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])]) @@ -139,11 +149,14 @@ AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers n CAP_LIBS=$LIBS LIBS=$save_LIBS AC_SUBST(CAP_LIBS) +]) # This makes sure pkg.m4 is available. m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) +AS_IF([test x$with_require_systemd_deps = xyes], [ PKG_CHECK_MODULES(DBUS, [dbus-1 = 1.3.2]) +]) PKG_CHECK_MODULES(KMOD, [libkmod = 5]) PKG_CHECK_MODULES(BLKID,[blkid = 2.20]) @@ -648,22 +661,22 @@ AM_CONDITIONAL(HAVE_SYSV_COMPAT, test $SYSTEM_SYSV_COMPAT = yes) AC_ARG_WITH([dbuspolicydir], AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]), [], -[with_dbuspolicydir=`pkg-config --variable=sysconfdir dbus-1`/dbus-1/system.d]) +[AS_IF([test x$with_require_systemd_deps = xyes], [with_dbuspolicydir=`pkg-config --variable=sysconfdir dbus-1`/dbus-1/system.d])]) AC_ARG_WITH([dbussessionservicedir], AS_HELP_STRING([--with-dbussessionservicedir=DIR], [D-Bus session service directory]), [], -[with_dbussessionservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`]) +[AS_IF([test x$with_require_systemd_deps = xyes], [with_dbussessionservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`])]) AC_ARG_WITH([dbussystemservicedir], AS_HELP_STRING([--with-dbussystemservicedir=DIR], [D-Bus system service directory]), [], -[with_dbussystemservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../system-services]) +[AS_IF([test x$with_require_systemd_deps = xyes], [with_dbussystemservicedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../system-services])]) AC_ARG_WITH([dbusinterfacedir], AS_HELP_STRING([--with-dbusinterfacedir=DIR], [D-Bus interface directory]), [], -[with_dbusinterfacedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../interfaces]) +[AS_IF([test x$with_require_systemd_deps = xyes], [with_dbusinterfacedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../interfaces])]) AC_ARG_WITH([rootprefix], AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), @@ -677,7 +690,7 @@ AC_ARG_WITH([rootlibdir], AC_ARG_WITH([pamlibdir], AS_HELP_STRING