From: Thierry Parmentelat Date: Tue, 27 Nov 2007 12:40:56 +0000 (+0000) Subject: * Makefile mostly reverted to rev. 7084 - do not use srpm packages for now X-Git-Tag: 4.2-rc2~442 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=fa469b6d422a4774d604a9197c9129dcd7d61627;p=build.git * Makefile mostly reverted to rev. 7084 - do not use srpm packages for now * switched back to 2.6.22 for f8 only - no need to try this anyway * re-enabled proper --- diff --git a/Makefile b/Makefile index 3ec67e1f..82d8e0aa 100644 --- a/Makefile +++ b/Makefile @@ -185,10 +185,8 @@ include $(ALLMKS) #all : codebases #all : rpms #all : srpms -# mention $(ALL) here rather than rpms -# this is because the inter-package dependencies are expressed like -# util-vserver: util-python all: rpms +all: srpms endif endif @@ -216,7 +214,7 @@ SOURCES/myplc-release: # define stage1_variables $(1)_spec = $(notdir $($(1)-SPEC)) -$(1)_specpath = CODESPECS/$(notdir $($(1)-SPEC)) +$(1)_specpath = SPECS/$(notdir $($(1)-SPEC)) $(1)_module = $(firstword $($(1)-MODULES)) endef @@ -243,7 +241,7 @@ $(foreach package, $(ALL), $(eval $(call package_hasdate,$(package)))) # cannot use variables in such rules, we need to inline everything, sigh define target_spec $($(1)_specpath): - mkdir -p CODESPECS + mkdir -p SPECS (echo -n "# Generated by planetlab build from $($(1)-SPEC) on " ; date) > $($(1)_specpath) echo "%define distroname $(DISTRO)" >> $($(1)_specpath) echo "%define distrorelease $(RELEASE)" >> $($(1)_specpath) @@ -376,6 +374,27 @@ CODEBASES/%: $(call extract_single_module,$(package))) @(echo -n "XXXXXXXXXXXXXXX -- END CODEBASE $(package) : $@ " ; date) +### rpmbuild invokation +ALLRPMS:=$(foreach package,$(ALL),$($(package)-RPM)) +rpms: $(ALLRPMS) + @echo $(words $(ALLRPMS)) binary rpms OK +.PHONY: rpms + +# usage: build_binary_rpm package +# xxx hacky - invoke createrepo if DEPENDFILES mentions RPMS/yumgroups.xml +define target_binary_rpm +$($(1)-RPM): $($(1)_specpath) $($(1)-TARBALL) .rpmmacros + mkdir -p BUILD RPMS tmp + @(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) -bb $($(1)_specpath), \ + $(RPMBUILD) $($(1)-RPMFLAGS) -bb $($(1)_specpath)) + @(echo -n "XXXXXXXXXXXXXXX -- END RPM $(1) " ; date) +endef + +$(foreach package,$(ALL),$(eval $(call target_binary_rpm,$(package)))) + ### source rpms ALLSRPMS:=$(foreach package,$(ALL),$($(package)-SRPM)) srpms: $(ALLSRPMS) @@ -406,28 +425,6 @@ endef $(foreach package,$(ALL),$(eval $(call target_source_rpm,$(package)))) -### rpmbuild invokation -ALLRPMS:=$(foreach package,$(ALL),$($(package)-RPM)) -# same as above, mention $(ALL) and not $(ALLRPMS) -rpms: $(ALLRPMS) - @echo $(words $(ALLRPMS)) binary rpms OK -.PHONY: rpms - -# usage: build_binary_rpm package -# xxx hacky - invoke createrepo if DEPENDFILES mentions RPMS/yumgroups.xml -define target_binary_rpm -$($(1)-RPM): $($(1)-SRPM) - mkdir -p BUILD RPMS SPECS tmp - @(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)) - @(echo -n "XXXXXXXXXXXXXXX -- END RPM $(1) " ; date) -endef - -$(foreach package,$(ALL),$(eval $(call target_binary_rpm,$(package)))) - ### RPMS/yumgroups.xml ifndef YUMGROUPS YUMGROUPS := groups/$(PLDISTRO).xml @@ -526,9 +523,9 @@ clean-help: ### brute force clean distclean1: - rm -rf pldistro.mk .rpmmacros spec2make CODESPECS MAKE + rm -rf pldistro.mk .rpmmacros spec2make SPECS MAKE distclean2: - rm -rf CODEBASES SOURCES BUILD RPMS SRPMS SPECS tmp + rm -rf CODEBASES SOURCES BUILD RPMS SRPMS tmp distclean: distclean1 distclean2 .PHONY: distclean1 distclean2 distclean @@ -574,7 +571,7 @@ help: @echo "Run make in two stages:" @echo "" @echo "make stage1=true PLDISTRO=onelab" - @echo " -> extracts all spec files in CODESPECS/ and mk files in MAKE/" + @echo " -> extracts all spec files in SPECS/ and mk files in MAKE/" @echo " as well as save PLDISTRO for subsequent runs" @echo "" @echo "Then you can use the following targets" diff --git a/planetlab.mk b/planetlab.mk index 1e4b119e..4acdf9c3 100644 --- a/planetlab.mk +++ b/planetlab.mk @@ -20,8 +20,7 @@ # in this case the srpm is created by running make srpm in the codebase # -# using 2.6.22 on all platforms - experimental -#ifeq "$(RELEASE)" "8" +ifeq "$(RELEASE)" "8" srpm-kernel-$(HOSTARCH)-MODULES := linux-patches srpm-kernel-$(HOSTARCH)-SPEC := kernel-2.6-planetlab.spec ifeq ($(HOSTARCH),i386) @@ -31,16 +30,16 @@ srpm-kernel-$(HOSTARCH)-RPMFLAGS:= --target $(HOSTARCH) endif KERNELS += srpm-kernel-$(HOSTARCH) -#else -#kernel-$(HOSTARCH)-MODULES := linux-tree -#kernel-$(HOSTARCH)-SPEC := scripts/kernel-2.6-planetlab.spec -#ifeq ($(HOSTARCH),i386) -#kernel-$(HOSTARCH)-RPMFLAGS:= --target i686 -#else -#kernel-$(HOSTARCH)-RPMFLAGS:= --target $(HOSTARCH) -#endif -#KERNELS += kernel-$(HOSTARCH) -#endif +else +kernel-$(HOSTARCH)-MODULES := linux-tree +kernel-$(HOSTARCH)-SPEC := scripts/kernel-2.6-planetlab.spec +ifeq ($(HOSTARCH),i386) +kernel-$(HOSTARCH)-RPMFLAGS:= --target i686 +else +kernel-$(HOSTARCH)-RPMFLAGS:= --target $(HOSTARCH) +endif +KERNELS += kernel-$(HOSTARCH) +endif kernel: $(KERNELS) kernel-clean: $(foreach package,$(KERNELS),$(package)-clean) @@ -113,8 +112,7 @@ proper-SPEC := proper.spec proper-RPMBUILD := sudo bash ./rpmbuild.sh # proper uses scripts in util-python for building proper-DEPENDS := libhttpd++ util-python -# disabled temporarily (or ?) -#ALL += proper +ALL += proper # # codemux: Port 80 demux