cGit-UI for Git Repositories

cGit-UI – is a web interface for Git Repositories. cGit CGI script is writen in C and therefore it's fast enough

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