Solved Installing ports collection yields puzzling messages

In downloading the ports collection with subversion as described in section 5.5: Using the Ports Collection of the FreeBSD Handbook, I seemed to have difficulties, or at least messages which would hint at difficulties. These messages (78 of them) are like this sample:
Code:
Tree conflict on '/usr/ports/CHANGES'
> local file unversioned, incoming file add upon update
Select: (r) mark resolved, (p) postpone, (q) quit resolution, (h) help:
To keep things simple for this question, I started with a clean system. I booted from the 10.1-RELEASE USB stick and didn't do anything terribly extraordinary during the bare system installation. Then:
  1. I rebooted.
  2. I logged in as root.
  3. I downloaded from another local machine a script which would start dhclient, install subversion, and use subversion to install the ports collection.
  4. I did chmod 700 sh.get.ports.collection.demo.sh.
  5. I did script t1 ./sh.get.ports.collection.demo.sh.
The script looks like this:

Code:
#!/bin/sh

set -v
set -v
set -e

export ASSUME_ALWAYS_YES=true
dhclient $(ifconfig | head -1 | cut -d: -f1)
pkg install subversion
svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/ports
The output (as filtered through col -b) begins normally enough:
Code:
Script started on Mon Feb 9 15:27:34 2015
command: ./sh.get.ports.collection.demo.sh
set -v
set -e

export ASSUME_ALWAYS_YES=true
dhclient $(ifconfig | head -1 | cut -d: -f1)
DHCPREQUEST on bge0 to 255.255.255.255 port 67
DHCPACK from 192.168.8.1
bound to 192.168.8.113 -- renewal in 43200 seconds.
pkg install subversion
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:32/latest, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.4.7...
Extracting pkg-1.4.7: 100%
Message for pkg-1.4.7:
If you are upgrading from the old package format, first run:

  # pkg2ng
Updating FreeBSD repository catalogue...
Fetching meta.txz: 100% 944 B 0.9kB/s 00:01
Fetching packagesite.txz: 100% 885 MiB 355.6kB/s 00:15 ETA
Processing entries: 100%
FreeBSD repository update completed. 23970 packages processed
Updating database digests format: 100%
The following 9 packages will be affected (of 0 checked):

New packages to be INSTALLED:
        subversion: 1.8.11
        serf: 1.3.8
        apr: 1.5.1.1.5.4
        expat: 2.1.0_2
        gdbm: 1.11_2
        indexinfo: 0.2.2
        gettext-runtime: 0.19.4
        db5: 5.3.28_2
        sqlite3: 3.8.8.1

The process will require 65 MiB more space.
16 MiB to be downloaded.
Fetching subversion-1.8.11.txz: 100% 862 MiB 371.3kB/s 00:07 ETA
Fetching serf-1.3.8.txz: 100% 73 KiB 74.3kB/s 00:01
Fetching apr-1.5.1.1.5.4.txz: 100% 394 KiB 403.4kB/s 00:01 ETA
Fetching expat-2.1.0_2.txz: 100% 108 KiB 111.0kB/s 00:01
Fetching gdbm-1.11_2.txz: 100% 137 KiB 140.3kB/s 00:01 ETA
Fetching indexinfo-0.2.2.txz: 100% 5 KiB 4.8kB/s 00:01
Fetching gettext-runtime-0.19.4.txz: 100% 142 KiB 145.0kB/s 00:01
Fetching db5-5.3.28_2.txz: 100% 712 MiB 356.7kB/s 00:36 ETA
Fetching sqlite3-3.8.8.1.txz: 100% 782 KiB 400.3kB/s 00:02 ETA
Checking integrity... done (0 conflicting)
[1/9] Installing indexinfo-0.2.2...
[1/9] Extracting indexinfo-0.2.2: 100%
[2/9] Installing gettext-runtime-0.19.4...
[2/9] Extracting gettext-runtime-0.19.4: 100%
[3/9] Installing expat-2.1.0_2...
[3/9] Extracting expat-2.1.0_2: 100%
[4/9] Installing gdbm-1.11_2...
[4/9] Extracting gdbm-1.11_2: 100%
[5/9] Installing db5-5.3.28_2...
[5/9] Extracting db5-5.3.28_2: 100%
[6/9] Installing apr-1.5.1.1.5.4...
[6/9] Extracting apr-1.5.1.1.5.4: 100%
[7/9] Installing serf-1.3.8...
[7/9] Extracting serf-1.3.8: 100%
[8/9] Installing sqlite3-3.8.8.1...
[8/9] Extracting sqlite3-3.8.8.1: 100%
[9/9] Installing subversion-1.8.11...
[9/9] Extracting subversion-1.8.11: 100%
... but right away subversion yielded the following, which I brazened through by typing p. That message is not the subject of this thread (I think).
Code:
svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/ports
Error validating server certificate for 'https://svn0.us-east.freebsd.org:443':
- The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
- Hostname: svnmir.ysv.FreeBSD.org
- Valid: from Jul 29 22:01:21 2013 GMT until Dec 13 22:01:21 2040 GMT
- Issuer: clusteradm, FreeBSD.org, CA, US(clusteradm@FreeBSD.org)
- Fingerprint: 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61
(R)eject, accept (t)emporarily or accept (p)ermanently? p
Then came, oh, a brazillion lines that looked like these first dozen:
Code:
   C /usr/ports/korean
   A /usr/ports/korean/fcitx-hangul
   A /usr/ports/korean/engdic
   A /usr/ports/korean/engdic/files
   A /usr/ports/korean/gtkcomm
   A /usr/ports/korean/gtkcomm/files
   A /usr/ports/korean/scim-tables
   A /usr/ports/korean/scim-tables/files
   A /usr/ports/korean/imhangul
   A /usr/ports/korean/libhangul
   A /usr/ports/korean/libhangul/files
   A /usr/ports/korean/munhwafonts-cid
