mirror

Mirror free and open-source projects you like with minimal effort
git clone git://git.server.ky/slackcoder/mirror
Log | Files | Refs | README

mirror.SlackBuild (1733B)


      1 #!/bin/bash
      2 
      3 cd $(dirname $0) ; CWD=$(pwd)
      4 
      5 PRGNAM=mirror
      6 VERSION=${VERSION:-#VERSION#}
      7 BUILD=${BUILD:-1}
      8 TAG=${TAG:-_slackcoder}
      9 PKGTYPE=${PKGTYPE:-txz}
     10 
     11 if [ -z "$ARCH" ]; then
     12   case "$( uname -m )" in
     13     i?86) ARCH=i586 ;;
     14     arm*) ARCH=arm ;;
     15        *) ARCH=$( uname -m ) ;;
     16   esac
     17 fi
     18 
     19 if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
     20   echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
     21   exit 0
     22 fi
     23 
     24 TMP="${TMP:-/tmp/SBo}"
     25 PKG="$TMP/package-$PRGNAM"
     26 OUTPUT="${OUTPUT:-/tmp}"
     27 
     28 set -e
     29 
     30 rm -rf "$PKG"
     31 mkdir -p "$TMP" "$PKG" "$OUTPUT"
     32 cd "$TMP"
     33 rm -rf $PRGNAM-$VERSION
     34 cp -R $CWD/../.. $PRGNAM-$VERSION
     35 cd $PRGNAM-$VERSION
     36 
     37 chown -R root:root .
     38 find -L . \
     39  \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
     40   -o -perm 511 \) -exec chmod 755 {} \; -o \
     41  \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
     42   -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
     43 
     44 # Point go to the location of the source tree
     45 export GOPATH="$TMP/$PRGNAM-$VERSION.gopath"
     46 export GOBIN="$PKG/usr/sbin"
     47 
     48 go install \
     49   -ldflags="-linkmode external -extldflags -static -X main.Version=$VERSION" \
     50   -a -x ./...
     51 
     52 mkdir -p "$PKG/usr/doc/$PRGNAM-$VERSION"
     53 cp -a \
     54   README.md \
     55   "$PKG/usr/doc/$PRGNAM-$VERSION"
     56 cat "$CWD/$PRGNAM.SlackBuild" > "$PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild"
     57 
     58 mkdir -p "$PKG/install"
     59 cat "$CWD/slack-desc" > "$PKG/install/slack-desc"
     60 cat "$CWD/doinst.sh" > "$PKG/install/doinst.sh"
     61 
     62 mkdir -p "$PKG/etc/rc.d"
     63 cat "$CWD/rc.mirror" > "$PKG/etc/rc.d/rc.mirror.new"
     64 mkdir -p $PKG/etc/mirror
     65 cat "$CWD/mirror.toml" > "$PKG/etc/mirror/mirror.toml.new"
     66 mkdir -p $PKG/etc/mirror/conf.d
     67 mkdir -p "$PKG/var/log/mirror"
     68 
     69 cd "$PKG"
     70 /sbin/makepkg -l y -c n "$OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"