 &&
          test ! -w "$opt_varfonts_dir"; do
        tra "cannot write to directory $opt_varfonts_dir"
    done
}

prepare_directories()
{
    trap 'cd /; rm -rf "$TMPDIR"; rm -f "$TEXMF" "$ERRLOG" 2>/dev/null; trap '' 0; exit 0' 0 1 2 15
    alldirs="$TMPDIR $TETEXDIR $TEXMF
             $opt_symlinks_bin $opt_symlinks_info"
    test -z "$opt_symlinks_man" ||
             alldirs="$alldirs $opt_symlinks_man/man1 $opt_symlinks_man/man5 $opt_symlinks_man/cat1 $opt_symlinks_man/cat5"
    test -z "$opt_varfonts_dir" ||
             alldirs="$alldirs $opt_varfonts_dir/pk $opt_varfonts_dir/tfm"
    for dir in $alldirs; do
        while test ! -d $dir || test ! -w $dir; do
          