Aug 022000

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

Compile fetch

First, save your old fetch, just in case things go wrong:
cd /usr/bin
cp fetch

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