mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-21 05:47:38 +01:00
linux-rpm.mk: Refactor everything
Rewrite bit parts, mostly because of the need to put $(EXTRAVERSION) into rpm name and lilo label
This commit is contained in:
parent
5954d49b10
commit
5825d41511
1 changed files with 29 additions and 15 deletions
|
|
@ -13,19 +13,24 @@
|
||||||
#UPLOAD_PATH = /home/ftp/dat/pub/packages/$(CUSTOMER)/linux/$(HOST)
|
#UPLOAD_PATH = /home/ftp/dat/pub/packages/$(CUSTOMER)/linux/$(HOST)
|
||||||
#UPLOAD_OWNER = $(shell whoami)
|
#UPLOAD_OWNER = $(shell whoami)
|
||||||
|
|
||||||
RPMBUILD = $(shell which rpmbuild 2>/dev/null)
|
|
||||||
ifeq ($(RPMBUILD),)
|
|
||||||
RPMBUILD = $(shell which rpm 2>/dev/null)
|
|
||||||
endif
|
|
||||||
# abbreviations
|
# abbreviations
|
||||||
|
define EXTRAVERSION
|
||||||
|
$(shell sed '/^ *EXTRAVERSION *=/ !d; s/^ *EXTRAVERSION *= *-*//; s/ *$$//' linux-$(KERNEL_VERSION)/Makefile)
|
||||||
|
endef
|
||||||
|
|
||||||
KERNEL_MINOR := $(shell echo $(KERNEL_VERSION) | cut -d\. -f2)
|
KERNEL_MINOR := $(shell echo $(KERNEL_VERSION) | cut -d\. -f2)
|
||||||
#HOST = $(shell cd ../..; pwd | xargs basename)
|
#HOST = $(shell cd ../..; pwd | xargs basename)
|
||||||
WD := $(shell pwd)
|
WD := $(shell pwd)
|
||||||
KERNEL_SRC_DIR = $(shell tar -tzf $(KERNEL_DIR)/$(KERNEL_PKG) | head -1)
|
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')
|
TAG = $(shell echo V_$(KERNEL_VERSION)_$(KERNEL_RELEASE) | sed 's/\./_/g')
|
||||||
ARCH = $(shell $(RPMBUILD) --showrc | sed '/build arch / !d; s/.*build arch *://; 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)),)
|
ifeq ($(wildcard RELEASE-$(KERNEL_VERSION)),)
|
||||||
KERNEL_RELEASE := $(shell make newrelease; exit 1)
|
KERNEL_RELEASE := $(shell make newrelease; exit 1)
|
||||||
else
|
else
|
||||||
|
|
@ -37,13 +42,14 @@ KERNEL_RELEASE = $(UNAME_SUFFIX)$(KERNEL_RELEASE_NUM)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(BOOT_LABEL),)
|
ifeq ($(BOOT_LABEL),)
|
||||||
BOOT_LABEL = linux-$(KERNEL_VERSION)-$(KERNEL_RELEASE)
|
BOOT_LABEL = lx-$(KERNEL_VERSION)-$(EXTRAVERSION)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
BASE = $(KERNEL_BASE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE)
|
BASE = $(KERNEL_BASE)-$(KERNEL_VERSION)-$(EXTRAVERSION)
|
||||||
BASE_RUN = $(KERNEL_BASE)-run-$(KERNEL_VERSION)-$(KERNEL_RELEASE)
|
BASE_RUN = $(KERNEL_BASE)-run-$(KERNEL_VERSION)-$(EXTRAVERSION)
|
||||||
BASE_DEVEL = $(KERNEL_BASE)-devel-$(KERNEL_VERSION)-$(KERNEL_RELEASE)
|
BASE_DEVEL = $(KERNEL_BASE)-devel-$(KERNEL_VERSION)-$(EXTRAVERSION)
|
||||||
|
|
||||||
KERNEL_TGZ = $(notdir $(KERNEL_PKG))
|
KERNEL_TGZ = $(notdir $(KERNEL_PKG))
|
||||||
F_SPEC = $(BASE).spec
|
F_SPEC = $(BASE).spec
|
||||||
|
|
@ -52,7 +58,12 @@ F_SPM = $(BASE).src.rpm
|
||||||
F_RPM_RUN = $(BASE_RUN).$(ARCH).rpm
|
F_RPM_RUN = $(BASE_RUN).$(ARCH).rpm
|
||||||
F_RPM_DEVEL = $(BASE_DEVEL).$(ARCH).rpm
|
F_RPM_DEVEL = $(BASE_DEVEL).$(ARCH).rpm
|
||||||
F_RPMS = $(F_RPM_RUN) $(F_RPM_DEVEL)
|
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_CURRENT = $(addprefix CURRENT_, SRC RPM_SRC RPM_RUN_I386 RPM_DEVEL_I386)
|
||||||
F_ULDONE = $(addsuffix .uldone,$(F_RPMS) $(F_TGZ) $(F_SPM) current)
|
F_ULDONE = $(addsuffix .uldone,$(F_RPMS) $(F_TGZ) $(F_SPM) current)
|
||||||
# note that order matters for F_ULDONE and F_RPMS (remote directory attributes)
|
# note that order matters for F_ULDONE and F_RPMS (remote directory attributes)
|
||||||
|
|
@ -92,7 +103,7 @@ config-$(KERNEL_VERSION):
|
||||||
cvs commit
|
cvs commit
|
||||||
|
|
||||||
toplevel-makefile: unpack.done
|
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
|
linux-$(KERNEL_VERSION)/Makefile: toplevel-makefile
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
@ -106,16 +117,19 @@ unpack.done: $(KERNEL_PKG)
|
||||||
$(BUILD) $(basename $@)
|
$(BUILD) $(basename $@)
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
$(TMP_INSTALL)/$(F_SPEC): $(MKSPEC) Makefile
|
$(TMP_INSTALL)/$(F_SPEC): linux-$(KERNEL_VERSION)/Makefile $(MKSPEC) Makefile
|
||||||
$(MKSPEC) -d $(TMP_INSTALL) -b $(KERNEL_BASE) -v $(KERNEL_VERSION) -r $(KERNEL_RELEASE) -a $(ARCH) -l $(BOOT_LABEL) > $@
|
$(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)
|
$(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(KERNEL_RELEASE): build.lxdone $(LOCAL_AFTER_KERNEL_BUILD)
|
||||||
@echo -n
|
@echo -n
|
||||||
|
|
||||||
.PRECIOUS: $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)
|
.PRECIOUS: $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)
|
||||||
|
|
||||||
$(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(KERNEL_RELEASE): $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)
|
#$(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)-$(KERNEL_RELEASE): $(TMP_INSTALL)/boot/%-$(KERNEL_VERSION)
|
||||||
cp $< $@
|
# cp $< $@
|
||||||
|
|
||||||
$(F_TGZ): Makefile build.lxdone $(F_BOOTFILES) $(TMP_INSTALL)/$(F_SPEC)
|
$(F_TGZ): Makefile build.lxdone $(F_BOOTFILES) $(TMP_INSTALL)/$(F_SPEC)
|
||||||
tar -czf $@ \
|
tar -czf $@ \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue