From 5825d4151124a677e296abd1910efe61306abc7a Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 5 Apr 2005 14:30:38 +0000 Subject: [PATCH] linux-rpm.mk: Refactor everything Rewrite bit parts, mostly because of the need to put $(EXTRAVERSION) into rpm name and lilo label --- make/linux-rpm.mk | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/make/linux-rpm.mk b/make/linux-rpm.mk index 2b49267a..8571c154 100644 --- a/make/linux-rpm.mk +++ b/make/linux-rpm.mk @@ -13,19 +13,24 @@ #UPLOAD_PATH = /home/ftp/dat/pub/packages/$(CUSTOMER)/linux/$(HOST) #UPLOAD_OWNER = $(shell whoami) -RPMBUILD = $(shell which rpmbuild 2>/dev/null) -ifeq ($(RPMBUILD),) -RPMBUILD = $(shell which rpm 2>/dev/null) -endif # abbreviations +define EXTRAVERSION +$(shell sed '/^ *EXTRAVERSION *=/ !d; s/^ *EXTRAVERSION *= *-*//; s/ *$$//' linux-$(KERNEL_VERSION)/Makefile) +endef + KERNEL_MINOR := $(shell echo $(KERNEL_VERSION) | cut -d\. -f2) #HOST = $(shell cd ../..; pwd | xargs basename) WD := $(shell pwd) KERNEL_SRC_DIR = $(shell tar -tzf $(KERNEL_DIR)/$(KERNEL_PKG) | head -1) -TMP_INSTALL = $(KERNEL_BASE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE) +TMP_INSTALL = $(KERNEL_BASE)-$(KERNEL_VERSION)-$(EXTRAVERSION) TAG = $(shell echo V_$(KERNEL_VERSION)_$(KERNEL_RELEASE) | sed 's/\./_/g') ARCH = $(shell $(RPMBUILD) --showrc | sed '/build arch / !d; s/.*build arch *://; s/ //g') +RPMBUILD = $(shell which rpmbuild 2>/dev/null) +ifeq ($(RPMBUILD),) +RPMBUILD = $(shell which rpm 2>/dev/null) +endif + ifeq ($(wildcard RELEASE-$(KERNEL_VERSION)),) KERNEL_RELEASE := $(shell make newrelease; exit 1) else @@ -37,13 +42,14 @@ KERNEL_RELEASE = $(UNAME_SUFFIX)$(KERNEL_RELEASE_NUM) endif endif + ifeq ($(BOOT_LABEL),) -BOOT_LABEL = linux-$(KERNEL_VERSION)-$(KERNEL_RELEASE) +BOOT_LABEL = lx-$(KERNEL_VERSION)-$(EXTRAVERSION) endif -BASE = $(KERNEL_BASE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE) -BASE_RUN = $(KERNEL_BASE)-run-$(KERNEL_VERSION)-$(KERNEL_RELEASE) -BASE_DEVEL = $(KERNEL_BASE)-devel-$(KERNEL_VERSION)-$(KERNEL_RELEASE) +BASE = $(KERNEL_BASE)-$(KERNEL_VERSION)-$(EXTRAVERSION) +BASE_RUN = $(KERNEL_BASE)-run-$(KERNEL_VERSION)-$(EXTRAVERSION) +BASE_DEVEL = $(KERNEL_BASE)-devel-$(KERNEL_VERSION)-$(EXTRAVERSION) KERNEL_TGZ = $(notdir $(KERNEL_PKG)) F_SPEC = $(BASE).spec @@ -52,7 +58,12 @@ F_SPM = $(BASE).src.rpm F_RPM_RUN = $(BASE_RUN).$(ARCH).rpm F_RPM_DEVEL = $(BASE_DEVEL).$(ARCH).rpm F_RPMS = $(F_RPM_RUN) $(F_RPM_DEVEL) -F_BOOTFILES = $(addsuffix -$(KERNEL_VERSION)-$(KERNEL_RELEASE),$(addprefix $(TMP_INSTALL)/boot/,vmlinuz config System.map)) +blah: + echo $(EXTRAVERSION) + +F_BOOTFILES = $(addsuffix -$(KERNEL_VERSION)-$(EXTRAVERSION),$(addprefix $(TMP_INSTALL)/boot/,vmlinuz config System.map)) +blub: + echo $(F_BOOTFILES) F_CURRENT = $(addprefix CURRENT_, SRC RPM_SRC RPM_RUN_I386 RPM_DEVEL_I386) F_ULDONE = $(addsuffix .uldone,$(F_RPMS) $(F_TGZ) $(F_SPM) current) # note that order matters for F_ULDONE and F_RPMS (remote directory attributes) @@ -92,7 +103,7 @@ config-$(KERNEL_VERSION): cvs commit toplevel-makefile: unpack.done - sed "/^ *EXTRAVERSION *=/ !d; s/ *$$/-$(KERNEL_RELEASE)/" linux-$(KERNEL_VERSION)/Makefile >$@ + sed "s/\(^ *EXTRAVERSION *= *[^ ]*\) *$$/\\1_$(KERNEL_RELEASE)/" linux-$(KERNEL_VERSION)/Makefile >$@ linux-$(KERNEL_VERSION)/Makefile: toplevel-makefile cp $< $@ @@ -106,16 +117,19 @@ unpack.done: $(KERNEL_PKG) $(BUILD) $(basename $@) touch $@ -$(TMP_INSTALL)/$(F_SPEC): $(MKSPEC) Makefile - $(MKSPEC) -d $(TMP_INSTALL) -b $(KERNEL_BASE) -v $(KERNEL_VERSION) -r $(KERNEL_RELEASE) -a $(ARCH) -l $(BOOT_LABEL) > $@ +$(TMP_INSTALL)/$(F_SPEC): linux-$(KERNEL_VERSION)/Makefile $(MKSPEC) Makefile + $(MKSPEC) -d $(TMP_INSTALL) -b $(KERNEL_BASE) -v $(KERNEL_VERSION) -r $(EXTRAVERSION) \ + -a $(ARCH) -l $(BOOT_LABEL) > $@ + +# -r $(shell sed '/^ *EXTRAVERSION *=/ !d; s/^ *EXTRAVERSION *= *-*//; s/ *$$//' $<) \ $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(KERNEL_RELEASE): build.lxdone $(LOCAL_AFTER_KERNEL_BUILD) @echo -n .PRECIOUS: $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION) -$(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(KERNEL_RELEASE): $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION) - cp $< $@ +#$(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(KERNEL_RELEASE): $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION) +# cp $< $@ $(F_TGZ): Makefile build.lxdone $(F_BOOTFILES) $(TMP_INSTALL)/$(F_SPEC) tar -czf $@ \