cSvn-UI for SVN Repositories

cGit-UI – is a web interface for Subversion (SVN) Repositories. cSvn CGI script is writen in C and therefore it's fast enough

6 Commits   0 Branches   2 Tags
bfc1508d (kx 2023-03-24 03:55:33 +0300  1) #!/bin/sh
bfc1508d (kx 2023-03-24 03:55:33 +0300  2) 
bfc1508d (kx 2023-03-24 03:55:33 +0300  3) CWD=`pwd`
bfc1508d (kx 2023-03-24 03:55:33 +0300  4) 
bfc1508d (kx 2023-03-24 03:55:33 +0300  5) program=`basename $0`
bfc1508d (kx 2023-03-24 03:55:33 +0300  6) 
bfc1508d (kx 2023-03-24 03:55:33 +0300  7) usage() {
bfc1508d (kx 2023-03-24 03:55:33 +0300  8)   cat << EOF
bfc1508d (kx 2023-03-24 03:55:33 +0300  9) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 10) Usage: $program [options]
bfc1508d (kx 2023-03-24 03:55:33 +0300 11) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 12) Options:
bfc1508d (kx 2023-03-24 03:55:33 +0300 13)   -h,--help                  Display this message.
bfc1508d (kx 2023-03-24 03:55:33 +0300 14)   -d,--target-dest-dir=DIR   The target ROOTFS directory
bfc1508d (kx 2023-03-24 03:55:33 +0300 15)                              [default: DIR=/].
bfc1508d (kx 2023-03-24 03:55:33 +0300 16) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 17) EOF
bfc1508d (kx 2023-03-24 03:55:33 +0300 18) }
bfc1508d (kx 2023-03-24 03:55:33 +0300 19) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 20) TARGET_DEST_DIR=/
bfc1508d (kx 2023-03-24 03:55:33 +0300 21) ACDIR=usr/share/aclocal
bfc1508d (kx 2023-03-24 03:55:33 +0300 22) INCDIR=usr/include
bfc1508d (kx 2023-03-24 03:55:33 +0300 23) SYSTEM_ACDIR=
bfc1508d (kx 2023-03-24 03:55:33 +0300 24) SYSTEM_INCDIR=
bfc1508d (kx 2023-03-24 03:55:33 +0300 25) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 26) while [ 0 ] ; do
bfc1508d (kx 2023-03-24 03:55:33 +0300 27)   if [ "$1" = "-h" -o "$1" = "--help" ] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 28)     usage
bfc1508d (kx 2023-03-24 03:55:33 +0300 29)     exit 0
bfc1508d (kx 2023-03-24 03:55:33 +0300 30)   elif [ "$1" = "-d" -o "$1" = "--target-dest-dir" ] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 31)     if [ "$2" = "" ] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 32)       echo -e "\n${program}: ERROR: --target-dest-dir is not specified.\n"
bfc1508d (kx 2023-03-24 03:55:33 +0300 33)       usage
bfc1508d (kx 2023-03-24 03:55:33 +0300 34)       exit 1
bfc1508d (kx 2023-03-24 03:55:33 +0300 35)     fi
bfc1508d (kx 2023-03-24 03:55:33 +0300 36)     TARGET_DEST_DIR="$2"
bfc1508d (kx 2023-03-24 03:55:33 +0300 37)     shift 2
bfc1508d (kx 2023-03-24 03:55:33 +0300 38)   elif [[ $1 == --target-dest-dir=* ]] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 39)     TARGET_DEST_DIR="`echo $1 | cut -f2 -d'='`"
bfc1508d (kx 2023-03-24 03:55:33 +0300 40)     shift 1
bfc1508d (kx 2023-03-24 03:55:33 +0300 41)   else
bfc1508d (kx 2023-03-24 03:55:33 +0300 42)     if [ "$1" != "" ] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 43)       echo -e "\n${program}: ERROR: Unknown argument: $1.\n"
bfc1508d (kx 2023-03-24 03:55:33 +0300 44)       usage
bfc1508d (kx 2023-03-24 03:55:33 +0300 45)       exit 1
bfc1508d (kx 2023-03-24 03:55:33 +0300 46)     fi
bfc1508d (kx 2023-03-24 03:55:33 +0300 47)     break
bfc1508d (kx 2023-03-24 03:55:33 +0300 48)   fi
bfc1508d (kx 2023-03-24 03:55:33 +0300 49) done
bfc1508d (kx 2023-03-24 03:55:33 +0300 50) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 51) if [ ! -d "${TARGET_DEST_DIR}" ] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 52)   echo -e "\n${program}: ERROR: --target-dest-dir is not a directory.\n"
bfc1508d (kx 2023-03-24 03:55:33 +0300 53)   usage
bfc1508d (kx 2023-03-24 03:55:33 +0300 54)   exit 1
bfc1508d (kx 2023-03-24 03:55:33 +0300 55) fi
bfc1508d (kx 2023-03-24 03:55:33 +0300 56) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 57) #
bfc1508d (kx 2023-03-24 03:55:33 +0300 58) # Absolute path:
bfc1508d (kx 2023-03-24 03:55:33 +0300 59) #
bfc1508d (kx 2023-03-24 03:55:33 +0300 60) if [ "${TARGET_DEST_DIR:0:1}" != "/" ] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 61)   TARGET_DEST_DIR=${CWD}/${TARGET_DEST_DIR}
bfc1508d (kx 2023-03-24 03:55:33 +0300 62) fi
bfc1508d (kx 2023-03-24 03:55:33 +0300 63) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 64) #
bfc1508d (kx 2023-03-24 03:55:33 +0300 65) # Remove last '/' char:
bfc1508d (kx 2023-03-24 03:55:33 +0300 66) #
bfc1508d (kx 2023-03-24 03:55:33 +0300 67) if [ "${TARGET_DEST_DIR: -1}" = "/" ] ; then
bfc1508d (kx 2023-03-24 03:55:33 +0300 68)   len=${#TARGET_DEST_DIR}
bfc1508d (kx 2023-03-24 03:55:33 +0300 69)   let "len = len - 1"
bfc1508d (kx 2023-03-24 03:55:33 +0300 70)   tmp="${TARGET_DEST_DIR:0:$len}"
bfc1508d (kx 2023-03-24 03:55:33 +0300 71)   TARGET_DEST_DIR=${tmp}
bfc1508d (kx 2023-03-24 03:55:33 +0300 72) fi
bfc1508d (kx 2023-03-24 03:55:33 +0300 73) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 74) SYSTEM_ACDIR="${TARGET_DEST_DIR}/${ACDIR}"
bfc1508d (kx 2023-03-24 03:55:33 +0300 75) SYSTEM_INCDIR="${TARGET_DEST_DIR}/${INCDIR}"
bfc1508d (kx 2023-03-24 03:55:33 +0300 76) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 77) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 78) aclocal --install -I m4 --force --system-acdir=${SYSTEM_ACDIR}
bfc1508d (kx 2023-03-24 03:55:33 +0300 79) autoheader --include=${SYSTEM_INCDIR}
bfc1508d (kx 2023-03-24 03:55:33 +0300 80) automake --foreign --add-missing --copy --force-missing
bfc1508d (kx 2023-03-24 03:55:33 +0300 81) autoconf --force
bfc1508d (kx 2023-03-24 03:55:33 +0300 82) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 83) #
bfc1508d (kx 2023-03-24 03:55:33 +0300 84) # Add 'cSvn Features' header to split help output:
bfc1508d (kx 2023-03-24 03:55:33 +0300 85) #
bfc1508d (kx 2023-03-24 03:55:33 +0300 86) cat >csvn-features <<_CSVN
bfc1508d (kx 2023-03-24 03:55:33 +0300 87) _ACEOF
bfc1508d (kx 2023-03-24 03:55:33 +0300 88) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 89)   cat <<\\_ACEOF
bfc1508d (kx 2023-03-24 03:55:33 +0300 90) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 91) cSvn-ui Features:
bfc1508d (kx 2023-03-24 03:55:33 +0300 92) _CSVN
bfc1508d (kx 2023-03-24 03:55:33 +0300 93) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 94) sed -i '/^[ ]*\-\-with\-scriptdir=DIR/ {
bfc1508d (kx 2023-03-24 03:55:33 +0300 95) r csvn-features
bfc1508d (kx 2023-03-24 03:55:33 +0300 96) N
bfc1508d (kx 2023-03-24 03:55:33 +0300 97) }' configure
bfc1508d (kx 2023-03-24 03:55:33 +0300 98) 
bfc1508d (kx 2023-03-24 03:55:33 +0300 99) rm -f csvn-features