* [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. @ 2012-06-04 9:59 Michał Górny 2012-06-04 14:20 ` hasufell 0 siblings, 1 reply; 8+ messages in thread From: Michał Górny @ 2012-06-04 9:59 UTC (permalink / raw To: gentoo-dev; +Cc: Michał Górny 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 ${WORKDIR}/${P} rather than ${S}. Fixes: https://bugs.gentoo.org/show_bug.cgi?id=419479 --- gx86/eclass/vcs-snapshot.eclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 # 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() { # github, bitbucket: username-projectname-hash # gitweb: projectname-tagname-hash - mv *-*-[0-9a-f]*[0-9a-f]/ "${S}" || die + mv *-*-[0-9a-f]*[0-9a-f]/ "${WORKDIR}"/${P} || die } -- 1.7.10.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. 2012-06-04 9:59 [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides Michał Górny @ 2012-06-04 14:20 ` hasufell 2012-06-04 15:50 ` Michał Górny 0 siblings, 1 reply; 8+ messages in thread From: hasufell @ 2012-06-04 14:20 UTC (permalink / raw To: gentoo-dev [-- Attachment #1: Type: text/plain, Size: 2189 bytes --] -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/04/2012 11:59 AM, Michał Górny 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 > ${WORKDIR}/${P} rather than ${S}. > > Fixes: https://bugs.gentoo.org/show_bug.cgi?id=419479 --- > gx86/eclass/vcs-snapshot.eclass | 5 +++-- 1 file changed, 3 > insertions(+), 2 deletions(-) > > 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 > # 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() { > > # github, bitbucket: username-projectname-hash # gitweb: > projectname-tagname-hash - mv *-*-[0-9a-f]*[0-9a-f]/ "${S}" || die > + 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= =KUJi -----END PGP SIGNATURE----- [-- Attachment #2: vcs-snapshot.eclass.diff --] [-- Type: text/x-patch, Size: 1874 bytes --] --- 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 } [-- Attachment #3: vcs-snapshot.eclass --] [-- Type: text/plain, Size: 2151 bytes --] # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/vcs-snapshot.eclass,v 1.2 2012/03/19 08:52:49 mgorny Exp $ # @ECLASS: vcs-snapshot.eclass # @MAINTAINER: # mgorny@gentoo.org # @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 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. # The example does that using autotools-utils eclass. # # Right now, the eclass was tested with github, bitbucket and gitweb # snapshots. Feel free to report snapshotting services which aren't # working. # @EXAMPLE: # # @CODE # EAPI=4 # AUTOTOOLS_AUTORECONF=1 # 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 0|1) die "EAPI ${EAPI} unsupported.";; # default(), SRC_URI arrows 2|3|4) ;; *) die "vcs-snapshot.eclass API in EAPI ${EAPI} not yet established." esac EXPORT_FUNCTIONS src_unpack vcs-snapshot_src_unpack() { # github, bitbucket: username-projectname-hash # gitweb: projectname-tagname-hash 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 } ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. 2012-06-04 14:20 ` hasufell @ 2012-06-04 15:50 ` Michał Górny 2012-06-04 19:26 ` hasufell 0 siblings, 1 reply; 8+ messages in thread From: Michał Górny @ 2012-06-04 15:50 UTC (permalink / raw To: gentoo-dev; +Cc: hasufell [-- Attachment #1: Type: text/plain, Size: 1633 bytes --] On Mon, 04 Jun 2012 16:20:02 +0200 hasufell <hasufell@gentoo.org> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 06/04/2012 11:59 AM, Michał Górny 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 > > ${WORKDIR}/${P} rather than ${S}. > > > > Fixes: https://bugs.gentoo.org/show_bug.cgi?id=419479 --- > > gx86/eclass/vcs-snapshot.eclass | 5 +++-- 1 file changed, 3 > > insertions(+), 2 deletions(-) > > > > 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 > > # 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() { > > > > # github, bitbucket: username-projectname-hash # gitweb: > > projectname-tagname-hash - mv *-*-[0-9a-f]*[0-9a-f]/ "${S}" > > || die > > + mv *-*-[0-9a-f]*[0-9a-f]/ "${WORKDIR}"/${P} || die } > > Currently that eclass does not support multiple snapshot > sources/tarballs. Use case? -- Best regards, Michał Górny [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 316 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. 2012-06-04 15:50 ` Michał Górny @ 2012-06-04 19:26 ` hasufell 2012-06-04 20:06 ` Michał Górny 0 siblings, 1 reply; 8+ messages in thread From: hasufell @ 2012-06-04 19:26 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/04/2012 05:50 PM, Michał Górny wrote: > On Mon, 04 Jun 2012 16:20:02 +0200 hasufell <hasufell@gentoo.org> > wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 >> >> On 06/04/2012 11:59 AM, Michał Górny 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 ${WORKDIR}/${P} rather than ${S}. >>> >>> Fixes: https://bugs.gentoo.org/show_bug.cgi?id=419479 --- >>> gx86/eclass/vcs-snapshot.eclass | 5 +++-- 1 file changed, 3 >>> insertions(+), 2 deletions(-) >>> >>> 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 # 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() { >>> >>> # github, bitbucket: username-projectname-hash # gitweb: >>> projectname-tagname-hash - mv *-*-[0-9a-f]*[0-9a-f]/ "${S}" || >>> die + mv *-*-[0-9a-f]*[0-9a-f]/ "${WORKDIR}"/${P} || die } >> >> Currently that eclass does not support multiple snapshot >> sources/tarballs. > > Use case? > ANY case where I need more than one tarball/source. There are just not many because this eclass is widely unknown. But minetest in sunrise for example which has two different repos, one for the engine, one for the data. It's currently split in two, but I guess I will merge those soon. Lately there was an ebuild proposal in sunrise too which had that issue, see here https://gist.github.com/2829184 It would also enable me to use gtk-youtube-viewer and youtube-viewer in one ebuild with vcs-snapshot eclass while adding a gtk useflag (currently split too). Otherwise I will have to fix it on my own again. I am pretty sure it will get more in the future when people start to use this eclass or it will just prevent them from using it. I find the logic very clear: SRC="https://my/github/shit -> ${P}.tar.gz" results in ${WORKDIR}/${P} and SRC="https://my/github/shit -> ${P}-src.tar.gz" results in ${WORKDIR}/${P}-src -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJPzQvIAAoJEFpvPKfnPDWzOikH/0R35jeWyWj1j7RNxQ9Rbpt6 JPSBmNx2ZOdFDF8jIqbOERwFwSe87mLitOrZafCxNL4eNZmhP4lXTcVny574CxuS DE6k5n7k265eYzZm4A/1CjdKp4ptTzpGVil4/iVObFaz3B7tS5PCvqzySWc/ZO/7 040x2d4g94nqkcMM130ua970pbgO7MWZsVsBH3mnLE4AGCZY4vtRlH9dMOHbcAgG 46Vuu9/m4BfGadfGqNVTZz7KbxDBt5h3vOHZZe6JEf3smMr9GiK/gcIc4l97faN7 B601V8kIBWQhPENgeh+SZsMpx24E8DIMvLA7ltMLF8/WLULQBxzW3xR4/CxoNOk= =aaKu -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. 2012-06-04 19:26 ` hasufell @ 2012-06-04 20:06 ` Michał Górny 2012-06-04 20:47 ` hasufell 0 siblings, 1 reply; 8+ messages in thread From: Michał Górny @ 2012-06-04 20:06 UTC (permalink / raw To: gentoo-dev; +Cc: hasufell [-- Attachment #1: Type: text/plain, Size: 1644 bytes --] On Mon, 04 Jun 2012 21:26:00 +0200 hasufell <hasufell@gentoo.org> wrote: > But minetest in sunrise for example which has two different repos, one > for the engine, one for the data. It's currently split in two, but I > guess I will merge those soon. Why? Is there a good reason to merge two repos into one ebuild? Does upstream guarantee that the releases will always be synced? Does it benefit users? > Lately there was an ebuild proposal in sunrise too which had that > issue, see here https://gist.github.com/2829184 That's a more likely case. But still such a change would involve changing an established API heavily which I really dislike. > It would also enable me to use gtk-youtube-viewer and youtube-viewer > in one ebuild with vcs-snapshot eclass while adding a gtk useflag > (currently split too). > Otherwise I will have to fix it on my own again. Once again: does it benefit user? Or just does it imply that starting or stopping to use gtk part requires user to rebuild the whole thing? > I find the logic very clear: > > SRC="https://my/github/shit -> ${P}.tar.gz" > results in ${WORKDIR}/${P} > and > SRC="https://my/github/shit -> ${P}-src.tar.gz" > results in ${WORKDIR}/${P}-src I really don't mind the logic. I'm just aware that it is a little late to introduce such a destructive change, especially that you yourself mentioned that it will break existing ebuilds. I will be happy to implement it if you can get more approval for that change. Or else we should consider jumping with the eclass to -r1 while it isn't widespread too much. -- Best regards, Michał Górny [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 316 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. 2012-06-04 20:06 ` Michał Górny @ 2012-06-04 20:47 ` hasufell 2012-06-05 7:11 ` Michał Górny 0 siblings, 1 reply; 8+ messages in thread From: hasufell @ 2012-06-04 20:47 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/04/2012 10:06 PM, Michał Górny wrote: > On Mon, 04 Jun 2012 21:26:00 +0200 hasufell <hasufell@gentoo.org> > wrote: > >> But minetest in sunrise for example which has two different >> repos, one for the engine, one for the data. It's currently split >> in two, but I guess I will merge those soon. > > Why? Is there a good reason to merge two repos into one ebuild? > Does upstream guarantee that the releases will always be synced? > Does it benefit users? In this case yes. They are released with the exact same tags as you can see in those ebuilds. > >> It would also enable me to use gtk-youtube-viewer and >> youtube-viewer in one ebuild with vcs-snapshot eclass while >> adding a gtk useflag (currently split too). Otherwise I will have >> to fix it on my own again. > > Once again: does it benefit user? Or just does it imply that > starting or stopping to use gtk part requires user to rebuild the > whole thing? Eclasses do not benefit any user. They benefit developers. I would simply do similar stuff on my own in the ebuild instead of using vcs-snapshot eclass then. > >> I find the logic very clear: >> >> SRC="https://my/github/shit -> ${P}.tar.gz" results in >> ${WORKDIR}/${P} and SRC="https://my/github/shit -> >> ${P}-src.tar.gz" results in ${WORKDIR}/${P}-src > > I really don't mind the logic. I'm just aware that it is a little > late to introduce such a destructive change, especially that you > yourself mentioned that it will break existing ebuilds. So? We fix it. > > I will be happy to implement it if you can get more approval for > that change. Or else we should consider jumping with the eclass to > -r1 while it isn't widespread too much. > I don't see the point in bumping it, because it's not widespread. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJPzR7lAAoJEFpvPKfnPDWz5W8H/0Je1mE/Vo7X+46TpuZZyi/3 RJaJMYETeQbbhPM6ACIXtHk629fGCz9Oda7J0YG4LMCYTbxU5MNElZSjbV4aThYD MkSoQlSw/RIBuSEaffWRkAtbmNovHzd+nUyK8cHJTYXffi4CmClPXPPTqGAaRbC/ yJf6JBEfMLK/6ps10eMwf7D/m5ZJUYIPJ1m7DmlUqjpr8R8v2bVbjqB//M9ig7KO yl/W5qzlBa2UAw/Gjgi0ITdDKs5sem7J8+PbVZKED5K0sD10YxZKMImCymJSlFkR gzqZi99qdAs8uhZ1K6h8ozkBLglxkT54IZ8Kn3LWwiQ0/I2xRNgX8Ugt1EQnrQM= =X+fU -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. 2012-06-04 20:47 ` hasufell @ 2012-06-05 7:11 ` Michał Górny 2012-06-05 12:26 ` hasufell 0 siblings, 1 reply; 8+ messages in thread From: Michał Górny @ 2012-06-05 7:11 UTC (permalink / raw To: gentoo-dev; +Cc: hasufell [-- Attachment #1: Type: text/plain, Size: 3069 bytes --] On Mon, 04 Jun 2012 22:47:33 +0200 hasufell <hasufell@gentoo.org> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 06/04/2012 10:06 PM, Michał Górny wrote: > > On Mon, 04 Jun 2012 21:26:00 +0200 hasufell <hasufell@gentoo.org> > > wrote: > > > >> But minetest in sunrise for example which has two different > >> repos, one for the engine, one for the data. It's currently split > >> in two, but I guess I will merge those soon. > > > > Why? Is there a good reason to merge two repos into one ebuild? > > Does upstream guarantee that the releases will always be synced? > > Does it benefit users? > > In this case yes. They are released with the exact same tags as you > can see in those ebuilds. But could there be a case where fixing a build in the engine wouldn't require data being rereleased? Or having the tag pointing to the same commit it was pointing to previously? If upstream splits a package, and supports building/installing the two parts separately, we should do that as well. > >> It would also enable me to use gtk-youtube-viewer and > >> youtube-viewer in one ebuild with vcs-snapshot eclass while > >> adding a gtk useflag (currently split too). Otherwise I will have > >> to fix it on my own again. > > > > Once again: does it benefit user? Or just does it imply that > > starting or stopping to use gtk part requires user to rebuild the > > whole thing? > > Eclasses do not benefit any user. They benefit developers. I would > simply do similar stuff on my own in the ebuild instead of using > vcs-snapshot eclass then. Does splitting the package benefit user? Gentoo has a long history of overusing USE flags out of laziness. If upstream explicitly allows building GTK+ part separately of core, we shouldn't merge that. We should rather be grateful they don't force us to end up like Fedora, splitting build tree into smaller packages. > > I really don't mind the logic. I'm just aware that it is a little > > late to introduce such a destructive change, especially that you > > yourself mentioned that it will break existing ebuilds. > > So? We fix it. As I see the purpose of vcs-snapshot, it is more likely to be used in various overlays than in the gx86 tree. I don't believe you are able to fix *all* the occurrences. And while we're at it, changing eclass APIs doesn't benefit users nor developers. It can cause breakages which will hurt users, and forces developers to do more work when they don't have time to. > > I will be happy to implement it if you can get more approval for > > that change. Or else we should consider jumping with the eclass to > > -r1 while it isn't widespread too much. > > I don't see the point in bumping it, because it's not widespread. There are still more packages that it breaks than those which it would actually benefit. But I like the idea of using filename for the location. Could you look up PMS for me to see if it's guaranteed that it will be preserved in $A? -- Best regards, Michał Górny [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 316 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides. 2012-06-05 7:11 ` Michał Górny @ 2012-06-05 12:26 ` hasufell 0 siblings, 0 replies; 8+ messages in thread From: hasufell @ 2012-06-05 12:26 UTC (permalink / raw To: gentoo-dev -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > > But could there be a case where fixing a build in the engine > wouldn't require data being rereleased? Or having the tag pointing > to the same commit it was pointing to previously? > > If upstream splits a package, and supports building/installing the > two parts separately, we should do that as well. No. That is convenience for the minetest developer to have those split. There is not much sense to have it split unless you don't want to use the game and it adds further maintenance time for me. It is also crucial to have the same version for both repos, cause mixing engine and game-versions may lead to unexpected behavior. But I don't understand how that discussion is related to this topic. > > Does splitting the package benefit user? Gentoo has a long history > of overusing USE flags out of laziness. If upstream explicitly > allows building GTK+ part separately of core, we shouldn't merge > that. We should rather be grateful they don't force us to end up > like Fedora, splitting build tree into smaller packages. Please have a look at those packages. It makes perfectly sense to introduce a gtk useflag since they use almost the same perl core-script, but it is not necessary. This way I could conditionally install one version, since upstream syncs this core-script between both variants. > > As I see the purpose of vcs-snapshot, it is more likely to be used > in various overlays than in the gx86 tree. I don't believe you are > able to fix *all* the occurrences. Alright, that may be true. I will have a look if it's possible to enhance this without causing breakage for existing packages. We may as well have this discussion later. As for your current suggestion you have my ++ However the description stuff inside the eclass might need adjustment too. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJPzfrbAAoJEFpvPKfnPDWzgAQH/1PdtK2RVRy8M43hW/s2v+wh hRT3FZdEyFYmjMcOyNbzWlu0Y4DnFfbJIYbVWKrr892NQB4o+o4kaEpHmB0wX/gI Igu1ojGkntpfH9NFFXvZDTSwcCLV6ZAtnfq/CAfl5Y100Xdnz64D3nhvse/kXUFH 6KYwUX7llsGGKFT3BU/w8i+PXecHDKNrqY48H3XnzTYxk92D6jMkXcSk6PXqVYJQ C1Ug5mjWSBd4ZIPl3CIxxkVXQMFYOgRmM38/vztMNaAt7ypXVJL1sdmR4VHr7k2S WnBtw+eKwTuYJb/M/vHfANhudIOtNOfvCQPZA9nmU5qKpgJ2/iyZAYnhN/WfAd4= =965z -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-06-05 12:31 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-06-04 9:59 [gentoo-dev] [PATCH vcs-snapshot] Use ${WORKDIR}/${P} rather than ${S} to support ${S} overrides Michał Górny 2012-06-04 14:20 ` hasufell 2012-06-04 15:50 ` Michał Górny 2012-06-04 19:26 ` hasufell 2012-06-04 20:06 ` Michał Górny 2012-06-04 20:47 ` hasufell 2012-06-05 7:11 ` Michał Górny 2012-06-05 12:26 ` hasufell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox