(*) first try at madwifi
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 4 Dec 2007 11:44:59 +0000 (11:44 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 4 Dec 2007 11:44:59 +0000 (11:44 +0000)
(*) packages that build with 'make srpm' : set BUILD-FROM-SRPM rather than rely on name
(*) SPECFILE is passed to make srpm
(*) specfiles in SPECS/ named after package as for MAKE/
(*) spec2make exports .rpm-arch as well

Makefile
groups/planetlab.xml
planetlab-tags.mk
planetlab.mk
spec2make.c

index 5313fb0..d60edad 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -70,6 +70,8 @@
 #     is refreshed with createrepo prior to running rpmbuild
 # (*) package-RPMFLAGS: Miscellaneous RPM flags
 # (*) package-RPMBUILD: If not rpmbuild - mostly used for sudo'ing rpmbuild
+# (*) package-BUILD-FROM-SRPM: set this to any non-empty value, if your package is able to produce 
+#     a source rpms by running 'make srpm'
 #
 #################### modules
 # Required information about the various modules (set this in e.g. planetlab-tags.mk)
@@ -226,7 +228,7 @@ repo: RPMS/yumgroups.xml
 #
 define stage1_variables
 $(1).spec = $(notdir $($(1)-SPEC))
-$(1).specpath = SPECS/$(notdir $($(1)-SPEC))
+$(1).specpath = SPECS/$(1).spec
 $(1).module = $(firstword $($(1)-MODULES))
 endef
 
@@ -415,7 +417,7 @@ srpms: $(ALLSRPMS)
 # usage: target_source_rpm package
 # select upon the package name, whether it contains srpm or not
 define target_source_rpm 
-ifeq "$(subst srpm,,$(1))" "$(1)"
+ifeq "$($(1)-BUILD-FROM-SRPM)" ""
 $($(1).srpm): $($(1).specpath) .rpmmacros $($(1).tarballs) 
        mkdir -p BUILD SRPMS tmp
        @(echo -n "XXXXXXXXXXXXXXX -- BEG SRPM $(1) (using SOURCES) " ; date)
@@ -428,7 +430,7 @@ $($(1).srpm): $($(1).specpath) .rpmmacros $($(1).codebase)
        mkdir -p BUILD SRPMS tmp
        @(echo -n "XXXXXXXXXXXXXXX -- BEG SRPM $(1) (using make srpm) " ; date)
        $(if $($(1).all-devel-rpm-paths), $(RPM-INSTALL-DEVEL) $($(1).all-devel-rpm-paths))
-       make -C $($(1).codebase) srpm && \
+       make -C $($(1).codebase) srpm SPECFILE=$(HOME)/$($(1).specpath) && \
            rm -f SRPMS/$(notdir $($(1).srpm)) && \
            ln $($(1).codebase)/$(notdir $($(1).srpm)) SRPMS/$(notdir $($(1).srpm)) 
        $(if $($(1)-DEPEND-DEVEL-RPMS), $(RPM-UNINSTALL-DEVEL) $($(1)-DEPEND-DEVEL-RPMS))
index 70975cf..21cc2d7 100644 (file)
@@ -99,6 +99,7 @@
 
       <packagereq type="default">vconfig</packagereq>
 
+      <packagereq type="mandatory">madwifi</packagereq>
       <packagereq type="mandatory">util-vserver</packagereq>
       <packagereq type="mandatory">util-vserver-build</packagereq>
       <packagereq type="mandatory">util-vserver-lib</packagereq>
index 9379d1c..6808cbc 100644 (file)
@@ -5,6 +5,7 @@ build-SVNPATH                   := http://svn.planet-lab.org/svn/build/trunk
 # linux-tree-SVNPATH           := http://svn.planet-lab.org/svn/linux-2.6/branches/2.6.20
 linux-patches-SVNPATH          := http://svn.planet-lab.org/svn/linux-2.6/trunk
 # 
+madwifi-SVNPATH                        := http://svn.planet-lab.org/svn/madwifi/trunk
 libnl-SVNPATH                  := http://svn.planet-lab.org/svn/libnl/trunk
 util-vserver-SVNPATH           := http://svn.planet-lab.org/svn/util-vserver/branches/scholz
 util-vserver-pl-SVNPATH                := http://svn.planet-lab.org/svn/util-vserver-pl/trunk
index 97c8d6b..34be23d 100644 (file)
 # so the source rpm is created by running make srpm in the codebase
 #
 
-srpm-kernel-MODULES := linux-patches
-srpm-kernel-SPEC := kernel-2.6-planetlab.spec
+kernel-MODULES := linux-patches
+kernel-SPEC := kernel-2.6-planetlab.spec
+kernel-BUILD-FROM-SRPM := yes
 ifeq ($(HOSTARCH),i386)
-srpm-kernel-RPMFLAGS:= --target i686
+kernel-RPMFLAGS:= --target i686
 else
-srpm-kernel-RPMFLAGS:= --target $(HOSTARCH)
+kernel-RPMFLAGS:= --target $(HOSTARCH)
 endif
-KERNELS += srpm-kernel
+KERNELS += kernel
 
 kernel: $(KERNELS)
 kernel-clean: $(foreach package,$(KERNELS),$(package)-clean)
@@ -39,6 +40,21 @@ IN_BOOTSTRAPFS += $(KERNELS)
 # turns out myplc installs kernel-vserver
 IN_MYPLC += $(KERNELS)
 
+#
+# madwifi
+#
+# [thierry] - temporarily use onelab's svn
+#
+madwifi-MODULES := madwifi
+madwifi-SPEC := madwifi.spec
+madwifi-BUILD-FROM-SRPM := yes
+madwifi-DEPEND-DEVEL-RPMS := kernel-devel
+madwifi-SPECVARS = kernel_version=$(kernel.rpm-version) \
+       kernel_release=$(kernel.rpm-release) \
+       kernel_arch=$(kernel.rpm-arch)
+IN_BOOTSTRAPFS += madwifi
+ALL += madwifi
+
 #
 # libnl
 #
index 5b405ed..77ddec9 100644 (file)
@@ -195,6 +195,9 @@ main(int argc, char *argv[])
     }
   }
   
+  /* export arch */
+  printf ("%s.rpm-arch := %s\n",package_name,target);
+
   spec = freeSpec(spec);
 
  done: