Published : 2009-04-26

Dports management

DragonFlyBSD was based on NetBSD’s pkgsrc. Since DragonFlyBSD 3.4, FreeBSD port tree has been ported to DragonFly, and renamed it dports.

Ports tree

The ports tree containt all softwares. It’s an essential element for 3rd softwares and libraries. Each port is categorized in one directory (databases, www, converters…)

Get the first snapshot

DragonFlyBSD is based on git to get the ports tree. To extract first snapshot, we use this command:

cd /usr
make dports-create-shallow

This command will clone git repository to /usr/dports directory. You can note that the repository is on github.

Update tree

Like git, here is the command to update the tree.

cd /usr/dports
git pull

Ports management

To see the installed port list:

pkg info

Install a port

To install a port, you must go to the good directory (here mysql 5.5 service) and type make install clean

cd /usr/dports/databases/mysql55-server
make install clean

This make command will compile, install files and clean compile files. In some cases, ports need some hacks, then a dialog window will appear to let you choose compile options.

Change the port configuration

If you have done a mistake, or you need to add some functions, you may want to reconfigure port. Go to the port directory and type:

make config

Update management

To manage update, we will use the better product for FreeBSD, which works also on DragonFlyBSD: portmaster. Then we compile it:

cd /usr/dports/port-mgmt/portmaster
make install clean

Now, to update all installed ports, you can type:

portmaster -a

Compile all installed ports

After an OS migration, it would be interesting to compile all ports, because of system libraries updates. This is recommended. You can force update of all ports, which recompile all of them.

portmaster -af

Uninstall a port

Two method exists, the first is to go to port directory and type:

make deinstall

The second method is proper and manage dependencies is to do a pkg info to find the port and then a pkg delete of the port (+ version)

pkg delete zsh-5.0.2