From 083034a599d882b2570d64d23c30aeb86c71397e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 29 Mar 2015 07:35:26 +0000 Subject: [PATCH] tools: replace ipkg-utils with a reduced ipkg-build variant in scripts/ Signed-off-by: Felix Fietkau git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45129 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- include/package-ipkg.mk | 2 +- scripts/ipkg-build | 148 ++++++++++++++++++ tools/Makefile | 2 +- tools/ipkg-utils/Makefile | 32 ---- .../ipkg-utils/patches/100-build_clean.patch | 35 ----- .../ipkg-utils/patches/110-buildpackage.patch | 23 --- .../patches/111-buildpackage_conffiles.patch | 11 -- tools/ipkg-utils/patches/120-build_tar.patch | 36 ----- .../patches/130-tar_wildcards.patch | 23 --- .../ipkg-utils/patches/140-portability.patch | 19 --- .../patches/150-uppercase_letters.patch | 22 --- tools/ipkg-utils/patches/160-find.patch | 39 ----- .../patches/170-resolve_conffiles.patch | 23 --- .../patches/180-add_installed_size.patch | 14 -- .../patches/190-preserve_permissions.patch | 12 -- .../patches/200-force_gnu_format.patch | 27 ---- .../patches/210-remove_field_checks.patch | 36 ----- 17 files changed, 150 insertions(+), 354 deletions(-) create mode 100755 scripts/ipkg-build delete mode 100644 tools/ipkg-utils/Makefile delete mode 100644 tools/ipkg-utils/patches/100-build_clean.patch delete mode 100644 tools/ipkg-utils/patches/110-buildpackage.patch delete mode 100644 tools/ipkg-utils/patches/111-buildpackage_conffiles.patch delete mode 100644 tools/ipkg-utils/patches/120-build_tar.patch delete mode 100644 tools/ipkg-utils/patches/130-tar_wildcards.patch delete mode 100644 tools/ipkg-utils/patches/140-portability.patch delete mode 100644 tools/ipkg-utils/patches/150-uppercase_letters.patch delete mode 100644 tools/ipkg-utils/patches/160-find.patch delete mode 100644 tools/ipkg-utils/patches/170-resolve_conffiles.patch delete mode 100644 tools/ipkg-utils/patches/180-add_installed_size.patch delete mode 100644 tools/ipkg-utils/patches/190-preserve_permissions.patch delete mode 100644 tools/ipkg-utils/patches/200-force_gnu_format.patch delete mode 100644 tools/ipkg-utils/patches/210-remove_field_checks.patch diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk index 5ea39e1b06..943b383b62 100644 --- a/include/package-ipkg.mk +++ b/include/package-ipkg.mk @@ -9,7 +9,7 @@ include $(INCLUDE_DIR)/feeds.mk # invoke ipkg-build with some default options IPKG_BUILD:= \ - $(STAGING_DIR_HOST)/bin/ipkg-build -c -o 0 -g 0 + $(SCRIPT_DIR)/ipkg-build -c -o 0 -g 0 IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg diff --git a/scripts/ipkg-build b/scripts/ipkg-build new file mode 100755 index 0000000000..c466f28681 --- /dev/null +++ b/scripts/ipkg-build @@ -0,0 +1,148 @@ +#!/bin/sh + +# ipkg-build -- construct a .ipk from a directory +# Carl Worth +# based on a script by Steve Redler IV, steve@sr-tech.com 5-21-2001 +# 2003-04-25 rea@sr.unh.edu +# Updated to work on Familiar Pre0.7rc1, with busybox tar. +# Note it Requires: binutils-ar (since the busybox ar can't create) +# For UID debugging it needs a better "find". +set -e + +version=1.0 +FIND="$(which find)" +FIND="${FIND:-$(which gfind)}" +TAR="${TAR:-$(which tar)}" + +ipkg_extract_value() { + sed -e "s/^[^:]*:[[:space:]]*//" +} + +required_field() { + field=$1 + + grep "^$field:" < $CONTROL/control | ipkg_extract_value +} + +pkg_appears_sane() { + local pkg_dir=$1 + + local owd=$PWD + cd $pkg_dir + + PKG_ERROR=0 + pkg=`required_field Package` + version=`required_field Version | sed 's/Version://; s/^.://g;'` + arch=`required_field Architecture` + + if echo $pkg | grep '[^a-zA-Z0-9_.+-]'; then + echo "*** Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" >&2 + PKG_ERROR=1; + fi + + if [ -f $CONTROL/conffiles ]; then + rm -f $CONTROL/conffiles.resolved + + for cf in `$FIND $(sed -e "s!^/!$pkg_dir/!" $CONTROL/conffiles) -type f`; do + echo "${cf#$pkg_dir}" >> $CONTROL/conffiles.resolved + done + + rm $CONTROL/conffiles + mv $CONTROL/conffiles.resolved $CONTROL/conffiles + chmod 0644 $CONTROL/conffiles + fi + + cd $owd + return $PKG_ERROR +} + +### +# ipkg-build "main" +### +ogargs="" +noclean=0 +usage="Usage: $0 [-c] [-C] [-o owner] [-g group] []" +while getopts "cg:ho:v" opt; do + case $opt in + o ) owner=$OPTARG + ogargs="--owner=$owner" + ;; + g ) group=$OPTARG + ogargs="$ogargs --group=$group" + ;; + c ) ;; + C ) noclean=1;; + v ) echo $version + exit 0 + ;; + h ) echo $usage >&2 ;; + \? ) echo $usage >&2 + esac +done + + +shift $(($OPTIND - 1)) + +# continue on to process additional arguments + +case $# in +1) + dest_dir=$PWD + ;; +2) + dest_dir=$2 + if [ "$dest_dir" = "." -o "$dest_dir" = "./" ] ; then + dest_dir=$PWD + fi + ;; +*) + echo $usage >&2 + exit 1 + ;; +esac + +pkg_dir=$1 + +if [ ! -d $pkg_dir ]; then + echo "*** Error: Directory $pkg_dir does not exist" >&2 + exit 1 +fi + +# CONTROL is second so that it takes precedence +CONTROL= +[ -d $pkg_dir/CONTROL ] && CONTROL=CONTROL +if [ -z "$CONTROL" ]; then + echo "*** Error: Directory $pkg_dir has no CONTROL subdirectory." >&2 + exit 1 +fi + +if ! pkg_appears_sane $pkg_dir; then + echo >&2 + echo "ipkg-build: Please fix the above errors and try again." >&2 + exit 1 +fi + +tmp_dir=$dest_dir/IPKG_BUILD.$$ +mkdir $tmp_dir + +echo $CONTROL > $tmp_dir/tarX +# Preserve permissions (-p) when creating data.tar.gz as non-root user +( cd $pkg_dir && $TAR $ogargs -X $tmp_dir/tarX --format=gnu -czpf $tmp_dir/data.tar.gz . ) + +installed_size=`stat -c "%s" $tmp_dir/data.tar.gz` +sed -i -e "s/^Installed-Size: .*/Installed-Size: $installed_size/" \ + $pkg_dir/$CONTROL/control + +( cd $pkg_dir/$CONTROL && $TAR $ogargs --format=gnu -czf $tmp_dir/control.tar.gz . ) +rm $tmp_dir/tarX + +echo "2.0" > $tmp_dir/debian-binary + +pkg_file=$dest_dir/${pkg}_${version}_${arch}.ipk +rm -f $pkg_file +( cd $tmp_dir && $TAR --format=gnu -zcf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) + +rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz +rmdir $tmp_dir + +echo "Packaged contents of $pkg_dir into $pkg_file" diff --git a/tools/Makefile b/tools/Makefile index 35f5d86bcd..c929239175 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -25,7 +25,7 @@ endif tools-$(BUILD_TOOLCHAIN) += gmp mpfr mpc libelf tools-y += m4 libtool autoconf automake flex bison pkg-config sed mklibs -tools-y += sstrip ipkg-utils genext2fs e2fsprogs mtd-utils mkimage +tools-y += sstrip genext2fs e2fsprogs mtd-utils mkimage tools-y += firmware-utils patch-image patch quilt yaffs2 flock padjffs2 tools-y += mm-macros missing-macros xz cmake scons bc findutils gengetopt patchelf tools-$(CONFIG_TARGET_orion_generic) += wrt350nv2-builder upslug2 diff --git a/tools/ipkg-utils/Makefile b/tools/ipkg-utils/Makefile deleted file mode 100644 index 778260921e..0000000000 --- a/tools/ipkg-utils/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (C) 2006 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# -include $(TOPDIR)/rules.mk - -PKG_NAME:=ipkg-utils -PKG_VERSION:=1.7 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://handhelds.org/packages/ipkg-utils/ -PKG_MD5SUM:=da3e3ef772973d7370a6ac95f0fef9b8 - -include $(INCLUDE_DIR)/host-build.mk - -define Host/Install - $(INSTALL_BIN) \ - $(HOST_BUILD_DIR)/ipkg-build \ - $(HOST_BUILD_DIR)/ipkg-buildpackage \ - $(HOST_BUILD_DIR)/ipkg-make-index \ - $(HOST_BUILD_DIR)/ipkg.py \ - $(STAGING_DIR_HOST)/bin/ -endef - -define Host/Clean - rm -f $(STAGING_DIR)/etc/ipkg.conf - rm -f $(STAGING_DIR_HOST)/bin/ipkg* -endef - -$(eval $(call HostBuild)) diff --git a/tools/ipkg-utils/patches/100-build_clean.patch b/tools/ipkg-utils/patches/100-build_clean.patch deleted file mode 100644 index 7df272f74d..0000000000 --- a/tools/ipkg-utils/patches/100-build_clean.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -47,6 +47,19 @@ pkg_appears_sane() { - - PKG_ERROR=0 - -+ cvs_dirs=`find . -name 'CVS'` -+ if [ -n "$cvs_dirs" ]; then -+ if [ "$noclean" = "1" ]; then -+ echo "*** Warning: The following CVS directories where found. -+You probably want to remove them: " >&2 -+ ls -ld $cvs_dirs -+ echo >&2 -+ else -+ echo "*** Removing the following files: $cvs_dirs" -+ rm -rf "$cvs_dirs" -+ fi -+ fi -+ - tilde_files=`find . -name '*~'` - if [ -n "$tilde_files" ]; then - if [ "$noclean" = "1" ]; then -@@ -134,8 +147,12 @@ You probably want to chown these to a sy - - for script in $CONTROL/preinst $CONTROL/postinst $CONTROL/prerm $CONTROL/postrm; do - if [ -f $script -a ! -x $script ]; then -+ if [ "$noclean" = "1" ]; then - echo "*** Error: package script $script is not executable" >&2 - PKG_ERROR=1 -+ else -+ chmod a+x $script -+ fi - fi - done - diff --git a/tools/ipkg-utils/patches/110-buildpackage.patch b/tools/ipkg-utils/patches/110-buildpackage.patch deleted file mode 100644 index 8e62ee70cf..0000000000 --- a/tools/ipkg-utils/patches/110-buildpackage.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/ipkg-buildpackage -+++ b/ipkg-buildpackage -@@ -30,8 +30,9 @@ - - set -e - --#SCRIPTDIR=/usr/local/bin --SCRIPTDIR=/other/kurth/ipaq-dev/familiar/dist/ipkg/util/ -+SCRIPTDIR=/usr/local/bin -+ -+IPKG_BUILD_OPTIONS=$* - - SCRIPTNAME=`basename $0` - -@@ -212,7 +213,7 @@ done - # build the ipk package - owd=`pwd` - cd .. --ipkg-build /tmp/${pkg} || exit 1 -+ipkg-build $IPKG_BUILD_OPTIONS /tmp/${pkg} || exit 1 - - rm -rf /tmp/${pkg} - diff --git a/tools/ipkg-utils/patches/111-buildpackage_conffiles.patch b/tools/ipkg-utils/patches/111-buildpackage_conffiles.patch deleted file mode 100644 index dacdaaefbd..0000000000 --- a/tools/ipkg-utils/patches/111-buildpackage_conffiles.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/ipkg-buildpackage -+++ b/ipkg-buildpackage -@@ -190,7 +190,7 @@ fi - mkdir /tmp/${pkg}/CONTROL - - files_required="control" --files_optional="preinst postinst prerm postrm" -+files_optional="preinst postinst prerm postrm conffiles" - - for i in ${files_required} ; do - file=${CONTROL}/$i diff --git a/tools/ipkg-utils/patches/120-build_tar.patch b/tools/ipkg-utils/patches/120-build_tar.patch deleted file mode 100644 index acf6b79853..0000000000 --- a/tools/ipkg-utils/patches/120-build_tar.patch +++ /dev/null @@ -1,36 +0,0 @@ -This patch from aorlinsk fixes an issue with order in options passed to tar - - http://openwrt.org/forum/viewtopic.php?pid=8332#p8332 - - ---- a/ipkg-build -+++ b/ipkg-build -@@ -184,7 +184,7 @@ while getopts "cg:ho:v" opt; do - g ) group=$OPTARG - ogargs="$ogargs --group=$group" - ;; -- c ) outer=tar -+ c ) outer=$TAR - ;; - C ) noclean=1 - ;; -@@ -243,8 +243,8 @@ tmp_dir=$dest_dir/IPKG_BUILD.$$ - mkdir $tmp_dir - - echo $CONTROL > $tmp_dir/tarX --( cd $pkg_dir && tar $ogargs -czf $tmp_dir/data.tar.gz . -X $tmp_dir/tarX ) --( cd $pkg_dir/$CONTROL && tar $ogargs -czf $tmp_dir/control.tar.gz . ) -+( cd $pkg_dir && $TAR $ogargs -X $tmp_dir/tarX -czf $tmp_dir/data.tar.gz . ) -+( cd $pkg_dir/$CONTROL && $TAR $ogargs -czf $tmp_dir/control.tar.gz . ) - rm $tmp_dir/tarX - - echo "2.0" > $tmp_dir/debian-binary -@@ -254,7 +254,7 @@ rm -f $pkg_file - if [ "$outer" = "ar" ] ; then - ( cd $tmp_dir && ar -crf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) - else -- ( cd $tmp_dir && tar -zcf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) -+ ( cd $tmp_dir && $TAR -zcf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) - fi - - rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz diff --git a/tools/ipkg-utils/patches/130-tar_wildcards.patch b/tools/ipkg-utils/patches/130-tar_wildcards.patch deleted file mode 100644 index ba949c1003..0000000000 --- a/tools/ipkg-utils/patches/130-tar_wildcards.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/ipkg.py -+++ b/ipkg.py -@@ -93,9 +93,9 @@ class Package: - self.filename = os.path.basename(fn) - ## sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,)) - if self.isdeb: -- control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - '*control'","r") -+ control = os.popen("ar p "+fn+" control.tar.gz | tar xzO --wildcards -f - '*control'","r") - else: -- control = os.popen("tar xfzO "+fn+" '*control.tar.gz' | tar xfzO - '*control'","r") -+ control = os.popen("tar xzO --wildcards -f "+fn+" '*control.tar.gz' | tar xzO --wildcards -f - '*control'","r") - line = control.readline() - while 1: - if not line: break -@@ -122,7 +122,7 @@ class Package: - if self.isdeb: - data = os.popen("ar p "+fn+" data.tar.gz | tar tfz -","r") - else: -- data = os.popen("tar xfzO "+fn+" '*data.tar.gz' | tar tfz -","r") -+ data = os.popen("tar xzO --wildcards -f "+fn+" '*data.tar.gz' | tar tfz -","r") - while 1: - line = data.readline() - if not line: break diff --git a/tools/ipkg-utils/patches/140-portability.patch b/tools/ipkg-utils/patches/140-portability.patch deleted file mode 100644 index 417c4094d4..0000000000 --- a/tools/ipkg-utils/patches/140-portability.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -11,6 +11,8 @@ set -e - - version=1.0 - -+TAR="${TAR:-$(which tar)}" -+ - ipkg_extract_value() { - sed -e "s/^[^:]*:[[:space:]]*//" - } ---- a/ipkg-make-index -+++ b/ipkg-make-index -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/env python - # $Id: ipkg-make-index,v 1.20 2003/10/30 02:32:09 jamey Exp $ - - import sys, os, posixpath diff --git a/tools/ipkg-utils/patches/150-uppercase_letters.patch b/tools/ipkg-utils/patches/150-uppercase_letters.patch deleted file mode 100644 index cef200dcc8..0000000000 --- a/tools/ipkg-utils/patches/150-uppercase_letters.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -133,7 +133,7 @@ You probably want to chown these to a sy - disallowed_filename=`disallowed_field Filename` - [ "$?" -ne 0 ] && PKG_ERROR=1 - -- if echo $pkg | grep '[^a-z0-9.+-]'; then -+ if echo $pkg | grep '[^a-zA-Z0-9_.+-]'; then - echo "*** Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" >&2 - PKG_ERROR=1; - fi ---- a/ipkg-buildpackage -+++ b/ipkg-buildpackage -@@ -69,7 +69,7 @@ pkg_appears_sane_control() { - required_field Maintainer >/dev/null - required_field Description >/dev/null - -- if echo $pkg | grep '[^a-z0-9.+-]'; then -+ if echo $pkg | grep '[^a-zA-Z0-9.+-]'; then - echo "ipkg-build: Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" - PKG_ERROR=1; - fi diff --git a/tools/ipkg-utils/patches/160-find.patch b/tools/ipkg-utils/patches/160-find.patch deleted file mode 100644 index 45ef3c6517..0000000000 --- a/tools/ipkg-utils/patches/160-find.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -10,7 +10,8 @@ - set -e - - version=1.0 -- -+FIND="$(which find)" -+FIND="${FIND:-$(which gfind)}" - TAR="${TAR:-$(which tar)}" - - ipkg_extract_value() { -@@ -49,7 +50,7 @@ pkg_appears_sane() { - - PKG_ERROR=0 - -- cvs_dirs=`find . -name 'CVS'` -+ cvs_dirs=`$FIND . -name 'CVS'` - if [ -n "$cvs_dirs" ]; then - if [ "$noclean" = "1" ]; then - echo "*** Warning: The following CVS directories where found. -@@ -62,7 +63,7 @@ You probably want to remove them: " >&2 - fi - fi - -- tilde_files=`find . -name '*~'` -+ tilde_files=`$FIND . -name '*~'` - if [ -n "$tilde_files" ]; then - if [ "$noclean" = "1" ]; then - echo "*** Warning: The following files have names ending in '~'. -@@ -75,7 +76,7 @@ You probably want to remove them: " >&2 - fi - fi - -- large_uid_files=`find . -uid +99 || true` -+ large_uid_files=`$FIND . -uid +99 || true` - - if [ "$ogargs" = "" ] && [ -n "$large_uid_files" ]; then - echo "*** Warning: The following files have a UID greater than 99. diff --git a/tools/ipkg-utils/patches/170-resolve_conffiles.patch b/tools/ipkg-utils/patches/170-resolve_conffiles.patch deleted file mode 100644 index 31faf30a03..0000000000 --- a/tools/ipkg-utils/patches/170-resolve_conffiles.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -160,12 +160,15 @@ You probably want to chown these to a sy - done - - if [ -f $CONTROL/conffiles ]; then -- for cf in `cat $CONTROL/conffiles`; do -- if [ ! -f ./$cf ]; then -- echo "*** Error: $CONTROL/conffiles mentions conffile $cf which does not exist" >&2 -- PKG_ERROR=1 -- fi -+ rm -f $CONTROL/conffiles.resolved -+ -+ for cf in `$FIND $(sed -e "s!^/!$pkg_dir/!" $CONTROL/conffiles) -type f`; do -+ echo "${cf#$pkg_dir}" >> $CONTROL/conffiles.resolved - done -+ -+ rm $CONTROL/conffiles -+ mv $CONTROL/conffiles.resolved $CONTROL/conffiles -+ chmod 0644 $CONTROL/conffiles - fi - - cd $owd diff --git a/tools/ipkg-utils/patches/180-add_installed_size.patch b/tools/ipkg-utils/patches/180-add_installed_size.patch deleted file mode 100644 index fb91a31909..0000000000 --- a/tools/ipkg-utils/patches/180-add_installed_size.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -250,6 +250,11 @@ mkdir $tmp_dir - - echo $CONTROL > $tmp_dir/tarX - ( cd $pkg_dir && $TAR $ogargs -X $tmp_dir/tarX -czf $tmp_dir/data.tar.gz . ) -+ -+installed_size=`stat -c "%s" $tmp_dir/data.tar.gz` -+sed -i -e "s/^Installed-Size: .*/Installed-Size: $installed_size/" \ -+ $pkg_dir/$CONTROL/control -+ - ( cd $pkg_dir/$CONTROL && $TAR $ogargs -czf $tmp_dir/control.tar.gz . ) - rm $tmp_dir/tarX - diff --git a/tools/ipkg-utils/patches/190-preserve_permissions.patch b/tools/ipkg-utils/patches/190-preserve_permissions.patch deleted file mode 100644 index 27ba5217b0..0000000000 --- a/tools/ipkg-utils/patches/190-preserve_permissions.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -249,7 +249,8 @@ tmp_dir=$dest_dir/IPKG_BUILD.$$ - mkdir $tmp_dir - - echo $CONTROL > $tmp_dir/tarX --( cd $pkg_dir && $TAR $ogargs -X $tmp_dir/tarX -czf $tmp_dir/data.tar.gz . ) -+# Preserve permissions (-p) when creating data.tar.gz as non-root user -+( cd $pkg_dir && $TAR $ogargs -X $tmp_dir/tarX -czpf $tmp_dir/data.tar.gz . ) - - installed_size=`du -b $tmp_dir/data.tar.gz | cut -f1` - sed -i -e "s/^Installed-Size: .*/Installed-Size: $installed_size/" \ diff --git a/tools/ipkg-utils/patches/200-force_gnu_format.patch b/tools/ipkg-utils/patches/200-force_gnu_format.patch deleted file mode 100644 index f363acbc0d..0000000000 --- a/tools/ipkg-utils/patches/200-force_gnu_format.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -250,13 +250,13 @@ mkdir $tmp_dir - - echo $CONTROL > $tmp_dir/tarX - # Preserve permissions (-p) when creating data.tar.gz as non-root user --( cd $pkg_dir && $TAR $ogargs -X $tmp_dir/tarX -czpf $tmp_dir/data.tar.gz . ) -+( cd $pkg_dir && $TAR $ogargs -X $tmp_dir/tarX --format=gnu -czpf $tmp_dir/data.tar.gz . ) - - installed_size=`stat -c "%s" $tmp_dir/data.tar.gz` - sed -i -e "s/^Installed-Size: .*/Installed-Size: $installed_size/" \ - $pkg_dir/$CONTROL/control - --( cd $pkg_dir/$CONTROL && $TAR $ogargs -czf $tmp_dir/control.tar.gz . ) -+( cd $pkg_dir/$CONTROL && $TAR $ogargs --format=gnu -czf $tmp_dir/control.tar.gz . ) - rm $tmp_dir/tarX - - echo "2.0" > $tmp_dir/debian-binary -@@ -266,7 +266,7 @@ rm -f $pkg_file - if [ "$outer" = "ar" ] ; then - ( cd $tmp_dir && ar -crf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) - else -- ( cd $tmp_dir && $TAR -zcf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) -+ ( cd $tmp_dir && $TAR --format=gnu -zcf $pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz ) - fi - - rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz diff --git a/tools/ipkg-utils/patches/210-remove_field_checks.patch b/tools/ipkg-utils/patches/210-remove_field_checks.patch deleted file mode 100644 index 2f1f2eab38..0000000000 --- a/tools/ipkg-utils/patches/210-remove_field_checks.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- a/ipkg-build -+++ b/ipkg-build -@@ -101,9 +101,6 @@ You probably want to chown these to a sy - arch=`required_field Architecture` - [ "$?" -ne 0 ] && PKG_ERROR=1 - -- required_field Maintainer >/dev/null -- [ "$?" -ne 0 ] && PKG_ERROR=1 -- - required_field Description >/dev/null - [ "$?" -ne 0 ] && PKG_ERROR=1 - -@@ -114,23 +111,6 @@ You probably want to chown these to a sy - echo "admin, base, comm, editors, extras, games, graphics, kernel, libs, misc, net, text, web, x11" >&2 - fi - -- priority=`required_field Priority` -- [ "$?" -ne 0 ] && PKG_ERROR=1 -- if [ -z "$priority" ]; then -- echo "The Priority field should have one of the following values:" >&2 -- echo "required, important, standard, optional, extra." >&2 -- echo "If you don't know which priority value you should be using, then use \`optional'" >&2 -- fi -- -- source=`required_field Source` -- [ "$?" -ne 0 ] && PKG_ERROR=1 -- if [ -z "$source" ]; then -- echo "The Source field contain the URL's or filenames of the source code and any patches" -- echo "used to build this package. Either gnu-style tarballs or Debian source packages " -- echo "are acceptable. Relative filenames may be used if they are distributed in the same" -- echo "directory as the .ipk file." -- fi -- - disallowed_filename=`disallowed_field Filename` - [ "$?" -ne 0 ] && PKG_ERROR=1 -