From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-01.nifty.com (conssluserg-01.nifty.com [210.131.2.80]) by sourceware.org (Postfix) with ESMTPS id 138073858D1E for ; Tue, 14 Feb 2023 21:22:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 138073858D1E Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=nifty.ne.jp Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp Received: from HP-Z230 (aj135041.dynamic.ppp.asahi-net.or.jp [220.150.135.41]) (authenticated) by conssluserg-01.nifty.com with ESMTP id 31ELLpX2028393 for ; Wed, 15 Feb 2023 06:21:52 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-01.nifty.com 31ELLpX2028393 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1676409712; bh=f3uUgH+rl4dWJB9de9Z5ebXrVhja5KCeza0OFN6CND8=; h=Date:From:To:Subject:In-Reply-To:References:From; b=I2BIK7OXYBKY3EoX90wa08UI8Ajfrj1TWnbihzBcnly8I7JYt16jzb8WGUSNbMs8N qUqquiRc8fLE3ftFlrCgR8/ux2VARoAj5/wiVJSZXhCk68p9c2EW1aKr1ylKHuqeuH 1+twaQbUALAXe4iEJpMyoD/68FW61QXbqFg44/Rt8c0vqfB1Ekgy7FbhjnASSy9Y33 3KMt25LwN4DL8xdnQa2MZfBQk7GoaOpu3Ab2YKEBf9MsBd+YSAFM2ylsIoiISIaaYJ PKYy3+iacTueqax6uMp5pNWhNgv0aDOi98YqAtbi0O66z5zoN84hujpcaxRIEYyB3D bEDQu0o86hJVw== X-Nifty-SrcIP: [220.150.135.41] Date: Wed, 15 Feb 2023 06:21:52 +0900 From: Takashi Yano To: cygwin-apps@cygwin.com Subject: Re: [ITP] openh264 (2.3.1) Message-Id: <20230215062152.474ad26d8c3b4a9bd0d2bb82@nifty.ne.jp> In-Reply-To: <878rh0w66r.fsf@Otto.invalid> References: <20230205173745.cf6aa7153ce8eae1dfd52c4c@nifty.ne.jp> <61e8a80b73a2d431afa338bd274dac17c5c87e25.camel@cygwin.com> <20230206142523.23a3b4b02cf8a8c5ef54b9f0@nifty.ne.jp> <20230210140531.673c73c9e3c2f8682418e803@nifty.ne.jp> <20230210141850.bfb1fbe60f09ef83d7407374@nifty.ne.jp> <20230210142534.18683ad2cd9e61e21d8fa8ab@nifty.ne.jp> <0e72ab79-fa2b-71fb-c453-3e29590ea7e4@dronecode.org.uk> <846e51c3-f96b-348a-a6aa-2b12bb74376d@Shaw.ca> <20230214181138.b1ecbd47e2ed919ed49cc714@nifty.ne.jp> <87cz6cwlv6.fsf@Otto.invalid> <20230214212801.83ead05c9df51b281e26baf4@nifty.ne.jp> <878rh0w66r.fsf@Otto.invalid> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Wed__15_Feb_2023_06_21_52_+0900_BvdDK1e5zL/ag1bD" X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --Multipart=_Wed__15_Feb_2023_06_21_52_+0900_BvdDK1e5zL/ag1bD Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Tue, 14 Feb 2023 17:41:16 +0100 ASSI wrote: > Takashi Yano via Cygwin-apps writes: > > Thanks for the advice. I have revised the cygport file. > > You are getting the file and the hash from the same unprotected source. > I was thinking you should put the hash into the cygport file and hence > the postinstall script. > > Also note that the system doing the postinstall will not necessarily > have internet access, so you'll need to cope with errors that will > produce. Thanks. The new cygport file attached downloads md5hash during the packaging process and embeds it into postinstall script. Does this make sense? -- Takashi Yano --Multipart=_Wed__15_Feb_2023_06_21_52_+0900_BvdDK1e5zL/ag1bD Content-Type: text/plain; name="openh264.cygport" Content-Disposition: attachment; filename="openh264.cygport" Content-Transfer-Encoding: 7bit NAME="openh264" VERSION=2.3.1 RELEASE=1 CATEGORY="Video" SUMMARY="H.264 codec library by Cisco" DESCRIPTION="OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real time applications such as WebRTC. The binary library (runtime) itself will be downloaded from http://ciscobinary.openh264.org/" HOMEPAGE="https://www.openh264.org/" LICENSE="BSD-2-Clause" ARCH="noarch" # This is noarch because it's just header files and shell scrpits. SRC_URI="${NAME}-headers-${VERSION}.tar.xz" # Make dummy source file for prep if the cleaned one is not exist. if [ ! -f ${SRC_URI} ] then mkdir ${NAME}-${VERSION} touch ${NAME}-${VERSION}/dummy tar acf ${SRC_URI} ${NAME}-${VERSION} rm -rf ${NAME}-${VERSION} fi CYGPORT_USE_UNSTABLE_API=1 src_unpack_hook() { if [ $(tar tvf ../../../${SRC_URI} | wc -l) -eq 2 ] # Source file is dummy then NV=${NAME}-${VERSION} pushd .. rm -rf ${NV} # Remove dummy source file. # Download original source file. wget https://github.com/cisco/openh264/archive/refs/tags/v${VERSION}.tar.gz tar xf v${VERSION}.tar.gz rm -f v${VERSION}.tar.gz # Make source file which has only necessary header files. tar acf ../../${NAME}-headers-${VERSION}.tar.xz ${NV}/codec/api/wels/*.h # Update source directory. rm -rf ${NV} tar xf ../../${NAME}-headers-${VERSION}.tar.xz popd fi } PKG_NAMES="libopenh264 libopenh264-headers" libopenh264_CATEGORY="Video Libs" libopenh264_CONTENTS="etc/" libopenh264_REQUIRES="wget bzip2" libopenh264_SUMMARY="H.264 codec library runtime by Cisco" libopenh264_headers_CATEGORY="Video Devel" libopenh264_headers_CONTENTS="usr/include" libopenh264_headers_SUMMARY="H.264 codec library headers" src_compile() { : } src_install() { mkdir -p ${D}/usr/include ln -fs ${S}/codec/api/wels ${D}/usr/include/. mkdir -p ${D}/etc/postinstall MD5HASH64=$(wget -q http://ciscobinary.openh264.org/${NAME}-${VERSION}-win64.dll.signed.md5.txt -O - | sed "s/dll$/tmp/") MD5HASH32=$(wget -q http://ciscobinary.openh264.org/${NAME}-${VERSION}-win32.dll.signed.md5.txt -O - | sed "s/dll$/tmp/") if [ ! "${MD5HASH64}" -o ! "${MD5HASH32}" ] then echo "Need internet access!!!" exit 1 fi cat << _EOF_ > ${D}/etc/postinstall/lib${NAME}.sh #!/bin/sh pushd /tmp if [ \$(uname -m) = "x86_64" ] then POSTFIX="win64" MD5HASH="${MD5HASH64}" else POSTFIX="win32" MD5HASH="${MD5HASH32}" fi wget -q http://ciscobinary.openh264.org/${NAME}-${VERSION}-\${POSTFIX}.dll.bz2 -O - | bunzip2 > ${NAME}-${VERSION}-\${POSTFIX}.tmp if echo "\${MD5HASH}" | md5sum --status -c then mv ${NAME}-${VERSION}-\${POSTFIX}.tmp /usr/bin/libopenh264.dll else # Hash mismatch (or failed to download) rm ${NAME}-${VERSION}-\${POSTFIX}.tmp exit 1 fi popd chmod a+x /usr/bin/libopenh264.dll mkdir -p /usr/share/doc/lib${NAME} wget -q http://www.openh264.org/BINARY_LICENSE.txt -O - > /usr/share/doc/lib${NAME}/BINARY_LICENSE.txt _EOF_ chmod a+x ${D}/etc/postinstall/lib${NAME}.sh mkdir -p ${D}/etc/preremove cat << _EOF_ > ${D}/etc/preremove/lib${NAME}.sh #!/bin/sh rm -rf /usr/bin/libopenh264.dll /usr/share/doc/lib${NAME} _EOF_ chmod a+x ${D}/etc/preremove/lib${NAME}.sh } --Multipart=_Wed__15_Feb_2023_06_21_52_+0900_BvdDK1e5zL/ag1bD--