From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 27AE9138010 for ; Tue, 4 Sep 2012 17:25:15 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E085BE0507; Tue, 4 Sep 2012 17:24:46 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 09378E00D3 for ; Tue, 4 Sep 2012 17:22:51 +0000 (UTC) Received: from pomiocik.lan (213-238-98-26.adsl.inetia.pl [213.238.98.26]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 9D33A33D775; Tue, 4 Sep 2012 17:22:49 +0000 (UTC) Date: Tue, 4 Sep 2012 19:23:51 +0200 From: =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= To: gentoo-dev@lists.gentoo.org Cc: mikemol@gmail.com Subject: Re: [gentoo-dev] [Future EAPI] src_fetch() phase function to support VCS fetching Message-ID: <20120904192351.0da21f43@pomiocik.lan> In-Reply-To: References: <20120904184345.77696965@pomiocik.lan> Organization: Gentoo X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.11; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA256; boundary="Sig_/F8AcnQH7tB50xW=ONi4kN_l"; protocol="application/pgp-signature" X-Archives-Salt: b1fd9b97-0b97-49f4-bccf-a03df2be9e7d X-Archives-Hash: c3f8ff2a07ad65d6c6be70bb0c0eda9c --Sig_/F8AcnQH7tB50xW=ONi4kN_l Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, 4 Sep 2012 13:02:36 -0400 Michael Mol wrote: > On Tue, Sep 4, 2012 at 12:43 PM, Micha=C5=82 G=C3=B3rny > wrote: > > Hello, > > > > As Sid Hayn raised today on #gentoo-portage, it would be useful to > > finally have portage able to fetch updates from VCS-es independently > > of src_unpack(). This could be used, for example, on machines > > temporarily connected to the network -- one would then fetch files > > while connected to the network, and perform the updates later. > > > > There are a few ways how we could handle that but the cleanest and > > most universal one seems to be defining a src_fetch() phase function > > in a future EAPI. > > > > In the EAPIs supporting src_fetch(), that phase function would be > > used by PM when requesting the files to be fetched. A > > default_src_fetch() will be declared as well, providing > > implementation-defined code fetching files like they are fetched > > now. Older EAPIs will simply always use that default. > > > > The phase function would be disjoint from the normal merge process, > > much like pkg_pretend(). In portage, it will be called as 'portage' > > user if FEATURES=3Duserfetch is enabled. > > > > VCS eclasses supporting separated fetching would define two phase > > functions: > > - src_fetch() which would be responsible for fetching updates, > > - src_unpack() which would be responsible for checking out the > > source to work directory. >=20 > The 'checking out' language for src_unpack() sounds like it assumes a > DVCS such as mercurial or git. What about cvs or svn, where fetching > is also checking out? (This is probably a trivial thing to clear up, > though.) They either stay with src_unpack() or do 'cvs up' in src_fetch() and just copy files over in src_unpack(). Anyway, that's what they do now -- update the copy in distfiles/cvs-src and then copy it. > Also, where would the local copy go? distfiles? It's common for > distfiles to be stored on, e.g. an NFS mount, so you may need to be > careful not to place repositories there which have filesystem > semantics that are disagreeable to NFS. (The only example I know of > off the top of my head is svn, where the documentation warns against > using the dbd backend on top of NFS.) The actual code will be eclass-dependent, so it will go whatever it goes now. No magic, no exherbo. Just plain phase function. --=20 Best regards, Micha=C5=82 G=C3=B3rny --Sig_/F8AcnQH7tB50xW=ONi4kN_l Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iJwEAQEIAAYFAlBGOSgACgkQfXuS5UK5QB1FDgQAqD5xjiHTS89CPESs+idXsLJe uY5QygBSm27g7VKAEufh/DFW1+YYQ96VSToJNoppl1IU2AbmPBQSG8VCU/kPdhSZ SaZ9jydUo1WkddBan+nSUOxMhp5UjkGflLgyWCwgLe28Va+nam590QcDPgTqDld9 t+J0kHHnquVPAS/PC/o= =kifA -----END PGP SIGNATURE----- --Sig_/F8AcnQH7tB50xW=ONi4kN_l--