This shows you the differences between two versions of the page.
releases:3.2.0:usersguide:installingsourcepackages [2014/11/11 14:52] |
releases:3.2.0:usersguide:installingsourcepackages [2014/11/11 14:52] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Installing Source Packages ====== | ||
+ | |||
+ | ===== pkgsrc ===== | ||
+ | |||
+ | As of release 3.1.8, [[http://www.netbsd.org/docs/software/packages.html|pkgsrc]] is used to build third party software on Minix3. This page describes how to use pkgsrc. | ||
+ | |||
+ | Before diving in, you should be aware that the Minix 3 project provides precompiled binary packages for many third party applications. This can save a lot of time. See [[.:installingbinarypackages|Installing Binary Packages]] for details. | ||
+ | |||
+ | It should also be noted that the ''/usr/pkgsrc'' hierarchy created below contains a super-set of the packages that can be built, installed, and run on a Minix3 system. In other words, just because a package is present in the ''/usr/pkgsrc'' hierarchy, it does not mean that the package will compile and be usable on a Minix3 system. The file [[http://git.minix3.org/?p=pkgsrc.git;a=blob;f=minix/limited_list.pbulk;hb=refs/heads/minix-master|/usr/pkgsrc/minix/limited_list.pbulk]] contains a list of packages that are known to at least build under Minix3 '[[.:..:developersguide:trackingcurrent|current]]'. The ''limited_list.pbulk'' file is a good starting point for determining whether a package you are interested in is likely to be usable on a Minix3 system. | ||
+ | |||
+ | ==== Setting up pkgsrc on Minix ==== | ||
+ | |||
+ | git is required to download the pkgsrc tree and gcc is required to compile software | ||
+ | <code> | ||
+ | # pkgin in scmgit-base gcc44 | ||
+ | </code> | ||
+ | |||
+ | To set up the pkgsrc tree: | ||
+ | <code> | ||
+ | # cd /usr | ||
+ | # make pkgsrc-create | ||
+ | </code> | ||
+ | Note: this takes slightly more than 1GB of hard disk space (as of November 29, 2011) | ||
+ | |||
+ | <!> This is all that is needed to prepare the system to build software with pkgsrc. The Minix installation comes pre-bootstrapped. Do NOT run the bootstrap script that comes with pkgsrc. | ||
+ | |||
+ | ==== Updating the pkgsrc Tree ==== | ||
+ | |||
+ | To update the pkgsrc tree in the future: | ||
+ | |||
+ | <code> | ||
+ | # cd /usr | ||
+ | # make pkgsrc-update | ||
+ | </code> | ||
+ | |||
+ | This will download any changes (new versions of packages, patches, etc). | ||
+ | |||
+ | <!> It is important to update your copy of the pkgsrc tree using this method, instead of ''git update'', because this update method may perform additional steps such as updating your mk.conf file. | ||
+ | |||
+ | ==== Compiling a Package ==== | ||
+ | |||
+ | All pkgsrc operations should be done with bmake. | ||
+ | |||
+ | To build a package, misc/figlet in this example, you need to cd to that directory and do a make install | ||
+ | |||
+ | <code> | ||
+ | # cd /usr/pkgsrc/misc/figlet | ||
+ | # bmake install | ||
+ | </code> | ||
+ | This installs figlet in /usr/pkg/bin | ||
+ | |||
+ | ===== Additional Documentation ===== | ||
+ | |||
+ | See the official [[http://www.netbsd.org/docs/pkgsrc/|pkgsrc guide]] for complete details. | ||