tweak packaging for the lxc build procprotect-0.1-1
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Fri, 15 Jun 2012 15:10:06 +0000 (18:10 +0300)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Fri, 15 Jun 2012 15:10:06 +0000 (18:10 +0300)
procprotect.spec

index 57e66ca..3ab687b 100644 (file)
@@ -1,15 +1,34 @@
-%define url $URL$
-
 %define name procprotect
 %define version 0.1
 %define taglevel 1
 
-%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+### legacy from locally-built kernels, used to define these
+# kernel_release : 1.fc16  (24 is then the planetlab taglevel)
+# kernel_version : 3.3.7
+# kernel_arch :    i686 | x86_64
+
+# compute this with "rpm -q --qf .. kernel-devel" when with the stock kernel
+# this line below
+#%define module_release %( rpm -q --qf "%{version}" kernel-headers )
+# causes recursive macro definition no matter how much you quote
+%define percent %
+%define braop \{
+%define bracl \}
+%define kernel_version %( rpm -q --qf %{percent}%{braop}version%{bracl} kernel-headers )
+%define kernel_release %( rpm -q --qf %{percent}%{braop}release%{bracl} kernel-headers )
+%define kernel_arch %( rpm -q --qf %{percent}%{braop}arch%{bracl} kernel-headers )
+
+# this is getting really a lot of stuff, could be made simpler probably
+%define release %{kernel_version}.%{kernel_release}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+
+%define kernel_id %{kernel_version}-%{kernel_release}.%{kernel_arch}
+%define kernelpath /usr/src/kernels/%{kernel_id}
+
 
 Vendor: PlanetLab
 Packager: PlanetLab Central <support@planet-lab.org>
 Distribution: PlanetLab %{plrelease}
-URL: %(echo %{url} | cut -d ' ' -f 2)
+URL: %{SCMURL}
 
 Summary: Proc fs acls
 Name: %{name}
@@ -27,17 +46,16 @@ ACLs for protecting entries in the proc filesystem.
 %setup -q
 
 %build
-make -C /lib/modules/`ls /lib/modules | head -1`/build M=$PWD modules
+make -C %{kernelpath} V=1 M=$(pwd) modules
 
 %install
-mkdir -p $RPM_BUILD_ROOT/lib/modules/`ls /lib/modules | head -1`/kernel/net/procprotect
-cp procprotect.ko $RPM_BUILD_ROOT/lib/modules/`ls /lib/modules | head -1`/kernel/net/procprotect
+install -D -m 755 procprotect.ko $RPM_BUILD_ROOT/lib/modules/%{kernel_id}/kernel/net/procprotect/procprotect.ko
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
-/lib
+/lib/modules/%{kernel_id}
 
 %post