Too much text was cut, especially since complaint was about defunct mirrors being...
authorjrmarino <jrmarino@web>
Sat, 28 Nov 2015 18:48:24 +0000 (18:48 +0000)
committerCharlie Root <root@leaf.dragonflybsd.org>
Sat, 28 Nov 2015 18:48:24 +0000 (18:48 +0000)
This reverts commit 5d5c668efa08839ac882a9e85b6a0c2f1f234934

docs/howtos/HowToDPorts/index.mdwn

index ea91e41..31fb342 100644 (file)
@@ -10,31 +10,108 @@ __pkg(8)__ is not a replacement for port management tools like `ports-mgmt/portm
 
 ## Getting started with pkg(8)
 
-If the "pkg" program is missing on the system for any reason, it can be quickly bootstrapped without having to build it from source or even having dports installed:
+DragonFly daily snapshots and Releases (starting with 3.4) come with __pkg(8)__ already installed.  Upgrades from earlier releases, however, will not have it.  If the "pkg" program is missing on the system for any reason, it can be quickly bootstrapped without having to build it from source or even having dports installed:
 
     # make pkg-bootstrap
     # rehash
     # pkg-static install -y pkg
     # rehash
 
-This should not be needed on any DragonFly release after 3.4.
+If pkgsrc has ever been installed on the system, make sure all binaries produced by it have been removed:
+
+    # rm -rf /usr/pkg
+
+Currently it's necessary to manually install the configuration file, but this requirement should disappear in the future.  After installing the configuration file, you may want to open it up and edit it to select a different mirror.
 
 ## Configuring pkg(8)
 
-Navigate to `/usr/local/etc/pkg/repos/` and rename one of the configuration file samples you find there. 
+Older versions of __pkg(8)__ saved their configuration at /usr/local/etc/pkg.conf; this file made reference to a PACKAGESITE.  __pkg(8)__ will still work based on this file, but will output errors:
+
+    # pkg update
+    pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file
+    Updating repository catalogue
+    pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http://
+
+If you do __not__ see these errors, then skip to "Now, navigate to `/usr/local/etc/pkg/repos/`", otherwise:
+
+Listen to the errors: hash out the packagesite line, save the file, and move on.  This can be done with vi:
+
+    # vi /usr/local/etc/pkg.conf
+
+There will be two lines in the file like this:
 
-    # cd /usr/local/etc/pkg/repos/     
+    # Default DPorts package server (California)
+    PACKAGESITE: http://mirror-master.dragonflybsd.org/dports/${ABI}/LATEST
+
+Hash out the offending line:
+
+    # Default DPorts package server (California)
+    # PACKAGESITE: http://mirror-master.dragonflybsd.org/dports/${ABI}/LATEST
+
+Note that, as of time of writing, there are two working package repositories:
+
+    # Default DPorts package server (California)
+    # PACKAGESITE: http://mirror-master.dragonflybsd.org/dports/${ABI}/LATEST
+    
+    # European mirrors
+    [...]
+    #PACKAGESITE: http://dfly.schlundtech.de/dports/${ABI}/LATEST
+
+Test their performance---we will be using the fastest one.  This may, or may not, be the one closest to you (the California site for the New World, the German site for the Old World).
+
+    # ping schlundtech.de
+    PING schlundtech.de (85.236.36.90): 56 data bytes
+    64 bytes from 85.236.36.90: icmp_seq=0 ttl=49 time=101.433 ms
+    64 bytes from 85.236.36.90: icmp_seq=1 ttl=49 time=59.177 ms
+    64 bytes from 85.236.36.90: icmp_seq=2 ttl=49 time=79.550 ms
+    64 bytes from 85.236.36.90: icmp_seq=3 ttl=49 time=88.268 ms
+    64 bytes from 85.236.36.90: icmp_seq=4 ttl=49 time=120.060 ms
+    [...]
+    --- schlundtech.de ping statistics ---
+    20 packets transmitted, 19 packets received, 5.0% packet loss
+    round-trip min/avg/max/stddev = 49.555/96.064/186.662/33.559 ms
+    # ping mirror-master.dragonflybsd.org
+    PING avalon.dragonflybsd.org (199.233.90.72): 56 data bytes
+    64 bytes from 199.233.90.72: icmp_seq=0 ttl=47 time=208.013 ms
+    64 bytes from 199.233.90.72: icmp_seq=1 ttl=47 time=256.441 ms
+    64 bytes from 199.233.90.72: icmp_seq=2 ttl=47 time=281.436 ms
+    64 bytes from 199.233.90.72: icmp_seq=3 ttl=47 time=281.103 ms
+    64 bytes from 199.233.90.72: icmp_seq=4 ttl=47 time=285.440 ms
+    [...]
+    --- avalon.dragonflybsd.org ping statistics ---
+    19 packets transmitted, 19 packets received, 0.0% packet loss
+    round-trip min/avg/max/stddev = 208.013/264.017/334.180/31.549 ms
+
+Now, navigate to `/usr/local/etc/pkg/repos/` and rename one of the configuration file samples you find there. `df-latest.conf` will make pkg use the newest available binaries while `df-release.conf` points to binaries built at the time of the release. The latter is frozen so you will not get any updates. Edit the one you renamed:
+
+    # cd /usr/local/etc/pkg/repos/
+    # ls
+    df-latest.conf.sample      df-releases.conf.sample
     # cp -v df-latest.conf.sample df-latest.conf
+    df-latest.conf.sample -> df-latest.conf
+    # chmod -v 644 df-latest.conf
+    df-latest.conf
+    # vi df-latest.conf
 
-Edit the file, and enable whatever server you think will be fastest (Avalon is the U.S. based example we are using here) by setting *enabled* to **yes**:
+Enable whichever server was faster (Avalon is American, SchlundTech is German), and pkg+ to the url and SRV to mirror_type:
 
     Avalon: {
-        url             : http://mirror-master.dragonflybsd.org/dports/${ABI}/LATEST,
+        url             : pkg+http://mirror-master.dragonflybsd.org/dports/${ABI}/LATEST,
+        mirror_type     : SRV
+        [...]
+        enabled         : no
+    }
+    SchlundTech: {
+        url             : pkg+http://dfly.schlundtech.de/dports/${ABI}/LATEST,
+        mirror_type     : SRV
         [...]
         enabled         : yes
     }
 
-For more details, consult the man page (`man pkg`).  
+Before using, consult the man page (`man pkg`) and then try these examples:
+
+    # pkg search editors
+    # pkg install vim
 
 ## Basic pkg(8) Operations