From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-eopbgr90073.outbound.protection.outlook.com ([40.107.9.73] helo=FRA01-MR2-obe.outbound.protection.outlook.com) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jOdbl-0003ZF-T9 for ptxdist@pengutronix.de; Wed, 15 Apr 2020 10:41:23 +0200 From: Simon Falsig Date: Wed, 15 Apr 2020 08:41:18 +0000 Message-ID: Content-Language: en-US MIME-Version: 1.0 Subject: [ptxdist] [PATCH] ipkg-push: expose checksum type in platformconfig List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: "ptxdist@pengutronix.de" This allows the checksum type used when creating the pacakge index to be set in the platformconfig. Currently supported types are md5 (the default), and sha256. md5 is kept as default, since the target opkg package needs to be specifically configured to be built with sha256 support. Also, the ipkg support in ipkg-push has been removed, and it now always uses the opkg tools instead. The name is kept, since everything else is still using the 'ipkg' naming scheme though. --- platforms/image_ipkg.in | 18 ++++++++++++++++++ rules/post/image_ipkg.make | 23 ++++++++++++++++++++--- scripts/ipkg-push | 8 ++++---- 3 files changed, 42 insertions(+), 7 deletions(-) diff --git a/platforms/image_ipkg.in b/platforms/image_ipkg.in index dae4fe5b7..018231677 100644 --- a/platforms/image_ipkg.in +++ b/platforms/image_ipkg.in @@ -70,6 +70,24 @@ config IMAGE_IPKG_INDEX server it allows ipkg on your target to access your ipkg and install or update them. +choice + prompt "checksum type" + default IMAGE_IPKG_CHECKSUM_MD5 + help + Sets the checksum type to use when generating the index, + both when pushing to a repository and in PKGDIR. + Note that opkg on the target may need to be specifically + built with support for the selected checksum type. + + config IMAGE_IPKG_CHECKSUM_MD5 + bool + prompt "md5" + + config IMAGE_IPKG_CHECKSUM_SHA256 + bool + prompt "sha256" +endchoice + config IMAGE_XPKG_EXTRA_ARGS string prompt "extra arguments passed to ipkg-build/opkg-build" diff --git a/rules/post/image_ipkg.make b/rules/post/image_ipkg.make index c2171574c..64cdf150f 100644 --- a/rules/post/image_ipkg.make +++ b/rules/post/image_ipkg.make @@ -19,13 +19,24 @@ ifdef PTXCONF_IMAGE_IPKG_FORCED_PUSH rm -rf "$(IMAGE_REPO_DIST_DIR)" endif @echo "pushing ipkg packages to ipkg-repository..." - @$(HOST_ENV) $(PTXDIST_TOPDIR)/scripts/ipkg-push \ +ifdef PTXCONF_IMAGE_IPKG_CHECKSUM_MD5 + @$(HOST_ENV) $(PTXDIST_TOPDIR)/scripts/opkg-push \ --ipkgdir $(call remove_quotes,$(PKGDIR)) \ --repodir $(call remove_quotes,$(PTXCONF_SETUP_IPKG_REPOSITORY)) \ --revision $(call remove_quotes,$(PTXDIST_VERSION_FULL)) \ --project $(call remove_quotes,$(PTXCONF_PROJECT)) \ --dist $(call remove_quotes,$(PTXCONF_PROJECT)$(PTXCONF_PROJECT_VERSION)) \ - --type opkg + --checksum md5 +endif +ifdef PTXCONF_IMAGE_IPKG_CHECKSUM_SHA256 + @$(HOST_ENV) $(PTXDIST_TOPDIR)/scripts/opkg-push \ + --ipkgdir $(call remove_quotes,$(PKGDIR)) \ + --repodir $(call remove_quotes,$(PTXCONF_SETUP_IPKG_REPOSITORY)) \ + --revision $(call remove_quotes,$(PTXDIST_VERSION_FULL)) \ + --project $(call remove_quotes,$(PTXCONF_PROJECT)) \ + --dist $(call remove_quotes,$(PTXCONF_PROJECT)$(PTXCONF_PROJECT_VERSION)) \ + --checksum sha256 +endif @echo "ipkg-repository updated" ifdef PTXCONF_IMAGE_IPKG_SIGN_OPENSSL @echo "signing Packages..." @@ -50,8 +61,14 @@ PHONY += $(PKGDIR)/Packages $(PKGDIR)/Packages: $(STATEDIR)/host-ipkg-utils.install.post $(STATEDIR)/world.targetinstall @echo "Creating ipkg index '$@'..." @rm -f $(PKGDIR)/Packages* +ifdef PTXCONF_IMAGE_IPKG_CHECKSUM_MD5 @$(HOST_ENV) opkg-make-index \ - -l "$(PKGDIR)/Packages.filelist" -p "$(@)" "$(PKGDIR)" + -l "$(PKGDIR)/Packages.filelist" -p "$(@)" --checksum md5 "$(PKGDIR)" +endif +ifdef PTXCONF_IMAGE_IPKG_CHECKSUM_SHA256 + @$(HOST_ENV) opkg-make-index \ + -l "$(PKGDIR)/Packages.filelist" -p "$(@)" --checksum sha256 "$(PKGDIR)" +endif @echo "done." # vim: syntax=make diff --git a/scripts/ipkg-push b/scripts/ipkg-push index 45978b305..6467f0947 100755 --- a/scripts/ipkg-push +++ b/scripts/ipkg-push @@ -31,7 +31,7 @@ usage() { echo " --revision dist revision name to be updated" echo " --project project name" echo " --dist use this to make a dist release (optional)" - echo " --type specify package type (default: ipkg)" + echo " --checksum specify checksum type, {md5,sha256}, default: md5" echo exit 1 } @@ -41,7 +41,7 @@ REPODIR= DISTREVISION= PROJECT= DIST= -TYPE=ipkg +CHECKSUM=md5 # @@ -55,7 +55,7 @@ while [ $# -gt 0 ]; do --revision) DISTREVISION=`ptxd_abspath $2`; shift 2 ;; --project) PROJECT=$2; shift 2 ;; --dist) DIST=$2; shift 2 ;; - --type) TYPE=$2; shift 2 ;; + --checksum) CHECKSUM=$2; shift 2 ;; *) usage "unknown option $1" ;; esac done @@ -193,7 +193,7 @@ done echo "creating index.....: " -(cd $REPODIR/$PROJECT/dists/$DIST && ${TYPE}-make-index . > Packages && gzip -c Packages > Packages.gz) +(cd $REPODIR/$PROJECT/dists/$DIST && opkg-make-index --checksum ${CHECKSUM} . > Packages && gzip -c Packages > Packages.gz) exit -- 2.17.1 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de