cScm Configuration Daemon

cScm – is a tool to convert SCM configuration files into binary format and store its in shared memory for reading by cSvn-ui and cGit-ui CGI scripts

2 Commits   0 Branches   1 Tag
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  1) #!/bin/bash
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  2) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  3) cd $(dirname $0) ; CWD=$(pwd)
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  4) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  5) PKGNAM=cscm
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  6) VERSION=${VERSION:-$(echo cscm-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  7) BUILD=${BUILD:-2}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  8) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300  9) # Automatically determine the architecture we're building on:
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 10) if [ -z "$ARCH" ]; then
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 11)   case "$( uname -m )" in
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 12)     i?86) export ARCH=i586 ;;
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 13)     arm*) export ARCH=arm ;;
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 14)     # Unless $ARCH is already set, use uname -m for all other archs:
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 15)        *) export ARCH=$( uname -m ) ;;
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 16)   esac
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 17) fi
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 18) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 19) if [ "$ARCH" = "i586" ]; then
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 20)   SLKCFLAGS="-O2 -march=i586 -mtune=i686"
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 21)   LIBDIRSUFFIX=""
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 22) elif [ "$ARCH" = "s390" ]; then
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 23)   SLKCFLAGS="-O2"
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 24)   LIBDIRSUFFIX=""
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 25) elif [ "$ARCH" = "x86_64" ]; then
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 26)   SLKCFLAGS="-O2 -fPIC"
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 27)   LIBDIRSUFFIX="64"
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 28) else
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 29)   SLKCFLAGS="-O2"
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 30)   LIBDIRSUFFIX=""
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 31) fi
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 32) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 33) TMP=${TMP:-/tmp}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 34) PKG=$TMP/package-${PKGNAM}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 35) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 36) rm -rf $PKG
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 37) mkdir -p $TMP $PKG
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 38) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 39) cd $TMP
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 40) rm -rf ${PKGNAM}-${VERSION}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 41) tar xvf $CWD/${PKGNAM}-${VERSION}.tar.?z* || exit 1
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 42) cd ${PKGNAM}-$VERSION || exit 1
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 43) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 44) chown -R root:root .
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 45) find . \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 46)  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 47)  -exec chmod 755 {} \+ -o \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 48)  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 49)  -exec chmod 644 {} \+
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 50) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 51) CFLAGS="$SLKCFLAGS" \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 52) ./configure \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 53)   --prefix=/usr \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 54)   --sysconfdir=/etc \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 55)   --libdir=/usr/lib${LIBDIRSUFFIX} \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 56)   --with-controldir=/etc/rc.d \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 57)   --with-logrotatedir=/etc/logrotate.d \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 58)   --with-homepath=/var/lib \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 59)   --with-logdir=/var/log \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 60)   --with-piddir=/var/run \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 61)   --build=$ARCH-slackware-linux || exit 1
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 62) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 63) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 64) make || exit 1
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 65) make install DESTDIR=$PKG || exit 1
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 66) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 67) mv $PKG/etc/rc.d/rc.csvnd $PKG/etc/rc.d/rc.csvnd.new
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 68) mv $PKG/etc/rc.d/rc.cgitd $PKG/etc/rc.d/rc.cgitd.new
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 69) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 70) find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 71)   | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 72) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 73) mv $PKG/usr/share/man $PKG/usr/
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 74) gzip -9 $PKG/usr/man/man?/*
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 75) rmdir $PKG/usr/share/man
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 76) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 77) find $PKG/usr/man -type f -exec gzip -9 {} \;
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 78) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 79) mkdir -p $PKG/usr/doc/${PKGNAM}-${VERSION}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 80) cp -a \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 81)   LICENSE README README.md doc \
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 82)   $PKG/usr/doc/${PKGNAM}-${VERSION}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 83) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 84) cp -a $CWD/${PKGNAM}.info        $PKG/usr/doc/${PKGNAM}-${VERSION}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 85) cp -a $CWD/${PKGNAM}.SlackBuild  $PKG/usr/doc/${PKGNAM}-${VERSION}
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 86) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 87) mkdir -p $PKG/install
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 88) cat $CWD/doinst.sh  > $PKG/install/doinst.sh
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 89) cat $CWD/slack-desc > $PKG/install/slack-desc
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 90) 
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 91) cd $PKG
12c7b1c5 (kx 2023-03-24 02:53:04 +0300 92) /sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz