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.)
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 :
Into this directory , store names of the packages which failed during
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
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-ports