package_up.sh (1517B)
1 #!/bin/bash 2 3 PACKAGE="sbotools2" 4 VERSION=$(grep '^our $VERSION' SBO-Lib/lib/SBO/Lib.pm | grep -Eo '[0-9]+(\.[0-9RC@gita-f]+){0,2}') 5 FILENAME=$PACKAGE-$VERSION.tar.gz 6 7 echo "Making package for $PACKAGE-$VERSION." \ 8 "Press enter to continue or Ctrl+C to abort." 9 read 10 11 PKG_HOME=`pwd` 12 13 cleanup() { 14 if [[ "$1" != "" ]]; then 15 rm -rf $1 16 fi 17 } 18 19 update_info() { 20 FILE=$1 21 MD5=$(md5sum $PKG_HOME/$FILENAME | cut -d' ' -f1) 22 sed -i -e "s/@FILENAME@/$FILENAME/" $FILE 23 sed -i -e "s/@VERSION@/$VERSION/" $FILE 24 sed -i -e "s/@MD5@/$MD5/" $FILE 25 } 26 27 TMP_DIR=$(mktemp -d /tmp/$PACKAGE.XXXXXXXXXXXX) 28 PKG_DIR="$TMP_DIR/$PACKAGE-$VERSION" 29 SBO_DIR="$TMP_DIR/$PACKAGE" 30 mkdir "$PKG_DIR" 31 mkdir "$SBO_DIR" 32 33 find "$PKG_HOME" -maxdepth 1 | while read f 34 do 35 cp -R "$f" "$PKG_DIR" 36 done 37 38 for remove in t tools README.md TODO; do 39 if [[ -e $PKG_DIR/$remove ]]; then 40 rm -rf $PKG_DIR/$remove 41 fi 42 done 43 if [[ -d $PKG_DIR/slackbuild/$PACKAGE ]]; then 44 if [[ -f $PKG_DIR/slackbuild/$PACKAGE/README ]]; then 45 cp $PKG_DIR/slackbuild/$PACKAGE/README $PKG_DIR/ 46 fi 47 mv $PKG_DIR/slackbuild/$PACKAGE/* $SBO_DIR 48 rm -rf $PKG_DIR/slackbuild 49 fi 50 51 52 find "$TMP_DIR" -type f -name \*~ -exec rm {} \; 53 54 (cd "$TMP_DIR" 55 tar cvzf $FILENAME $PACKAGE-$VERSION/ 56 cp $FILENAME $PKG_HOME 57 ) 58 (cd "$TMP_DIR" 59 update_info "$PACKAGE/$PACKAGE.info" 60 update_info "$PACKAGE/$PACKAGE.SlackBuild" 61 grep VERSION "$PACKAGE/$PACKAGE.SlackBuild" 62 tar cjf $PACKAGE.tar.bz2 $PACKAGE/ 63 ) 64 mv "$TMP_DIR/$PACKAGE.tar.bz2" "$PKG_HOME" 65 66 cleanup "$TMP_DIR" 67 exit 0