4.1-STABLE – fetch now going just fine

4.1-STABLE – fetch now going just fine

If you read my article on Upgrading to
4.1-STABLE – things to watch out for
, you’ll know that I, and a few otheres, had
problems with fetch.  This problem has been fixed.  Thank you Dag-Erling
Smorgrav for providing the fix.  Keep reading and I’ll show you how I fixed the
problem.

ASSUMPTION: I’m assuming you didn’t do a make clean after your last build
world.  If you did, I’m not sure if these instructions will work for you.  I
recommend instead, that you cvsup, then build world.  See The make-world script for how I do this.

Fetch the code

Now this may be a problem if your fetch is broken.  If is it, you can
always grab my 4.0-STABLE version of fetch from my website.  It is available at [sorry that file is no longer available].
  If you get that file, you should

  1. move it file to /usr/bin
  2. cd /usr/bin
  3. mv fetch fetch.doesnotwork
  4. mv fetch.4.0-stable fetch

Then fetch should work.

Then you should grab the fixed source code, after first saving the original.

cd /usr/src/lib/libfetch
mv http.c  http.c.4.1-stable.original
fetch http://www.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libfetch/http.c?rev=1.13.2.8

Compile fetch

First, save your old fetch, just in case things go wrong:

cd /usr/bin
cp fetch fetch.which.works

If you followed the instructions above for fetching http.c, then here’s how
I compiled fetch:

make cleandir
make obj
make depend
make install

Then your fetch should work correctly.

Cleaning up

I notice that the original 4.1-STABLE version (which caused the problem)
reported that the -b and -t options were deprecated.  The fixed version does not do
this.  In other words, I’m still using, and must use fetch -b to obtain my files.

If
you are happy with how everything is working, I’d delete the backups you made:

rm /usr/bin/usr/bin
rm /usr/src/lib/libfetch/http.c.4.1-stable.original

Leave a Comment