*** Dependencies (find a place where to put that list)

                 name, license, website

- Copy/past codes
getcgivar, MIT/NCSA?, no sure but shall be find into NCSA sever exemples
log-ardsm-strdsm, (none yet), http://www.felecan.org/ (Peter Felecan agree me to put this code into GPL)
e2fsck (progbar), GPLv2, http://e2fsprogs.sourceforge.net/ (Theodore Ts'o agree to relicense e2fsck's progress bar code under the LGPLv2)

- Compilation
automake,   GPLv2+,  http://www.gnu.org/software/automake/
bison,      GPLv3+,  http://www.gnu.org/software/bison/
gettext,    GPLv3+,  http://www.gnu.org/software/gettext/
flex,       BSD,     http://flex.sourceforge.net/
help2man,   GPLv3+,  http://www.gnu.org/software/help2man/
libavl,     LGPLv2+, http://adtinfo.org/
libtool,    GPLv2+,  http://www.gnu.org/software/libtool/
make,       GPLv3+,  http://www.gnu.org/software/make/
texinfo,    GPLv3+,  http://www.gnu.org/software/texinfo/
transfig,   MIT,     http://www.xfig.org/ ?
libssl-dev, BSD,     http://www.openssl.org/

- Documentation (others format than texinfo and man) :
imagemagick, Apache2, http://www.imagemagick.org/
texlive,     LPPL,    https://www.tug.org/texlive/

- Installation:
apache2,        Apache2,  http://httpd.apache.org/
bc,              GPLv3+,   http://www.gnu.org/software/bc/
bzip2,           GPLv3?,   http://www.bzip.org/
cpio,            GPLv3+,   http://www.gnu.org/software/cpio/
cvs,             GPLv2+,   http://cvs.nongnu.org/
findutils,       GPLv3+,   http://www.gnu.org/software/findutils/
gzip,            GPLv2+,   http://www.gnu.org/software/gzip/
initramfs-tools, GPLv2+,   https://wiki.debian.org/initramfs-tools
ssh,             BSD,      http://www.openssh.com/
tar,             GPLv3+,   http://www.gnu.org/software/tar/
unzip,           BSD,      http://info-zip.org/
viewvc,          BSD,      http://www.viewvc.org/

- Optionnal: (and non-free)
rar,             EULA,     http://www.rarlab.com/
afio, not a standard OSI/FSF approved free software, http://members.chello.nl/~k.holtman/afio.html

*** Reminder for copy/paste

** debian options

$ ./configure \
  --prefix=/usr \
  --includedir=/usr/include \
  --mandir=/usr/share/man \
  --infodir=/usr/share/info \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --libexecdir=/usr/lib/mediatex

** investigate memory leaks on setuid binary (valgring refusing)

$ QUERY -M 2>&1 | sed 's/:.*]/:/' | cut -d" " -f2,3 | grep malloc | sort | uniq -c
$ QUERY -M 2>&1 | sed 's/:.*]/:/' | cut -d" " -f2,3 | grep free   | sort | uniq -c

$ ps -e -ovsz -orss,args= | sort -b -k1,1n | grep mediatex

** Diff between 2 arbos

$ find . -name "CVS" -prune -o \( -type f -exec diff -I '$Id:' {} ../../savannah/mediatex/{} \; \)

*** TO TEST

- pgrof: test with more than 100k entries

*** TO CORRECT

*** TODO

- find . -type f -name "*.[cly]" -exec grep -n ' \* TODO' /dev/null {} \;
- add AUTOMAKE subdir-objects option (no recursive Makefile.am in src)
  (https://autotools.io/index.html)
- move dirname into extract rule header to reduce extract.txt file size
- manage ECDSA key too
- add supp: wait CD doors is locked (cf v3)
- i10n for french
- allocate/freeing cache policy (optimize ; assert no diseases)

*** TODO MAYBE

- find . -type f -name "*.[cly]" -exec grep -n ' \* MAYBE' /dev/null {} \;
- manage cgi header within port-forwarding
- plugin system (sql,xml) and hooks (mail) with defaults overidable
- replaced Peter's code by mqueue
- add thread ID to the log
- shouldn't we use absolute link for cgi? (catalog copy)
- notify: do not notify bad archive when nbGeo remote copies exists ?
- sort categories on serializer (... no silver bullet order)
- replace cvs+viewvc by git+cgit (no debian package available yet)
- upload from cgi (not really the USER purpose => www-data as publisher)

*** FEATURES (to document)

- ease SSH/CVS configuration
- compatible with DNS round robin
- cvsroot migration from one host to other (cf useCases/test.sh#16)
- Port forwarding is not compatible with gateway hosted collections

It means if your localhost is using the gateway address into mdtx.conf,
thanks to port forwarding on the gateway.

mdtx.conf:
host     GATEWAY
mdtxPort 6562
sshPort  222

GATEWAY:
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to $HOST:22
iptables -t nat -A PREROUTING -p tcp --dport 6562 -j DNAT --to $HOST:6562
iptables -A FORWARD -i $WWW_NET -o $LOCAL_NET -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i $WWW_NET -o $LOCAL_NET -p tcp --dport 6562 -j ACCEPT

Localy if your server own collections, you will have to skip the gateway.

(GATEWAY is the IP on the WWW_NET interface)
HOST:
iptables -t nat -A OUTPUT -p tcp -d $GATEWAY --dport 2222 -j DNAT --to $HOST:22
iptables -t nat -A OUTPUT -p tcp -d $GATEWAY --dport 6561 -j DNAT --to $HOST:6561

Unfortunaly, the cgi script will not works on your local instance as it search for url (port 80) on the gateway too.

More over, you cannot have both collecion hosted on your localhost and the gateway as your .ssh/config provide 2 different ports for the gateway. 
