summaryrefslogtreecommitdiff
path: root/pcr
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2024-03-19 01:40:06 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2024-03-20 19:49:12 -0400
commit2c824fe5b9e5ba7ba72281d712f191c5efb56e24 (patch)
tree6afc6d005660925aee4c07ba7f45a8df351bbffa /pcr
parent38821a92abf3f285405e172d724b62511f4b5c30 (diff)
icedove-bin: add package v115.8.1
Diffstat (limited to 'pcr')
-rw-r--r--pcr/icedove-bin/PKGBUILD138
-rw-r--r--pcr/icedove-bin/trisquel-archive-signkey.gpg113
2 files changed, 251 insertions, 0 deletions
diff --git a/pcr/icedove-bin/PKGBUILD b/pcr/icedove-bin/PKGBUILD
new file mode 100644
index 000000000..535238325
--- /dev/null
+++ b/pcr/icedove-bin/PKGBUILD
@@ -0,0 +1,138 @@
+# Maintainer: bill-auger <bill-auger@programmer.net>
+
+
+# FIXME: https://labs.parabola.nu/issues/3115
+# Binary packages are generally not acceptable.
+# Icedove has been unable to build for a long time though.
+# libre/icedove still works; but is quite out-of-date.
+# Ideally, let's fix libre/icedove and delete this package.
+
+
+# NOTE: Trisquel packages are not signed; but the repo databases are.
+# The database contains checksums of per-repo manifests;
+# and the manifests contain checksums of the packaged files.
+# The check() function verifies the signature of the database,
+# then verifies the manifest against its checksum in the database,
+# then verifies all package files against their checksums in the manifest.
+# That is why the makepkg integrity checks are used only for the signing key.
+
+
+pkgname=icedove-bin
+pkgver=115.8.1
+pkgrel=trisquel21
+pkgdesc="Email, RSS and newsgroup client with integrated spam filter (Trisquel binaries)"
+arch=(x86_64)
+url=http://www.trisquel.info
+# license=('MPL-2.0' 'GPL-2.0-only' 'LGPL-2.1-only') # TODO:
+license=(MPL2 GPL2 LGPL2.1)
+options=('!strip' '!emptydirs')
+
+# The 'depends' array is from the arch package.
+# The Trisquel binaries do not not link to most of these system sodeps.
+depends=(
+ glibc
+ gtk3 libgdk-3.so libgtk-3.so
+ mime-types
+ dbus # libdbus-1.so
+ dbus-glib
+ alsa-lib
+ nss
+ hunspell
+ sqlite
+ ttf-font
+ libvpx # libvpx.so
+ zlib
+ bzip2 # libbz2.so
+ botan2
+ libwebp # libwebp.so libwebpdemux.so
+ libevent
+ libjpeg-turbo
+ libffi # libffi.so
+ nspr
+ gcc-libs
+ libx11
+ libxrender
+ libxfixes
+ libxext
+ libxcomposite
+ libxdamage
+ pango libpango-1.0.so
+ cairo
+ gdk-pixbuf2
+ freetype2 # libfreetype.so
+ fontconfig # libfontconfig.so
+ glib2 libglib-2.0.so
+ pixman # libpixman-1.so
+ gnupg
+ json-c
+ libcanberra
+ ffmpeg
+ icu # libicui18n.so libicuuc.so
+)
+optdepends=(
+ 'hunspell-en_us: Spell checking, American English'
+ 'libotr: OTR support for active one-to-one chats'
+ 'libnotify: Notification integration'
+)
+
+_upstream_name=icedove
+_deb_pkg=${_upstream_name}_${pkgver}+build1-0ubuntu0.22.04.1+11.0${pkgrel}_amd64.deb
+source=(http://us.archive.trisquel.info/trisquel/dists/aramo-updates/Release{,.gpg}
+ http://us.archive.trisquel.info/trisquel/dists/aramo-updates/main/binary-amd64/Packages
+ http://us.archive.trisquel.info/trisquel/pool/main/t/thunderbird/${_deb_pkg}
+ trisquel-archive-signkey.gpg)
+sha256sums=(SKIP SKIP SKIP SKIP a69f9e3c192d4805c37f2975c59339a5a048057cef3c9bf156d1663305f589ca)
+validpgpkeys=('60364C9869F92450421F0C22B138CA450C05112F') # Trisquel GNU/Linux <trisquel-devel@trisquel.info>
+
+
+build()
+{
+ mkdir pkg/
+
+ ar x ${_deb_pkg}
+ tar xf data.tar.zst --directory=pkg/
+}
+
+check()
+{
+ readonly MANIFEST_RX="^ [0-9a-f]{64} [0-9]+ main/binary-amd64/Packages$"
+ readonly PACKAGES_AWK="BEGIN { RS = \"Package:\" ; FS = \"\n\" } ( \$1 ~ /^ ${_upstream_name}$/ && \$3 ~ /${pkgver}.*${pkgrel}$/) { split(\$17 , a , \" \") ; split(\$18 , b , \" \") ; print a[2]\" \" b[2] }"
+ readonly PKGS_SIZE_ERR="Packages: filesize mismatch"
+ readonly PKGS_SUM_ERR="Packages: checksum mismatch"
+ readonly DEB_SIZE_ERR=".deb: filesize mismatch"
+ readonly DEB_SUM_ERR=".deb: checksum mismatch"
+ readonly SUMS_ERR="checksums: not found"
+ readonly FILES_SUM_ERR="files: checksum mismatch"
+ local sum n_bytes filepath
+
+ # validate repo manifest
+ echo -e "\n== validating repo manifest =="
+ gpg --import trisquel-archive-signkey.gpg
+ gpg --verify Release.gpg Release
+ read -r sum n_bytes _ < <(grep -E "${MANIFEST_RX}" Release | tail -n 1)
+ sum+=" Packages"
+ [[ "${n_bytes}" == "$(stat -c %s -L Packages)" ]] || ! echo "${PKGS_SIZE_ERR}" || return 1
+ sha256sum --strict --check <(echo ${sum} ) || ! echo "${PKGS_SUM_ERR}" || return 1
+
+ # validate binary package
+ echo -e "\n== validating binary package =="
+ read -r n_bytes sum < <(awk "${PACKAGES_AWK}" Packages)
+ sum+=" ${_deb_pkg}"
+ [[ "${n_bytes}" == "$(stat -c %s -L ${_deb_pkg})" ]] || ! echo "${DEB_SIZE_ERR}" || return 1
+ sha256sum --strict --check <(echo ${sum}) || ! echo "${DEB_SUM_ERR}" || return 1
+
+ # validate binary package contents
+ echo -e "\n== validating binary package contents =="
+ tar xf control.tar.zst ./md5sums
+ cat md5sums
+ (( $(stat -c %s -L md5sums) )) || ! echo "${SUMS_ERR}" || return 1
+ while read sum filepath
+ do sum+=" pkg/${filepath}"
+ md5sum --strict --check <(echo ${sum}) || ! echo "${FILES_SUM_ERR}" || return 1
+ done < md5sums
+}
+
+package()
+{
+ cp -a pkg/* "${pkgdir}"/
+}
diff --git a/pcr/icedove-bin/trisquel-archive-signkey.gpg b/pcr/icedove-bin/trisquel-archive-signkey.gpg
new file mode 100644
index 000000000..54b2cabbb
--- /dev/null
+++ b/pcr/icedove-bin/trisquel-archive-signkey.gpg
@@ -0,0 +1,113 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+mQGiBEWqgWsRBACyvlHQxUA6RnHvXLZTowvkja5RlfVea0jZze1y4qjmjJ+FKluu
+WKmLr68h0RQaGb6D9drhpDqcGyY/Hcvd4xe/Lbu7rZ2hXXW/7hPdWXLQe9sFnGFZ
+B3L3xy+nMZdQ2HvnYuqLK7gm6SWO6aoV7X8w63hj0pC75TWYY2COJ4O86wCgw0xL
+OORa0TC549VTbgRiAYq9yKsD/j2Y72cuQSfQlKDFb4AbknMCWdH+mUlEL2vcOP4l
+vjTO+0ekMK9QLBeZQQrV8Kbi5r3lWhEZLxEdFMXMrics/Z2DIZ4oOL+zxTatvc2K
+SVJoTjGyk8GxThdpa2WCRIe+Uf0Fm9gucuVkfUuk7W46SLyTYWFDRqa7IUtbnC+G
+QUFnA/986wzmODkuyipMKvFnVd+4/9ubfUV9DZ76StVr9+nx+sOi2GtK3AiHggLG
+yOw1Wnt1HIaopA7Y9olc7S6nnakMq6rpKA+MoFFSUmF18WfTs1ha9T+kTQ8JA00L
+N/9GacaAEDQwKqPWWO9FnRUN46m43ukG6/0uDT3G3ItdRhzewrRSVHJpc3F1ZWwg
+R05VL0xpbnV4IChUcmlzcXVlbCBHTlUvTGludXggc2lnbmluZyBrZXkpIDx0cmlz
+cXVlbC1kZXZlbEB0cmlzcXVlbC5pbmZvPohgBBMRAgAgBQJKqFs1AhsDBgsJCAcD
+AgQVAggDBBYCAwECHgECF4AACgkQtO+5842K6/GptQCgot6ILdUO7k7ZgSAPk4rX
+dYboGsUAnjLTU+Gyqcpk4aGEH7LlEfcLG1GhuQINBEWqgXEQCACs5IoPtgOMBGHu
+iz3Y48caxWNws6XZ2PedsX2GaPyuVTwraaW0pfrxT9pJgsR7NQOabQPUIdvMHAIK
+gowrVWzol3EuF9yoY601Zntzk/HAfMLm6QFQBykIpbRXpf5ts4aHCZuHredoxb+y
+bEvYbgCzEDIA+v8+2H8YvX1ji+fhFoXk0rbYRgUSoHsNsOR+xAvzYBpYtUeHtFua
+I0Yn5A+7AaobzlPRNssOyi5YpPBWKgrnGUi8hZ4S1MxyzEd5IO1uZjX46hP17QSc
+Bv5+iOVFBrsIb1jwVHcJ4RWRgCOwJgVXP6Bqurbp4iSX1H1FmEqTKNAeBGj0kCqZ
+BuLI4Ke7AAMGB/9igeS4U77kpXvG7+NmNhjnZM9hCKoa4a8ND/YBaj4YElR0eXv9
+9ayXVf12mWIKBMRs4qr/6JnuT0EqB3YBcGt2sYFFE/7Oy9/ZmSD1lS9ib9C3LsPa
+AgKSpL+2E/NtZtTjwQ77LCGYP7RMmGCSoLVwa2/KQNCFnWe+dfKR8A8ODHLsBK0U
+mr8j3uPZBFudaK2VcnBKf74kkaa7hcFJo5nkjXDwQdletkUG0RxlF/6QkzA/gphd
+MwRt8LYBs/8CWwJM73NiAB3+qEGJ0khiIct9MpZ/VCc4bKZ/w97qcwQ3zJMtvuCD
+rKzMS+Kyea4Wpy+DaGlAs2ZSUHvG3mo41bnfiEkEGBECAAkFAkWqgXECGwwACgkQ
+tO+5842K6/EoPACffP0BW9s0UyehOrXR0GhkcTEw5iYAoLjJ8WpzucaKz9w4Y1Sb
+7E05kXhA
+=zlqX
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+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
+McDbwCjFQn2iazszZsg=
+=UAIm
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBGNQMswBEACpaLnL36fWyve4zXHKrN7AjXl+g5cafQyei4j1saTLfQatdJed
+ubvcscZ3yERB+R0+8xuH2UqvR0E57ohZZaTiwcUWJ3VemxCZhwKy+Xvt1ZUNxBrh
+2qAJBcP0+UCskSfWb+QQ1twNIeQ8Raj+kRPGphlNmjYxF2CFOsw9c56Lz+jNyty9
+RC3Bg4l+Kcdhw23w5XBUXpHOyL6lsG317PWgEHUIQzNhXZfHL9GzwtTVQV8tVPyu
+MOQIa7KDFXUEEnRN31mVLzfNHqKtTgFfP2LnSiD3LsBYsqJUtAnFGyORHgKhddRg
+AKLrn1h0dEzkN+XsMaAWPrJg87ks7qXhhNz3SEI+t7dL4ozfUryRY9/8t/rXuQK+
+ffRO/63i8SaHdu1Sl8MgHsNZRFOlbYGPw73TpdJ3JvfmfPNrRcTzsU1arMML8GWs
+q6/QYDTWVYBYXy0kEqJQmeb3yJRvnIdVfiAdu9fyDPY8FCTUTcsxKe88u2bgrIaY
+pNdoNFXojIC9JvMUM5QakMeog+ocTrZFOyhRMKfq5KEV/IDvsx6BfQzpjvK27LgX
+LcdlP9HUVb9ZkKUgMGV1trqSA7kKrkDtfw+BInReTeSEnr4jsAwwiG62kDmmA4mo
+dFq1MsWTAJTvpeeK+86gYliZukt6076zPrszmDJIyJWwHCLFn1jVkn1tlQARAQAB
+tFpUcmlzcXVlbCBHTlUvTGludXggQXJjaGl2ZSBBdXRvbWF0aWMgU2lnbmluZyBL
+ZXkgKDExL2FyYW1vKSA8dHJpc3F1ZWwtZGV2ZWxAdHJpc3F1ZWwuaW5mbz6JAk4E
+EwEKADgCGwMFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AWIQTSTdrJIm1bpenzvtP1
+2qr3StTJOAUCY1AzAgAKCRD12qr3StTJOIxbD/44B7Kv+26TBW6BIiUlp1iDsvoX
+yHk9yau41g6HjJR53KrFID4uszN9B+Cl+R0PjywfgC9OSSTKOjJq4/yQE00JpuF+
+HtWieshZJs8QFKLD+mZQfRVCQweqj9HZS8AFH02LYkdsXiv4LZLaNljcHEPC3Y34
+61xcg3viATgHL1ZJIPGT/vk425jQkEv9wjCjIvKsMhoE9EcqDBft9jKBC6H8LQwZ
+iIYYNf28WRIW/EbutPe+0B3YOuw3PT/o/x40ySLWIJARODxBCqJ0wEC4PI7lUiLg
+DGV0cUUykZz7BXKaIZIj+3wViR5zDGqIWx5TwdW2MJpDi9ove8N/3HaAc6BwQQXH
+acZohOBqf/BjTKXQufVzx1sMBxB+a5zp284uICX54y/mm9tPHWcOOtl+NYj5qk4A
+qn+vh433kNW622qJ8tt72kbcfaRekBnCj/A10U46TyWgZgMc7XxCc5r8slJWlhYZ
+bRgbWWvkyH1s0mzbkAyNwrNa0vafcxOxO9psc7LG4mLPBqLoKKPmYY5Vgu8fdlbb
+OLLFVvNhuTSX2ugkPfAp/XeWucQPJv3een1C1AWNcufhKYm1DZkYTGBeT8cbsw3T
+0JnpRad+Sm2VhLcQ8PHKHUUeklVqUMjyCHo32sydo+I1MjC3QWycolljno2un9HU
+TNAXG/1k2DzsqFPFjw==
+=LJyh
+-----END PGP PUBLIC KEY BLOCK-----