start building onelab distro
[build.git] / Makefile
index 4ddedc8..d7fed0f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -56,6 +56,8 @@
 #     a set of *packages* that this package depends on
 # (*) package-DEPEND-DEVEL-RPMS
 #     a set of *rpms* that the build will rpm-install before building <package>
+#     this is intended to denote local rpms, i.e. ones that are results of our own build
+#     stock rpms should be mentioned in config.planetlab/devel.pkgs
 # (*) package-DEPEND-FILES
 #     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 
@@ -136,7 +138,8 @@ include $(PLDISTROTAGS)
 # so now the nightly build script sets this to what it is currently using
 # we set a default in case we run the build manually:
 # if the local directory was svn checked out, then use the corresponding URL
-default-build-SVNPATH := $(shell svn info 2> /dev/null | grep URL: | awk '{print $2;}')
+svn-info-url-line := $(shell svn info 2> /dev/null | grep URL:)
+default-build-SVNPATH := $(lastword $(svn-info-url-line))
 # otherwise, use this hard-coded default
 ifeq "$(default-build-SVNPATH)" ""
 default-build-SVNPATH := http://svn.planet-lab.org/svn/build/trunk
@@ -307,8 +310,7 @@ spec2make: spec2make.c
 define target_mk
 MAKE/$(1).mk: $($(1).specpath) spec2make .rpmmacros
        mkdir -p MAKE
-       ./spec2make $($(1)-RPMFLAGS) $($(1).specpath) $(1) > MAKE/$(1).mk
-       @if [ -z MAKE/$(1).mk ] ; then rm MAKE/$(1).mk ; exit 1 ; fi
+       ./spec2make $($(1)-RPMFLAGS) $($(1).specpath) $(1) > MAKE/$(1).mk || { rm MAKE/$(1).mk; exit 1; }
 endef
 
 $(foreach package,$(ALL),$(eval $(call target_mk,$(package))))
@@ -318,6 +320,10 @@ $(foreach package,$(ALL),$(eval $(call target_mk,$(package))))
 pldistro.mk:
        echo "PLDISTRO:=$(PLDISTRO)" > $@
        echo "PLDISTROTAGS:=$(PLDISTROTAGS)" >> $@
+       echo "build-SVNPATH:=$(build-SVNPATH)" >> $@
+       echo "PERSONALITY:=$(PERSONALITY)" >> $@
+       echo "MAILTO:=$(MAILTO)" >> $@
+       echo "BASE:=$(BASE)" >> $@
 
 savepldistro: pldistro.mk
 .PHONY: savepldistro
@@ -592,8 +598,8 @@ develclean:
 ####################
 # gather build information for the 'About' page
 # when run from crontab, INIT_CWD not properly set (says /root ..)
-# so, the nightly build passes NIGHTLY_BASE here
-# also store the nightly_base in .base for any post-processing purposes
+# so, the nightly build passes BASE here
+# also store BASE in .base for any post-processing purposes
 myplc-release:
        @echo 'Creating myplc-release'
        rm -f $@
@@ -603,13 +609,13 @@ myplc-release:
        $(MAKE) --no-print-directory version-svns >> $@
        echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx rpm info" >> $@
        $(MAKE) --no-print-directory version-rpms >> $@
-       @echo $(NIGHTLY_BASE) > .base
+       @echo $(BASE) > .base
 
 version-build:
        @echo -n 'Build build-date: ' ; date '+%Y.%m.%d'
        @echo -n 'Build build-time: ' ; date '+%H:%M-%Z'
        @echo -n 'Build build-hostname: ' ; hostname
-       @echo    "Build build-base: $(NIGHTLY_BASE)"
+       @echo    "Build build-base: $(BASE)"
        @echo    "Build planetlab-distro: $(PLDISTRO)"
        @echo    "Build planetlab-tags: $(PLDISTROTAGS)"
        @echo -n 'Build planetlab-tagsid: ' ; fgrep '$$''Id' $(PLDISTROTAGS)
@@ -617,7 +623,7 @@ version-build:
        @echo    "Build target-distro: $(DISTRO)"
        @echo    "Build target-distroname: $(DISTRONAME)"
        @echo    "Build target-release: $(RELEASE)"     
-       @echo    "Build target-personality: $(NIGHTLY_PERSONALITY)"     
+       @echo    "Build target-personality: $(PERSONALITY)"     
 
 #################### 
 # for a given module
@@ -650,15 +656,6 @@ $(foreach package,$(sort $(ALL)), $(eval $(call rpm_version_target,$(package))))
 versions: myplc-release version-build version-svns version-rpms
 .PHONY: versions version-build version-rpms version-svns
 
-#################### include install Makefile
-# the default is to use the distro-dependent install file
-# however the main distro file can redefine PLDISTROINSTALL
-ifndef PLDISTROINSTALL
-PLDISTROINSTALL := $(PLDISTRO)-install.mk
-endif
-# only if present
--include $(PLDISTROINSTALL)
-
 #################### package info
 PKGKEYS := tarballs source codebase srpm rpms rpmnames rpm-release rpm-name rpm-version rpm-subversion
 %-pkginfo: package=$(subst -pkginfo,,$@)
@@ -693,7 +690,7 @@ info: packages modules branches
 .PHONY: info packages modules branches module-tools
 
 ####################
-testsvnpath:
+tests_svnpath:
        @$(if $(TESTS_SVNPATH), echo $(TESTS_SVNPATH) > $@, \
        echo "http://svn.planet-lab.org/svn/tests/trunk" > $@)