(*) 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
# 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)
#
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
# 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)
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))
<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>
# 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
# 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)
# 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
#
}
}
+ /* export arch */
+ printf ("%s.rpm-arch := %s\n",package_name,target);
+
spec = freeSpec(spec);
done: