From owner-freebsd-ports@FreeBSD.ORG Thu Dec 11 14:08:44 2008 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C127C106564A for ; Thu, 11 Dec 2008 14:08:44 +0000 (UTC) (envelope-from wahjava@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.226]) by mx1.freebsd.org (Postfix) with ESMTP id 683578FC0C for ; Thu, 11 Dec 2008 14:08:44 +0000 (UTC) (envelope-from wahjava@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so875441rvf.43 for ; Thu, 11 Dec 2008 06:08:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:from:to:cc:subject :organization:references:x-face:x-uptime:x-url:x-openpgp-id :x-openpgp-fingerprint:x-os:x-mailer:x-mail-morse:x-attribution:date :in-reply-to:message-id:user-agent:face:mime-version:content-type; bh=tclN32mR73ens/0YiRvKGPsRaRBJhazvX4j69sMTSoc=; b=FWb0agz0VgD3tp54+JTiHyj7Q5SH9I9emAF7taJudM8OTnIA+XqpsNgqz6225AHiVg Vw7QC0LHoDICw2BaJhqFN00go0PEa5ayNLmwty23VArsXt0TrJi0MUhNtkWXcVtWBfCx UeLzaz+daMWDtFiCuKJwQKzaeXyuEbj8oiF+E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:from:to:cc:subject:organization:references:x-face:x-uptime :x-url:x-openpgp-id:x-openpgp-fingerprint:x-os:x-mailer:x-mail-morse :x-attribution:date:in-reply-to:message-id:user-agent:face :mime-version:content-type; b=LRyBIWpSIPInD5YpepfhOTLAxb3KaufEktvrR0wGVu7H1TeLHHXXVyu12+QVuuioVC ZLjCo0cLSYzPZ1qGh0jTBeyMiAMyJn+NHpUv3Y+KKZGT23sfO/k2xltrSnlAdAV3J/Ig 6zvn2c8BaFYrax1D7d4+Gk4bbBjUY7I4UAQcg= Received: by 10.141.18.15 with SMTP id v15mr1292810rvi.197.1229004524143; Thu, 11 Dec 2008 06:08:44 -0800 (PST) Received: from chateau.d.lf ([122.163.146.84]) by mx.google.com with ESMTPS id g22sm1007826rvb.1.2008.12.11.06.08.38 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 11 Dec 2008 06:08:41 -0800 (PST) Sender: =?UTF-8?B?4KSG4KS24KWA4KS3IOCktuClgeCkleCljeCksiBBc2hpc2ggU2h1a2xh?= From: wahjava.ml@gmail.com (Ashish Shukla =?utf-8?B?4KSG4KS24KWA4KS3IA==?= =?utf-8?B?4KS24KWB4KSV4KWN4KSy?=) To: Dmitry Marakasov Organization: alt.religion.emacs References: <20081209181354.GB29817@hades.panopticon> <87tz9di38u.fsf@chateau.d.lf> <20081209222042.GC29817@hades.panopticon> <8763lsi10m.fsf@chateau.d.lf> <20081210181125.GA86341@hades.panopticon> <87zlj3heor.fsf@chateau.d.lf> <20081210223522.GA6367@hades.panopticon> <87vdtrhb6r.fsf@chateau.d.lf> <20081211082325.GA6167@hades.panopticon> <6161f3180812110156n43803ee9s88443b6777bd0743@mail.gmail.com> <20081211113556.GA7422@hades.panopticon> X-Face: )vGQ9yK7Y$Flebu1C>(B\gYBm)[$zfKM+p&TT[[JWl6:]S>cc$%-z7-`46Zf0B*syL.C]oCq[upTG~zuS0.$"_%)|Q@$hA=9{3l{%u^h3jJ^Zl; t7 X-Uptime: 19:22:54 up 3:28, 2 users, load average: 0.14, 0.05, 0.01 X-URL: http://wahjava.wordpress.com/ X-OpenPGP-ID: 762E5E74 X-OpenPGP-Fingerprint: 1E00 4679 77E4 F8EE 2E4B 56F2 1F2F 8410 762E 5E74 X-OS: GNU/Linux on Linux 2.6.25-gentoo-r7 kernel on x86_64 architecture X-Mailer: Gnus/5.13 (Oort 5.13) Emacs/23.0.60.1 (x86_64-pc-linux-gnu) X-Mail-Morse: .-- .- .... .--- .- ...- .- .--.-. --. -- .- .. .-.. .-.-.- -.-. --- -- X-Attribution: =?utf-8?B?4KSG4KS24KWA4KS3?= Date: Thu, 11 Dec 2008 19:40:39 +0530 In-Reply-To: <20081211113556.GA7422@hades.panopticon> (Dmitry Marakasov's message of "Thu, 11 Dec 2008 14:35:56 +0300") Message-ID: <87vdtqls4g.fsf@chateau.d.lf> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJ1BMVEWpqal/f39tbW1jY2Md HR2goKCenp6UlJROTk7////9/f35+fnT09ORJdieAAACVklEQVQ4jXXUP2vbQBQA8AvUTkgz5OzY Z0iGWhpS6BSrkECn0mvx0MEJ6AjtYrfoBCVDlD8naJYmNlRfwZq8+mkKlIZaGpJSYmP7Q/XkJDrJ Td8i/H68u3vHPaPufwLdf32AMA4A6GcAgvAamY1pOJiDIFqicTwLswDhfr3uxfFtkAY/GFHPMwzD 8zpnACmIOnE6js7rQb+v4NJrG9od0C+QgpHMy5jBewV+UDSMWiw1Y4fWfyV7+NGFzDsYa3pth9LJ Q4XvXxFHcJRvHOmygn5NAEabnDcQQguarnfoiwSCJ99jmKKcphsZONmWsDK9Ro7cvZOCtQdg8nje egLhc2LNlkLmsezzTFUUy5w18ocox/f0LaLgJy0zO75zk+9pp85GAj36xjqhdI0y3tq2m4dqqcWX zQWBTz8L1irvolXV4J+3q7eCDgVnttjNq6X8H+9KOZsuNk1uCzx8pSp+E9HImfJOTLdcGqo+YKnG EIovizkEn48V7BO+ch2DXcD4ENSpWiU+q8hjjbgTBZCXnZtyj0Ws4Q1Q0B2WXFtYZo65Bbyeeldw RS6qFueM80LlLA29YlVwGRYvFD+kwI/0O+A2PlpOP9GwslUVciHuYGechuBTp922YiDZCrghTknm XSyOM+D3aoRZlo0Jb42zY7DN4p2x4AeZ+QAYutx1sHwTHzMT5cMNduQ9yW3GczN4KZ86kb0c9O8T yXDeFqpl2fryPEAYGXIlezAPXYh2NgVr/gvdoHIuDwuPwOhcWE8f8mmICq41eATkn8x0kuRTIKcB wE9+/QUtiiAnYcaN7wAAAABJRU5ErkJggg== MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Cc: FreeBSD Ports Mailing List , "Andrew W. Nosenko" Subject: Re: [PROPOSAL] Ports using SCM repositories as source instead of distfiles X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Dec 2008 14:08:44 -0000 --=-=-= Content-Transfer-Encoding: quoted-printable Dmitry Marakasov writes: > * Andrew W. Nosenko (andrew.w.nosenko@gmail.com) wrote: >> > I understand. But you're implying that there is Makefile and it suppor= ts >> > DESTDIR. As I understand, you're referring to autotools-based ports. >> > Remember, those are less than 1/4 of the collection. >> Excuse me, but he refers not to autotools-based ports, but to ports >> that follows GNU Coding Standards (section "Makefile Conventions" if >> more preciously). >> Autotools just brings such support out-of-the-box. >> And, IMO, projects that violates these things heavy, should be fixed ups= tream. >> BTW, from my expiriense, there are little amount of project that >> doesn't support DESTDIR of it's analog. And many of them may be >> worked around anyway. Yes, I meant that only. > I didn't count or check thoroughfully, but the feeling I've got > from my 150+ ports is that no one actually supports it. I may be > wrong though. > And again, GNU Coding Standards don't cover build systems other > than make. Also, it's not even a requirement: "So, we strongly > recommend GNU packages support DESTDIR, though it is not an absolute > requirement." > I agree with that you can't require all upstream maintainers to > support this feature. Architecturally this should be completely > package manager's problem (i.e. upstream should only provide > installation into PREFIX, and may optionally support DESTDIR, and > if package manager needs features like that staged install or > automatic plist generation, and upstream don't provide it, package > manager should take care of it by itself. > Tecnically, we may support DESTDIR in all ports. But considering > the amount of work required, and increased complexety of everything > as a result, I'd stick with static plists without hesitation. Yes, that is why I mentioned having a variable which enables this behaviour, by default it is disabled. I mean ports which are okay with providing static plists are fine, but ports which aren't predictable with what files are going to installed can go with this dynamic plist support, where ports infrastructure will only help in generating a plist from an already setup directory tree (/var/tmp/${portname}), now it is maintainer's responsibility to make sure that all files will be installed in /var/tmp/${portname} which {s,}he can do by either using 'make install DESTDIR=3D/var/tmp/${portname}' or something similar if supported by port's upstream or {s,}he has to add installation commands in ports Makefile rather than going with upstream's way of installing things. > See > http://lists.freebsd.org/pipermail/freebsd-ports/2006-August/034745.html > those are some real examples of complexity and resulting confusion, > from first variant of DESTDIR support in ports. Now, when we have > one DESTDIR implementation, adding another will likely make some heads > explode, just think of variable naming. The DESTDIR issue in above link refers to the DESTDIR support[1] present in FreeBSD Ports system, and the one which I'm talking about has nothing to do with that. > I'll remind that what we are talking about is automatic plist generation, > and I think that this can be done without any hacks like installing a > port into intermediate directory before real installation just by > logging all writes to the filesystem.=20 Yes that intermediate directory is what DESTDIR is. And if you're capable of logging all writes in the DESTDIR, then its cool, but remember you're also talking about installing port in an intermediate directory. After the port gets installed in intermediate directory, the plist can be generated with your filesystem writes logger component or a well tested version of following simply command line: % find /var/tmp/${PORTNAME} -type f |sed -e \ "s[/var/tmp/${PORTNAME}${PREFIX}/[[g" > plist.tmp HTH =2D-=20 Ashish Shukla --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAklBH2MACgkQHy+EEHYuXnT53ACfVSmMJprUpT9LFW/HzyXls92S nCMAoMLXJn8WLaXjtv1zk0JO5sUa5Vad =/Xk2 -----END PGP SIGNATURE----- --=-=-=--