... and by "a brazillion" I mean 151,499 lines. See how the first line begins with "C", and the next few begin with "A"? There were exactly 78 lines that begin with "C". We'll return to that later.

The final few lines of this, followed by the first of 78 error messages, look like this:
Code:
   A /usr/ports/chinese/wenju/files/patch-tests__wenju.c
   A /usr/ports/chinese/wenju/pkg-plist
   A /usr/ports/chinese/wenju/files/patch-tests__Makefile.in
 U   /usr/ports
Checked out revision 378756.
Tree conflict on '/usr/ports/.arcconfig'
   > local file unversioned, incoming file add upon update
Select: (r) mark resolved, (p) postpone, (q) quit resolution, (h) help: p
I typed "p" in response to each. The basename in the first line of each of these error messages corresponds to exactly one of the lines beginning with "C", although they're not in the same order. You can see the complete output (all 7 megabytes of it) here.

I have three questions.
  1. Should these error messages mean anything to me, or can I just ignore them?
  2. If they're meaningful, what should I have done differently to avoid them?
  3. If they're not meaningful, could I just get away with typing "q" to the first one?
 
I finally figured that out, quite by accident. In what I thought was a completely unrelated move, I looked more closely at step 2 of Procedure 5.2, and decided to name a closer host in the svn checkout command. I followed the link to the discussion of mirrors, happened to glance further up in the page, and caught the Warning.

But now I'm thinking about future newbie users of Procedure 5.2. They might not be so careful as to find a different host and stumble across the warning. If they're installing from a USB stick, they will be rewarded by a couple of hours of patient waiting, followed by errors. Gah. Not a welcoming experience. Maybe we can change that. The question is: against what do I file a problem report?

I could file it against the Handbook itself. It would recommend that a step be inserted between step 1 and step 2 of Procedure 5.2, advising the user to very carefully rm -rf /usr/ports.

Or maybe the bug is in the ISO image for the USB stick. On a virgin install from the 10.1-RELEASE USB stick, just for kicks and grins, I installed subversion and tried to do svn update /usr/ports, but svn turned up its nose at the directory. Then from another virgin install from the same USB stick, I noticed something called svnlite. I tried svnlite update /usr/ports, but svnlite didn't recognize /usr/ports either. So if whoever builds the ISO image is already installing svnlite, maybe he can also checkout /usr/ports (or whatever svnlite uses) while doing the build, so the end user is ready to go. In that case, of course, a mention should be made of svnlite at this point in the Handbook.

Or maybe the Handbook is to be considered a distantly trailing document, and to tweak it to match current reality would be simply to do work that will be undone or redone later. So should I just back away slowly from this situation, letting newbies to Procedure 5.2 suffer and then do research? This would certainly "purify" the FreeBSD community by causing those newbies who are impatient to throw up in disgust and leave. Is this what we want?

Where should I go with this?
 
We have Subversion procedures in several other places, all a little different. Some have the warning about removing a directory rather than checking out over it. Really, the right way to do it would be to factor all the Subversion information out into a separate book. I've threatened to do that, but there are so many things that need to be done...
 
... and with forums like these as a backup resource, getting all the documentation shipshape is (in my opinion) a lower priority. I'm new to FreeBSD. At first, being part of the systemd diaspora, I felt pushed to FreeBSD. But almost every day for the last few weeks, I've found some delightful tiny surprise waiting for me here, and now I feel pulled to FreeBSD. The documentation's rough edges can wait for smoothing. I know, I should have been content with clicking the "Thanks" button, but I wanted to be more specific.
 
Back
Top