On 01/17/2014 05:34 AM, Laine Stump wrote: > I noticed this problem when adding systemd support to netcf, because I > setup the configure.ac to automatically prefer using systemd over > initscripts when possible - although I had copied the > install-data-local target from the example of libvirt's > "libvirt-guests" service more or less verbatim, "make distcheck" would > fail because it was trying to install the service file directly into > /lib/systemd/system rather than into > /home/user/some/unimportant/name/lib/systemd/system. > > This is caused by the install/uninstall rules for the systemd unit > files relying on $(DESTDIR) pointing the installed files to the right > place, but in reality $(DESTDIR) is empty during this part of make > distcheck - it instead sets $(prefix) with the toplevel directory used > for its test build/install/uninstall cycle. > > (This problem hasn't been seen when running "make distcheck" in > libvirt because libvirt will never build/install systemd support > unless explicitly told to do so on the configure commandline, and > "make distcheck" doesn't put the "--with-initscript=..." option on the > configure commandline.) There are ways with autotools to cause 'make distcheck' to enable particular configure options for the child process, but I'm not sure if it's worth playing with them. Maybe it's even worth having ./autobuild.sh try to tickle the situation. But that's something for a followup patch, and doesn't affect this patch. > > I verified that the same problem does exist in libvirt by modifying > libvirt's configure.ac to set: > > init_systemd=yes > with_init_script=systemd+redhat > > This forces a build/install of the systemd unit files during > distcheck, which yields an error like this: > > /usr/bin/install -c -m 644 virtlockd.service \ > /lib/systemd/system/ > libtool: install: warning: relinking `libvirt-qemu.la' > /usr/bin/install: cannot remove '/lib/systemd/system/virtlockd.service': Permission denied > make[4]: *** [install-systemd] Error 1 > > After adding $(prefix) to all the definitions of SYSTEMD_UNIT_DIR, > make distcheck now completes successfully with the modified > configure.ac, and the above lines change to something like this: > > /usr/bin/install -c -m 644 virtlockd.service \ > /home/laine/devel/libvirt/libvirt-1.2.1/_inst/lib/systemd/system/ ACK. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list