From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Date: Thu, 16 Apr 2020 08:48:06 +0200 From: Michael Olbrich Message-ID: <20200416064806.GD2081@pengutronix.de> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: Subject: Re: [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" Cc: Simon Falsig On Wed, Apr 15, 2020 at 08:41:18AM +0000, Simon Falsig wrote: > 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 Hmmm, we already have the PTXCONF_OPKG_SHA256 option for opkg. Maybe just use that one? > 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 --checksum $(call ptx/ifdef,PTXCONF_IMAGE_IPKG_CHECKSUM_MD5,md5,sha256) Or whatever option we end up using. > +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 Same here. Michael > @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 > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de