From a6122c4f26d02bbbc5d9ed053f94d726867331ee Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Wed, 30 Mar 2005 15:42:59 +0000 Subject: [PATCH] linux-rpm.mk: Add support for automatic patching - Add support for automatic patching - Add support for oldstyle rpmbuild functionality inside rpm --- make/linux-rpm.mk | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/make/linux-rpm.mk b/make/linux-rpm.mk index 76335510..4774c4b4 100644 --- a/make/linux-rpm.mk +++ b/make/linux-rpm.mk @@ -13,6 +13,10 @@ #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 KERNEL_MINOR := $(shell echo $(KERNEL_VERSION) | cut -d\. -f2) #HOST = $(shell cd ../..; pwd | xargs basename) @@ -20,7 +24,7 @@ WD := $(shell pwd) KERNEL_SRC_DIR = $(shell tar -tzf $(KERNEL_DIR)/$(KERNEL_PKG) | head -1) TMP_INSTALL = $(KERNEL_BASE)-$(KERNEL_VERSION)-$(KERNEL_RELEASE) 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') ifeq ($(wildcard RELEASE-$(KERNEL_VERSION)),) KERNEL_RELEASE := $(shell make newrelease; exit 1) @@ -63,6 +67,12 @@ BUILD = build_linux.sh \ -i $(TMP_INSTALL) MKSPEC := $(shell which mkspec-linux.sh) +PATCHES += $(wildcard $(LINUX_KERNEL_PATCH_DIR)/*-$(KERNEL_VERSION).patch) \ + $(wildcard $(LINUX_KERNEL_PATCH_DIR)/*-$(KERNEL_VERSION).diff) +LOCAL_PATCHES = $(notdir $(PATCHES)) + +LOCAL_PRE_BUILD = patches.done + # exports export KERNEL_VERSION export KERNEL_INSTALL_PREFIX @@ -116,11 +126,11 @@ $(F_TGZ): Makefile build.lxdone $(F_BOOTFILES) $(TMP_INSTALL)/$(F_SPEC) ) %.src.rpm: %.tar.gz - rpmbuild -ts $< + $(RPMBUILD) -ts $< cp /usr/src/packages/SRPMS/$@ . rpm.done: $(F_SPM) - rpmbuild --rebuild $(F_SPM) + $(RPMBUILD) --rebuild $(F_SPM) touch $@ %.$(ARCH).rpm: rpm.done @@ -183,6 +193,16 @@ ping: ssh: ssh -l root $(HOST) +patches.done: unpack.done $(addsuffix .done,$(notdir $(PATCHES))) + touch $@ + +%.patch.done: %.patch + patch -d linux-$(KERNEL_VERSION) -p1 < $< + touch $@ + +%.patch: + cp $(filter %/$@,$(PATCHES)) $@ + # user targets unpack: unpack.done build: build.lxdone