]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: fix linking virt-login-shell
authorJim Fehlig <jfehlig@suse.com>
Mon, 21 Oct 2013 21:36:11 +0000 (15:36 -0600)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 22 Oct 2013 14:50:47 +0000 (15:50 +0100)
After commit 3e2f27e1, I've noticed build failures of virt-login-shell
when libapparmor-devel is installed on the build host

CCLD     virt-login-shell
../src/.libs/libvirt-setuid-rpc-client.a(libvirt_setuid_rpc_client_la-vircommand.o):
In function `virExec':
/home/jfehlig/virt/upstream/libvirt/src/util/vircommand.c:653: undefined
reference to `aa_change_profile'
collect2: error: ld returned 1 exit status

I was about to commit an easy fix under the build-breaker rule
(build-fix-1.patch), but thought to extend the notion of SECDRIVER_LIBS
to SECDRIVER_CFLAGS, and use both throughout src/Makefile.am where it
makes sense (build-fix-2.patch).

Should I just stick with the simple fix, or is something along the lines
of patch 2 preferred?

Regards,
Jim

>From a0f35945f3127ab70d051101037e821b1759b4bb Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig@suse.com>
Date: Mon, 21 Oct 2013 15:30:02 -0600
Subject: [PATCH] build: fix virt-login-shell build with apparmor

With libapparmor-devel installed, virt-login-shell fails to link

CCLD     virt-login-shell
../src/.libs/libvirt-setuid-rpc-client.a(libvirt_setuid_rpc_client_la-vircommand.o): In function `virExec':
/home/jfehlig/virt/upstream/libvirt/src/util/vircommand.c:653: undefined reference to `aa_change_profile'
collect2: error: ld returned 1 exit status

Fix by linking libvirt_setuid_rpc_client with previously determined
SECDRIVER_LIBS in src/Makefile.am.  While at it, introduce SECDRIVER_CFLAGS
and use both throughout src/Makefile.am where it makes sense.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/Makefile.am

index 9dab4df867b07c1237fdfee6cedb21d145a7db07..21b9cafe50ee2f2fd8cdde0da235af06e3e286a0 100644 (file)
@@ -49,11 +49,14 @@ nodist_conf_DATA =
 
 THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)
 
+SECDRIVER_CFLAGS =
 SECDRIVER_LIBS =
 if WITH_SECDRIVER_SELINUX
+SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
 SECDRIVER_LIBS += $(SELINUX_LIBS)
 endif WITH_SECDRIVER_SELINUX
 if WITH_SECDRIVER_APPARMOR
+SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
 SECDRIVER_LIBS += $(APPARMOR_LIBS)
 endif WITH_SECDRIVER_APPARMOR
 
@@ -2027,14 +2030,14 @@ libvirt_setuid_rpc_client_la_SOURCES =          \
 libvirt_setuid_rpc_client_la_LDFLAGS =         \
                $(AM_LDFLAGS)                   \
                $(LIBXML_LIBS)                  \
-               $(SELINUX_LIBS)                 \
+               $(SECDRIVER_LIBS)               \
                $(NULL)
 libvirt_setuid_rpc_client_la_CFLAGS =          \
                -DLIBVIRT_SETUID_RPC_CLIENT     \
                -I$(top_srcdir)/src/conf        \
                -I$(top_srcdir)/src/rpc         \
                $(AM_CFLAGS)                    \
-               $(SELINUX_CFLAGS)               \
+               $(SECDRIVER_CFLAGS)             \
                $(NULL)
 endif WITH_LXC
 
@@ -2316,7 +2319,7 @@ libvirt_net_rpc_la_LDFLAGS = \
                        $(GNUTLS_LIBS) \
                        $(SASL_LIBS) \
                        $(SSH2_LIBS)\
-                       $(SELINUX_LIBS) \
+                       $(SECDRIVER_LIBS) \
                        $(AM_LDFLAGS) \
                        $(CYGWIN_EXTRA_LDFLAGS) \
                        $(MINGW_EXTRA_LDFLAGS)
@@ -2460,12 +2463,7 @@ if WITH_BLKID
 libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
 libvirt_lxc_LDADD += $(BLKID_LIBS)
 endif WITH_BLKID
-if WITH_SECDRIVER_SELINUX
-libvirt_lxc_CFLAGS += $(SELINUX_CFLAGS)
-endif WITH_SECDRIVER_SELINUX
-if WITH_SECDRIVER_APPARMOR
-libvirt_lxc_CFLAGS += $(APPARMOR_CFLAGS)
-endif WITH_SECDRIVER_APPARMOR
+libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
 endif WITH_LIBVIRTD
 endif WITH_LXC
 EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)