[arch-commits] Commit in bitcoin/trunk (PKGBUILD)

Timothy Redaelli tredaelli at archlinux.org
Thu Aug 25 17:13:06 UTC 2016


    Date: Thursday, August 25, 2016 @ 17:13:05
  Author: tredaelli
Revision: 187538

upgpkg: bitcoin 0.13.0-1

Modified:
  bitcoin/trunk/PKGBUILD

----------+
 PKGBUILD |  200 ++++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 160 insertions(+), 40 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-08-25 16:24:40 UTC (rev 187537)
+++ PKGBUILD	2016-08-25 17:13:05 UTC (rev 187538)
@@ -5,35 +5,17 @@
 #_dbver=4.8.30
 pkgbase=bitcoin
 pkgname=('bitcoin-daemon' 'bitcoin-cli' 'bitcoin-qt' 'bitcoin-tx')
-pkgver=0.12.1
-pkgrel=3
+pkgver=0.13.0
+pkgrel=1
 arch=('i686' 'x86_64')
 url="http://www.bitcoin.org/"
-makedepends=('boost' 'libevent' 'qt5-base' 'qt5-tools' 'qrencode' 'miniupnpc' 'protobuf')
+makedepends=('git' 'boost' 'libevent' 'qt5-base' 'qt5-tools' 'qrencode' 'miniupnpc' 'protobuf' 'zeromq')
 license=('MIT')
-source=(http://bitcoin.org/bin/bitcoin-core-$pkgver/bitcoin-$pkgver.tar.gz
-        https://raw.github.com/bitcoin/bitcoin/v$pkgver/contrib/debian/bitcoin-qt.desktop
-        https://raw.github.com/bitcoin/bitcoin/v$pkgver/share/pixmaps/bitcoin128.png
-        https://raw.github.com/bitcoin/bitcoin/v$pkgver/contrib/debian/examples/bitcoin.conf
-        https://raw.github.com/bitcoin/bitcoin/v$pkgver/contrib/debian/manpages/bitcoind.1
-        https://raw.github.com/bitcoin/bitcoin/v$pkgver/contrib/debian/manpages/bitcoin.conf.5)
+source=(git+https://github.com/bitcoin/bitcoin.git#tag=v${pkgver})
 #        http://download.oracle.com/berkeley-db/db-${_dbver}.NC.tar.gz
-sha256sums=('08fc3b6c05c39fb975bba1f6dd49992df46511790ce8dc67398208af9565e199'
-            'b65b377c0d9ecae9eea722843bca0add6bdb7e50929a7e1f751b79b6621c6073'
-            'ad880c8459ecfdb96abe6a4689af06bdd27906e0edcd39d0915482f2da91e722'
-            'efe06ab377706338bc75fa1e24de9785950029f3350a17a4b8ce563b760f3c0c'
-            '7d090ddd485c36d4fae5e6627388c5550f824fd498d5fd958ec999857fff7b28'
-            '7f4021e34d52c321f679b548fcf6d55b4da30077b7aed392976f048ab88dcdd1')
+sha256sums=('SKIP')
 
-# Upstream should be more coherent!
-case "$pkgver" in
-*.*.*.*)
-  _pkgver=${pkgver%.*}
-  ;;
-*)
-  _pkgver=$pkgver
-  ;;
-esac
+validpgpkeys=(71A3B16735405025D447E8F274810B012346C9A6)
 
 # TODO: Build using db 4.8.30
 #prepare() {
@@ -40,13 +22,147 @@
 #  mkdir -p db4
 #}
 
