Linked by Thom Holwerda on Sun 31st Dec 2006 17:26 UTC, submitted by Charles A Landemaine
PC-BSD Just in time for the new year, the PC-BSD team is pleased to announce the immediate availability of PC-BSD version 1.3 for public download. You may download this release and view the change log. The team is also launching a web design contest for the new web site of 2007.
Thread beginning with comment 198101
To view parent comment, click here.
To read all comments associated with this story, please click here.
phoenix
Member since:
2005-07-11

The portupgrade suite of tools is not part of the base OS. Anyone who chooses to use them has taken it upon themselves to use that method. Hence, there are only three official methods to install applications in PC-BSD (2 in standard FreeBSD).

Note also that the "package database" you discuss is a portupgrade-only feature, and is not part of the base OS. The FreeBSD ports tree uses /var/db/pkg/* to store installed app info. *ONLY* portupgrade uses /var/db/pkg/pkgdb and /usr/ports/INDEX.db.

The canonical ways to install applications in FreeBSD are:
- via the ports tree
- via packages (pkg_add)

Any other methods that a user chooses to use is at their discretion and their (possible) peril.

Reply Parent Score: 3

Doc Pain Member since:
2006-10-08

"The portupgrade suite of tools is not part of the base OS. "

That's right. The port / package "portupgrade" has to be installed, it offers tools such as pkg_deinstall, pkg_fetch, pkg_glob, ports_glob, pkg_sort, pkg_which, portversion, portinstall or pkgdb. In order to combine it with "make update" (also used for ports operations) "cvsup" has to be installed. So one could say, the updating mechanism via cvsup is not part of the base OS as well.

"Note also that the "package database" you discuss is a portupgrade-only feature, and is not part of the base OS. The FreeBSD ports tree uses /var/db/pkg/* to store installed app info. *ONLY* portupgrade uses /var/db/pkg/pkgdb and /usr/ports/INDEX.db."

That's correct as well. The INDEX.db mechanism is utilized when doing something like make seach name="foo". To build the INDEX.db, it has to be fetched (make fetchindex) or built (make index), if I remember correctly.

So it's worth to say that incorrect use of both packaging system may cause the system to have multiple instances of one port / package installed. To avoid this, one should be careful and use "pkgdb -aF". The proper use of pkg_delete and make deinstall is implied hereby; but as I remember, the installing mechanisms have respective warnings to prevent such multiple installations (such as "package is already installed").

"The canonical ways to install applications in FreeBSD are:
- via the ports tree
- via packages (pkg_add)"


If portinstall is used without the -p switch, it works the first way; if -P or -PP is specified, it goes the second one. So it's not a "real" third method to install applications. As you noted well, its speciality is the pkgdb.

"Any other methods that a user chooses to use is at their discretion and their (possible) peril."

Just as I said.

Reply Parent Score: 2

phoenix Member since:
2005-07-11

So one could say, the updating mechanism via cvsup is not part of the base OS as well.
Except that portsnap is now part of the base OS (since 6.0) so one does not need csup/cvsup installed to update the ports tree.

That's correct as well. The INDEX.db mechanism is utilized when doing something like make seach name="foo". To build the INDEX.db, it has to be fetched (make fetchindex) or built (make index), if I remember correctly.

That is incorrect. /usr/ports/INDEX[-567] is used when running "make quicksearch name=blah" or "make search name=blah".

The *only* tools that use /usr/ports/INDEX.db and /var/db/pkg/pkgdb are the portupgrade tools. *NOTHING* in the base OS uses those tools.

In fact, you don't need any of the extras dbs:
- install csup to update the source tree
- use portsnap to update the ports tree
- install portmaster to make port upgrades easier
No ruby, no m3, no db4 required. Just the ports tree and the tools provided with the ports tree. No need for running "pkgdb -F" all the time to keep /var/db/pkg/pkgdb in sync with /var/db/pkg/*. No need to run "portsdb -u" all the time to keep /usr/ports/INDEX.db in sync with /usr/ports/INDEX[-567].

Once you remove portupgrade from the system, things get a lot simpler to manage. ;) IMO, of course.

Reply Parent Score: 1