for dealing with the util-vserver module, specifically the scholz branch
[build.git] / Makefile
index fd7f8d9..04f5c47 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -229,21 +229,26 @@ endef
 
 $(foreach package, $(ALL), $(eval $(call package_hasdate,$(package))))
 
+### the common header for generated specfiles
+# useful when trying new specfiles manually
+header.spec:
+       (echo -n "# Generated by planetlab build from $($(1)-SPEC) on " ; date) > $@
+       echo "%define distro $(DISTRO)" >> $@
+       echo "%define distrorelease $(RELEASE)" >> $@
+       echo "%define distroname $(DISTRONAME)" >> $@
+       echo "%define pldistro $(PLDISTRO)" >> $@
+       echo "%define plrelease $(PLANETLAB_RELEASE)" >> $@
+
 ### extract spec file from scm
 define target_spec
-$($(1).specpath):
+$($(1).specpath): header.spec
        mkdir -p SPECS
-       (echo -n "# Generated by planetlab build from $($(1)-SPEC) on " ; date) > $($(1).specpath)
-       echo "%define distro $(DISTRO)" >> $($(1).specpath)
-       echo "%define distrorelease $(RELEASE)" >> $($(1).specpath)
-       echo "%define distroname $(DISTRONAME)" >> $($(1).specpath)
-       echo "%define pldistro $(PLDISTRO)" >> $($(1).specpath)
-       echo "%define plrelease $(PLANETLAB_RELEASE)" >> $($(1).specpath)
+       cat header.spec > $($(1).specpath)
        $(if $($(1).has-date),echo "%define date $(shell date +%Y.%m.%d)" >> $($(1).specpath),)
        $(if $($(1)-SPECVARS), \
          $(foreach line,$($(1)-SPECVARS), \
            echo "%define" $(word 1,$(subst =, ,$(line))) "$(word 2,$(subst =, ,$(line)))" >> $($(1).specpath) ;))
-       echo "# included from codebase specfile" >> $($(1).specpath)
+       echo "# included from $($(1)-SPEC)" >> $($(1).specpath)
        $(if $($($(1).module)-SVNPATH),\
           svn cat $($($(1).module)-SVNPATH)/$($(1)-SPEC) >> $($(1).specpath) || rm $($(1).specpath),\
           cvs -d $($($(1).module)-CVSROOT) checkout \