diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2024-03-19 01:40:06 -0400 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2024-03-20 19:49:12 -0400 |
commit | 2c824fe5b9e5ba7ba72281d712f191c5efb56e24 (patch) | |
tree | 6afc6d005660925aee4c07ba7f45a8df351bbffa /pcr | |
parent | 38821a92abf3f285405e172d724b62511f4b5c30 (diff) |
icedove-bin: add package v115.8.1
Diffstat (limited to 'pcr')
-rw-r--r-- | pcr/icedove-bin/PKGBUILD | 138 | ||||
-rw-r--r-- | pcr/icedove-bin/trisquel-archive-signkey.gpg | 113 |
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----- |