aboutsummaryrefslogtreecommitdiff
path: root/tools/package_up.sh
blob: d9acf14fc0e351338480412d7c115a4f5ddc5b03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/bash

PACKAGE="sbotools2"
VERSION=$(grep '^our $VERSION' SBO-Lib/lib/SBO/Lib.pm | grep -Eo '[0-9]+(\.[0-9RC@gita-f]+){0,2}')
FILENAME=$PACKAGE-$VERSION.tar.gz

echo "Making package for $PACKAGE-$VERSION." \
    "Press enter to continue or Ctrl+C to abort."
read

PKG_HOME=`pwd`

cleanup() {
	if [[ "$1" != "" ]]; then
		rm -rf $1
	fi
}

update_info() {
    FILE=$1
    MD5=$(md5sum $PKG_HOME/$FILENAME | cut -d' ' -f1)
    sed -i -e "s/@FILENAME@/$FILENAME/" $FILE
    sed -i -e "s/@VERSION@/$VERSION/" $FILE
    sed -i -e "s/@MD5@/$MD5/" $FILE
}

TMP_DIR=$(mktemp -d /tmp/$PACKAGE.XXXXXXXXXXXX)
PKG_DIR="$TMP_DIR/$PACKAGE-$VERSION"
SBO_DIR="$TMP_DIR/$PACKAGE"
mkdir "$PKG_DIR"
mkdir "$SBO_DIR"

find "$PKG_HOME" -maxdepth 1 | while read f
do
	cp -R "$f" "$PKG_DIR"
done

for remove in t tools README.md TODO; do
	if [[ -e $PKG_DIR/$remove ]]; then
		rm -rf $PKG_DIR/$remove
	fi
done
if [[ -d $PKG_DIR/slackbuild/$PACKAGE ]]; then
	if [[ -f $PKG_DIR/slackbuild/$PACKAGE/README ]]; then
		cp $PKG_DIR/slackbuild/$PACKAGE/README $PKG_DIR/
	fi
	mv $PKG_DIR/slackbuild/$PACKAGE/* $SBO_DIR
	rm -rf $PKG_DIR/slackbuild
fi


find "$TMP_DIR" -type f -name \*~ -exec rm {} \;

(cd "$TMP_DIR"
	tar cvzf $FILENAME $PACKAGE-$VERSION/
	cp $FILENAME $PKG_HOME
)
(cd "$TMP_DIR"
    update_info "$PACKAGE/$PACKAGE.info"
    update_info "$PACKAGE/$PACKAGE.SlackBuild"
    grep VERSION "$PACKAGE/$PACKAGE.SlackBuild"
    tar cjf $PACKAGE.tar.bz2 $PACKAGE/
)
mv "$TMP_DIR/$PACKAGE.tar.bz2" "$PKG_HOME"

cleanup "$TMP_DIR"
exit 0