builds myplc-native
[build.git] / Makefile
index 9937e60..9a24efa 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
 ### $Id$
 # 
 ####################
-# invokation:
+# invocation:
 #
 # (*) make stage1=true
 #     this extracts all specfiles and computes .mk from specfiles
 # (*) create your main yumgroups.xml as groups/<distro>.xml
 # (*) there are also various places where a set of modules are defined.
 #     check for .lst files in the various modules that build root images
-#     and mimick what's done for planetlab 
+#     and mimic what's done for planetlab 
 # (*) then you need to run 
 #     make stage1=true PLDISTRO=onelab
 #
 #################### 
 # This build deals with 2 kinds of objects
 # 
-# (*) packages are named upon the RPM name; they are moslty lowercase
+# (*) packages are named upon the RPM name; they are mostly lowercase
 #     Add a package to ALL if you want it built as part of the default set.
 # (*) modules are named after the subversion tree; as of this writing their names 
-#     are mostly mixedcase like MyPLC or Vserverreference
+#     are mostly mixed case like MyPLC or Vserverreference
 # 
 #################### packages
 # basics: how to build a package - you need/may define the following variables
@@ -62,6 +62,8 @@
 #     a set of *packages* that this package depends on
 # (*) package-DEPENDDEVELS
 #     a set of *packages* that the build will rpm-install the -devel variant before building <package>
+# (*) package-DEPENDDEVELRPMS
+#     a set of *rpms* that the build will rpm-install before building <package>
 # (*) package-DEPENDFILES
 #     a set of files that the package depends on - and that make needs to know about
 #     if this contains RPMS/yumgroups.xml, then the toplevel RPMS's index 
@@ -196,9 +198,8 @@ endif
 
 ####################
 # gather build information for the 'About' page
-SOURCES/myplc-release:
+myplc-release:
        @echo 'Creating myplc-release'
-       mkdir -p SOURCES
        rm -f $@
        (echo -n 'Build bdate: ' ; date '+%Y.%m.%d') >> $@
        (echo -n 'Build btime: ' ; date '+%H:%M') >> $@
@@ -283,6 +284,7 @@ export HOME := /building
        echo "%_tmppath $(HOME)/tmp" >> $@
        echo "%_netsharedpath /proc:/dev/pts" >> $@
        echo "%_install_langs C:de:en:es:fr" >> $@
+       echo "%_excludedocs yes" >> $@
 
 ### run spec2make on the spec file and include the result
 # usage: spec2make package
@@ -391,7 +393,8 @@ ifeq "$(subst srpm,,$(1))" "$(1)"
 $($(1)-SRPM): $($(1)_specpath) .rpmmacros $($(1)-TARBALLS) 
        mkdir -p BUILD SRPMS tmp
        @(echo -n "XXXXXXXXXXXXXXX -- BEG SRPM $(1) " ; date)
-       -$(foreach devel,$($(1)-DEPENDDEVELS), $(if $($(devel)-DEVEL-RPMS),rpm -Uvh $($(devel)-DEVEL-RPMS);))
+       -$(foreach devel,$($(1)-DEPENDDEVELS), $(if $($(devel)-DEVEL-RPMS),rpm --force -Uvh $($(devel)-DEVEL-RPMS);))
+       -$(foreach rpm,$($(1)-DEPENDDEVELRPMS), rpm --force -Uvh $($(rpm)-RPM-PATH);)
        $(if $($(1)-RPMBUILD),\
          $($(1)-RPMBUILD) $($(1)-RPMFLAGS) -bs $($(1)_specpath),
          $(RPMBUILD) $($(1)-RPMFLAGS) -bs $($(1)_specpath))    
@@ -400,7 +403,8 @@ else
 $($(1)-SRPM): $($(1)_specpath) .rpmmacros $($(1)-CODEBASE)
        mkdir -p BUILD SRPMS tmp
        @(echo -n "XXXXXXXXXXXXXXX -- BEG SRPM $(1) (using make srpm) " ; date)
-       -$(foreach devel,$($(1)-DEPENDDEVELS), $(if $($(devel)-DEVEL-RPMS),rpm -Uvh $($(devel)-DEVEL-RPMS);))
+       -$(foreach devel,$($(1)-DEPENDDEVELS), $(if $($(devel)-DEVEL-RPMS),rpm --force -Uvh $($(devel)-DEVEL-RPMS);))
+       -$(foreach rpm,$($(1)-DEPENDDEVELRPMS), rpm --force -Uvh $($(rpm)-RPM-PATH);)
        make -C $($(1)-CODEBASE) srpm && \
            rm -f SRPMS/$(notdir $($(1)-SRPM)) && \
            ln $($(1)-CODEBASE)/$(notdir $($(1)-SRPM)) SRPMS/$(notdir $($(1)-SRPM)) 
@@ -425,8 +429,8 @@ $($(1)-RPMS): $($(1)-SRPM)
        @(echo -n "XXXXXXXXXXXXXXX -- BEG RPM $(1) " ; date)
        $(if $(findstring RPMS/yumgroups.xml,$($(1)-DEPENDFILES)), createrepo --quiet -g yumgroups.xml RPMS/ , )
        $(if $($(1)-RPMBUILD),\
-         $($(1)-RPMBUILD) $($(1)-RPMFLAGS) --rebuild $($(1)-SRPM), \
-         $(RPMBUILD)  $($(1)-RPMFLAGS) --rebuild $($(1)-SRPM))
+         $($(1)-RPMBUILD) $($(1)-RPMFLAGS) --rebuild --define "_sourcedir $(HOME)/tmp" $($(1)-SRPM), \
+         $(RPMBUILD)  $($(1)-RPMFLAGS) --rebuild --define "_sourcedir $(HOME)/tmp" $($(1)-SRPM))
        @(echo -n "XXXXXXXXXXXXXXX -- END RPM $(1) " ; date)
 endef