From: Thierry Parmentelat Date: Tue, 26 Jun 2012 07:36:41 +0000 (+0200) Subject: merged split packaging (-lib and -vs) from master, add a 3rd one for lxc X-Git-Tag: nodemanager-2.1-4~3 X-Git-Url: http://git.onelab.eu/?p=nodemanager.git;a=commitdiff_plain;h=f699ab76a8c8a5ba09d2286a833a8a05ecf8564c merged split packaging (-lib and -vs) from master, add a 3rd one for lxc --- f699ab76a8c8a5ba09d2286a833a8a05ecf8564c diff --cc Makefile index fb12a5b,e17e263..b137434 --- a/Makefile +++ b/Makefile @@@ -12,22 -10,33 +10,44 @@@ datadir := /usr/share bindir := /usr/bin - all: forward_api_calls - python setup.py build + lib: forward_api_calls + python setup-lib.py build + + vs: + python setup-vs.py build + ++lxc: ++ python setup-lxc.py build + forward_api_calls: forward_api_calls.c $(CC) -Wall -Os -o $@ $? strip $@ - install: - python setup.py install \ + install-lib: + python setup-lib.py install \ + --install-purelib=$(DESTDIR)/$(datadir)/NodeManager \ + --install-platlib=$(DESTDIR)/$(datadir)/NodeManager \ + --install-scripts=$(DESTDIR)/$(bindir) + install -m 444 README $(DESTDIR)/$(datadir)/NodeManager + + install-vs: + python setup-vs.py install \ + --install-purelib=$(DESTDIR)/$(datadir)/NodeManager \ + --install-platlib=$(DESTDIR)/$(datadir)/NodeManager \ + --install-scripts=$(DESTDIR)/$(bindir) + install -m 444 README $(DESTDIR)/$(datadir)/NodeManager + ++install-lxc: ++ python setup-lxc.py install \ + --install-purelib=$(DESTDIR)/$(datadir)/NodeManager \ + --install-platlib=$(DESTDIR)/$(datadir)/NodeManager \ + --install-scripts=$(DESTDIR)/$(bindir) + install -m 444 README $(DESTDIR)/$(datadir)/NodeManager + clean: - python setup.py clean + python setup-lib.py clean + python setup-vs.py clean ++ python setup-lxc.py clean rm -f forward_api_calls *.pyc build .PHONY: all install clean diff --cc nodemanager-lib.spec index b6442ae,e20acd6..3fd5b9c --- a/nodemanager-lib.spec +++ b/nodemanager-lib.spec @@@ -1,13 -1,12 +1,13 @@@ %define slicefamily %{pldistro}-%{distroname}-%{_arch} - %define name NodeManager + %define name nodemanager-lib -%define version 2.0 -%define taglevel 37 +%define version 2.1 +%define taglevel 3 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} +%global python_sitearch %( python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)" ) - Summary: PlanetLab Node Manager + Summary: PlanetLab Node Manager Library Name: %{name} Version: %{version} Release: %{release} @@@ -60,8 -53,7 +54,8 @@@ either nodemanager-vs or nodemanager-lx %install # make manages the C and Python stuff rm -rf $RPM_BUILD_ROOT - %{__make} %{?_smp_mflags} install DESTDIR="$RPM_BUILD_ROOT" + %{__make} %{?_smp_mflags} install-lib DESTDIR="$RPM_BUILD_ROOT" +PYTHON_SITEARCH=`python -c 'from distutils.sysconfig import get_python_lib; print get_python_lib(1)'` # install the sliver initscript (that triggers the slice initscript if any) mkdir -p $RPM_BUILD_ROOT/usr/share/NodeManager/sliver-initscripts/ diff --cc nodemanager-lxc.spec index 0000000,0000000..f672601 new file mode 100644 --- /dev/null +++ b/nodemanager-lxc.spec @@@ -1,0 -1,0 +1,55 @@@ ++# we define this in a separate specfile because we cannot produce all the 3 packages ++# nodemanager-lib nodemanager-vs nodemanager-lxc in a single build ++ ++%define slicefamily %{pldistro}-%{distroname}-%{_arch} ++ ++%define name nodemanager-lxc ++%define version 2.1 ++%define taglevel 3 ++ ++%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} ++ ++Summary: PlanetLab Node Manager Plugin for lxc nodes ++Name: %{name} ++Version: %{version} ++Release: %{release} ++License: PlanetLab ++Group: System Environment/Daemons ++Source0: %{name}-%{version}.tar.gz ++BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root ++ ++Vendor: PlanetLab ++Packager: PlanetLab Central ++Distribution: PlanetLab %{plrelease} ++URL: %{SCMURL} ++ ++# we use libvirt ++Requires: libvirt-python ++# the common package for nodemanager ++Requires: nodemanager-lib ++# the lxc-specific tools for using slice images ++Requires: lxc-sliceimage ++ ++%description ++nodemanager-lxc provides the lxc code for the PlanetLab Node Manager. ++ ++%prep ++%setup -q ++ ++%build ++# make manages the C and Python stuff ++%{__make} %{?_smp_mflags} lxc ++ ++%install ++# make manages the C and Python stuff ++rm -rf $RPM_BUILD_ROOT ++%{__make} %{?_smp_mflags} install-lxc DESTDIR="$RPM_BUILD_ROOT" ++ ++%clean ++rm -rf $RPM_BUILD_ROOT ++ ++%files ++%defattr(-,root,root,-) ++%{_datadir}/NodeManager/ ++ ++%changelog diff --cc nodemanager-vs.spec index 0000000,514349b..e0575c6 mode 000000,100644..100644 --- a/nodemanager-vs.spec +++ b/nodemanager-vs.spec @@@ -1,0 -1,60 +1,60 @@@ + # we define this in a separate specfile because we cannot produce all the 3 packages -# nodemanager-lib nodemanager-vs nodemanager-vs in a single build ++# nodemanager-lib nodemanager-vs nodemanager-lxc in a single build + + %define slicefamily %{pldistro}-%{distroname}-%{_arch} + + %define name nodemanager-vs -%define version 2.0 -%define taglevel 37 ++%define version 2.1 ++%define taglevel 3 + + %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} + + Summary: PlanetLab Node Manager Plugin for vserver nodes + Name: %{name} + Version: %{version} + Release: %{release} + License: PlanetLab + Group: System Environment/Daemons + Source0: %{name}-%{version}.tar.gz + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root + + Vendor: PlanetLab + Packager: PlanetLab Central + Distribution: PlanetLab %{plrelease} + URL: %{SCMURL} + + # old name, when all came as a single package with vserver wired in + Obsoletes: NodeManager + -# Uses function decorators -Requires: nodemanager-lib -# vserver-sliceimage or lxc-sliceimage to be added explicitly in nodeimage.pkgs -Requires: vserver-sliceimage + # our interface to the vserver patch + Requires: util-vserver >= 0.30.208-17 -# vserver.py ++# and the planetlab utilities + Requires: util-vserver-python > 0.3-16 ++# the common package for nodemanager ++Requires: nodemanager-lib ++# the vserver-specific tools for using slice images ++Requires: vserver-sliceimage + + %description + nodemanager-vs provides the vserver code for the PlanetLab Node Manager. + + %prep + %setup -q + + %build + # make manages the C and Python stuff + %{__make} %{?_smp_mflags} vs + + %install + # make manages the C and Python stuff + rm -rf $RPM_BUILD_ROOT + %{__make} %{?_smp_mflags} install-vs DESTDIR="$RPM_BUILD_ROOT" + + %clean + rm -rf $RPM_BUILD_ROOT + + %files + %defattr(-,root,root,-) + %{_datadir}/NodeManager/ + + %changelog diff --cc setup-lxc.py index 0000000,0000000..7948e0f new file mode 100644 --- /dev/null +++ b/setup-lxc.py @@@ -1,0 -1,0 +1,20 @@@ ++#!/usr/bin/python ++# ++# Setup script for the Node Manager application ++# ++# Mark Huang ++# Copyright (C) 2006 The Trustees of Princeton University ++# ++ ++from distutils.core import setup, Extension ++ ++setup( ++ py_modules=[ ++ 'sliver_libvirt', ++ 'sliver_lxc', ++ ], ++ scripts = [ ++ ], ++ packages =[ ++ ], ++ )