aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--GPG-KEY178
-rw-r--r--dev/util/bzr/Manifest23
-rwxr-xr-xdev/util/bzr/bzr.SlackBuild136
3 files changed, 325 insertions, 12 deletions
diff --git a/GPG-KEY b/GPG-KEY
new file mode 100644
index 00000000..0ff8dbc3
--- /dev/null
+++ b/GPG-KEY
@@ -0,0 +1,178 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+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
+xBCMHKJkEpSzQnYadzWHnMOIXgQTEQIAHgUCQX1w9AIbAwYLCQgHAwIDFQIDAxYC
+AQIeAQIXgAAKCRC9LLWca1Znd1v1AKCcWFhjUP2vp1/ENqCgG55+jz8iBQCfaxwk
++E/gHY7y3cgA7tmq6ZGF1q6IRgQSEQIABgUCQ/3niwAKCRBKXLsYgjRnk5YOAKCl
+a6+hbrGmvrUe3B22gLnvHZt4ZgCfa3GF3+0cHNN0UXWCmJ6Pos8Lfa2IYAQTEQIA
+IAIbAwIeAQIXgAUCRPg8AAYLCQgHAwIEFQgCAwQWAgEAAAoJEL0stZxrVmd36cMA
+oMGvlseU7MV6v/hPkvE3zU20NKAcAJ0RDbFH2zeqzqoZi72Zu1Ry3j+qiohhBBMR
+AgAhAhsDAh4BAheABQJE/C5yBgsJCAcDAgQVCAIDBRYCAwEAAAoJEL0stZxrVmd3
+YpsAoIVN73S1XFaR4yDxRzmdA5E/SX44AKDZWbP6eQg/Y6PYf8aZur9v260SDLQh
+U2lsdmlvIFJoYXR0byA8cmhhdHRvQHNhcmF2YS5vcmc+iGIEExECACICGwMCHgEC
+F4AFAkljcaMGCwkIBwMCBRUKCAIDBRYCAwEAAAoJEL0stZxrVmd317kAn2ZYeDh/
+fvHKEYLMK/oGxxzJcAF4AKC+qg48LalklgGkA2aiV08vdWyF8YhgBBMRAgAgBQJE
++GvkAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQvSy1nGtWZ3c63ACg6snP
++dPKrBX2k81BIlNLbW1vFdAAniN/ukekVQhec9q08jbNxe6IqhDdiGEEExECACEC
+GwMCHgECF4AFAkT8LnAGCwkIBwMCBBUIAgMFFgIDAQAACgkQvSy1nGtWZ3eq1ACg
+qBXDBZpKCm60XejD7s4pupwBoS4AniYBAuZaQTjzq/n0Q2VhvhPrHtHYtCRTaWx2
+aW8gUmhhdHRvIDxyaGF0dG9AaW5keW1lZGlhLm9yZz6ISQQwEQIACQUCSWP6pQId
+AAAKCRC9LLWca1ZndyWVAJ9lAJlvc5++3Z74Y7CxwfA5RUNAJgCeMD2WC3GV9Jkw
+PGH8uO5hRy03U9CIYAQTEQIAIAUCSWP6fQIbAwYLCQgHAwIEFQIIAwQWAgMBAh4B
+AheAAAoJEL0stZxrVmd36I0AmQFnA9v4kgI7rhzb6WUFUzveQByhAJ9ECnuWW05P
+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
+4vE=
+=5wIW
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/dev/util/bzr/Manifest b/dev/util/bzr/Manifest
new file mode 100644
index 00000000..317c7952
--- /dev/null
+++ b/dev/util/bzr/Manifest
@@ -0,0 +1,23 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+DIST bzr-1.11.tar.gz 3962105 MD5 08f8e60cfd7a60e8a2552dee0df9a7e8 RMD160 85f55eb30f24200810c431af049ea1894172aa46 SHA1 074ecf3f7a7867edf994acc182087effb1fbd92a SHA256 1f6c6dd1e999fac9b94702ff8c7d9e1c3b14859f13486900cf7609c6c8ce04e1 SHA512 26c09476c4da11ecca02be5eb23ca8e62d9a63460bea51ed4557b2c83c49d53272f9ad93943ddda1f78764488f72d8972a03eb0b0b6a292f2f9b962353c515c8
+MKBUILD bzr.mkbuild 2558 MD5 b8bbe5f2d4bc02f6b6dcf1cb9453b753 RMD160 6211cfbef3c0471b02e8e45550834c7d0e421d0b SHA1 1179a29068a150c672ada06e5aa038539c96c6d9 SHA256 2ea5a5fc2ca81566d7ec0c0212e381c858c8df22f3e84d8eb9f76207c000de89 SHA512 77930d002a9ed77f8ef22226eee865c296f07643cf923fe90bb22aa97402d4feae94c0a1eb1aea1889d8ba6c7e7a890c0dff423774cc2ee0f8ae6fbb1482190b
+SLACKBUILD bzr.SlackBuild 7845 MD5 0b189800a2b7a836dea5c31b29a96f8e RMD160 be6f4e51cbaacf280cf1929bc7080adfb9223c55 SHA1 40b793e94dfa91ca52c949f645c454b7447faaca SHA256 6be8aa7891953f324bea4f65e408f12d58c1fd47943005102df5e21bfb9c3ef0 SHA512 7c8188d2985c6e6ca114df2493d924c0bbe2662e3ca825f5de90870674a3189534bf0b2062d5536dacea0d79630b497bdd54c373d6cf1c7ad87f77842c08ba39
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iQIcBAEBAgAGBQJJd9OmAAoJEEHL93ESzgei+E8QAKa7iYo60IhfnIZnR/AgpeH+
+UGzah2EZkIPDOKaRl47SB28y2Pq0L1Kq2Eo2vqzyusho0nuIlwKmY90ZBfYDAXfg
+/h+Ymdrh44lO2SMbt4DcElw5nX80d49FZQ9+UbbD4LwAZtouHcfKRiXehqO6XC67
+J27h0QiMOAuKRY7NlmAc3ohRSoV0LYVIRa4yZxTbyAKCjWFMIHbaGBZiYe9yy8rp
+lFi6QUr85OE8ZjMTt9tWvMoqmLLKwNis5l37GHz0Zk1Wu/ydQ4aBNoVzrqvgRxQI
+cklI02bIUUZksbTE3iGtB58ssmPfIWscgKTkXnSYqmaXqMOUi9s/vpyraBKwwRee
+KhbpwGfPvK3nUUnG4D1a3MD2GMpc2VoD9hRAWUVfsmAcM1JpkqPckNhilSEATnd2
+1AfwNfonNKSdQ84QJ1xgJGbL49ffX6X3W28/nnwC6LZ3ZmtoDMRxYv1BXT6mYhtz
+r8h22rZb1mklv+nMmCCAfajsfUYyv7BVmz9xDaiirXte/9wUCuPsAEndhQMx50ul
+TukzDtN4qUCZnuYC7h1PIes4sopy1OW+L5n+0XzkUL/YcIdsmC9IPDF23MjYjTR1
+p6cQQ4QF2vxu3HBqOqOfQW54TTXIXoWeWaTmVAHRojtmDmjkzjtJMqGj4tcWBRXK
+XfRmnKPQwum38izYjhsz
+=c5wM
+-----END PGP SIGNATURE-----
diff --git a/dev/util/bzr/bzr.SlackBuild b/dev/util/bzr/bzr.SlackBuild
index 9692bae9..faae85d0 100755
--- a/dev/util/bzr/bzr.SlackBuild
+++ b/dev/util/bzr/bzr.SlackBuild
@@ -10,13 +10,13 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-# Place - Suite 330, Boston, MA 02111-1307, USA
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
#
# slackbuild for bzr, by Silvio Rhatto
# requires:
-# tested: bzr-1.3.1
+# tested: bzr-1.11
#
# Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
SRC_NAME="bzr"
PKG_NAME="bzr"
ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=1.3.1}
+SRC_VERSION=${VERSION:=1.11}
PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
BUILD=${BUILD:=1rha}
SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -47,9 +47,9 @@ NUMJOBS=${NUMJOBS:=""}
LIBDIR="$PREFIX/lib"
if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ SLKCFLAGS="-O2 -march=i386 -mtune=i686"
elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686"
elif [ "$ARCH" = "s390" ]; then
@@ -57,6 +57,7 @@ elif [ "$ARCH" = "s390" ]; then
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIR="$PREFIX/lib64"
+ LDFLAGS="-L/lib64 -L/usr/lib64"
fi
# Set error codes (used by createpkg)
@@ -64,6 +65,7 @@ ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
ERROR_PATCH=40; ERROR_VCS=41; ERROR_MKDIR=42
+ERROR_MANIFEST=43;
# Clean up any leftovers of previous builds
rm -rf "$PKG_WORK" 2> /dev/null
@@ -77,16 +79,126 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
# Dowload source if necessary
SRC="$SRC_NAME-$VERSION.tar.gz"
-URL="http://launchpad.net/bzr/1.3/1.3.1/+download/$SRC"
+URL="http://launchpad.net/bzr/1.11/1.11/+download/$SRC"
if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
fi
+# Import minimized signing key from
+if echo [[SIGNING KEY URL]] | grep -q -v "SIGNING KEY URL"; then
+ lynx -dump [[SIGNING KEY URL]] | gpg --import || exit $ERROR_GPG
+elif echo A0B3E88B | grep -q -v "SIGNING KEY ID"; then
+ gpg --recv-keys A0B3E88B || exit $ERROR_GPG
+else
+ gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
+fi
+
+# Download source's signature if necessary and check it
+if echo [[SIGNING URL]] | grep -q -v "SIGNING URL"; then
+ SIGNATURE="`basename [[SIGNING URL]]`"
+ if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+ wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+ fi
+else
+ if [ -s "$SRC_DIR/$SRC.sig" ]; then
+ SIGNATURE="$SRC.sig"
+ elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+ SIGNATURE="$SRC.asc"
+ else
+ echo Trying to get signature file from $URL.sig...
+ if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+ SIGNATURE="$SRC.sig"
+ else
+ rm $SRC_DIR/$SRC.sig
+ echo Trying to get signature file from $URL.asc...
+ if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+ SIGNATURE="$SRC.asc"
+ else
+ rm $SRC_DIR/$SRC.asc
+ echo "Error getting source's signature file"
+ exit $ERROR_GPG
+ fi
+ fi
+ fi
+fi
+
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
+
+# Check Manifest file
+if [ -e "$CWD/Manifest" ]; then
+
+ # Manifest signature checking
+ if grep -q -- "-----BEGIN PGP SIGNED MESSAGE-----" $CWD/Manifest; then
+ echo "Checking Manifest signature..."
+ gpg --verify $CWD/Manifest
+ if [ "$?" != "0" ]; then
+ exit $ERROR_MANIFEST
+ fi
+ fi
+
+ MANIFEST_LINES="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | wc -l`"
+
+ for ((MANIFEST_COUNT=1; MANIFEST_COUNT <= $MANIFEST_LINES; MANIFEST_COUNT++)); do
+
+ MANIFEST_LINE="`grep -E -v "^(MKBUILD|SLACKBUILD)" $CWD/Manifest | head -n $MANIFEST_COUNT | tail -n 1`"
+ MANIFEST_FILE="`echo $MANIFEST_LINE | awk '{ print $2 }'`"
+ MANIFEST_FILE_TYPE="`echo $MANIFEST_LINE | awk '{ print $1 }'`"
+
+ if [ -e "$SRC_DIR/$MANIFEST_FILE" ]; then
+ MANIFEST_FILE="$SRC_DIR/$MANIFEST_FILE"
+ else
+ MANIFEST_FILE="`find $CWD -name $MANIFEST_FILE`"
+ fi
+
+ if [ ! -e "$MANIFEST_FILE" ] || [ -d "$MANIFEST_FILE" ]; then
+ continue
+ fi
+
+ echo "Checking Manifest for $MANIFEST_FILE_TYPE $MANIFEST_FILE integrity..."
+
+ SIZE_SRC="`wc -c $MANIFEST_FILE | awk '{ print $1 }'`"
+ SIZE_MANIFEST="`echo $MANIFEST_LINE | awk '{ print $3 }'`"
+
+ # Check source code size
+ if [ "$SIZE_SRC" != "$SIZE_MANIFEST" ]; then
+ echo "SIZE Manifest: $SIZE_MANIFEST; SIZE $SRC: $SIZE_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "Size match."
+ fi
+
+ # Check source code integrity
+ for ALGO in md5 rmd160 sha1 sha256 sha512; do
+ if [ $ALGO = "rmd160" ]; then
+ ALGO_SRC="`openssl rmd160 $MANIFEST_FILE | awk '{ print $2 }'`"
+ else
+ ALGO_SRC="`"$ALGO"sum $MANIFEST_FILE | awk '{ print $1 }'`"
+ fi
+ ALGO="`echo $ALGO | tr '[:lower:]' '[:upper:]'`"
+ ALGO_MANIFEST=$(echo $MANIFEST_LINE | sed "s/.* $ALGO //" | awk '{ print $1 }')
+ if [ "$ALGO_SRC" != "$ALGO_MANIFEST" ]; then
+ echo "$ALGO Manifest: $ALGO_MANIFEST; $ALGO $SRC: $ALGO_SRC"
+ exit $ERROR_MANIFEST
+ else
+ echo "$ALGO match."
+ fi
+ done
+
+ done
+
+else
+ exit $ERROR_MANIFEST
+fi
+
# Untar
cd "$PKG_WORK"
tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
cd "$PKG_SRC"
# Build and install package
@@ -113,9 +225,9 @@ done
mkdir -p "$PKG/install" || exit $ERROR_MKDIR
cat << EODESC > "$PKG/install/slack-desc"
# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
+# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
+# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
@@ -138,6 +250,6 @@ cd "$PKG"
makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
# Delete source and build directories if requested
-if [ "$CLEANUP" == "yes" ]; then
+if [ "$CLEANUP" == "yes" ] || [ "$1" = "--cleanup" ]; then
rm -rf "$PKG_WORK" "$PKG"
fi