Ken Moffat wrote: > On Sat, Jun 02, 2012 at 12:46:57AM +0100, Andrew Benton wrote: >> I spent a couple of hours banging my head against the dbus >> dependency before I gave up. It turned out it was easier to live >> without systemd. Bryan wrote about the dbus issue earlier >> http://linuxfromscratch.org/pipermail/lfs-dev/2012-May/066541.html >> I haven't tested his suggestions as I've given up on systemd. >> > Thanks - I'd overlooked that part of his mail in the belief it was > all about avoiding pkg-config. > > Unfortunately, the *order* of the options is significant.
That's surprising; normally order is not... > Adding those four after my previous options > --with-dbussystemservicedir was dislkied. When I removed that, > --enable-udev-only=yes was no longer accepted. Any particular error message from configure? I have to admit I'm not sure what the most recent patch being tested is, so I'm not entirely sure what might be happening here. Maybe the AS_IF stuff (testing $enable_udev_only) in configure.ac is dropping the flags for some reason? > I'll wait for Bryan to test his proposed patch. Done last night, and posted to linux-hotplug (no response so far, but it was late, and this is a weekend, and nobody's working at RH at the moment, so that's not surprising). http://marc.info/?l=linux-hotplug&m=133862040203388&w=2 Note that the patch as posted there is *not* suitable for LFS. You still need pkg.m4, intltool.m4, and libtool.m4 to run autoconf, at least, although you don't need pkg-config or intltool or dbus or libcap at ./configure, or make, or make check, or make install time. (Tested last night with Bruce's image.) On a system with those packages, if you start with current git, apply the patch, do the autoreconf stuff, configure (enabling systemd), and "make dist-xz", then you should be able to take the generated tarball and install it in an LFS chapter 6 setup. I don't *think* you need to actually build systemd for this to give you a tarball. Anyway, extract that tarball and build like so (substituting whichever libdir you use): BLKID_CFLAGS="-I/usr/include/blkid" \ BLKID_LIBS="-L/lib -lblkid" \ KMOD_CFLAGS="-I/usr/include" \ KMOD_LIBS="-L/lib -lkmod" \ ./configure --prefix=/usr \ --with-rootprefix='' \ --bindir=/sbin \ --sysconfdir=/etc \ --libexecdir=/lib \ --libdir=/lib \ --docdir=/usr/share/doc/udev \ --disable-introspection \ --disable-keymap \ --disable-gudev \ --with-usb-ids-path=no \ --with-pci-ids-path=no \ --disable-acl \ --disable-tcpwrap \ --disable-hostnamed \ --disable-timedated \ --disable-localed \ --disable-coredump \ --disable-audit \ --disable-ima \ --disable-pam \ --disable-systemd (The patch takes care of the dbus*dir and pamlibdir flags.) Not sure if --libdir is actually required; I have it because I use /lib64. --docdir defaults to /usr/share/doc/systemd (and the patch still installs a few README / NEWS type files there); a version may also be useful for LFS. Anyway, then: make make SUBDIRS=. check (SUBDIRS=. because the default SUBDIRS includes po, but "make check" in po fails due to not having a bunch of intltool-related variables set to anything, due to --disable-systemd.) make pkgdatadir= \ pkgincludedir= \ pkgsysconfdir= \ bashcompletiondir= \ polkitpolicydir= \ sysctldir= \ systemgeneratordir= \ systemunitdir= \ tmpfilesdir= \ userunitdir= \ rootlibexecdir=/lib/udev \ pkgconfiglibdir=/usr/lib/pkgconfig \ install mv /lib/udev/systemd-udevd /lib/udev/udevd sed -e 'whatever' /usr/share/man/man[78]/*udev* mv /usr/share/man/man8/{systemd-,}udevd (Then install the udev-config tarball, plus the Debian rule_generator rules and scripts.) rootlibexecdir might be fixed by the next release, but it's /lib/systemd by default in git, and it's where systemd-udevd gets dumped. pkgconfiglibdir is <libdir>/pkgconfig by default, but pkg-config doesn't look there (since we set libdir to not be in /usr), so override it for libudev.pc. The others are set to an empty string to avoid having "make install" create a bunch of empty directories. They're sorted with the pkg*dir stuff first (/usr/share/systemd, /usr/include/systemd, /etc/systemd), then with everything else in alphabetical order. This installs: /sbin/udevadm /lib/libudev.so.1.0.1 (and symlinks) /lib/libudev.a (maybe move to /usr?) /lib/libudev.la (maybe move to /usr?) /lib/udev/{ata,v4l,scsi,cdrom}_id /lib/udev/mtd_probe /lib/udev/accelerometer /lib/udev/collect /lib/udev/systemd-udevd (moved to plain udevd) /lib/udev/rules.d/*.rules (but *not* 99-systemd.rules; that gets disabled by the patch) /etc/udev/udev.conf /usr/share/man/man7/udev.7 /usr/share/man/man8/udevadm.8 /usr/share/man/man8/systemd-udevd.8 (moved to udevd.8) /usr/share/doc/udev/* /usr/share/pkgconfig/udev.pc /usr/lib/pkgconfig/libudev.pc /usr/include/libudev.h Which I think should be everything. If the patch is accepted, then with systemd-185 I think we should be able to stop hacking on it.
signature.asc
Description: OpenPGP digital signature
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page