[SUGGEST] Reform eclipse and eclipse related ports

Wes Peters wes at softweyr.com
Mon Oct 17 23:39:55 PDT 2005


On Oct 17, 2005, at 6:16 PM, Kris Kennaway wrote:

> On Tue, Oct 18, 2005 at 03:04:46AM +0200, Roman Neuhauser wrote:
>
>> # swhetzel at gmail.com / 2005-10-17 17:05:18 -0500:
>>
>>> On 10/17/05, Roman Neuhauser <neuhauser at sigpipe.cz> wrote:
>>>
>>>>    Wes said: "I have to resort to 'make search'" which  
>>>> presumably means
>>>>    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.
>>>
>>> The following could be added to bsd.port.mk
>>>
>>> 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
>>>
>>> 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/ ).
>>>
>>> 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.
>>>
>>> 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.
>>>
>>
>>     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.
>>
>>     I think I could manage inside /usr/ports/Mk:
>>
>>     * 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
>>
>>     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.

Thanks for eliding the mud-slinging and getting back on track here  
guys.  I think a better, more easily searched index to the ports  
system is an admirable goal.  How it is implemented is a task I  
wouldn't presume to dictate to people who know the ports system so  
much better than I do.

The ability to easily tab-search through sensible ports categories  
does make it much easier to find ports, especially when you have some  
idea of what the port name might be.  Tools like 'make search' work  
well when you don't know what you're looking for all that well, but  
are a pretty broad axe to apply to, for instance, finding the eclipse  
gui editor (I know it's eclipse-g{something} or eclipse-v{something})  
or a specific kdemultimedia codec.

I'm not pointing this out for my use; I'm pretty adept at finding  
stuff in ports.  I have a lot of co-workers who are experienced  
programmers but not necessarily experience FreeBSD'ers and they often  
have trouble finding ports even when they (almost) know the name.

--
            Where am I, and what am I doing in this handbasket?
Wes Peters                                                      
wes at softweyr.com



More information about the freebsd-ports mailing list