Add bin-install note, remove minor version note (since it no longer applies)
authorjustin <justin@web>
Tue, 8 Feb 2011 01:36:39 +0000 (17:36 -0800)
committerCharlie <root@leaf.dragonflybsd.org>
Tue, 8 Feb 2011 01:36:39 +0000 (17:36 -0800)
docs/howtos/HowToPkgsrc.mdwn

index d7b9de2..a8d91dc 100644 (file)
@@ -25,7 +25,7 @@ If you have used a UNIX┬« system before you will know that the typical procedure
 
 And that is only if everything goes well. If you are installing a software package that was not deliberately ported to DragonFly you may even have to go in and edit the code to make it work properly. Should you want to, you can continue to install software the ***traditional*** way with DragonFly. However, DragonFly provides technology from NetBSD, which can save you a lot of effort: pkgsrc. At the time of writing, over 10,000 third party applications have been made available in this way.
 
-For any given application, the DragonFly Binary package for that application is a single file which you must download. The package contains pre-compiled copies of all the commands for the application, as well as any configuration files or documentation. Installing a new application can be carried out with a single command.
+For any given application, the DragonFly binary package for that application is a single file which you must download. The package contains pre-compiled copies of all the commands for the application, as well as any configuration files or documentation. Installing a new application can be carried out with a single command.
 
 In addition the pkgsrc collection supplies a collection of files designed to automate the process of compiling an application from source code. Remember that there are a number of steps you would normally carry out if you compiled a program yourself (downloading, unpacking, patching, compiling, installing). The files that make up a pkgsrc source collection contain all the necessary information to allow the system to do this for you. You run a handful of simple commands and the source code for the application is automatically downloaded, extracted, patched, compiled, and installed for you. In fact, the pkgsrc source subsystem can also be used to generate packages which can later be manipulated with `pkg_add` and the other package management commands that will be introduced shortly.
 
@@ -61,6 +61,8 @@ To keep track of updated pkgsrc releases subscribe to the [NetBSD pkgsrc users m
 
 Audit-packages will automatically check all installed applications for known vulnerabilities, a check will be also performed before any application build. Meanwhile, you can use the command `audit-packages -d` after you have installed some packages.
 
+**Note:** Binary packages and source packages are effectively the same software and can be manipulated with the same pkg_* tools.  
+
 ## Installing pkgsrc 
 
 The basic pkgsrc tools are provided with every DragonFly system as part of installation.  However, you still need to download the pkgsrc tree for building applications with these tools.  
@@ -136,7 +138,18 @@ from the `/usr/pkgsrc` directory.
 
 It's also possible to browse website that show all the available pkgsrc packages, such as [http://pkgsrc.se/](http://pkgsrc.se) .
 
-### Installing applications from source
+### Installing applications
+
+Downloading a binary package is almost always faster than building from source, but not all programs in pkgsrc can be redistributed as a binary.  In most cases, you will want to download a binary package if possible, and otherwise build from source if it's not available.  
+
+The `bin-install` target on DragonFly (with pkgsrc from 2011/02/07 and later) will do just that:
+
+    # cd /usr/pkgsrc/misc/screen
+    # bmake bin-install clean
+
+This will download and install the appropriate `screen` binary package if it exists, and try building from source if it can't complete the download.
+
+### Installing applications, source only
 
 Packages are built by going into the appropriate directory and issuing `bmake install clean`. For example, to build the *screen* package you need to issue the following commands.
 
@@ -157,7 +170,7 @@ To make these option changes permanent for every future build or upgrade of this
 
      . PKG_OPTIONS.<package_name>=-option1 option2
     
-### Installing pre-built packages 
+### Installing applications, binary only
 
 Binary packages can be installed using *pkg_radd*:
 
@@ -170,6 +183,7 @@ You can manually set `BINPKG_BASE` and use *pkg_add* to get the same effect, usi
     # setenv BINPKG_BASE http://mirror-master.dragonflybsd.org/packages
     # pkg_add screen
 
+
 #### Issues with pre-built packages
 
 * The default remote repository for binary packages tracks quarterly pkgsrc releases, so your local install of pkgsrc should be the same quarterly release.
@@ -177,15 +191,6 @@ You can manually set `BINPKG_BASE` and use *pkg_add* to get the same effect, usi
 * If you upgrade to an new DEVELOPMENT version of DragonFly very early (i.e. shortly after the branch), it might be possible that *pkg_radd* fails to install packages. This is due the fact, that it takes some time to built binary packages and thus, there are no binary packages available on the mirrors yet. Usually you'll see an announcement on the lists once the first packages for DEVELOPMENT are ready.
 
 
-#### Dealing with different package versions 
-
-It is possible that you see a warning when installing binary packages on a DEVELOPMENT-version of DragonFly.  The warning could look like this:
-
-    pkg_add: Warning: package `vim-gtk2-7.1.116.tgz' was built for a different version of the OS:
-    pkg_add: DragonFly/i386 1.10.1 (pkg) vs. DragonFly/i386 1.11.0 (this host)
-
-You can safely ignore this warning.  Normally all packages build for RELEASE run fine on DEVELOPMENT unless a major API-breakage was introduced.  In this case you would see a message from the developers on the appropriate mailing list.
-
 ### List all installed applications 
 
 To obtain a list of all the packages that are installed on your system: