mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
linux-rpm.mk: Add support for automatic patching
- Add support for automatic patching - Add support for oldstyle rpmbuild functionality inside rpm
This commit is contained in:
parent
0855a4efd6
commit
a6122c4f26
1 changed files with 23 additions and 3 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue