Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Oct 2005 21:16:16 -0400
From:      Kris Kennaway <kris@obsecurity.org>
To:        Scot Hetzel <swhetzel@gmail.com>, Wes Peters <wes@softweyr.com>, freebsd-ports@freebsd.org, kris@obsecurity.org
Subject:   Re: [SUGGEST] Reform eclipse and eclipse related ports
Message-ID:  <20051018011616.GA57969@xor.obsecurity.org>
In-Reply-To: <20051018010446.GH71766@isis.sigpipe.cz>
References:  <E14F38B2-B1AF-415F-AE6B-A4BE6330A83D@opensail.org> <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>

next in thread | previous in thread | raw e-mail | index | archive | help

--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 <neuhauser@sigpipe.cz> 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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051018011616.GA57969>