Forráskód Böngészése

uppkg -> 3.0.0.16-1

Noah Vogt 1 éve
szülő
commit
88f8e4359f
2 módosított fájl, 48 hozzáadás és 19 törlés
  1. 10 6
      .SRCINFO
  2. 38 13
      PKGBUILD

+ 10 - 6
.SRCINFO

@@ -1,13 +1,17 @@
 pkgbase = chromium-extension-return-youtube-dislike
 	pkgdesc = Return YouTube Dislike - chromium extension
-	pkgver = 3.0.0.14
-	pkgrel = 2
-	url = https://github.com/noahvogt/return-youtube-dislike
+	pkgver = 3.0.0.16
+	pkgrel = 1
+	url = https://github.com/Anarios/return-youtube-dislike
 	arch = any
 	license = GPL3
+	makedepends = openssl
+	makedepends = jq
 	depends = chromium
-	noextract = return-youtube-dislike-3.0.0.14.crx
-	source = https://github.com/noahvogt/return-youtube-dislike/releases/download/v3.0.0.14-2/return-youtube-dislike-3.0.0.14.crx
-	sha256sums = 54b6d67a7f14752720bd6432b53c85f7a4fcad246635217e59af1eb576ec95f2
+	noextract = return-youtube-dislike-3.0.0.16.zip
+	source = return-youtube-dislike-3.0.0.16.zip::https://github.com/Anarios/return-youtube-dislike/releases/download/v3.0.0.16/chrome.zip
+	source = return-youtube-dislike.pem
+	sha256sums = a85ac098d5fd4e20d4ee4b1a419e7da2418e50467539b4aec4e34a1497171630
+	sha256sums = b25ae9e44d68756e8124b60be28dccc308570f5576440989aa8fa0d639d2c8f2
 
 pkgname = chromium-extension-return-youtube-dislike

+ 38 - 13
PKGBUILD

@@ -1,26 +1,51 @@
 # Maintainer: Noah Vogt (noahvogt) <noah@noahvogt.com>
-
-# binary version of this package (-bin): github.com/noahvogt/chromium-extension-return-youtube-dislike-bin
+# private key generated with `openssl genrsa 2048| openssl pkcs8 -topk8 -nocrypt -traditional`
 
 _extension=return-youtube-dislike
-_id=gebbhagfogifgggkldgodflihgfeippi
 pkgname="chromium-extension-$_extension"
-pkgver=3.0.0.14
-pkgrel=3
+pkgver=3.0.0.16
+pkgrel=1
 pkgdesc="Return YouTube Dislike - chromium extension"
 arch=('any')
-depends=('chromium')
-url="https://github.com/noahvogt/return-youtube-dislike"
+url="https://github.com/Anarios/$_extension"
 license=('GPL3')
-source=("https://github.com/noahvogt/$_extension/releases/download/v$pkgver-$pkgrel/$_extension-$pkgver.crx")
-noextract=("$_extension-$pkgver.crx")
-sha256sums=('54b6d67a7f14752720bd6432b53c85f7a4fcad246635217e59af1eb576ec95f2')
+depends=('chromium')
+makedepends=('openssl' 'jq')
+source=("$_extension-$pkgver.zip::$url/releases/download/v$pkgver/chrome.zip"
+        "$_extension.pem")
+noextract=("$_extension-$pkgver.zip")
+sha256sums=('a85ac098d5fd4e20d4ee4b1a419e7da2418e50467539b4aec4e34a1497171630'
+            'b25ae9e44d68756e8124b60be28dccc308570f5576440989aa8fa0d639d2c8f2')
 
 build() {
-    echo "{ \"external_crx\": \"/usr/share/$pkgname/$pkgname.crx\", \"external_version\": \"$pkgver\" }" > "$_id".json
+    # unpack release
+    mkdir -p "$_extension-$pkgver"
+    unzip -u -d "$_extension-$pkgver" "$_extension-$pkgver.zip"
+    cd "$_extension-$pkgver"
+
+    # create extension json
+    _extver="$(jq -r '.version' manifest.json)"
+    pubkey="$(openssl rsa -in "$srcdir/$_extension.pem" -pubout -outform DER |base64 -w0)"
+    export _id="$(echo $pubkey |base64 -d |sha256sum |head -c32 |tr '0-9a-f' 'a-p')"
+    echo "extenson id should be: $_id"
+    cat << EOF > "$srcdir/$_id".json
+{
+    "external_crx": "/usr/lib/$pkgname/$_extension-$pkgver.crx",
+    "external_version": "$_extver"
+}
+EOF
+
+    # update manifest key
+    jq --ascii-output --arg key "$pubkey" '. + {key: $key}' manifest.json > manifest.json.new
+    mv manifest.json.new manifest.json
+
+    # pack extension
+    cd "$srcdir"
+    tmpdir="$(mktemp -d chromium-pack-XXXXXX)"
+    chromium --user-data-dir="$tmpdir" --pack-extension="$_extension-$pkgver" --pack-extension-key="$_extension.pem"
 }
 
 package() {
-    install -Dm644 "$_extension-$pkgver.crx" "$pkgdir/usr/share/$pkgname/$pkgname.crx"
-    install -Dm644 "$_id".json "$pkgdir/usr/share/chromium/extensions/$_id.json"
+    install -Dm644 -t "$pkgdir/usr/share/chromium/extensions/" "$_id.json"
+    install -Dm644 -t "$pkgdir/usr/lib/$pkgname/" "$_extension-$pkgver.crx"
 }