mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-20 05:37:38 +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_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
|
||||||
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)
|
||||||
|
|
@ -20,7 +24,7 @@ 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)-$(KERNEL_RELEASE)
|
||||||
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')
|
||||||
|
|
||||||
ifeq ($(wildcard RELEASE-$(KERNEL_VERSION)),)
|
ifeq ($(wildcard RELEASE-$(KERNEL_VERSION)),)
|
||||||
KERNEL_RELEASE := $(shell make newrelease; exit 1)
|
KERNEL_RELEASE := $(shell make newrelease; exit 1)
|
||||||
|
|
@ -63,6 +67,12 @@ BUILD = build_linux.sh \
|
||||||
-i $(TMP_INSTALL)
|
-i $(TMP_INSTALL)
|
||||||
MKSPEC := $(shell which mkspec-linux.sh)
|
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
|
# exports
|
||||||
export KERNEL_VERSION
|
export KERNEL_VERSION
|
||||||
export KERNEL_INSTALL_PREFIX
|
export KERNEL_INSTALL_PREFIX
|
||||||
|
|
@ -116,11 +126,11 @@ $(F_TGZ): Makefile build.lxdone $(F_BOOTFILES) $(TMP_INSTALL)/$(F_SPEC)
|
||||||
)
|
)
|
||||||
|
|
||||||
%.src.rpm: %.tar.gz
|
%.src.rpm: %.tar.gz
|
||||||
rpmbuild -ts $<
|
$(RPMBUILD) -ts $<
|
||||||
cp /usr/src/packages/SRPMS/$@ .
|
cp /usr/src/packages/SRPMS/$@ .
|
||||||
|
|
||||||
rpm.done: $(F_SPM)
|
rpm.done: $(F_SPM)
|
||||||
rpmbuild --rebuild $(F_SPM)
|
$(RPMBUILD) --rebuild $(F_SPM)
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
%.$(ARCH).rpm: rpm.done
|
%.$(ARCH).rpm: rpm.done
|
||||||
|
|
@ -183,6 +193,16 @@ ping:
|
||||||
ssh:
|
ssh:
|
||||||
ssh -l root $(HOST)
|
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
|
# user targets
|
||||||
unpack: unpack.done
|
unpack: unpack.done
|
||||||
build: build.lxdone
|
build: build.lxdone
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue