EXTRA_DIST = lxc.spec
ChangeLog::
- @echo "Generating ChangeLog"
- @cvs2cl
+ touch ChangeLog
rpm: dist
rpmbuild --clean -ta ${distdir}.tar.gz
+
release: rpm
+ @echo "Generating ChangeLog"
+ @cvs2cl
@sh ./release.sh $(PACKAGE_NAME) \
$(LXC_MAJOR_VERSION) \
$(LXC_MINOR_VERSION) \
AM_PROG_CC_C_O
AC_GNU_SOURCE
AC_PROG_LIBTOOL
-AC_CHECK_PROG(SETCAP, setcap, yes, no, "/usr/sbin")
+AC_CHECK_PROG(SETCAP, setcap, yes, no)
AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h], [], AC_MSG_ERROR([netlink headers not found]),
[#include <linux/types.h>
--------
The libcap-2 is not installed. That means the tools to
-set the privilege for the lxc commands are not available
-and you will need to run these commands as root
+set the privilege for the lxc commands are not available,
+that's ok, but you will need to run these commands as root
])
%setup -q
%build
-%configure $args
+
+# I don't understand why but I have to specify this prefix :(
+%configure --prefix=/ $args
ncpus=`egrep -c "^cpu[0-9]+" /proc/stat || :`
make -j$ncpus
chmod ugo+w /var/lxc
-setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep %{_bindir}/lxc-execute
-setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep %{_bindir}/lxc-start
-setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep %{_bindir}/lxc-restart
+PATH=$PATH:/usr/sbin:/sbin
+
+which setcap 2>&1 > /dev/null
+RES=$?
+
+if [ $RES != 0 ]; then
+ echo -e "\t********************WARNING*************************"
+ echo -e "\t* The 'setcap' command was not found, this is not *"
+ echo -e "\t* a problem and the 'lxc' package is installed but *"
+ echo -e "\t* you will have to run the 'lxc' commands as root. *"
+ echo -e "\t* If you wish to run these commands as a non-root *"
+ echo -e "\t* user, you will need to install libcap-2 package *"
+ echo -e "\t* and reinstall the lxc package *"
+ echo -e "\t****************************************************"
+else
+setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep %{_bindir}/lxc-execute && setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep %{_bindir}/lxc-start && setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep %{_bindir}/lxc-restart
+fi
+
%files
%defattr(-,root,root)
-INCLUDES= -I$(top_srcdir)/src
-
+lxcpath=$(prefix)/var/lxc
+INCLUDES= -I$(top_srcdir)/src -DLXCPATH="\"$(lxcpath)\""
lib_LTLIBRARIES = liblxc.la
pkginclude_HEADERS = \
monitor.h \
lxc_version_LDADD = liblxc.la
install-exec-local:
- -@/usr/sbin/setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep $(bindir)/lxc-execute 2>&1 > /dev/null && \
- /usr/sbin/setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep $(bindir)/lxc-start && \
- /usr/sbin/setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep $(bindir)/lxc-restart && \
+ -@export PATH=$$PATH:/sbin:/usr/sbin && \
+ setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep $(bindir)/lxc-execute && \
+ setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep $(bindir)/lxc-start && \
+ setcap cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override=ep $(bindir)/lxc-restart && \
mkdir -p $(prefix)/var/lxc && \
chmod ugo+rw $(prefix)/var/lxc || \
(echo && echo && \
#include <lxc/cgroup.h>
#include <lxc/monitor.h>
-#define LXCPATH "/var/lxc"
+/* #define LXCPATH "/var/lxc" */
#define MAXPIDLEN 20
struct lxc_mem_stat;