From 8b7b7cabf211e75b81f5cab3b1024342ec1c962c Mon Sep 17 00:00:00 2001
From: Steven Barth <cyrus@openwrt.org>
Date: Fri, 4 Oct 2013 05:56:20 +0000
Subject: [PATCH] opkg: add support for SHA256 verification

based on a patch by Evan Hunt <each@isc.org>
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 38302
---
 package/system/opkg/Makefile | 4 ++--
 scripts/ipkg-make-index.sh   | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile
index 3327a8e1ad..624f2edba2 100644
--- a/package/system/opkg/Makefile
+++ b/package/system/opkg/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/version.mk
 PKG_NAME:=opkg
 PKG_REV:=618
 PKG_VERSION:=$(PKG_REV)
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE_PROTO:=svn
 PKG_SOURCE_VERSION:=$(PKG_REV)
@@ -90,7 +90,7 @@ CONFIGURE_ARGS += \
 	--with-opkglockfile=/var/lock/opkg.lock
 
 ifeq ($(BUILD_VARIANT),smime)
-	CONFIGURE_ARGS += --enable-openssl
+	CONFIGURE_ARGS += --enable-openssl --enable-sha256
 endif
 
 MAKE_FLAGS = \
diff --git a/scripts/ipkg-make-index.sh b/scripts/ipkg-make-index.sh
index cbfa450c0a..a2f3deae17 100755
--- a/scripts/ipkg-make-index.sh
+++ b/scripts/ipkg-make-index.sh
@@ -18,11 +18,13 @@ for pkg in `find $pkg_dir -name '*.ipk' | sort`; do
 	echo "Generating index for package $pkg" >&2
 	file_size=$(ls -l $pkg | awk '{print $5}')
 	md5sum=$(md5sum $pkg | awk '{print $1}')
+	sha256sum=$(openssl sha256 $pkg | awk '{print $2}')
 	# Take pains to make variable value sed-safe
 	sed_safe_pkg=`echo $pkg | sed -e 's/^\.\///g' -e 's/\\//\\\\\\//g'`
 	tar -xzOf $pkg ./control.tar.gz | tar xzOf - ./control | sed -e "s/^Description:/Filename: $sed_safe_pkg\\
 Size: $file_size\\
 MD5Sum: $md5sum\\
+SHA256sum: $sha256sum\\
 Description:/"
 	echo ""
 done
-- 
GitLab