mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-27 20:22:27 +02:00
Add quilt integration for packages
make package/<package>-prepare QUILT=1 will apply all patches using quilt Autorebuild will be disabled, so that you can edit all patches in the build dir. When you're done editing patches and everything works, you can call: make package/<package>-refresh That will copy the updated patches from quilt into package/<package>/patches, and remove all old patches. Before the patches are overwritten, the correct order of the patches is verified ('cat series' is compared against 'sort series'). git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7471 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
3fbf1e5df9
commit
140ef637ba
@ -33,12 +33,11 @@ define Package/Default
|
|||||||
DESCRIPTION:=
|
DESCRIPTION:=
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
Build/Patch:=$(Build/Patch/Default)
|
||||||
ifneq ($(strip $(PKG_UNPACK)),)
|
ifneq ($(strip $(PKG_UNPACK)),)
|
||||||
define Build/Prepare/Default
|
define Build/Prepare/Default
|
||||||
$(PKG_UNPACK)
|
$(PKG_UNPACK)
|
||||||
@if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
|
$(Build/Patch)
|
||||||
$(PATCH) $(PKG_BUILD_DIR) ./patches; \
|
|
||||||
fi
|
|
||||||
endef
|
endef
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -14,13 +14,16 @@ include $(INCLUDE_DIR)/prereq.mk
|
|||||||
include $(INCLUDE_DIR)/host.mk
|
include $(INCLUDE_DIR)/host.mk
|
||||||
include $(INCLUDE_DIR)/unpack.mk
|
include $(INCLUDE_DIR)/unpack.mk
|
||||||
include $(INCLUDE_DIR)/depends.mk
|
include $(INCLUDE_DIR)/depends.mk
|
||||||
include $(INCLUDE_DIR)/package-defaults.mk
|
|
||||||
include $(INCLUDE_DIR)/package-dumpinfo.mk
|
|
||||||
include $(INCLUDE_DIR)/package-ipkg.mk
|
|
||||||
|
|
||||||
STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared$(if $(DUMP),,_$(shell find ${CURDIR} $(PKG_FILE_DEPEND) $(DEP_FINDPARAMS) | md5s))
|
STAMP_PREPARED:=$(PKG_BUILD_DIR)/.prepared$(if $(DUMP),,_$(shell find ${CURDIR} $(PKG_FILE_DEPEND) $(DEP_FINDPARAMS) | md5s))
|
||||||
STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
|
STAMP_CONFIGURED:=$(PKG_BUILD_DIR)/.configured
|
||||||
STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
|
STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/quilt.mk
|
||||||
|
include $(INCLUDE_DIR)/package-defaults.mk
|
||||||
|
include $(INCLUDE_DIR)/package-dumpinfo.mk
|
||||||
|
include $(INCLUDE_DIR)/package-ipkg.mk
|
||||||
|
|
||||||
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
|
export CONFIG_SITE:=$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)
|
||||||
|
|
||||||
ifneq ($(CONFIG_AUTOREBUILD),)
|
ifneq ($(CONFIG_AUTOREBUILD),)
|
||||||
|
48
include/quilt.mk
Normal file
48
include/quilt.mk
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2007 OpenWrt.org
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
QUILT?=$(strip $(shell test -f $(PKG_BUILD_DIR)/.quilt_patched && echo y))
|
||||||
|
ifneq ($(QUILT),)
|
||||||
|
STAMP_PREPARED:=$(strip $(STAMP_PREPARED))_q
|
||||||
|
CONFIG_AUTOREBUILD=
|
||||||
|
PATCHES:=$(shell cd ./patches; ls)
|
||||||
|
define Build/Patch/Default
|
||||||
|
rm -rf $(PKG_BUILD_DIR)/patches
|
||||||
|
mkdir -p $(PKG_BUILD_DIR)/patches
|
||||||
|
for patch in $(PATCHES); do ( \
|
||||||
|
cp "./patches/$$$$patch" $(PKG_BUILD_DIR); \
|
||||||
|
cd $(PKG_BUILD_DIR); \
|
||||||
|
quilt import -p 1 "$$$$patch"; \
|
||||||
|
quilt push; \
|
||||||
|
quilt refresh; \
|
||||||
|
rm -f "$$$$patch"; \
|
||||||
|
); done
|
||||||
|
touch $(PKG_BUILD_DIR)/.quilt_patched
|
||||||
|
endef
|
||||||
|
else
|
||||||
|
define Build/Patch/Default
|
||||||
|
@if [ -d ./patches -a "$$$$(ls ./patches | wc -l)" -gt 0 ]; then \
|
||||||
|
$(PATCH) $(PKG_BUILD_DIR) ./patches; \
|
||||||
|
fi
|
||||||
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
|
refresh: $(STAMP_PREPARED)
|
||||||
|
@[ -f "$(PKG_BUILD_DIR)/patches/series" ] || { \
|
||||||
|
echo "The source directory was not unpacked using quilt. Please rebuild."; \
|
||||||
|
false; \
|
||||||
|
}
|
||||||
|
@[ "$$(cat $(PKG_BUILD_DIR)/patches/series | md5sum)" = "$$(sort $(PKG_BUILD_DIR)/patches/series | md5sum)" ] || { \
|
||||||
|
echo "The patches are not sorted in the right order. Please fix."; \
|
||||||
|
false; \
|
||||||
|
}
|
||||||
|
rm -f ./patches/* 2>/dev/null >/dev/null
|
||||||
|
@( \
|
||||||
|
for patch in $$(cat $(PKG_BUILD_DIR)/patches/series); do \
|
||||||
|
$(CP) -v "$(PKG_BUILD_DIR)/patches/$$patch" ./patches; \
|
||||||
|
done; \
|
||||||
|
)
|
@ -26,9 +26,9 @@ ifeq ($(QUIET),1)
|
|||||||
%-compile %-install: FORCE
|
%-compile %-install: FORCE
|
||||||
$(MAKE) -C $* $(patsubst $*-%,%,$@) || { $(call MESSAGE, "*** $* $(patsubst $*-%,%,$@) failed"); false; }
|
$(MAKE) -C $* $(patsubst $*-%,%,$@) || { $(call MESSAGE, "*** $* $(patsubst $*-%,%,$@) failed"); false; }
|
||||||
|
|
||||||
%-prepare %-prereq %-download %-clean: FORCE
|
%-prepare %-prereq %-download %-clean %-refresh: FORCE
|
||||||
else
|
else
|
||||||
%-prepare %-prereq %-download %-clean %-compile %-install: FORCE
|
%-prepare %-prereq %-download %-clean %-compile %-install %-refresh: FORCE
|
||||||
endif
|
endif
|
||||||
$(MAKE) -C $* $(patsubst $*-%,%,$@)
|
$(MAKE) -C $* $(patsubst $*-%,%,$@)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user