+_parse_gpg_statusfile() {
+	local type arg1 arg6 arg10
+
+	while read -r _ type arg1 _ _ _ _ arg6 _ _ _ arg10 _; do
+		case "$type" in
+			GOODSIG)
+				pubkey=$arg1
+				success=1
+				status="good"
+				;;
+			EXPSIG)
+				pubkey=$arg1
+				success=1
+				status="expired"
+				;;
+			EXPKEYSIG)
+				pubkey=$arg1
+				success=1
+				status="expiredkey"
+				;;
+			REVKEYSIG)
+				pubkey=$arg1
+				success=0
+				status="revokedkey"
+				;;
+			BADSIG)
+				pubkey=$arg1
+				success=0
+				status="bad"
+				;;
+			ERRSIG)
+				pubkey=$arg1
+				success=0
+				if [[ $arg6 == 9 ]]; then
+					status="missingkey"
+				else
+					status="error"
+				fi
+				;;
+			VALIDSIG)
+				if [[ $arg10 ]]; then
+					# If the file was signed with a subkey, arg10 contains
+					# the fingerprint of the primary key
+					fingerprint=$arg10
+				else
+					fingerprint=$arg1
+				fi
+				;;
+			TRUST_UNDEFINED|TRUST_NEVER)
+				trusted=0
+				;;
+			TRUST_MARGINAL|TRUST_FULLY|TRUST_ULTIMATE)
+				trusted=1
+				;;
+		esac
+	done < "$1"
+}
+
+_validate_gpg_tag() {
+  local file ext decompress found pubkey success status fingerprint trusted
+  local warning=0
+  local errors=0
+  local statusfile=$(mktemp)
+
+  msg "$(gettext "Verifying source file signatures with %s...")" "gpg"
+
+  git verify-tag --raw "$1" 2>"$statusfile"
+
+  # these variables are assigned values in parse_gpg_statusfile
+  success=0
+  status=
+  pubkey=
+  fingerprint=
+  trusted=
+  _parse_gpg_statusfile "$statusfile"
+  if (( ! $success )); then
+    printf '%s' "$(gettext "FAILED")" >&2
+    case "$status" in
+      "missingkey")
+        printf ' (%s)' "$(gettext "unknown public key") $pubkey" >&2
+        ;;
+      "revokedkey")
+        printf " ($(gettext "public key %s has been revoked"))" "$pubkey" >&2
+        ;;
+      "bad")
+        printf ' (%s)' "$(gettext "bad signature from public key") $pubkey" >&2
+        ;;
+      "error")
+        printf ' (%s)' "$(gettext "error during signature verification")" >&2
+        ;;
+    esac
+    errors=1
+  else
+    if (( ${#validpgpkeys[@]} == 0 && !trusted )); then
+      printf "%s ($(gettext "the public key %s is not trusted"))" $(gettext "FAILED") "$fingerprint" >&2
+      errors=1
+    elif (( ${#validpgpkeys[@]} > 0 )) && ! in_array "$fingerprint" "${validpgpkeys[@]}"; then
+      printf "%s (%s %s)" "$(gettext "FAILED")" "$(gettext "invalid public key")" "$fingerprint"
+      errors=1
+    else
+      printf '%s' "$(gettext "Passed")" >&2
+      case "$status" in
+        "expired")
+          printf ' (%s)' "$(gettext "WARNING:") $(gettext "the signature has expired.")" >&2
+          warnings=1
+          ;;
+        "expiredkey")
+          printf ' (%s)' "$(gettext "WARNING:") $(gettext "the key has expired.")" >&2
+          warnings=1
+          ;;
+      esac
+    fi
+  fi
+  printf '\n' >&2
+
+  rm -f "$statusfile"
+
+  if (( errors )); then
+    error "$(gettext "One or more PGP signatures could not be verified!")"
+    false
+  fi
+
+  if (( warnings )); then
+    warning "$(gettext "Warnings have occurred while verifying the signatures.")"
+    plain "$(gettext "Please make sure you really trust them.")"
+  fi
+}
+
+prepare() {
+  cd "$pkgbase"
+  _validate_gpg_tag "v${pkgver}"
+}
+
 build() {
-#  cd "db-$_dbver.NC/build_unix"
-#  ../dist/configure --enable-cxx --disable-shared --with-pic --prefix="$srcdir/db4"
-#  make
-#  make install
+  #  cd "db-$_dbver.NC/build_unix"
+  #  ../dist/configure --enable-cxx --disable-shared --with-pic --prefix="$srcdir/db4"
+  #  make
+  #  make install
 
-  cd "$srcdir/$pkgbase-$pkgver"
+  cd "$pkgbase"
+  ./autogen.sh
   ./configure --prefix=/usr --with-gui=qt5 --with-incompatible-bdb #LDFLAGS="-L$srcdir/db4/lib/ $LDFLAGS" CPPFLAGS="-I$srcdir/db4/include/ $CPPFLAGS"
   make
 }
@@ -53,14 +169,16 @@
 
 package_bitcoin-qt() {
   pkgdesc="Bitcoin is a peer-to-peer network based digital currency - Qt"
-  depends=(boost-libs desktop-file-utils libevent qt5-base miniupnpc qrencode protobuf)
+  depends=(boost-libs desktop-file-utils libevent qt5-base miniupnpc qrencode protobuf zeromq)
 
-  cd "$pkgbase-$pkgver"
+  cd "$pkgbase"
   install -Dm755 src/qt/bitcoin-qt "$pkgdir"/usr/bin/bitcoin-qt
-  install -Dm644 "$srcdir"/bitcoin-qt.desktop \
+  install -Dm644 contrib/debian/bitcoin-qt.desktop \
     "$pkgdir"/usr/share/applications/bitcoin.desktop
-  install -Dm644 "$srcdir"/bitcoin128.png \
+  install -Dm644 share/pixmaps/bitcoin128.png \
     "$pkgdir"/usr/share/pixmaps/bitcoin128.png
+  install -Dm644 contrib/debian/manpages/bitcoin-qt.1 \
+    "$pkgdir"/usr/share/man/man1/bitcoin-qt.1
 
   install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
 }
@@ -67,15 +185,15 @@
 
 package_bitcoin-daemon() {
   pkgdesc="Bitcoin is a peer-to-peer network based digital currency - daemon"
-  depends=(boost-libs libevent miniupnpc)
+  depends=(boost-libs libevent miniupnpc zeromq)
 
-  cd "$pkgbase-$pkgver"
+  cd "$pkgbase"
   install -Dm755 src/bitcoind "$pkgdir"/usr/bin/bitcoind
-  install -Dm644 "$srcdir"/bitcoin.conf \
+  install -Dm644 contrib/debian/examples/bitcoin.conf \
     "$pkgdir/usr/share/doc/$pkgname/examples/bitcoin.conf"
-  install -Dm644 "$srcdir"/bitcoind.1 \
+  install -Dm644 contrib/debian/manpages/bitcoind.1 \
     "$pkgdir"/usr/share/man/man1/bitcoind.1
-  install -Dm644 "$srcdir"/bitcoin.conf.5 \
+  install -Dm644 contrib/debian/manpages/bitcoin.conf.5 \
     "$pkgdir"/usr/share/man/man5/bitcoin.conf.5
   install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
 }
@@ -84,8 +202,10 @@
   pkgdesc="Bitcoin is a peer-to-peer network based digital currency - RPC client"
   depends=(boost-libs libevent)
 
-  cd "$pkgbase-$pkgver"
+  cd "$pkgbase"
   install -Dm755 src/bitcoin-cli "$pkgdir"/usr/bin/bitcoin-cli
+  install -Dm644 contrib/debian/manpages/bitcoin-cli.1 \
+    "$pkgdir"/usr/share/man/man1/bitcoin-cli.1
   install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
 }
 
@@ -93,7 +213,7 @@
   pkgdesc="Bitcoin is a peer-to-peer network based digital currency - Transaction tool"
   depends=(boost-libs openssl)
 
-  cd "$pkgbase-$pkgver"
+  cd "$pkgbase"
   install -Dm755 src/bitcoin-tx "$pkgdir"/usr/bin/bitcoin-tx
   install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
 }



More information about the arch-commits mailing list