Pkgsrc in PC-BSD®

From PC-BSD Wiki
Revision as of 01:24, 16 December 2011 by Tigersharke (Talk | contribs)

Jump to: navigation, search

Available to PC-BSD is its own PBI collection, FreeBSD ports, and FreeBSD packages. However, it is also possible to use the NetBSD pkgsrc system to build software. This is not (yet) a pre-configured feature, which means there are some special instructions to follow for this functionality to be enabled. This section will describe how to configure and use NetBSD pkgsrc from PC-BSD.

Setting things up

  1. Obtain the NetBSD pkgsrc tree by the following commands:

    # cd /usr/
    # env CVS_RSH=ssh cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout pkgsrc

  2. FreeBSD stores its ports pkg database in /var/db/pkg/. It is therefore recommended that you use /usr/db/pkgsrc/ with the --pkgdbdir flag as below:

    # cd /usr/pkgsrc/bootstrap/
    # ./bootstrap --pkgdbdir /var/db/pkgsrc/

  3. The NetBSD pkg tools and FreeBSD pkg tools have identical names. It is recommended to change the name of the NetBSD set to match 'bmake' by prepending a 'b' to each, as follows:

    # cd /usr/pkg/sbin/
    # mv pkg_add bpkg_add
    # mv pkg_create bpkg_create
    # mv pkg_delete bpkg_delete
    # mv pkg_info bpkg_info

    If you do not intend to use the FreeBSD ports tools, they can be moved out of the way as follows:

    # cd /usr/sbin/
    # mv pkg_add pkg_add.orig
    # mv pkg_create pkg_create.orig
    # mv pkg_delete pkg_delete.orig
    # mv pkg_info pkg_info.orig

    An example mk.conf file will be placed in /etc/mk.conf.example file when you use the bootstrap script.

  4. Add the location of bmake (/usr/pkg/bin) and NetBSD pkg tools (/usr/pkg/sbin) to the user's search path variable.
    Edit the file .cshrc in the user's home directory to modify the following line:

    set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/pkg/sbin /usr/pkg/bin $HOME/bin)

  5. Obtain the vulnerabilities file:
    # /usr/pkg/sbin/pkg_admin fetch-pkg-vulnerabilities

  6. The vulnerabilities of some ports (ie Firefox) may prevent them from being built.
    Adjust /usr/pkg/etc/mk.conf to allow vulnerable programs to be built by adding the following line:

    ALLOW_VULNERABLE_PACKAGES=TRUE

Using pkgsrc to build

Much like using the FreeBSD ports system, building with the NetBSD pkgsrc system is a rather simple matter of going to the location of the application, and using bmake, for example:

# cd /usr/pkgsrc/www/firefox/
# bmake install clean

Adding a NetBSD pkg

(needs to be tried/tested) it should be a simple matter of using pkg_add but on NetBSD it expects an address to be defined when doing this, and undefined when building from pkgsrc as above.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox