You can find old UPS tarballs on, yea verily, unto the dawn of the millenium.

If you would like to build old (but greater than v4_9) versions from CVS from scratch, you can set the versions and
run the following scriptlet in an empty directory somewhere:

cvs -d export -r $ups_ver -d ups/$ups_ver ups
cd ups/$ups_ver
export UPS_DIR=`pwd`
make debug
. `$UPS_DIR/bin/ups setup -k -. ups `
cd ../..
cvs -d export -r $upd_ver -d upd/$upd_ver upd
cd upd/$upd_ver
setup -k -. upd
cd ../..
mkprd -r `pwd`
ups declare -z . -r ups/$ups_ver ups $ups_ver -M ups -m ups.table -2 -c
ups declare -z . -r upd/$upd_ver upd $upd_ver -M ups -m upd.table -0 -c

You now have a relocatable area with ups and upd, all pulled from CVS.

If you're trying to do much older versions:

  1. In the setup lines, you won't have "-." so instead you'll have to use "-r `pwd` -M ups -m ups.table" (or -m upd.table)
  2. there won't be a mkprd -r to make a relocatable layout area, so you'll have to do a mkprd, move your ups and upd directories into the "prd" directory it makes, and do the declares with "-z ./db" and "-r prd/upx/$upx_ver"

but otherwise it's pretty much the same.