Old ports bugs analyzis

Garrett Cooper yanefbsd at gmail.com
Tue Mar 30 20:49:09 UTC 2010


On Tue, Mar 30, 2010 at 1:25 PM, Arseny Nasokin <eirnym at gmail.com> wrote:
>
>
> --
>  With pleasure
>
> On 30 Mar 2010, at 23:14, Alexey Shuvaev <shuvaev at physik.uni-wuerzburg.de>
> wrote:
>
>> On Tue, Mar 30, 2010 at 01:05:39AM +0400, Eir Nym wrote:
>>>
>>> I work on creating system for system and ports autobuilder with custom
>>> settings for my FreeBSD machines. I know about many programs, which do
>>> same, but I don't like strange depends, which are not controlled by
>>> OPTIONS and some another
>>>
>>> I've analyse ports tree and want to say about.
>>> There're lot problems with ports to create per-port PRs
>>> manually.Common types of problems are listed here:
>>>
>>> 0) Main part of problems in tons of ports, which has hidden options
>>> (WITH & WITHOUT checking), but not using OPTIONS for them.
>>> 1) There many libraries added with BUILD&RUN dependencies, not as
>>> LIB-DEPENDS.
>>> 2) Some ports has only BUILD depends to libraries, but links them
>>> dynamicly.
>>> 3) All(?) samba33 slaves define dependency as "samba33", and make
>>> warning me about master target redefinition when do something on them.
>>> 4) many ports define dependencies as
>>> "${.CURDIR}/../../<category>/<dep-port-name>"
>>> 5) And some adds trailing slash.
>>>
>>> I want fix these problems, but I have no much time to fix several
>>> thousands of ports. This work (include PR sending) needs about is 1-2
>>> month per 8-10 hours a day.
>>>
>> If the problems are so common, maybe there are not so many problems
>> at all? :)
>
> Yes, it's features! Let's all bugs will be features! Do you remember The Bat
> mail client, which doesn't want support standarts at all?
>
> Cases 0, 2, 3 and 4 are bugs.
> 0: I want to control options via OPTIONS, not by knowledge about Makefile
> syntax with much time.
> 2: build port, install, remove lib and get this port unusable.
> 3: where program should find package orign "samba33"?
> 4: when reading Makefile, it hard to explain where port is. And when ports
> tree has changed place in system, it's not good idea to rebuild index.
>
> 2, 5 are questions at most.
> 2: libraries should be LIB_DEPENDS

Caveat: static libraries are build dependencies; dynamic libraries are
lib dependencies. We had a discussion about this on #bsdports
yesterday and it was a well understood fact that was being proposed
for a move forward in terms of installing binary packages.

>>> I put my analysys in several work files:
>>> I've removed ${PORTSDIR} from paths for readability in index files.
>>>
>>> http://freebsd.eroese.org/bsd.local.mk - different describe target
>>> (clean and simple)
>>> http://freebsd.eroese.org/portInfo.py - py-IDX maker. old, but enough
>>> version.
>>>
>>> http://freebsd.eroese.org/tag  - portsnap(8) tag
>>> http://freebsd.eroese.org/IDX - special maked IDX
>>> http://freebsd.eroese.org/py-IDX - human readable format of IDX, see
>>> py program for comments about types.
>>>
>> I have tried to understand what is in these files but have not managed
>> it completely.
>>
>> The file py-IDX lists 2 of my ports, devel/slglade and
>> x11-toolkits/gtkdatabox as being fixed:
>> fix devel/slglade
>> fix x11-toolkits/gtkdatabox
>>
>> Could you elaborate more what was 'fixed' in these 2 examples?
>>
> Thanks,
> I've striped out debug output from top.
>
> I've updated files py-IDX and python program.
>
> And also put some documentation in file http://freebsd.eroese.org/docs

Cheers,
-Garrett


More information about the freebsd-ports mailing list