Commit 1c41ddcb by Greg Kurz Committed by Daniel Lezcano

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: 's avatarGreg Kurz <gkurz@fr.ibm.com> Signed-off-by: 's avatarDaniel Lezcano <dlezcano@fr.ibm.com>
parent f7b98d38
...@@ -12,6 +12,12 @@ AM_PROG_CC_C_O ...@@ -12,6 +12,12 @@ AM_PROG_CC_C_O
AC_GNU_SOURCE AC_GNU_SOURCE
AC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin) 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_ARG_ENABLE([doc],
[AC_HELP_STRING([--enable-doc], [make mans (require docbook2man installed) [default=auto]])], [AC_HELP_STRING([--enable-doc], [make mans (require docbook2man installed) [default=auto]])],
[], [enable_doc=auto]) [], [enable_doc=auto])
...@@ -44,26 +50,20 @@ AC_ARG_WITH([config-path], ...@@ -44,26 +50,20 @@ AC_ARG_WITH([config-path],
[AC_HELP_STRING( [AC_HELP_STRING(
[--with-config-path=dir], [--with-config-path=dir],
[lxc configuration repository path] [lxc configuration repository path]
)], [], [with_config_path="${localstatedir}/lib/lxc"]) )], [], [with_config_path=['${localstatedir}/lib/lxc']])
AC_ARG_WITH([rootfs-path], AC_ARG_WITH([rootfs-path],
[AC_HELP_STRING( [AC_HELP_STRING(
[--with-rootfs-path=dir], [--with-rootfs-path=dir],
[lxc rootfs mount point] [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(LXC_GENERATE_DATE, "$(date)")
AS_AC_EXPAND(LXCPATH, "${with_config_path}") AC_SUBST(LXCPATH, "${with_config_path}")
AS_AC_EXPAND(LXCROOTFSMOUNT, "${with_rootfs_path}") AC_SUBST(LXCROOTFSMOUNT, "${with_rootfs_path}")
AS_AC_EXPAND(LXCINITDIR, $libdir/lxc) AC_SUBST(LXCINITDIR, ['${libdir}/lxc'])
AS_AC_EXPAND(LXCTEMPLATEDIR, $libdir/lxc/templates) AC_SUBST(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_CHECK_HEADERS([linux/netlink.h linux/genetlink.h], AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h],
[], [],
......
bindir=@BINDIR@ bindir=@BINDIR@
libdir=@LIBDIR@ libdir=@LIBDIR@
localstatedir=@LXCPATH@ localstatedir=@LOCALSTATEDIR@
includedir=@INCLUDEDIR@ includedir=@INCLUDEDIR@
rootfsmountdir=@LXCROOTFSMOUNT@ rootfsmountdir=@LXCROOTFSMOUNT@
......
...@@ -44,6 +44,13 @@ or the freeze of the container. This package is useful to create ...@@ -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 Virtual Private Server, or to run isolated applications like bash or
sshd. 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 %package devel
Release: 1 Release: 1
Summary: development library for %{name} Summary: development library for %{name}
...@@ -57,7 +64,7 @@ development of the linux containers. ...@@ -57,7 +64,7 @@ development of the linux containers.
%setup %setup
%build %build
test "%{ksrc}" != "none" && args="--with-linuxdir=%{ksrc}" 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} make %{?_smp_mflags}
%install %install
...@@ -72,9 +79,6 @@ rm -rf %{buildroot} ...@@ -72,9 +79,6 @@ rm -rf %{buildroot}
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%{_libdir}/*.so*
%{_libdir}/%{name}
%attr(4555,root,root) %{_libdir}/%{name}/lxc-init
%{_bindir}/* %{_bindir}/*
%attr(4111,root,root) %{_bindir}/lxc-attach %attr(4111,root,root) %{_bindir}/lxc-attach
%attr(4111,root,root) %{_bindir}/lxc-create %attr(4111,root,root) %{_bindir}/lxc-create
...@@ -86,20 +90,28 @@ rm -rf %{buildroot} ...@@ -86,20 +90,28 @@ rm -rf %{buildroot}
%attr(4111,root,root) %{_bindir}/lxc-checkpoint %attr(4111,root,root) %{_bindir}/lxc-checkpoint
%attr(4111,root,root) %{_bindir}/lxc-restart %attr(4111,root,root) %{_bindir}/lxc-restart
%{_mandir}/* %{_mandir}/*
%{_datadir}/pkgconfig/*
%{_datadir}/doc/* %{_datadir}/doc/*
%files libs
%defattr(-,root,root)
%{_libdir}/*.so.*
%{_libdir}/%{name}
%attr(4555,root,root) %{_libdir}/%{name}/lxc-init
%files devel %files devel
%defattr(-,root,root) %defattr(-,root,root)
%{_includedir}/%{name}/* %{_includedir}/%{name}/*
%{_libdir}/*.so.* %{_libdir}/*.so
%{_datadir}/pkgconfig/*
%changelog %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 * Fri Jul 23 2010 Daniel Lezcano <dlezcano@fr.ibm.com> - Version 0.7.2
- set attribute for installed files - set attribute for installed files
- fix libraries installation - fix libraries installation
-
* Mon Mar 24 2009 Daniel Lezcano <daniel.lezcano@free.fr> - Version 0.6.1 * 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" - Removed capability setting, let the user to do that through "lxc-setcap"
......
...@@ -51,7 +51,10 @@ liblxc_so_SOURCES = \ ...@@ -51,7 +51,10 @@ liblxc_so_SOURCES = \
\ \
utmp.c utmp.h 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) liblxc_so_CFLAGS = -fPIC -DPIC $(AM_CFLAGS)
...@@ -93,7 +96,10 @@ bin_PROGRAMS = \ ...@@ -93,7 +96,10 @@ bin_PROGRAMS = \
pkglib_PROGRAMS = \ pkglib_PROGRAMS = \
lxc-init 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@ LDADD=liblxc.so @CAP_LIBS@
lxc_attach_SOURCES = lxc_attach.c lxc_attach_SOURCES = lxc_attach.c
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment