ports and PBIs

Mehmet Erol Sanliturk m.e.sanliturk at gmail.com
Sun Apr 11 02:03:29 UTC 2010

On Sat, Apr 10, 2010 at 7:47 PM, Mark Linimon <linimon at lonesome.com> wrote:

> not to be a troll but ...
> ... for those that want the ease-of-use of PBIs, why not just use PC-BSD
> in the first place?  They seem to have their own QA process in place in
> terms of keeping the various large applications at a sane level.
> Kernel development could (just like it is on the Macs) be done in some
> kind of virtualization context.
> My own experience with helping people who try to run FreeBSD-CURRENT with
> an up-to-date ports tree is that there are far too many moving parts for
> it to be dependable.  (For more on how often ports get broken by changes
> in -CURRENT, see http://wiki.freebsd.org/PortsBrokenOnCurrent.  Note that
> that list is not complete.)
> mcl

I have tried PC-BSD . I think it has an important draw back : Its theme is
changing its colour cyclically . Any person having chronic illness Vertigo
can not endure such continuous colour change . I could not find any place to
stop that colour cycling other than to remove PC-BSD and install another
operating systems onto its hard disk .

In FreeBSD ports system , for me , problem is not the current port system .

My idea is to have additional information about ports .

For example , when a package is desired to be added by pkg_add , it is
downloading the requested package , decompressing it , and saying that it is
already installed , and it is not necessary to install it . Instead of this
, the following structure ( a more proper one may be suggested , this is
only an idea ) may be useful :

In the ports , instead of using short names , use after a certain character
a signature name of the port : As an example : kde4.version.signature.tbz .
In installed systems , always install in directories having that name with
signature . When an install is attempted , again use pkg_add kde4 for
easiness , not its long name , or kde4.version to select a specified version

pkg_add should compute the signature of the installed port kde4, and  check
its value to installed signature name . If they are different , the port is
destroyed ( install it unconditionally ) , otherwise proper .

pkg_add should check port kde4... in ports . If their signatures are the
same , it is not necessary to download and install it .

For the dependencies , with a port kde4.....tbz , maintain a kde4.....xml
listing all the dependencies , in which they may be inspected recursively (
Such lists are displayed in ports related web pages in www.freebsd.org ) .

By checking all the related xml files and installed ports in a system , it
will be possible to decide installation possibility of  a port attempted to
be installed without downloading
actual port files .

In a directory in the system , maintain a subdirectory of ports :
Failed_Builds .
Into this directory , store names of the packages which failed during
building .
When a package  is attempted to be build , for itself and its dependencies ,
check that Failed_Builds directory for matching names . If there exists any
one of them , do not start to build , because it will not be successfully
completed . ( Entries from that directory may be deleted manually to allow
build tries , and successful build may check this directory to remove
matching entries if it is present . )

This Failed_Builds list is important , because when that information is not
used , the same failed build is attempted many times for an install of some
packages .

Personally , I am not against an additionally available PBI directory in
ports tree . Some users may prefer to use them although some packages will
be repeatedly stored in different PBI packages and will be downloaded for
each of them .

Thank you very much .

Mehmet Erol Sanliturk

More information about the freebsd-current mailing list