From owner-freebsd-ports@FreeBSD.ORG Tue Oct 18 01:16:21 2005 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8356116A41F for ; Tue, 18 Oct 2005 01:16:21 +0000 (GMT) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29F2643D49 for ; Tue, 18 Oct 2005 01:16:21 +0000 (GMT) (envelope-from kris@obsecurity.org) Received: from obsecurity.dyndns.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id E22571A3C28; Mon, 17 Oct 2005 18:16:20 -0700 (PDT) Received: by obsecurity.dyndns.org (Postfix, from userid 1000) id 0B9E851244; Mon, 17 Oct 2005 21:16:16 -0400 (EDT) Date: Mon, 17 Oct 2005 21:16:16 -0400 From: Kris Kennaway To: Scot Hetzel , Wes Peters , freebsd-ports@freebsd.org, kris@obsecurity.org Message-ID: <20051018011616.GA57969@xor.obsecurity.org> References: <20051015053003.GB28137@soaustin.net> <4350CE50.8080704@ebs.gr> <5739E97B-7EDC-4971-9EA5-01A44688A981@softweyr.com> <43522953.6050700@ebs.gr> <1B8112AF-8C0E-4BA0-8D1C-DA6AD529F327@softweyr.com> <20051017153024.GA23494@arabica.esil.univ-mrs.fr> <20051017212748.GD71766@isis.sigpipe.cz> <790a9fff0510171505i4010cc05yc30f67d459d1a0e4@mail.gmail.com> <20051018010446.GH71766@isis.sigpipe.cz> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="cNdxnHkX5QqsyA0e" Content-Disposition: inline In-Reply-To: <20051018010446.GH71766@isis.sigpipe.cz> User-Agent: Mutt/1.4.2.1i Cc: Subject: Re: [SUGGEST] Reform eclipse and eclipse related ports 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: Tue, 18 Oct 2005 01:16:21 -0000 --cNdxnHkX5QqsyA0e Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Oct 18, 2005 at 03:04:46AM +0200, Roman Neuhauser wrote: > # swhetzel@gmail.com / 2005-10-17 17:05:18 -0500: > > On 10/17/05, Roman Neuhauser wrote: > > > Wes said: "I have to resort to 'make search'" which presumably mea= ns > > > he'd prefer to just ls /usr/ports/$emacs_category; while 'make > > > search' is a bearable interface (FMPOV), you can't beat a ls. > > > > > > Hey, what about materialized virtual categories? A bunch of > > > symlinks, and everyone's happy. Or is that too much for CVS? > > > > It would probably be too much for CVS to handle, instead someone could > > modify bsd.port.mk to create the virtual category directories and then > > symbolicly link the ports into these categories. > >=20 > > The following could be added to bsd.port.mk > >=20 > > virtualport: > > .for CATEGORY in ${CATEGORIES} > > .if not exist ${PORTSDIR}/${CATEGORY} > > mkdir ${PORTSDIR}/${CATEGORY} > > .endif > > .if not exist ${PORTSDIR}/${CATEGORY}/${PORTNAME} > > ln -s ${.CURDIR} ${PORTSDIR}/${CATEGORY}/${PORTNAME} > > .endif > > .endfor > >=20 > > which would add the link for a specific port. The we would need to > > add a virtualports target (bsd.subdir.mk?) that would decend thru all > > the ports creating all the symbolic links (similar to the "make > > readmes" target used in /usr/ports/ ). > >=20 > > Also there would need to be another target that would remove all the > > symbolic links, that way you could re-create them without worrying > > about removed symbolic links pointing to non-existant ports. > >=20 > > NOTE: Non of this code has been tested. If you want this feature, work > > on improving the code and submitting it as a patch to the PR database > > for Ports Managers to accept/reject. >=20 > I'm putting this in my .plan, and will eventually work on it unless > someone points me at a past discussion that showed there were major > technical obstacles to this. >=20 > I think I could manage inside /usr/ports/Mk: >=20 > * create an update-vcats that works in all of portsdir, > portsdir/category and portsdir/category/port > * maintain a list of names of virtual categories in a make variable > * create symlinks in the virtual categories this port lists in > CATEGORIES > * delete symlinks to this port from other virtual categories if any > =20 > But I'm quite concerned about the changes needed to make things like > the package building cluster or make index aware of this. It looks > like it would have quite far reaching consequences. Kris? I don't have time to think about this much, but it seems to me that keeping all the symlinks up to date requires a time-consuming walk of the entire ports tree. However, I'm not sure package builds or index builds need to know anything about this, since they can just ignore the symlinks (which represent a duplicate path to the same directory) and proceed as now with how they do things. Kris --cNdxnHkX5QqsyA0e Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (FreeBSD) iD8DBQFDVEzgWry0BWjoQKURAn3PAKCbwuI8b1/IkfG2/y+H2Zd3hTV2LQCcDBGH J7Q3r5dUIfYDb1KEmny/rF8= =1VVF -----END PGP SIGNATURE----- --cNdxnHkX5QqsyA0e--