aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kurz <gkurz@fr.ibm.com>2011-09-13 15:08:04 +0200
committerDaniel Lezcano <dlezcano@fr.ibm.com>2011-09-13 15:08:04 +0200
commit1c41ddcb4af633ac906f1d7c9ef1dc7d121d7850 (patch)
tree4642a2aa8d5097032e1a0adc5aebc83a784b96bc
parentremove the check for container path as it's done in lxc-create (diff)
downloadlxc-1c41ddcb4af633ac906f1d7c9ef1dc7d121d7850.tar.gz
lxc-1c41ddcb4af633ac906f1d7c9ef1dc7d121d7850.tar.bz2
lxc-1c41ddcb4af633ac906f1d7c9ef1dc7d121d7850.zip
fixes for rpmbuild
This patch fixes some makefile/specfile issues when running rpmbuild with the distributed lxc specfile: - fixes usage of installation directories for config files, rootfs, templates and lxc-init so that they're calculated at make time instead of configure time. Thanks to this, all installed items go under $RPM_BUILD_ROOT when running rpmbuild - introduce --disable-rpath option to configure to avoid check-rpaths errors when building non-root. - introduce a lxc-libs package in the default spec file to allow concurrent installation of 32 bit and 64 bit libraries. v2: - fix circular reference in lxc.pc - ship lxc.pc with lxc-devel Signed-off-by: Greg Kurz <gkurz@fr.ibm.com> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
-rw-r--r--configure.ac24
-rw-r--r--lxc.pc.in2
-rw-r--r--lxc.spec.in26
-rw-r--r--src/lxc/Makefile.am10
4 files changed, 40 insertions, 22 deletions
diff --git a/configure.ac b/configure.ac
index 56c5f98..6fa8c4a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,6 +12,12 @@ AM_PROG_CC_C_O
AC_GNU_SOURCE
AC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin)
+AC_ARG_ENABLE([rpath],
+ [AC_HELP_STRING([--disable-rpath], [do not set rpath in executables])],
+ [], [enable_rpath=yes])
+
+AM_CONDITIONAL([ENABLE_RPATH], [test "x$enable_rpath" = "xyes"])
+
AC_ARG_ENABLE([doc],
[AC_HELP_STRING([--enable-doc], [make mans (require docbook2man installed) [default=auto]])],
[], [enable_doc=auto])
@@ -44,26 +50,20 @@ AC_ARG_WITH([config-path],
[AC_HELP_STRING(
[--with-config-path=dir],
[lxc configuration repository path]
- )], [], [with_config_path="${localstatedir}/lib/lxc"])
+ )], [], [with_config_path=['${localstatedir}/lib/lxc']])
AC_ARG_WITH([rootfs-path],
[AC_HELP_STRING(
[--with-rootfs-path=dir],
[lxc rootfs mount point]
- )], [], [with_rootfs_path="${libdir}/lxc/rootfs"])
+ )], [], [with_rootfs_path=['${libdir}/lxc/rootfs']])
AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
-AS_AC_EXPAND(LXCPATH, "${with_config_path}")
-AS_AC_EXPAND(LXCROOTFSMOUNT, "${with_rootfs_path}")
-AS_AC_EXPAND(LXCINITDIR, $libdir/lxc)
-AS_AC_EXPAND(LXCTEMPLATEDIR, $libdir/lxc/templates)
-AH_TEMPLATE([LXCPATH], [lxc configuration repository])
-AH_TEMPLATE([LXCINITDIR], [lxc-init directory location])
-AH_TEMPLATE([LXCROOTFSMOUNT], [lxc default rootfs mount point])
-AC_DEFINE_UNQUOTED(LXCPATH, "$LXCPATH")
-AC_DEFINE_UNQUOTED(LXCINITDIR, "$LXCINITDIR")
-AC_DEFINE_UNQUOTED(LXCROOTFSMOUNT, "$LXCROOTFSMOUNT")
+AC_SUBST(LXCPATH, "${with_config_path}")
+AC_SUBST(LXCROOTFSMOUNT, "${with_rootfs_path}")
+AC_SUBST(LXCINITDIR, ['${libdir}/lxc'])
+AC_SUBST(LXCTEMPLATEDIR, ['${libdir}/lxc/templates'])
AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h],
[],
diff --git a/lxc.pc.in b/lxc.pc.in
index b99354b..ac5ce09 100644
--- a/lxc.pc.in
+++ b/lxc.pc.in
@@ -1,6 +1,6 @@
bindir=@BINDIR@
libdir=@LIBDIR@
-localstatedir=@LXCPATH@
+localstatedir=@LOCALSTATEDIR@
includedir=@INCLUDEDIR@
rootfsmountdir=@LXCROOTFSMOUNT@
diff --git a/lxc.spec.in b/lxc.spec.in
index f22cd06..d0bb7a1 100644
--- a/lxc.spec.in
+++ b/lxc.spec.in
@@ -44,6 +44,13 @@ or the freeze of the container. This package is useful to create
Virtual Private Server, or to run isolated applications like bash or
sshd.
+%package libs
+Summary: runtime library files for %{name}
+Group: System Environment/Libraries
+
+%description libs
+The %{name}-libs package contains libraries for running %{name} applications.
+
%package devel
Release: 1
Summary: development library for %{name}
@@ -57,7 +64,7 @@ development of the linux containers.
%setup
%build
test "%{ksrc}" != "none" && args="--with-linuxdir=%{ksrc}"
-PATH=$PATH:/usr/sbin:/sbin %configure $args
+PATH=$PATH:/usr/sbin:/sbin %configure $args --disable-rpath
make %{?_smp_mflags}
%install
@@ -72,9 +79,6 @@ rm -rf %{buildroot}
%files
%defattr(-,root,root)
-%{_libdir}/*.so*
-%{_libdir}/%{name}
-%attr(4555,root,root) %{_libdir}/%{name}/lxc-init
%{_bindir}/*
%attr(4111,root,root) %{_bindir}/lxc-attach
%attr(4111,root,root) %{_bindir}/lxc-create
@@ -86,20 +90,28 @@ rm -rf %{buildroot}
%attr(4111,root,root) %{_bindir}/lxc-checkpoint
%attr(4111,root,root) %{_bindir}/lxc-restart
%{_mandir}/*
-%{_datadir}/pkgconfig/*
%{_datadir}/doc/*
+%files libs
+%defattr(-,root,root)
+%{_libdir}/*.so.*
+%{_libdir}/%{name}
+%attr(4555,root,root) %{_libdir}/%{name}/lxc-init
+
%files devel
%defattr(-,root,root)
%{_includedir}/%{name}/*
-%{_libdir}/*.so.*
+%{_libdir}/*.so
+%{_datadir}/pkgconfig/*
%changelog
+* Thu Sep 8 2011 Greg Kurz <gkurz@fr.ibm.com> - Version 0.7.5.1
+- fix installed files for rpmbuild
+- introduce lxc-libs package
* Fri Jul 23 2010 Daniel Lezcano <dlezcano@fr.ibm.com> - Version 0.7.2
- set attribute for installed files
- fix libraries installation
--
* Mon Mar 24 2009 Daniel Lezcano <daniel.lezcano@free.fr> - Version 0.6.1
- Removed capability setting, let the user to do that through "lxc-setcap"
diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am
index 1dfca00..d2c4720 100644
--- a/src/lxc/Makefile.am
+++ b/src/lxc/Makefile.am
@@ -51,7 +51,10 @@ liblxc_so_SOURCES = \
\
utmp.c utmp.h
-AM_CFLAGS=-I$(top_srcdir)/src
+AM_CFLAGS=-I$(top_srcdir)/src \
+ -DLXCROOTFSMOUNT=\"$(LXCROOTFSMOUNT)\" \
+ -DLXCPATH=\"$(LXCPATH)\" \
+ -DLXCINITDIR=\"$(LXCINITDIR)\"
liblxc_so_CFLAGS = -fPIC -DPIC $(AM_CFLAGS)
@@ -93,7 +96,10 @@ bin_PROGRAMS = \
pkglib_PROGRAMS = \
lxc-init
-AM_LDFLAGS=-Wl,-E -Wl,-rpath -Wl,$(libdir)
+AM_LDFLAGS = -Wl,-E
+if ENABLE_RPATH
+AM_LDFLAGS += -Wl,-rpath -Wl,$(libdir)
+endif
LDADD=liblxc.so @CAP_LIBS@
lxc_attach_SOURCES = lxc_attach.c