From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from <gentoo-dev+bounces-52225-garchives=archives.gentoo.org@lists.gentoo.org>) id 1SbYCP-0000Bu-VX for garchives@archives.gentoo.org; Mon, 04 Jun 2012 14:24:02 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B221CE0788; Mon, 4 Jun 2012 14:23:38 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id C87C6E0763 for <gentoo-dev@lists.gentoo.org>; Mon, 4 Jun 2012 14:22:57 +0000 (UTC) Received: from [192.168.4.5] (blfd-4d08fca4.pool.mediaWays.net [77.8.252.164]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: hasufell) by smtp.gentoo.org (Postfix) with ESMTPSA id 29A001B4007 for <gentoo-dev@lists.gentoo.org>; Mon, 4 Jun 2012 14:22:55 +0000 (UTC) Message-ID: <4FCCC412.6000000@gentoo.org> Date: Mon, 04 Jun 2012 16:20:02 +0200 From: hasufell <hasufell@gentoo.org> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20120502 Thunderbird/10.0.4 Precedence: bulk List-Post: <mailto:gentoo-dev@lists.gentoo.org> List-Help: <mailto:gentoo-dev+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org> X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. References: <1338803954-3814-1-git-send-email-mgorny@gentoo.org> In-Reply-To: <1338803954-3814-1-git-send-email-mgorny@gentoo.org> X-Enigmail-Version: 1.3.5 X-Enigmail-Draft-Status: 513 Content-Type: multipart/mixed; boundary="------------060404070105040903090607" X-Archives-Salt: 59ce7a91-327e-4ae1-b944-09a131a8d624 X-Archives-Hash: f39c971a6c2f1b903cc4cd3ca5e9fb02 This is a multi-part message in MIME format. --------------060404070105040903090607 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/04/2012 11:59 AM, Micha=C5=82 G=C3=B3rny wrote: > One could set S to work on a subtree of the tarball rather than the > whole tarball. Considering that, it's probably better to use=20 > ${WORKDIR}/${P} rather than ${S}. >=20 > Fixes: https://bugs.gentoo.org/show_bug.cgi?id=3D419479 ---=20 > gx86/eclass/vcs-snapshot.eclass | 5 +++-- 1 file changed, 3 > insertions(+), 2 deletions(-) >=20 > diff --git a/gx86/eclass/vcs-snapshot.eclass > b/gx86/eclass/vcs-snapshot.eclass index 6748360..23cd696 100644 --- > a/gx86/eclass/vcs-snapshot.eclass +++ > b/gx86/eclass/vcs-snapshot.eclass @@ -9,7 +9,8 @@ # @DESCRIPTION: # > This eclass provides a convenience src_unpack() which does support=20 > # working with snapshots generated by various VCS-es. It unpacks > those -# to ${S} rather than the original directory containing > commit id. +# to ${WORKDIR}/${P} rather than the original directory > containing +# commit id. # # Note that this eclass handles only > unpacking. You need to specify # SRC_URI yourself, and call any > autoreconfiguration as necessary. @@ -41,5 +42,5 @@ > vcs-snapshot_src_unpack() { >=20 > # github, bitbucket: username-projectname-hash # gitweb: > projectname-tagname-hash - mv *-*-[0-9a-f]*[0-9a-f]/ "${S}" || die=20 > + mv *-*-[0-9a-f]*[0-9a-f]/ "${WORKDIR}"/${P} || die } Currently that eclass does not support multiple snapshot sources/tarballs= . I would suggest to fix that. My proposal currently breaks 6 ebuilds which do not follow the newly described standard. This way you could merge data and source snapshots from vcs. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJPzMQSAAoJEFpvPKfnPDWzJdMH/AuhgbDeVdnJViP+zZNjsq4B C2FlaPCpl3HHTrMi7HhbFmbOnZeLA3VLaffdvaPvZU0O1RxhOQPNfp4t8/E2iuHF q9vVwQFQe19izFa7EgapD2EOUVUeaNMGoX0K2qRgtfLeBwnLWsnagMYZkV2+5skA 84vnyRYtaDEx6Z+M0UipwFnubrgmItbvX7F3XZ3omCdlSjXaRDO0sc2hqMFjeZ5P ESGfbWxFX59ztmxBni0iSJE3NdSiYr1mjuW6eFZazIq9T6cinByXfMJgbdz7N14e 8HaSxMTc6PVWUTVbmpj3POWnZ+KCHbFze39rO5HzY4ZPMIL4xTxXAppg2FnyhF4=3D =3DKUJi -----END PGP SIGNATURE----- --------------060404070105040903090607 Content-Type: text/x-patch; name="vcs-snapshot.eclass.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="vcs-snapshot.eclass.diff" --- vcs-snapshot.eclass.old 2012-06-04 16:10:25.000000000 +0200 +++ vcs-snapshot.eclass 2012-06-04 16:11:16.000000000 +0200 @@ -8,8 +8,10 @@ # @BLURB: support eclass for VCS (github, bitbucket, gitweb) snapshots # @DESCRIPTION: # This eclass provides a convenience src_unpack() which does support -# working with snapshots generated by various VCS-es. It unpacks those -# to ${S} rather than the original directory containing commit id. +# working with snapshots generated by various VCS-es. It unpacks all tarballs +# and zipballs according to their name into ${WORKDIR}/${name} +# rather than the original directory containing commit id. +# See example below. # # Note that this eclass handles only unpacking. You need to specify # SRC_URI yourself, and call any autoreconfiguration as necessary. @@ -26,6 +28,10 @@ # inherit autotools-utils vcs-snapshot # # SRC_URI="http://github.com/example/${PN}/tarball/v${PV} -> ${P}.tar.gz" +# +# # line above unpacks into: ${WORKDIR}/${P} +# # SRC_URI="http://github.com/example/${PN}/tarball/v${PV} -> ${P}-src.tar.gz" +# # would unpack into: ${WORKDIR}/${P}-src # @CODE case ${EAPI:-0} in @@ -37,9 +43,21 @@ EXPORT_FUNCTIONS src_unpack vcs-snapshot_src_unpack() { - default - # github, bitbucket: username-projectname-hash # gitweb: projectname-tagname-hash - mv *-*-[0-9a-f]*[0-9a-f]/ "${S}" || die + local i + local _tmpdir=${T}/_tmp + mkdir "${_tmpdir}" || die + pushd "${_tmpdir}" > /dev/null || die + for i in ${A} ; do + unpack ${i} + case ${i} in + *.tar.gz) mv "${_tmpdir}"/*/ "${WORKDIR}"/${i%.tar.gz} || die ;; + *.tar.xz) mv "${_tmpdir}"/*/ "${WORKDIR}"/${i%.tar.xz} || die ;; + *.tar.bz2) mv "${_tmpdir}"/*/ "${WORKDIR}"/${i%.tar.bz2} || die ;; + *.zip) mv "${_tmpdir}"/*/ "${WORKDIR}"/${i%.zip} || die ;; + *) mv "${_tmpdir}"/* "${WORKDIR}"/ ;; + esac + done + popd > /dev/null } --------------060404070105040903090607 Content-Type: text/plain; name="vcs-snapshot.eclass" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vcs-snapshot.eclass" IyBDb3B5cmlnaHQgMTk5OS0yMDEyIEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2Mgoj ICRIZWFkZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2VjbGFzcy92Y3Mtc25hcHNob3Qu ZWNsYXNzLHYgMS4yIDIwMTIvMDMvMTkgMDg6NTI6NDkgbWdvcm55IEV4cCAkCgojIEBFQ0xB U1M6IHZjcy1zbmFwc2hvdC5lY2xhc3MKIyBATUFJTlRBSU5FUjoKIyBtZ29ybnlAZ2VudG9v Lm9yZwojIEBCTFVSQjogc3VwcG9ydCBlY2xhc3MgZm9yIFZDUyAoZ2l0aHViLCBiaXRidWNr ZXQsIGdpdHdlYikgc25hcHNob3RzCiMgQERFU0NSSVBUSU9OOgojIFRoaXMgZWNsYXNzIHBy b3ZpZGVzIGEgY29udmVuaWVuY2Ugc3JjX3VucGFjaygpIHdoaWNoIGRvZXMgc3VwcG9ydAoj IHdvcmtpbmcgd2l0aCBzbmFwc2hvdHMgZ2VuZXJhdGVkIGJ5IHZhcmlvdXMgVkNTLWVzLiBJ dCB1bnBhY2tzIGFsbCB0YXJiYWxscwojIGFuZCB6aXBiYWxscyBhY2NvcmRpbmcgdG8gdGhl aXIgbmFtZSBpbnRvICR7V09SS0RJUn0vJHtuYW1lfQojIHJhdGhlciB0aGFuIHRoZSBvcmln aW5hbCBkaXJlY3RvcnkgY29udGFpbmluZyBjb21taXQgaWQuCiMgU2VlIGV4YW1wbGUgYmVs b3cuCiMKIyBOb3RlIHRoYXQgdGhpcyBlY2xhc3MgaGFuZGxlcyBvbmx5IHVucGFja2luZy4g WW91IG5lZWQgdG8gc3BlY2lmeQojIFNSQ19VUkkgeW91cnNlbGYsIGFuZCBjYWxsIGFueSBh dXRvcmVjb25maWd1cmF0aW9uIGFzIG5lY2Vzc2FyeS4KIyBUaGUgZXhhbXBsZSBkb2VzIHRo YXQgdXNpbmcgYXV0b3Rvb2xzLXV0aWxzIGVjbGFzcy4KIwojIFJpZ2h0IG5vdywgdGhlIGVj bGFzcyB3YXMgdGVzdGVkIHdpdGggZ2l0aHViLCBiaXRidWNrZXQgYW5kIGdpdHdlYgojIHNu YXBzaG90cy4gRmVlbCBmcmVlIHRvIHJlcG9ydCBzbmFwc2hvdHRpbmcgc2VydmljZXMgd2hp Y2ggYXJlbid0CiMgd29ya2luZy4KIyBARVhBTVBMRToKIwojIEBDT0RFCiMgRUFQST00CiMg QVVUT1RPT0xTX0FVVE9SRUNPTkY9MQojIGluaGVyaXQgYXV0b3Rvb2xzLXV0aWxzIHZjcy1z bmFwc2hvdAojCiMgU1JDX1VSST0iaHR0cDovL2dpdGh1Yi5jb20vZXhhbXBsZS8ke1BOfS90 YXJiYWxsL3Yke1BWfSAtPiAke1B9LnRhci5neiIKIyAKIyAjIGxpbmUgYWJvdmUgdW5wYWNr cyBpbnRvOiAke1dPUktESVJ9LyR7UH0KIyAjIFNSQ19VUkk9Imh0dHA6Ly9naXRodWIuY29t L2V4YW1wbGUvJHtQTn0vdGFyYmFsbC92JHtQVn0gLT4gJHtQfS1zcmMudGFyLmd6IgojICMg d291bGQgdW5wYWNrIGludG86ICR7V09SS0RJUn0vJHtQfS1zcmMKIyBAQ09ERQoKY2FzZSAk e0VBUEk6LTB9IGluCgkwfDEpIGRpZSAiRUFQSSAke0VBUEl9IHVuc3VwcG9ydGVkLiI7OyAj IGRlZmF1bHQoKSwgU1JDX1VSSSBhcnJvd3MKCTJ8M3w0KSA7OwoJKikgZGllICJ2Y3Mtc25h cHNob3QuZWNsYXNzIEFQSSBpbiBFQVBJICR7RUFQSX0gbm90IHlldCBlc3RhYmxpc2hlZC4i CmVzYWMKCkVYUE9SVF9GVU5DVElPTlMgc3JjX3VucGFjawoKdmNzLXNuYXBzaG90X3NyY191 bnBhY2soKSB7CgkjIGdpdGh1YiwgYml0YnVja2V0OiB1c2VybmFtZS1wcm9qZWN0bmFtZS1o YXNoCgkjIGdpdHdlYjogcHJvamVjdG5hbWUtdGFnbmFtZS1oYXNoCglsb2NhbCBpCglsb2Nh bCBfdG1wZGlyPSR7VH0vX3RtcAoJbWtkaXIgIiR7X3RtcGRpcn0iIHx8IGRpZQoJcHVzaGQg IiR7X3RtcGRpcn0iID4gL2Rldi9udWxsIHx8IGRpZQoJZm9yIGkgaW4gJHtBfSA7IGRvCgkJ dW5wYWNrICR7aX0KCQljYXNlICR7aX0gaW4KCQkJKi50YXIuZ3opIG12ICIke190bXBkaXJ9 Ii8qLyAiJHtXT1JLRElSfSIvJHtpJS50YXIuZ3p9IHx8IGRpZSA7OwoJCQkqLnRhci54eikg bXYgIiR7X3RtcGRpcn0iLyovICIke1dPUktESVJ9Ii8ke2klLnRhci54en0gfHwgZGllIDs7 CgkJCSoudGFyLmJ6MikgbXYgIiR7X3RtcGRpcn0iLyovICIke1dPUktESVJ9Ii8ke2klLnRh ci5iejJ9IHx8IGRpZSA7OwoJCQkqLnppcCkgbXYgIiR7X3RtcGRpcn0iLyovICIke1dPUktE SVJ9Ii8ke2klLnppcH0gfHwgZGllIDs7CgkJCSopIG12ICIke190bXBkaXJ9Ii8qICIke1dP UktESVJ9Ii8gOzsKCQllc2FjCglkb25lCglwb3BkID4gL2Rldi9udWxsCn0K --------------060404070105040903090607--