Browse Source

compile patch when not available on Host

Waldemar Brodkorb 10 years ago
parent
commit
7209a2a3b0
5 changed files with 21 additions and 11 deletions
  1. 0 1
      README
  2. 1 1
      mk/vars.mk
  3. 8 3
      package/patch/Makefile
  4. 7 6
      scripts/scan-tools.sh
  5. 5 0
      target/config/Config.in.tools

+ 0 - 1
README

@@ -12,7 +12,6 @@ Before you can start you need to install some tools:
 - GNU awk
 - GNU awk
 - GNU sed
 - GNU sed
 - tar
 - tar
-- patch
 - gzip
 - gzip
 - wget
 - wget
 - libc headers
 - libc headers

+ 1 - 1
mk/vars.mk

@@ -168,7 +168,7 @@ CXXFLAGS_FOR_BUILD?=    -O2 -Wall
 LDFLAGS_FOR_BUILD?= 	-L$(STAGING_HOST_DIR)/usr/lib
 LDFLAGS_FOR_BUILD?= 	-L$(STAGING_HOST_DIR)/usr/lib
 FLAGS_FOR_BUILD=	${CPPFLAGS_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD}
 FLAGS_FOR_BUILD=	${CPPFLAGS_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD}
 
 
-PATCH=			${BASH} $(SCRIPT_DIR)/patch.sh
+PATCH=			PATH=${HOST_PATH} ${BASH} $(SCRIPT_DIR)/patch.sh
 SED:=			PATH=${HOST_PATH} sed -i -e
 SED:=			PATH=${HOST_PATH} sed -i -e
 LINUX_DIR:=		$(BUILD_DIR)/linux
 LINUX_DIR:=		$(BUILD_DIR)/linux
 KERNEL_MODULE_FLAGS:=	ARCH=${ARCH} \
 KERNEL_MODULE_FLAGS:=	ARCH=${ARCH} \

+ 8 - 3
package/patch/Makefile

@@ -4,20 +4,25 @@
 include $(TOPDIR)/rules.mk
 include $(TOPDIR)/rules.mk
 
 
 PKG_NAME:=		patch
 PKG_NAME:=		patch
-PKG_VERSION:=		2.5.9
+PKG_VERSION:=		2.7.1
 PKG_RELEASE:=		1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		dacfb618082f8d3a2194601193cf8716
-PKG_DESCR:=		GNU patch
+PKG_MD5SUM:=		95dd8d7e41dcbcecdd5cd88ef915378d
+PKG_DESCR:=		GNU patch utility
 PKG_SECTION:=		utils
 PKG_SECTION:=		utils
 PKG_URL:=		http://www.gnu.org/software/patch/
 PKG_URL:=		http://www.gnu.org/software/patch/
 PKG_SITES:=		${MASTER_SITE_GNU:=patch/}
 PKG_SITES:=		${MASTER_SITE_GNU:=patch/}
 
 
+include $(TOPDIR)/mk/host.mk
 include $(TOPDIR)/mk/package.mk
 include $(TOPDIR)/mk/package.mk
 
 
+$(eval $(call HOST_template,PATCH,patch,$(PKG_VERSION)-${PKG_RELEASE}))
 $(eval $(call PKG_template,PATCH,patch,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,PATCH,patch,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 
+HOST_STYLE:=		auto
+
 patch-install:
 patch-install:
 	$(INSTALL_DIR) $(IDIR_PATCH)/usr/bin
 	$(INSTALL_DIR) $(IDIR_PATCH)/usr/bin
 	$(INSTALL_BIN) $(WRKINST)/usr/bin/patch $(IDIR_PATCH)/usr/bin
 	$(INSTALL_BIN) $(WRKINST)/usr/bin/patch $(IDIR_PATCH)/usr/bin
 
 
+include ${TOPDIR}/mk/host-bottom.mk
 include ${TOPDIR}/mk/pkg-bottom.mk
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 7 - 6
scripts/scan-tools.sh

@@ -113,12 +113,6 @@ if ! which gzip >/dev/null 2>&1; then
 	out=1
 	out=1
 fi
 fi
 
 
-if ! which patch >/dev/null 2>&1; then
-	echo You must install patch to continue.
-	echo
-	out=1
-fi
-
 cat >test.c <<-'EOF'
 cat >test.c <<-'EOF'
 	#include <stdio.h>
 	#include <stdio.h>
 	#include <zlib.h>
 	#include <zlib.h>
@@ -239,6 +233,12 @@ if ! which m4 >/dev/null 2>&1; then
 	host_build_m4=1
 	host_build_m4=1
 fi
 fi
 
 
+host_build_patch=0
+if ! which patch >/dev/null 2>&1; then
+	echo "No patch found, will build one."
+	host_build_patch=1
+fi
+
 host_build_pkgconf=0
 host_build_pkgconf=0
 if ! which pkgconf >/dev/null 2>&1; then
 if ! which pkgconf >/dev/null 2>&1; then
 	echo "No pkgconf found, will build one."
 	echo "No pkgconf found, will build one."
@@ -317,6 +317,7 @@ if [ $host_build_bzip2 -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_BZIP2
 if [ $host_build_file -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FILE" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_file -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FILE" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_flex -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FLEX" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_flex -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FLEX" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_m4 -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_M4" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_m4 -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_M4" >> $topdir/target/config/Config.in.prereq ;fi
+if [ $host_build_patch -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_PATCH" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_pkgconf -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_PKGCONF" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_pkgconf -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_PKGCONF" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_findutils -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FINDUTILS" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_findutils -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_FINDUTILS" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_xz -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_XZ" >> $topdir/target/config/Config.in.prereq ;fi
 if [ $host_build_xz -eq 1 ];then printf "\t%s\n" "select ADK_HOST_BUILD_XZ" >> $topdir/target/config/Config.in.prereq ;fi

+ 5 - 0
target/config/Config.in.tools

@@ -14,6 +14,7 @@ config ADK_HOST_BUILD_BASH
 
 
 config ADK_HOST_BUILD_BC
 config ADK_HOST_BUILD_BC
 	boolean
 	boolean
+	select ADK_HOST_BUILD_FLEX
 	default n
 	default n
 
 
 config ADK_HOST_BUILD_BISON
 config ADK_HOST_BUILD_BISON
@@ -40,6 +41,10 @@ config ADK_HOST_BUILD_M4
 	boolean
 	boolean
 	default n
 	default n
 
 
+config ADK_HOST_BUILD_PATCH
+	boolean
+	default n
+
 config ADK_HOST_BUILD_PKGCONF
 config ADK_HOST_BUILD_PKGCONF
 	boolean
 	boolean
 	default n
 	default n