From owner-freebsd-ports Mon Oct 9 23:36:41 2000 Delivered-To: freebsd-ports@freebsd.org Received: from blizzard.sabbo.net (blizzard.sabbo.net [193.193.218.18]) by hub.freebsd.org (Postfix) with ESMTP id 9929F37B503; Mon, 9 Oct 2000 23:36:34 -0700 (PDT) Received: from vic.sabbo.net (root@vic.sabbo.net [193.193.218.109]) by blizzard.sabbo.net (8.9.1/8.9.3) with ESMTP id JAA03325; Tue, 10 Oct 2000 09:36:13 +0300 (EEST) Received: from FreeBSD.org (big_brother.vega.com [192.168.1.1]) by vic.sabbo.net (8.11.0/8.9.3) with ESMTP id e9A6aF201879; Tue, 10 Oct 2000 09:36:15 +0300 (EEST) (envelope-from sobomax@FreeBSD.org) Message-ID: <39E2B8DD.C7099DE3@FreeBSD.org> Date: Tue, 10 Oct 2000 09:36:13 +0300 From: Maxim Sobolev Organization: Vega International Capital X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: uk,ru,en MIME-Version: 1.0 To: Satoshi - Ports Wraith - Asami Cc: bmah@FreeBSD.org, Neil Blakey-Milner , Akinori -Aki- MUSHA , freebsd-ports@FreeBSD.org Subject: Re: PROPOSAL: Use @comment PLIST variable to track where installed packages came from [Was: Enhancement of pkg_version's version comparison routine] References: <86k8by6eis.wl@archon.local.idaemons.org> <20000927002401.A73341@mithrandr.moria.org> <39D9D006.652DC258@FreeBSD.org> <20001003161027.B67542@mithrandr.moria.org> <39D9EE01.7A880665@FreeBSD.org> <200010031657.e93Gvtg10718@bmah-freebsd-0.cisco.com> <39DB17BB.12805565@FreeBSD.org> <200010060426.e964Qvx70814@bmah-freebsd-0.cisco.com> <39DE1A48.C7C8C9CF@FreeBSD.org> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Satoshi - Ports Wraith - Asami wrote: > * * From: Maxim Sobolev > > * 2. What is proposed? > * > * It is proposed to plant into package short information about path of the underlying > * port, from which installed packages was generated, in the Ports Tree. Due to the fact > > This is a very good idea. I've wanted this for years. :) I like that you like it ;). > * 3. How it would work? > * > * When creating package, bsd.port.mk will generate MASTERCATEGORY/PORTDIR string and > * feed it to pkg_create. Here MASTERCATEGORY is the first category specified in port's > * CATEGORIES and it should coincide with name of corresponding parent directory in the > * ports tree. It was defined in such way to properly handle ports installed w/o parent > > Yes, I think it is correct to make that assumption. (I believe it is > documented in the Porter's Handbook as a rule, but if it is not, it > should be.) /me goes to read Porter's Handbook ;). > * current version of the package in the Ports Collection. All other packages (for > * example old packages w/o origin, third party packages etc.) will be handled using > * ports/INDEX. > > Sounds good. Well, I don't think third party packages will be > "handled" all that well using ports/INDEX since they aren't in there > (unless the user edited the file manually to put it in :), but I > assume you are saying it will just fall back to the old method of > using INDEX if the port directory is found, which is of course fine. Correct. > Same goes for ports that have been repo-copied, but of course this > can't be helped. Unfortunately :( > * With this message I'm attaching appropriate patches for pkg_* tools and bsd.port.mk. > > I'm not capable of reviewing patches to pkg_* tools but on the > bsd.port.mk patch: > > * +SED?= /usr/bin/sed > * +BASENAME?= /usr/bin/basename > > I should just move the whole damn section up here. Yes, it would be fine. Also it would be nice to add /usr/bin/find and /usr/bin/xargs into this section. Alternative I would propose to create share/mk/bsd.commands.mk, so not only ports, but all others make(1) users would benefit from it. > * + > * +.if ${OSVERSION} > 500012 > > Don't worry about the OSVERSION check, I'll make an upgrade kit and > bump BSDPORTMKVERSION to make sure people will have the newest pkg_* > tools. Ok, I added it just for completeness sake ;). > * +_PKGCATEGORY!= ${ECHO} ${CATEGORIES} | ${SED} -E 's|^ *||g ; s| .*$$||' > * +_PORTDIRNAME!= ${BASENAME} ${.CURDIR} > > I wish we could do these substitutions without having to invoke > separate processes though. Will, aren't there ways to do this in > make? Yes, it should be possible when current Will's efforts to bring :C/// into make(1) is finished. I do not see any way to avoid ${BASENAME}, though. -Maxim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message