X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=Makefile;h=fd7f8d94dfb681386101a07099953bac36c436dd;hb=5118f044245f8f742fbc7fe040c3e73c6efe981f;hp=52f3184acbc817d6f7ce2df90df94a416d2e2e89;hpb=d25f3cabb45480decf8ce83edfe403a9c34dec54;p=build.git diff --git a/Makefile b/Makefile index 52f3184a..fd7f8d94 100644 --- a/Makefile +++ b/Makefile @@ -81,9 +81,9 @@ # # the build defines some make variables that are extracted from spec files # see for example -# (*) $ make ulogd.pkginfo +# (*) $ make ulogd-pkginfo # to see the list f variables attached to a given package -# (*) $ make kernel-devel.rpminfo +# (*) $ make kernel-devel-rpminfo # to see the list f variables attached to a given rpm # #################### @@ -97,6 +97,7 @@ PLANETLAB_RELEASE = 4.2 HOSTARCH := $(shell uname -i) DISTRO := $(shell ./getdistro.sh) RELEASE := $(shell ./getrelease.sh) +DISTRONAME := $(shell ./getdistroname.sh) RPM-INSTALL-DEVEL := rpm --force -Uvh # cannot force rpm -e RPM-UNINSTALL-DEVEL := rpm -e @@ -207,6 +208,7 @@ define stage1_variables $(1).spec = $(notdir $($(1)-SPEC)) $(1).specpath = SPECS/$(1).spec $(1).module = $(firstword $($(1)-MODULES)) +$(1)-SVNPATH = $(strip $($(1)-SVNPATH)) endef $(foreach package, $(ALL), $(eval $(call stage1_variables,$(package)))) @@ -219,9 +221,9 @@ $(foreach package, $(ALL), $(eval $(call stage1_variables,$(package)))) # define package_hasdate $(1).has-date = $(if $(subst myplc,,$(1)), \ - $(if $($(1)-SVNPATH),\ - $(if $(findstring /trunk,$($(1)-SVNPATH)),yes,),\ - $(if $(findstring HEAD,$($(1)-TAG)),yes,)), \ + $(if $($($(1).module)-SVNPATH),\ + $(if $(findstring /trunk,$($($(1).module)-SVNPATH)),yes,),\ + $(if $(findstring HEAD,$($($(1).module)-TAG)),yes,)), \ yes) endef @@ -232,8 +234,9 @@ define target_spec $($(1).specpath): mkdir -p SPECS (echo -n "# Generated by planetlab build from $($(1)-SPEC) on " ; date) > $($(1).specpath) - echo "%define distroname $(DISTRO)" >> $($(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) $(if $($(1).has-date),echo "%define date $(shell date +%Y.%m.%d)" >> $($(1).specpath),) @@ -440,7 +443,7 @@ $($(1).rpms): $($(1).srpm) $(if $($(1)-DEPEND-DEVEL-RPMS), $(RPM-UNINSTALL-DEVEL) $($(1)-DEPEND-DEVEL-RPMS)) @(echo -n "XXXXXXXXXXXXXXX -- END RPM $(1) " ; date) # for manual use only - in case we need to investigate the results of an rpmbuild -$(1).compile: $($(1).srpm) +$(1)-compile: $($(1).srpm) mkdir -p COMPILE tmp @(echo -n "XXXXXXXXXXXXXXX -- BEG compile $(1) " ; date) $(if $(findstring RPMS/yumgroups.xml,$($(1)-DEPEND-FILES)), $(createrepo) , ) @@ -448,7 +451,7 @@ $(1).compile: $($(1).srpm) $($(1).rpmbuild) --recompile $(RPM-USE-TMP-DIRS) $($(1).srpm) $(if $($(1)-DEPEND-DEVEL-RPMS), $(RPM-UNINSTALL-DEVEL) $($(1)-DEPEND-DEVEL-RPMS)) @(echo -n "XXXXXXXXXXXXXXX -- END compile $(1) " ; date) -.PHONY: $(1).compile +.PHONY: $(1)-compile endef $(foreach package,$(ALL),$(eval $(call target_binary_rpm,$(package)))) @@ -456,21 +459,21 @@ $(foreach package,$(ALL),$(eval $(call target_binary_rpm,$(package)))) # e.g. make proper -> does propers rpms # usage shorthand_target package define target_shorthand -$(1): $($(package).rpms) +$(1): $($(1).rpms) .PHONY: $(1) -$(1)-spec: $($(package)-SPEC) +$(1)-spec: $($(1)-SPEC) .PHONY: $(1)-spec -$(1)-mk: $($(package)-MK) +$(1)-mk: $($(1)-MK) .PHONY: $(1)-mk -$(1)-tarball: $($(package).tarballs) +$(1)-tarball: $($(1).tarballs) .PHONY: $(1)-tarball -$(1)-codebase: $($(package).codebase) +$(1)-codebase: $($(1).codebase) .PHONY: $(1)-source -$(1)-source: $($(package).source) +$(1)-source: $($(1).source) .PHONY: $(1)-codebase -$(1)-rpms: $($(package).rpms) +$(1)-rpms: $($(1).rpms) .PHONY: $(1)-rpms -$(1)-srpm: $($(package).srpm) +$(1)-srpm: $($(1).srpm) .PHONY: $(1)-srpm endef @@ -568,6 +571,7 @@ 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 myplc-release: @echo 'Creating myplc-release' rm -f $@ @@ -577,17 +581,21 @@ myplc-release: $(MAKE) --no-print-directory version-svns >> $@ echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx rpm info" >> $@ $(MAKE) --no-print-directory version-rpms >> $@ + @echo $(NIGHTLY_BASE) > .base version-build: - @echo -n 'Build bdate: ' ; date '+%Y.%m.%d' - @echo -n 'Build btime: ' ; date '+%H:%M' - @echo -n 'Build bhostname: ' ; hostname - @echo "Build base: $(NIGHTLY_BASE)" - @echo "Build binit_cwd: $(INIT_CWD)" - @echo -n 'Build btags: ' ; fgrep '$$''Id' $(PLDISTROTAGS) - @echo "Build tarch: $(HOSTARCH)" - @echo "Build tdistro: $(DISTRO)" - @echo "Build trelease: $(RELEASE)" + @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 planetlab-distro: $(PLDISTRO)" + @echo "Build planetlab-tags: $(PLDISTROTAGS)" + @echo -n 'Build planetlab-tagsid: ' ; fgrep '$$''Id' $(PLDISTROTAGS) + @echo "Build target-arch: $(HOSTARCH)" + @echo "Build target-distro: $(DISTRO)" + @echo "Build target-distroname: $(DISTRONAME)" + @echo "Build target-release: $(RELEASE)" + @echo "Build target-personality: $(NIGHTLY_PERSONALITY)" #################### # for a given module @@ -664,10 +672,10 @@ help: @echo 'make rpms' @echo "" @echo "********** Manual targets" - @echo "make package.compile" + @echo "make package-compile" @echo " The regular process uses rpmbuild --rebuild, that performs" @echo " a compilation directory cleanup upon completion. If you need to investigate" - @echo " the intermediate compilation directory, use the .compile targets" + @echo " the intermediate compilation directory, use the -compile targets" @echo "********** Cleaning examples" @echo "make clean" @echo " removes the files made by make" @@ -690,9 +698,9 @@ help: @echo "make ++ALL" @echo " Displays the value of a given variable (here ALL)" @echo " with only a single plus sign only the value is displayed" - @echo "make ulogd.pkginfo" + @echo "make ulogd-pkginfo" @echo " Displays know attributes of a package" - @echo "make kernel-devel.rpminfo" + @echo "make kernel-devel-rpminfo" @echo " Displays know attributes of an rpm" @echo "" @echo "********** Known pakages are" @@ -709,11 +717,11 @@ help: @echo "$($(varname))" ## package info PKGKEYS := tarballs source codebase srpm rpms rpmnames rpm-release rpm-name rpm-version rpm-subversion -%.pkginfo: package=$(subst .pkginfo,,$@) -%.pkginfo: +%-pkginfo: package=$(subst -pkginfo,,$@) +%-pkginfo: @$(foreach key,$(PKGKEYS),echo "$(package).$(key)=$($(package).$(key))";) ## rpm info RPMKEYS := rpm-path package -%.rpminfo: rpm=$(subst .rpminfo,,$@) -%.rpminfo: +%-rpminfo: rpm=$(subst -rpminfo,,$@) +%-rpminfo: @$(foreach key,$(RPMKEYS),echo "$(rpm).$(key)=$($(rpm).$(key))";)