diff --git a/packages/get-gpg-package.sh b/packages/get-gpg-package.sh index 8c51b8ba..b99216ef 100755 --- a/packages/get-gpg-package.sh +++ b/packages/get-gpg-package.sh @@ -1,96 +1,96 @@ #!/bin/bash # Copyright (C) 2018 Intevation GmbH # # This file is part of GPG4Win. # # GPG4Win is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # GPG4Win is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # 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 # Check gpg packages against their distsigkey and print out the lines # for packages.current # # TODO: Update packages.current automatically set -e #set -x -GNUPG="libgpg-error libgcrypt libksba libassuan ntbtls npth pinentry gpgme" +GNUPG="libgpg-error libgcrypt libksba libassuan ntbtls npth pinentry gpgme gnupg" GPG4WIN="gpgex gpgol" WGET=wget GPGV=gpgv srcdir=$(readlink -f `dirname "$0"`) distsigkey="$srcdir/distsigkey.gpg" if [ -z "$1" -o -z "$2" ]; then echo "Usage $0 [user]" exit 1 fi if [ -z "$3" ]; then CHANGER="ah" else CHANGER="$3" fi if ! $GPGV --version >/dev/null 2>/dev/null ; then echo "command \"gpgv\" is not installed" >&2 exit 1 fi function list_include_item { local list="$1" local item="$2" if [[ $list =~ (^|[[:space:]])"$item"($|[[:space:]]) ]] ; then # yes, list include item result=0 else result=1 fi return $result } if `list_include_item "$GNUPG" "$1"` ; then - SERVER="ftp://ftp.gnupg.org/gcrypt" + SERVER="https://gnupg.org/ftp/gcrypt" elif `list_include_item "$GPG4WIN" "$1"` ; then SERVER="http://files.gpg4win.org/src" else echo "Unknown package $1"; exit 1; fi FILE="$1-$2.tar.bz2" FILEPATH="$1/$FILE" MYTMP=$(mktemp -d) cd $MYTMP $WGET $SERVER/$FILEPATH $WGET $SERVER/$FILEPATH.sig if ! $GPGV --keyring "$distsigkey" $FILE.sig $FILE; then echo "package is not valid!" >&2 exit 1 fi SHASUM=$(sha256sum $FILE | cut -d " " -f 1) DATE=$(date +%Y-%m-%d) echo "# last changed $DATE" echo "# by $CHANGER" echo "# verified: distsigkey.gpg" echo "server $SERVER" echo "file $FILEPATH" echo "chk $SHASUM" cd - rm -r $MYTMP diff --git a/packages/packages.current b/packages/packages.current index 2314ff2c..3166f41e 100644 --- a/packages/packages.current +++ b/packages/packages.current @@ -1,670 +1,670 @@ # packages.current - list of current packages for use with gpg4win -*- sh -*- # # The download script processes the statements here to # actually download the packages. The syntax is trivial: # # If the first non whitespace character of a line is #, the line is # considered a comment. If the first word of a line is "server", the # rest of the line will be taken as the base URL for following file # commands. If the first word of a line is "file" the rest of the # line will be appended to the current base URL (with a / as # delimiter). The statement "chk" is followed by the SHA256 checksum of # the last file. # # zlib # server http://zlib.net # last-changed: 2017-01-23 # by: ah # verified: Sig 5ED4 6A67 21D3 6558 7791 E2AA 783F CD8E 58BC AFBA file zlib-1.2.11.tar.gz chk c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 # # GNU # server ftp://ftp.gnu.org/pub/gnu # last-changed: 2017-02-15 # by: ah # verified: Sig 68D9 4D8A AEEA D48A E7DC 5B90 4F49 4A94 2E46 16C2 file libiconv/libiconv-1.15.tar.gz chk ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 # last-changed: 2021-08-17 # by: ah (checksum added by ik) # verified: Sig 9001 B85A F9E1 B83D F1BD A942 F5BE 8B26 7C6A 406D file gettext/gettext-0.21.tar.xz chk d20fcbb537e02dcf1383197ba05bd0734ef7bf5db06bdb241eb69b7d16b73192 # # GLIB # # The GTK boyz seem to think that sha256sum files on the server # magically get them a lot of additional security karma. # # And it's plain to see # You were meant for me # Yeah I'm your .sig # Your 21th Century sig # 21th Century sig, I wanna be your file # server http://ftp.gnome.org/pub/gnome/sources/glib/2.41 # last-changed: 2015-06-05 # Latest minor release is 2.45 but 2.41 works for us. # by: ah # compared checksum with debian experimental version. # https://lists.debian.org/debian-experimental-changes/2014/09/msg00182.html # verified: Sig 3D0E FB95 E7B5 237F 16E8 2258 E352 D5C5 1C50 41D4 file glib-2.41.5.tar.xz chk e76a6bd1456749bdd05db19a8f0f174e787e612ed443d30cc9cf02237dd58e16 # # GDK-PIXBUF # server http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.30/ # checked: 2015-06-05 # by: ah # There is a 2.31 series but afaik no security problems with 2.30 # verified: with linuxfromscratch and frugalware checksums file gdk-pixbuf-2.30.8.tar.xz chk 4853830616113db4435837992c0aebd94cbb993c44dc55063cee7f72a7bef8be # # ATK # server http://ftp.gnome.org/pub/gnome/sources/atk/1.32 # checked: 2013-04-29 wk (1.32.0 still the latest in 1.32) file atk-1.32.0.tar.bz2 chk e9a3e598f75c4db1af914f8b052dd9f7e89e920a96cc187c18eb06b8339cb16e server http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32 # checked: 2013-04-29 wk name atk-1.32.0.zip file atk_1.32.0-2_win32.zip chk cadc6d52f2af21996a6dcba7b1fac27ce66721e14d1c4ab21fde7bc9965f5037 # checked: 2013-04-29 wk name atk-dev-1.32.0.zip file atk-dev_1.32.0-2_win32.zip chk 5021d64043d270350d6a8d50b91db691a7421a68ca0bfa4eeb0c8804a176ac44 # # PANGO # server http://ftp.gnome.org/pub/gnome/sources/pango/1.29 # fixme: 2013-04-29 wk - There is a 1.29.5 but no 1.29.5 binaries # What shall we do: Update to 1.32? There are no # 1.32 binaries either. file pango-1.29.4.tar.bz2 chk f15deecaecf1e9dcb7db0e4947d12b5bcff112586434f8d30a5afd750747ff2b server http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.29 name pango-1.29.4.zip file pango_1.29.4-1_win32.zip chk e1b865ae2e4054388c598f92b34593b3d24d7fd15e6308c8926ee634717c21ce name pango-dev-1.29.4.zip file pango-dev_1.29.4-1_win32.zip chk 0d7fb255e65ed4bd43acedab4405986e4877b87ba8227d5fa22b38330485e3cb # # CAIRO # server http://cairographics.org/releases # checked: 2013-04-29 wk - 1.10.2 is the latest in the 1.10 series. file cairo-1.10.2.tar.gz chk 32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41 server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies # checked: 2013-07-16 ah most recent package on that server is from # 2012-09-27 TODO -> Move to another source / source build of those # dependencies # checked: 2013-04-29 wk name cairo-1.10.2.zip file cairo_1.10.2-2_win32.zip chk e6c361ec1df4ccb23edbe5b68db16329d563a19eeee7fa70d583dda3d2358f4e name cairo-dev-1.10.2.zip file cairo-dev_1.10.2-2_win32.zip chk b86f875bf776bbf578e3fa8c46866b84c93200b962b30d03cf795f82157e3167 # checked: 2013-04-29 wk file freetype-2.4.2.tar.bz2 chk 9a987aef8c50d9bcfdfdc9f012f8bd0de6095cc1a5524e62c1a037deb8dacbfe name freetype-2.4.2.zip file freetype_2.4.2-1_win32.zip chk bdf67e6573363fd2256a58295931cc1186382fd0ad1fe420059d6ffdb5fba7c0 name freetype-dev-2.4.2.zip file freetype-dev_2.4.2-1_win32.zip chk eed58c2807b65d5e0ec78031e89f1628577ad76bf47f02eaecde432c0b99eae9 server http://www.fontconfig.org/release # checked: 2013-04-29 wk - 2.8.0 still the latest in 2.8 file fontconfig-2.8.0.tar.gz chk fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335 server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies # checked: 2013-04-29 wk name fontconfig-2.8.0.zip file fontconfig_2.8.0-2_win32.zip chk 9d6bcaeed0eced43a649953132d9f2b3e15b98c7bb9e4a207872dfeade818204 name fontconfig-dev-2.8.0.zip file fontconfig-dev_2.8.0-2_win32.zip chk 2f15af3d27ca507dad2a208e58409f484aa7e7c7eac10b49edca079b31ae7073 server ftp://ftp.g10code.com/g10code/misc # checked: 2013-04-29 wk - 2.0.1 still the latest in 2.0 file expat-2.0.1.tar.gz chk 847660b4df86e707c9150e33cd8c25bc5cd828f708c7418e765e3e983a2e5e93 server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies # checked: 2013-04-29 wk name expat-2.0.1.zip file expat_2.0.1-1_win32.zip chk 77b88ab780e698d6590426b26a877878584b9f8b6357909699674fb5045737bd name expat-dev-2.0.1.zip file expat-dev_2.0.1-1_win32.zip chk 67b92b7f3441fee077bdc0094bf4dd673870acdf51899e32e199246801538162 # # GTK+ # server http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24 # last-changed: 2015-06-05 # by: ah # verified: chk from https://download.gnome.org/core/3.17/3.17.2/sources/SHA256SUMS-for-xz file gtk+-2.24.28.tar.xz chk b2c6441e98bc5232e5f9bba6965075dcf580a8726398f7374d39f90b88ed4656 # # GIMP stuff for W32 # server http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies # checked: 2012-03-28 wk - Not updated - not a security problem name pkgconfig-0.23.tar.gz file pkg-config-0.23.tar.gz chk 08a0e072d6a05419a58124db864f0685e6ac96e71b2875bf15ac12714e983b53 name pkgconfig-0.23.zip file pkg-config_0.23-3_win32.zip chk 677d6055494e24cad6c49eab33eee618ddc6ed65da827c8b5b7da761b4063278 # PNG # last changed: 2017-08-28 # by: js # verified: Sig 8048 643B A2C8 40F4 F92A 195F F549 84BF A16C 640F server ftp://ftp.simplesystems.org/pub/png/src file libpng14/libpng-1.4.22.tar.xz chk 8d419a8b2a5edddda5cbcb897ded92205344a3249fa7a00d6384ea23ac3ccbd8 # # LibFFI # server ftp://sourceware.org/pub/libffi # checked: 2013-04-29 wk - updated from 3.0.10. # checked: 2014-07-16 ah - only rc availble from 3.0.14 file libffi-3.0.13.tar.gz chk 1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c # # SQLite # server https://www.sqlite.org # last changed: 2021-09-20 # by: ik # verified: SHA1 checksum on https://web.archive.org/web/20190228201545/https://www.sqlite.org/download.html name sqlite-3.27.2.tar.gz file 2019/sqlite-autoconf-3270200.tar.gz chk 50c39e85ea28b5ecfdb3f9e860afe9ba606381e21836b2849efca6a0bfe6ef6e # # Pth emulation # server ftp://ftp.g10code.com/g10code/w32pth # checked: 2014-07-16 ah file w32pth-2.0.5.tar.bz2 chk 5e462d06ed50e9e961546ab5264258e606b101860a74c1e410d086432ec27a06 # # Stripped down version of BZIP2 # (full source at http://bzip.org) # server ftp://ftp.g10code.com/g10code/bzip2 # checked: 2014-07-16 ah file bzip2-1.0.6-g10.tar.gz chk c2a9b3aec1a38d34b66106116a39f64b01d84f475fef75c40ea0bda0ea67ed07 # # GnuPG et al. # # All tarballs from this server are verified with an openpgp # signature made by "Werner Koch (dist sig)" or one of the other # gnupg main contributors. # Server changed from ftp to https by wk 2021-09-22 server https://gnupg.org/ftp/gcrypt # last changed 2021-04-21 # by ah # verified: distsigkey.gpg file libgpg-error/libgpg-error-1.42.tar.bz2 chk fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23 # last-changed: 2021-04-21 # by: ah # verified: distsigkey.gpg file libassuan/libassuan-2.5.5.tar.bz2 chk 8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4 # last changed 2021-09-20 # by ik # verified: distsigkey.gpg file npth/npth-1.6.tar.bz2 chk 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 # last changed 2021-09-20 # by ik # verified: distsigkey.gpg file libgcrypt/libgcrypt-1.9.4.tar.bz2 chk ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7 # last changed 2021-09-20 # by ik # verified: distsigkey.gpg file libksba/libksba-1.6.0.tar.bz2 chk dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b -# last changed: 2021-09-09 -# by: ik -# verified: "Werner Koch (dist signing 2020)" (distsigkey.gpg) -file gnupg/gnupg-2.3.2.tar.bz2 -chk e1d953e0e296072fca284215103ef168885eaac596c4660c5039a36a83e3041b +# last changed 2021-10-13 +# by ik +# verified: distsigkey.gpg +file gnupg/gnupg-2.3.3.tar.bz2 +chk 5789b86da6a1a6752efb38598f16a77af51170a8494039c3842b085032e8e937 # last changed: 2020-11-17 # by: ah # verified: distsigkey.gpg name gnupg-w32-2.3.1-20210420-bin.exe file binary/gnupg-w32-2.3.1_20210420.exe chk 77cec7f274ee6347642a488efdfa324e8c3ab577286e611c397e69b1b396ab16 name gnupg-w32-2.3.1-20210420-src.tar.xz file binary/gnupg-w32-2.3.1_20210420.tar.xz chk 46f7bf49ac5445370012a3698e048cd994579981df28f80f8b8494cf45869e8d #name gnupg-msi-2.3.1-beta18-20210420-src.tar.xz #file binary/gnupg-w32-2.3.1_20210420.tar.xz #chk e1a2dc705c940938b7bf7a17f521a41b1ef14139acd8860b2fd59aed2750aa3b #name gnupg-msi-2.3.1-20210420-bin.wixlib #file binary/gnupg-w32-2.3.1_20210420.wixlib #chk 133817a4c4d11996956676c5c200222839ee5dc16e9476bd682d4e68b33ef73e # last changed: 2021-04-21 # by: ah file pinentry/pinentry-1.2.0.tar.bz2 chk 10072045a3e043d0581f91cd5676fcac7ffee957a16636adedaa4f583a616470 # last changed 2021-09-20 # by ik # verified: distsigkey.gpg #file gpgme/gpgme-1.16.0.tar.bz2 #chk 6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0 # last changed: 2018-10-17 # by: ah file gpa/gpa-0.10.0.tar.bz2 chk 95dbabe75fa5c8dc47e3acf2df7a51cee096051e5a842b4c9b6d61e40a6177b1 # last changed: 2021-01-07 # by: ah file scute/scute-1.7.0.tar.bz2 chk 437fe758b27c243a5ee2535c6b065ea1d09f2c9a02d83567d2f934bb6395c249 # # GpgOL # # by: ah # verified: Sig 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28 file gpgol/gpgol-2.5.0.tar.bz2 chk 76cb742ae53cf54f2d42d258f6ba657d2b98c752d2c742b1e4f04b26a6baf0df # # GpgEX # # last-changed: 2021-09-22 # by: wk # verified: distsigkey.gpg file gpgex/gpgex-1.0.8.tar.bz2 chk dc044904e0d2dfe28ba1dca9a55b5b4abd306070b9f34e122493b332d15f8b14 # # GnuPG utilities # server http://www.jabberwocky.com/software/paperkey # last-changed: 2017-12-05 # by: ah # verified: SIG 7D92 FD31 3AB6 F373 4CC5 9CA1 DB69 8D71 9924 2560 file paperkey-1.5.tar.gz chk c4737943083ce92e41faf13c27a9d608105b6285c0840dfb684a7ee294142ddf # # Kleopatra and dependencies # # Boost # last changes: 2016-01-21 # by: ah # verified: Second source https://github.com/mxe/mxe/commit/fdd5b9f7aa8bf0e40c1f1f8119701af96e51457e server http://downloads.sourceforge.net/project/boost/boost/ name boost-1.60.0.tar.bz2 file 1.60.0/boost_1_60_0.tar.bz2 chk 686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b # Qt base # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.10/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz.sha256 server http://download.qt.io/official_releases/qt/ name qtbase-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtbase-everywhere-src-5.15.0.tar.xz chk 9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5 # Qt Tools # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qttools-everywhere-src-5.15.0.tar.xz.sha256 name qttools-5.15.0.tar.xz file 5.15/5.15.0/submodules/qttools-everywhere-src-5.15.0.tar.xz chk ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437 # Qt Winextras # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtwinextras-everywhere-src-5.15.0.tar.xz.sha256 name qtwinextras-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtwinextras-everywhere-src-5.15.0.tar.xz chk d77f2cb2ce83bdbfd0a970bc8d7d11c96b2df16befc257d6594f79dfd92abff0 # Qt X11 extras # last changed: 2021-09-20 # by: ik # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtx11extras-everywhere-src-5.15.0.tar.xz.sha256 name qtx11extras-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtx11extras-everywhere-src-5.15.0.tar.xz chk c72b6c188284facddcf82835af048240e721dc8d6d9e8a7bd71d76fd876881a1 # Qt WaylandClient # last changed: 2021-09-21 # by: ik # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtwayland-everywhere-src-5.15.0.tar.xz.sha256 name qtwayland-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtwayland-everywhere-src-5.15.0.tar.xz chk 084133e10bfbd32a28125639660c59975f23457bba6a79b30a25802cec76a9fb # Qt svg # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qtsvg-everywhere-src-5.15.0.tar.xz.sha256 name qtsvg-5.15.0.tar.xz file 5.15/5.15.0/submodules/qtsvg-everywhere-src-5.15.0.tar.xz chk ee4d287e2e205ca8c08921b9cbe0fc58bf46be080b5359ad4d7fbdee44aeee0d # Qt translations # last changed: 2020-07-22 # by: ah # verified: HTTPS https://download.qt.io/official_releases/qt/5.15/5.15.0/submodules/qttranslations-everywhere-src-5.15.0.tar.xz.sha256 name qttranslations-5.15.0.tar.xz file 5.15/5.15.0/submodules/qttranslations-everywhere-src-5.15.0.tar.xz chk 45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe # KDE Frameworks generated by gen-frameworks.sh # When outdated activate this link: #server https://download.kde.org/Attic/frameworks/ server https://download.kde.org/stable/frameworks ##### Paste Here ##### # # Don't forget to update gpg4win.mk.in with new version numbers # # extra-cmake-modules # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/extra-cmake-modules-5.77.0.tar.xz chk 42f071f628b192122894026de20097cb0b3de411cb41c6935b48eb86ce992a65 # kconfig # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kconfig-5.77.0.tar.xz chk 30e81a7d00cc862e9d07d0e6d0fa55b561641850b7aaffcf51d4b390f1eff981 # ki18n # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/ki18n-5.77.0.tar.xz chk b2e1b74dedc1a3af88f04c470922d1fafb892d5846ea91ad139d421070cff357 # kwidgetsaddons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kwidgetsaddons-5.77.0.tar.xz chk c72094fdad6740280513ff27477003839f20555071817337d3bf5c95761d7ae4 # kcompletion # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcompletion-5.77.0.tar.xz chk 2ed7c90a575de468fd025688e7aa566b30003f4e43b1d7ed0c5dacafa0abf3d4 # kwindowsystem # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kwindowsystem-5.77.0.tar.xz chk 064d31310a8568fb1900c19b955176e245d96f0b42061c15c20bc2e2a7ab4f82 # kcoreaddons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcoreaddons-5.77.0.tar.xz chk 238e4cc422a62a2c3cb12915dbb52ad1a04be2ed13f59bfe3d1959266f08471d # kcodecs # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcodecs-5.77.0.tar.xz chk c1b34aac21f6ab21e91e0e11f620949574678146f4407c853516c0f456e81fc4 # kconfigwidgets # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kconfigwidgets-5.77.0.tar.xz chk 5f4a6897ef58992d38e820e8b0112069aec2ef0e7b943eb14265482c4fb22cd1 # kdbusaddons # last changed: 2021-09-23 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kdbusaddons-5.77.0.tar.xz chk f9c11ebd460ecc198d65b1c3e00dfd4121b6b2ac63dadb14189fee1f605d78bc # kxmlgui # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kxmlgui-5.77.0.tar.xz chk ae6df2146464ea403d33e8b0e4b69579428bf76c1e13f5fffb8634a65da930f1 # kguiaddons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kguiaddons-5.77.0.tar.xz chk df674a64142d494345daed77cb64ab5b27960ebeda94ae30287bf311acaef63c # kitemviews # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kitemviews-5.77.0.tar.xz chk 1013c09c47b87c51b21e6cfe5a6ed112ba43ab9b18b8d41fe7ffe2214faf1b23 # kitemmodels # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kitemmodels-5.77.0.tar.xz chk decc3f607a0b2e9e6d585188eb6664a2cf06646db50d4d60dce83d96a0456534 # kiconthemes # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kiconthemes-5.77.0.tar.xz chk 735834671bd32f26da075d25f4209faac04fcc6af2f4090f99d055a3a277dc79 # breeze-icons # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/breeze-icons-5.77.0.tar.xz chk 96ad021edd6999e632991bff286f13601b898dc623388e52e82b68b5ac0a0f82 # karchive # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/karchive-5.77.0.tar.xz chk 2239af811b9205d9f4486791f4b25ff5ea299b3873021a646e1c8b9d44c2be36 # kcrash # last changed: 2021-01-06 # by: ah # verified: PGP Signed by ./kde-release-key.gpg (created by gen-frameworks.sh) file 5.77/kcrash-5.77.0.tar.xz chk bda5567aca769590fbdd96d82d64ef6200350e3c88029d26c7a3603ce880a84e ##### End Paste ##### # KDE Applications # For older releases check here: server https://download.kde.org/Attic/applications # server http://download.kde.org/stable/applications/ # kmime # last changed: 2020-11-12 # by: ah # verified: PGP Sig F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87 file 19.08.3/src/kmime-19.08.3.tar.xz chk e659e1154fbc11db624f1b76bc1a8e5cf8c7f6731cef7b4ff6fad9ccf90580dd server https://download.kde.org/stable/release-service # libkleo # last changed: 2021-09-23 # by: ik # verified: PGP Signed by ./kde-release-key.gpg (created by gen-kde-gears.sh) #file 21.08.1/src/libkleo-21.08.1.tar.xz #chk bf9ff39620e06303fba0d9bdf77c4dce19d52a1bcbf48bb014dc021c325336d8 # kleopatra # last changed: 2021-09-23 # by: ik # verified: PGP Signed by ./kde-release-key.gpg (created by gen-kde-gears.sh) #file 21.08.1/src/kleopatra-21.08.1.tar.xz #chk fd5747063654ef5a1a64f33e0344c0e5bacdfa2422c3ffa9155970b6236a32c8 # Snapshots which contain unreleased fixes important for Gpg4win server https://files.intevation.de/projects/gpg4all #by ah #file scute/scute-1.6.0-beta187.tar.bz2 #chk 8d2a56dff6e6c12d628dd32075497326e8345c0096dec1280f7ab2c737410837 # by: ah # file pinentry/pinentry-1.1.1-beta44.tar.bz2 # chk c2091536687cd83569c9919d6d9fc8c3a53e74d8419320bcbb8b7dc36019c677 # by: ah file gpgme/gpgme-1.16.1-beta16.tar.bz2 chk 2aebf01c533a68372ce4b95ffaa6cd5144aa147c143f1125a947dff5d4dda6c9 # Libkleo # last changed: see package date. # by: ah # verified: Tarball created by ah. file libkleo/libkleo-202108261518.tar.gz chk aa5e5da428075f61a3bb62e8e0065efd8756cf535558c254d1de94e6efce1ff1 # KDE-L10n # last changed: see package date. # by: ah # verified: Tarball created by ah with script kde-l10n.sh file kde-l10n/kde-l10n-202109141048-bin.tar.xz chk dc7b20473a5fe314e491e6f7e365a7e9464422b9d039fe9e834aac26353b1d4d file kde-l10n/kde-l10n-202109141048-src.tar.xz chk d68abe3c6f03b5934bee380b88c66bf27c23eed658c8a11fb57357bc85038a92 # Gpg4win-tools package # last changed: see package date. # by: ah # verified: Tarball created by ah. file gpg4win-tools/gpg4win-tools-202104211124.tar.gz chk 79ea82ede46bbd02f70a64e4f003c6279e98cf4ad1e302eca753087c42fccdf3 # # Snapshots stored on the GnuPG server # server ftp://ftp.gnupg.org/gcrypt/snapshots # kleopatra # last changed: 2021-10-09 # by: wk # verified: Tarball created by wk. file kleopatra/kleopatra-202110091719.tar.xz chk ff519b18c76bf39b3c3a37e9027a2b3f87e37940e72e40e9d62736b6c2aa5438 diff --git a/patches-appimage/gnupg-2.3.2/0001-agent-Fix-segv-in-GET_PASSPHRASE-regression.patch b/patches-appimage/gnupg-2.3.2/0001-agent-Fix-segv-in-GET_PASSPHRASE-regression.patch deleted file mode 100755 index 8fdda43a..00000000 --- a/patches-appimage/gnupg-2.3.2/0001-agent-Fix-segv-in-GET_PASSPHRASE-regression.patch +++ /dev/null @@ -1,34 +0,0 @@ -#! /bin/sh -patch -p1 -l -f $* < $0 -exit $? - -From af3b1901549baa8fbe8140d9fa75a4a2b7a77a7e Mon Sep 17 00:00:00 2001 -From: Werner Koch -Date: Tue, 7 Sep 2021 08:57:44 +0200 -Subject: [PATCH GnuPG] agent: Fix segv in GET_PASSPHRASE (regression) - -* agent/command.c (cmd_get_passphrase): Do not deref PI. PI is always -NULL. --- - -Fixes-commit: b89b1f35c29ceaebe39b31444936aa66c9297f2c -GnuPG-bug-id: 5577 ---- - agent/command.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/agent/command.c b/agent/command.c -index 5e2dbc809..3e074443a 100644 ---- a/agent/command.c -+++ b/agent/command.c -@@ -1955,7 +1955,7 @@ cmd_get_passphrase (assuan_context_t ctx, char *line) - opt_qualbar, cacheid, CACHE_MODE_USER, NULL); - xfree (entry_errtext); - entry_errtext = NULL; -- is_generated = !!(pi->status & PINENTRY_STATUS_PASSWORD_GENERATED); -+ is_generated = 0; - - if (!rc) - { --- -2.33.0 diff --git a/patches-appimage/gnupg-2.3.2/0001-common-Respect-gpgconf.ctl-when-looking-up-translati.patch b/patches-appimage/gnupg-2.3.2/0001-common-Respect-gpgconf.ctl-when-looking-up-translati.patch deleted file mode 100755 index 24caa8b7..00000000 --- a/patches-appimage/gnupg-2.3.2/0001-common-Respect-gpgconf.ctl-when-looking-up-translati.patch +++ /dev/null @@ -1,67 +0,0 @@ -#! /bin/sh -patch -p1 -l -f $* < $0 -exit $? - -From 8b001f5e35cc02bd2a5470dc0902855a4d409878 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= -Date: Wed, 6 Oct 2021 13:19:39 +0200 -Subject: [PATCH GnuPG] common: Respect gpgconf.ctl when looking up - translations - -* common/i18n.c (i18n_init): Use gnupg_localedir() instead of LOCALEDIR. -(i18n_localegettext): Ditto. -* tools/gpgconf-comp.c (my_dgettext): Ditto. --- - -On Unix, gnupg_localedir() returns the locale directory relative to -the root directory of the gnupg installation if specified in the -gpgconf.ctl. Otherwise, it returns the built-in LOCALEDIR. - -GnuPG-bug-id: 5999 ---- - common/i18n.c | 6 +++--- - tools/gpgconf-comp.c | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/common/i18n.c b/common/i18n.c -index b5a286439..60362cebb 100644 ---- a/common/i18n.c -+++ b/common/i18n.c -@@ -87,7 +87,7 @@ i18n_init (void) - #else - # ifdef ENABLE_NLS - setlocale (LC_ALL, "" ); -- bindtextdomain (PACKAGE_GT, LOCALEDIR); -+ bindtextdomain (PACKAGE_GT, gnupg_localedir ()); - textdomain (PACKAGE_GT); - # endif - #endif -@@ -199,10 +199,10 @@ i18n_localegettext (const char *lc_messages, const char *string) - if (!setlocale (LC_MESSAGES, lc_messages)) - goto leave; - -- bindtextdomain (PACKAGE_GT, LOCALEDIR); -+ bindtextdomain (PACKAGE_GT, gnupg_localedir ()); - result = gettext (string); - setlocale (LC_MESSAGES, saved); -- bindtextdomain (PACKAGE_GT, LOCALEDIR); -+ bindtextdomain (PACKAGE_GT, gnupg_localedir ()); - - /* Cache the result. */ - if (!mh) -diff --git a/tools/gpgconf-comp.c b/tools/gpgconf-comp.c -index d8e75739f..73921ddb2 100644 ---- a/tools/gpgconf-comp.c -+++ b/tools/gpgconf-comp.c -@@ -1082,7 +1082,7 @@ my_dgettext (const char *domain, const char *msgid) - switched_codeset = 1; - bind_textdomain_codeset (PACKAGE_GT, "utf-8"); - -- bindtextdomain (DIRMNGR_NAME, LOCALEDIR); -+ bindtextdomain (DIRMNGR_NAME, gnupg_localedir ()); - bind_textdomain_codeset (DIRMNGR_NAME, "utf-8"); - - } --- -2.33.0 - diff --git a/patches-appimage/gnupg-2.3.2/0002-build-Fix-ksba.h-not-found-problem.patch b/patches-appimage/gnupg-2.3.2/0002-build-Fix-ksba.h-not-found-problem.patch deleted file mode 100755 index 0d0f5c3e..00000000 --- a/patches-appimage/gnupg-2.3.2/0002-build-Fix-ksba.h-not-found-problem.patch +++ /dev/null @@ -1,17 +0,0 @@ -#! /bin/sh -patch -p1 -l -f $* < $0 -exit $? - -diff --git a/sm/Makefile.in b/sm/Makefile.in -index b2f042de8..c676adac9 100644 ---- a/sm/Makefile.in -+++ b/sm/Makefile.in -@@ -557,7 +557,7 @@ t_common_ldadd = $(libcommon) $(LIBGCRYPT_LIBS) $(KSBA_LIBS) \ - $(GPG_ERROR_LIBS) $(LIBINTL) $(LIBICONV) - - t_minip12_CFLAGS = -DWITHOUT_NPTH=1 \ -- $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) -+ $(LIBGCRYPT_CFLAGS) $(KSBA_CFLAGS) $(GPG_ERROR_CFLAGS) - - t_minip12_SOURCES = $(t_common_src) t-minip12.c minip12.c - t_minip12_LDADD = $(t_common_ldadd) $(NETLIBS) diff --git a/patches-appimage/gnupg-2.3.2/0003-common-New-function-substitute_envvars.patch b/patches-appimage/gnupg-2.3.2/0003-common-New-function-substitute_envvars.patch deleted file mode 100755 index 15651079..00000000 --- a/patches-appimage/gnupg-2.3.2/0003-common-New-function-substitute_envvars.patch +++ /dev/null @@ -1,274 +0,0 @@ -#! /bin/sh -patch -p1 -l -f $* < $0 -exit $? - -From 9c272dc245456d5403e3bd50553b4fdccb370e27 Mon Sep 17 00:00:00 2001 -From: Werner Koch -Date: Fri, 17 Sep 2021 17:33:21 +0200 -Subject: [PATCH GnuPG 1/2] common: New function substitute_envvars. - -* common/stringhelp.c (substitute_envvars): New. Based on code in -gpg-connect-agent. -* common/t-stringhelp.c: Include sysutils.h. -(test_substitute_envvars): New. --- - -GnuPG-bug-id: 5599 ---- - common/stringhelp.c | 104 ++++++++++++++++++++++++++++++++++++++++++ - common/stringhelp.h | 3 ++ - common/t-stringhelp.c | 99 ++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 206 insertions(+) - -diff --git a/common/stringhelp.c b/common/stringhelp.c -index 4dc179738..c9e10800d 100644 ---- a/common/stringhelp.c -+++ b/common/stringhelp.c -@@ -1692,3 +1692,107 @@ format_text (const char *text_in, int target_cols, int max_cols) - - return text; - } -+ -+ -+/* Substitute environment variables in STRING and return a new string. -+ * On error the function returns NULL. */ -+char * -+substitute_envvars (const char *string) -+{ -+ char *line, *p, *pend; -+ const char *value; -+ size_t valuelen, n; -+ char *result = NULL; -+ -+ result = line = xtrystrdup (string); -+ if (!result) -+ return NULL; /* Ooops */ -+ -+ while (*line) -+ { -+ p = strchr (line, '$'); -+ if (!p) -+ goto leave; /* No or no more variables. */ -+ -+ if (p[1] == '$') /* Escaped dollar sign. */ -+ { -+ memmove (p, p+1, strlen (p+1)+1); -+ line = p + 1; -+ continue; -+ } -+ -+ if (p[1] == '{') -+ { -+ int count = 0; -+ -+ for (pend=p+2; *pend; pend++) -+ { -+ if (*pend == '{') -+ count++; -+ else if (*pend == '}') -+ { -+ if (--count < 0) -+ break; -+ } -+ } -+ if (!*pend) -+ goto leave; /* Unclosed - don't substitute. */ -+ } -+ else -+ { -+ for (pend = p+1; *pend && (alnump (pend) || *pend == '_'); pend++) -+ ; -+ } -+ -+ if (p[1] == '{' && *pend == '}') -+ { -+ int save = *pend; -+ *pend = 0; -+ value = getenv (p+2); -+ *pend++ = save; -+ } -+ else -+ { -+ int save = *pend; -+ *pend = 0; -+ value = getenv (p+1); -+ *pend = save; -+ } -+ -+ if (!value) -+ value = ""; -+ valuelen = strlen (value); -+ if (valuelen <= pend - p) -+ { -+ memcpy (p, value, valuelen); -+ p += valuelen; -+ n = pend - p; -+ if (n) -+ memmove (p, p+n, strlen (p+n)+1); -+ line = p; -+ } -+ else -+ { -+ char *src = result; -+ char *dst; -+ -+ dst = xtrymalloc (strlen (src) + valuelen + 1); -+ if (!dst) -+ { -+ xfree (result); -+ return NULL; -+ } -+ n = p - src; -+ memcpy (dst, src, n); -+ memcpy (dst + n, value, valuelen); -+ n += valuelen; -+ strcpy (dst + n, pend); -+ line = dst + n; -+ xfree (result); -+ result = dst; -+ } -+ } -+ -+ leave: -+ return result; -+} -diff --git a/common/stringhelp.h b/common/stringhelp.h -index 598f698c8..cd874af2e 100644 ---- a/common/stringhelp.h -+++ b/common/stringhelp.h -@@ -166,6 +166,9 @@ int compare_version_strings (const char *my_version, const char *req_version); - /* Format a string so that it fits within about TARGET_COLS columns. */ - char *format_text (const char *text, int target_cols, int max_cols); - -+/* Substitute environmen variabales in STRING. */ -+char *substitute_envvars (const char *string); -+ - - /*-- mapstrings.c --*/ - const char *map_static_macro_string (const char *string); -diff --git a/common/t-stringhelp.c b/common/t-stringhelp.c -index 5eca5a092..8d0c1c576 100644 ---- a/common/t-stringhelp.c -+++ b/common/t-stringhelp.c -@@ -43,6 +43,7 @@ - #include - - #include "t-support.h" -+#include "sysutils.h" - #include "stringhelp.h" - - -@@ -1194,6 +1195,103 @@ test_compare_version_strings (void) - } - - -+static void -+test_substitute_envvars (void) -+{ -+ struct { -+ const char *name; -+ const char *value; -+ } envvars[] = { -+ { "HOME", "/home/joe" }, -+ { "AVAR", "avar" }, -+ { "AVAR1", "avarx" }, -+ { "AVAR2", "avarxy" }, -+ { "AVAR3", "avarxyz" }, -+ { "AVAR0", "ava" }, -+ { "MY_VAR", "my_vars_value" }, -+ { "STRANGE{X}VAR", "strange{x}vars-value" }, -+ { "ZERO", "" } -+ }; -+ struct { -+ const char *string; -+ const char *result; -+ } tests[] = { -+ { "foo bar", -+ "foo bar" -+ }, -+ { "foo $HOME", -+ "foo /home/joe" -+ }, -+ { "foo $HOME ", -+ "foo /home/joe " -+ }, -+ { "foo $HOME$$", -+ "foo /home/joe$" -+ }, -+ { "foo ${HOME}/.ssh", -+ "foo /home/joe/.ssh" -+ }, -+ { "foo $HOME/.ssh", -+ "foo /home/joe/.ssh" -+ }, -+ { "foo $HOME_/.ssh", -+ "foo /.ssh" -+ }, -+ { "foo $HOME/.ssh/$MY_VAR:1", -+ "foo /home/joe/.ssh/my_vars_value:1" -+ }, -+ { "foo $HOME${MY_VAR}:1", -+ "foo /home/joemy_vars_value:1" -+ }, -+ { "${STRANGE{X}VAR}-bla", -+ "strange{x}vars-value-bla" -+ }, -+ { "${STRANGE{X}{VAR}-bla", /* missing "}" */ -+ "${STRANGE{X}{VAR}-bla" -+ }, -+ { "zero->$ZERO<-", -+ "zero-><-" -+ }, -+ { "->$AVAR.$AVAR1.$AVAR2.$AVAR3.$AVAR0<-", -+ "->avar.avarx.avarxy.avarxyz.ava<-" -+ }, -+ { "", -+ "" -+ } -+ }; -+ int idx; -+ char *res; -+ -+ for (idx=0; idx < DIM(envvars); idx++) -+ if (gnupg_setenv (envvars[idx].name, envvars[idx].value, 1)) -+ { -+ fprintf (stderr,"error setting envvar '%s' to '%s': %s\n", -+ envvars[idx].name, envvars[idx].value, -+ strerror (errno)); -+ exit (2); -+ } -+ -+ for (idx=0; idx < DIM(tests); idx++) -+ { -+ res = substitute_envvars (tests[idx].string); -+ if (!res) -+ { -+ fprintf (stderr,"error substituting '%s' (test %d): %s\n", -+ tests[idx].string, idx, strerror (errno)); -+ exit (2); -+ } -+ if (strcmp (res, tests[idx].result)) -+ { -+ fprintf (stderr, "substituted '%s'\n", tests[idx].string); -+ fprintf (stderr, " wanted '%s'\n", tests[idx].result); -+ fprintf (stderr, " got '%s'\n", res); -+ fail (idx); -+ } -+ xfree (res); -+ } -+} -+ -+ - int - main (int argc, char **argv) - { -@@ -1213,6 +1311,7 @@ main (int argc, char **argv) - test_split_fields_colon (); - test_compare_version_strings (); - test_format_text (); -+ test_substitute_envvars (); - - xfree (home_buffer); - return !!errcount; --- -2.33.0 diff --git a/patches-appimage/gnupg-2.3.2/0004-common-Support-a-gpgconf.ctl-file-under-Unix.patch b/patches-appimage/gnupg-2.3.2/0004-common-Support-a-gpgconf.ctl-file-under-Unix.patch deleted file mode 100755 index d696c716..00000000 --- a/patches-appimage/gnupg-2.3.2/0004-common-Support-a-gpgconf.ctl-file-under-Unix.patch +++ /dev/null @@ -1,415 +0,0 @@ -#! /bin/sh -patch -p1 -l -f $* < $0 -exit $? - -From d4768bb982adb5c8410303334ee8d82ba0d71f3b Mon Sep 17 00:00:00 2001 -From: Werner Koch -Date: Fri, 17 Sep 2021 17:39:07 +0200 -Subject: [PATCH GnuPG 2/2] common: Support a gpgconf.ctl file under Unix. - -* common/homedir.c (unix_rootdir): New. -(gnupg_bindir): Use it. -(gnupg_libexecdir): Use it. -(gnupg_libdir): Use it. -(gnupg_datadir): Use it. -(gnupg_localedir): Use it. --- - -This feature is useful for building and using an AppImage version of -gnupg and probably also for some other use cases. - -GnuPG-bug-id: 5999 - -Here is a sample gpgconf.ctl file ---8<---------------cut here---------------start------------->8--- -# gpgconf.ctl -# -# This file is used to change the directories where the gpg components -# are installed. It does not change the configuration directories. -# The file is expected in the same directory as gpgconf. The physical -# installation directories are evaluated and no symlinks. Blank lines -# and lines starting with pound signed are ignored. No errors are -# printed for unknown keywords or commands. The only defined key for -# now is "rootdir" which must be followed by one optional space, an -# equal sign, and the value for the root directory. Environment -# variables are substituted in standard shell manner, the final value -# must start with a slash, trailing slashed are stripped. - -rootdir = $APPDIR/gnupg ---8<---------------cut here---------------end--------------->8--- ---- - common/homedir.c | 269 ++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 252 insertions(+), 17 deletions(-) - -diff --git a/common/homedir.c b/common/homedir.c -index 7969a2c2e..b1c06bcf0 100644 ---- a/common/homedir.c -+++ b/common/homedir.c -@@ -388,8 +388,10 @@ check_portable_app (const char *dir) - } - xfree (fname); - } -+#endif /*HAVE_W32_SYSTEM*/ - - -+#ifdef HAVE_W32_SYSTEM - /* Determine the root directory of the gnupg installation on Windows. */ - static const char * - w32_rootdir (void) -@@ -441,7 +443,180 @@ w32_rootdir (void) - /* Fallback to the hardwired value. */ - return GNUPG_LIBEXECDIR; - } -+#endif /*HAVE_W32_SYSTEM*/ -+ - -+#ifndef HAVE_W32_SYSTEM /* Unix */ -+/* Determine the root directory of the gnupg installation on Unix. -+ * The standard case is that this function returns NULL so that the -+ * root directory as configured at build time is used. However, it -+ * may return a static string with a different root directory, similar -+ * to what we do on Windows. That second mode is triggered by the -+ * existence of a file gpgconf.ctl installed side-by-side to gpgconf. -+ * This file is parsed for keywords describing the actually to be used -+ * root directory. There is no solid standard on Unix to locate the -+ * binary used to create the process, thus we support this currently -+ * only on Linux where we can look this info up using the proc file -+ * system. */ -+static const char * -+unix_rootdir (void) -+{ -+ static int checked; -+ static char *dir; -+ -+ if (!checked) -+ { -+ char *p; -+ char *buffer; -+ size_t bufsize = 256-1; -+ int nread; -+ gpg_error_t err; -+ char *line; -+ size_t linelen; -+ ssize_t length; -+ estream_t fp; -+ char *rootdir; -+ -+ for (;;) -+ { -+ buffer = xmalloc (bufsize+1); -+ nread = readlink ("/proc/self/exe", buffer, bufsize); -+ if (nread < 0) -+ { -+ err = gpg_error_from_syserror (); -+ log_info ("error reading symlink '/proc/self/exe': %s\n", -+ gpg_strerror (err)); -+ buffer[0] = 0; -+ break; -+ } -+ else if (nread < bufsize) -+ { -+ buffer[nread] = 0; -+ break; /* Got it. */ -+ } -+ else if (bufsize >= 4095) -+ { -+ buffer[0] = 0; -+ log_info ("error reading symlink '/proc/self/exe': %s\n", -+ "value too large"); -+ break; -+ } -+ xfree (buffer); -+ bufsize += 256; -+ } -+ if (!*buffer) -+ { -+ xfree (buffer); -+ checked = 1; -+ return NULL; /* Error - assume no gpgconf.ctl. */ -+ } -+ -+ p = strrchr (buffer, '/'); -+ if (!p) -+ { -+ xfree (buffer); -+ checked = 1; -+ return NULL; /* Erroneous /proc - assume no gpgconf.ctl. */ -+ } -+ *p = 0; /* BUFFER has the directory. */ -+ if ((p = strrchr (buffer, '/'))) -+ { -+ /* Strip one part and expect the file below a bin dir. */ -+ *p = 0; -+ p = xstrconcat (buffer, "/bin/gpgconf.ctl", NULL); -+ xfree (buffer); -+ buffer = p; -+ } -+ else /* !p */ -+ { -+ /* Installed in the root which is not a good idea. Assume -+ * no gpgconf.ctl. */ -+ xfree (buffer); -+ checked = 1; -+ return NULL; -+ } -+ -+ if (gnupg_access (buffer, F_OK)) -+ { -+ /* No gpgconf.ctl file. */ -+ xfree (buffer); -+ checked = 1; -+ return NULL; -+ } -+ /* log_info ("detected '%s'\n", buffer); */ -+ fp = es_fopen (buffer, "r"); -+ if (!fp) -+ { -+ err = gpg_error_from_syserror (); -+ log_info ("error opening '%s': %s\n", buffer, gpg_strerror (err)); -+ xfree (buffer); -+ checked = 1; -+ return NULL; -+ } -+ -+ line = NULL; -+ linelen = 0; -+ rootdir = NULL; -+ while ((length = es_read_line (fp, &line, &linelen, NULL)) > 0) -+ { -+ /* Strip NL and CR, if present. */ -+ while (length > 0 -+ && (line[length - 1] == '\n' || line[length - 1] == '\r')) -+ line[--length] = 0; -+ trim_spaces (line); -+ if (!strncmp (line, "rootdir=", 8)) -+ p = line + 8; -+ else if (!strncmp (line, "rootdir =", 9)) /* (What a kludge) */ -+ p = line + 9; -+ else -+ continue; -+ trim_spaces (p); -+ rootdir = substitute_envvars (p); -+ if (!rootdir) -+ { -+ err = gpg_error_from_syserror (); -+ log_info ("error getting rootdir from gpgconf.ctl: %s\n", -+ gpg_strerror (err)); -+ } -+ break; -+ } -+ if (length < 0 || es_ferror (fp)) -+ { -+ err = gpg_error_from_syserror (); -+ log_info ("error reading '%s': %s\n", buffer, gpg_strerror (err)); -+ es_fclose (fp); -+ xfree (buffer); -+ xfree (line); -+ checked = 1; -+ return NULL; -+ } -+ es_fclose (fp); -+ xfree (buffer); -+ xfree (line); -+ -+ if (!rootdir || !*rootdir || *rootdir != '/') -+ { -+ log_info ("invalid rootdir '%s' specified in gpgconf.ctl\n", rootdir); -+ xfree (rootdir); -+ dir = NULL; -+ } -+ else -+ { -+ while (*rootdir && rootdir[strlen (rootdir)-1] == '/') -+ rootdir[strlen (rootdir)-1] = 0; -+ dir = rootdir; -+ gpgrt_annotate_leaked_object (dir); -+ /* log_info ("want rootdir '%s'\n", dir); */ -+ } -+ checked = 1; -+ } -+ -+ return dir; -+} -+#endif /* Unix */ -+ -+ -+#ifdef HAVE_W32_SYSTEM - static const char * - w32_commondir (void) - { -@@ -954,20 +1129,13 @@ gnupg_sysconfdir (void) - const char * - gnupg_bindir (void) - { --#if defined (HAVE_W32CE_SYSTEM) - static char *name; -- -- if (!name) -- name = xstrconcat (w32_rootdir (), DIRSEP_S "bin", NULL); -- return name; --#elif defined(HAVE_W32_SYSTEM) - const char *rdir; - -+#if defined(HAVE_W32_SYSTEM) - rdir = w32_rootdir (); - if (w32_bin_is_bin) - { -- static char *name; -- - if (!name) - { - name = xstrconcat (rdir, DIRSEP_S "bin", NULL); -@@ -978,7 +1146,18 @@ gnupg_bindir (void) - else - return rdir; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_BINDIR; -+ rdir = unix_rootdir (); -+ if (rdir) -+ { -+ if (!name) -+ { -+ name = xstrconcat (rdir, DIRSEP_S "bin", NULL); -+ gpgrt_annotate_leaked_object (name); -+ } -+ return name; -+ } -+ else -+ return GNUPG_BINDIR; - #endif /*!HAVE_W32_SYSTEM*/ - } - -@@ -991,16 +1170,30 @@ gnupg_libexecdir (void) - #ifdef HAVE_W32_SYSTEM - return gnupg_bindir (); - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_LIBEXECDIR; -+ static char *name; -+ const char *rdir; -+ -+ rdir = unix_rootdir (); -+ if (rdir) -+ { -+ if (!name) -+ { -+ name = xstrconcat (rdir, DIRSEP_S "libexec", NULL); -+ gpgrt_annotate_leaked_object (name); -+ } -+ return name; -+ } -+ else -+ return GNUPG_LIBEXECDIR; - #endif /*!HAVE_W32_SYSTEM*/ - } - - const char * - gnupg_libdir (void) - { --#ifdef HAVE_W32_SYSTEM - static char *name; - -+#ifdef HAVE_W32_SYSTEM - if (!name) - { - name = xstrconcat (w32_rootdir (), DIRSEP_S "lib" DIRSEP_S "gnupg", NULL); -@@ -1008,16 +1201,29 @@ gnupg_libdir (void) - } - return name; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_LIBDIR; -+ const char *rdir; -+ -+ rdir = unix_rootdir (); -+ if (rdir) -+ { -+ if (!name) -+ { -+ name = xstrconcat (rdir, DIRSEP_S "lib", DIRSEP_S, "gnupg", NULL); -+ gpgrt_annotate_leaked_object (name); -+ } -+ return name; -+ } -+ else -+ return GNUPG_LIBDIR; - #endif /*!HAVE_W32_SYSTEM*/ - } - - const char * - gnupg_datadir (void) - { --#ifdef HAVE_W32_SYSTEM - static char *name; - -+#ifdef HAVE_W32_SYSTEM - if (!name) - { - name = xstrconcat (w32_rootdir (), DIRSEP_S "share" DIRSEP_S "gnupg", -@@ -1026,7 +1232,20 @@ gnupg_datadir (void) - } - return name; - #else /*!HAVE_W32_SYSTEM*/ -- return GNUPG_DATADIR; -+ const char *rdir; -+ -+ rdir = unix_rootdir (); -+ if (rdir) -+ { -+ if (!name) -+ { -+ name = xstrconcat (rdir, DIRSEP_S "share" DIRSEP_S "gnupg", NULL); -+ gpgrt_annotate_leaked_object (name); -+ } -+ return name; -+ } -+ else -+ return GNUPG_DATADIR; - #endif /*!HAVE_W32_SYSTEM*/ - } - -@@ -1034,9 +1253,9 @@ gnupg_datadir (void) - const char * - gnupg_localedir (void) - { --#ifdef HAVE_W32_SYSTEM - static char *name; - -+#ifdef HAVE_W32_SYSTEM - if (!name) - { - name = xstrconcat (w32_rootdir (), DIRSEP_S "share" DIRSEP_S "locale", -@@ -1045,7 +1264,20 @@ gnupg_localedir (void) - } - return name; - #else /*!HAVE_W32_SYSTEM*/ -- return LOCALEDIR; -+ const char *rdir; -+ -+ rdir = unix_rootdir (); -+ if (rdir) -+ { -+ if (!name) -+ { -+ name = xstrconcat (rdir, DIRSEP_S "share" DIRSEP_S "locale", NULL); -+ gpgrt_annotate_leaked_object (name); -+ } -+ return name; -+ } -+ else -+ return LOCALEDIR; - #endif /*!HAVE_W32_SYSTEM*/ - } - -@@ -1171,7 +1403,10 @@ static int gnupg_module_name_called; - * be called before any invocation of 'gnupg_module_name', and must - * not be called twice. It can be used by test suites to make sure - * the components from the build directory are used instead of -- * potentially outdated installed ones. */ -+ * potentially outdated installed ones. -+ * Fixme: It might be better to make use of the newer gpgconf.ctl feature -+ * for regression testing. -+ */ - void - gnupg_set_builddir (const char *newdir) - { --- -2.33.0 diff --git a/patches-appimage/gnupg-2.3.2/0005-build-Fix-several-include-file-not-found-problems.patch b/patches-appimage/gnupg-2.3.2/0005-build-Fix-several-include-file-not-found-problems.patch deleted file mode 100755 index cac1650c..00000000 --- a/patches-appimage/gnupg-2.3.2/0005-build-Fix-several-include-file-not-found-problems.patch +++ /dev/null @@ -1,73 +0,0 @@ -#! /bin/sh -patch -p1 -l -f $* < $0 -exit $? - -diff --git a/dirmngr/Makefile.in b/dirmngr/Makefile.in -index f56e59a3e..d154e5228 100644 ---- a/dirmngr/Makefile.in -+++ b/dirmngr/Makefile.in -@@ -790,7 +790,7 @@ t_ldap_parse_uri_SOURCES = \ - - t_ldap_parse_uri_CFLAGS = -DWITHOUT_NPTH=1 $(USE_C99_CFLAGS) \ - $(LIBGCRYPT_CFLAGS) \ -- $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) -+ $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) $(KSBA_CFLAGS) - - t_ldap_parse_uri_LDADD = $(ldaplibs) $(t_common_ldadd) $(DNSLIBS) - t_ldap_misc_SOURCES = t-ldap-misc.c ldap-misc.c ldap-misc.h $(ldap_url) -diff --git a/kbx/Makefile.in b/kbx/Makefile.in -index dd727e1e0..f5fe341bc 100644 ---- a/kbx/Makefile.in -+++ b/kbx/Makefile.in -@@ -577,8 +577,8 @@ client_sources = \ - - libkeybox_a_SOURCES = $(common_sources) $(client_sources) - libkeybox509_a_SOURCES = $(common_sources) $(client_sources) --libkeybox_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) --libkeybox509_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) -DKEYBOX_WITH_X509=1 -+libkeybox_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) $(NPTH_CFLAGS) -+libkeybox509_a_CFLAGS = $(AM_CFLAGS) $(LIBASSUAN_CFLAGS) $(NPTH_CFLAGS) -DKEYBOX_WITH_X509=1 - - # We need W32SOCKLIBS because the init subsystem code in libcommon - # requires it - although we don't actually need it. It is easier -diff --git a/tools/Makefile.in b/tools/Makefile.in -index 4c29f84ed..9e9e13eda 100644 ---- a/tools/Makefile.in -+++ b/tools/Makefile.in -@@ -744,7 +744,7 @@ gpgtar_SOURCES = \ - gpgtar-extract.c \ - gpgtar-list.c - --gpgtar_CFLAGS = $(GPG_ERROR_CFLAGS) -+gpgtar_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) - gpgtar_LDADD = $(libcommon) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \ - $(LIBINTL) $(NETLIBS) $(LIBICONV) $(W32SOCKLIBS) \ - $(gpgtar_rc_objs) -@@ -759,7 +759,7 @@ gpg_wks_server_SOURCES = \ - mime-maker.c mime-maker.h \ - send-mail.c send-mail.h - --gpg_wks_server_CFLAGS = $(GPG_ERROR_CFLAGS) $(INCICONV) -+gpg_wks_server_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) $(INCICONV) - gpg_wks_server_LDADD = $(libcommon) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \ - $(LIBINTL) $(LIBICONV) - -@@ -774,7 +774,8 @@ gpg_wks_client_SOURCES = \ - send-mail.c send-mail.h \ - call-dirmngr.c call-dirmngr.h - --gpg_wks_client_CFLAGS = $(LIBASSUAN_CFLAGS) $(GPG_ERROR_CFLAGS) $(INCICONV) -+gpg_wks_client_CFLAGS = $(LIBASSUAN_CFLAGS) $(LIBGCRYPT_CFLAGS) \ -+ $(GPG_ERROR_CFLAGS) $(INCICONV) - gpg_wks_client_LDADD = $(libcommon) \ - $(LIBASSUAN_LIBS) $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \ - $(LIBINTL) $(LIBICONV) $(NETLIBS) \ -@@ -783,7 +784,7 @@ gpg_wks_client_LDADD = $(libcommon) \ - gpg_pair_tool_SOURCES = \ - gpg-pair-tool.c - --gpg_pair_tool_CFLAGS = $(GPG_ERROR_CFLAGS) $(INCICONV) -+gpg_pair_tool_CFLAGS = $(LIBGCRYPT_CFLAGS) $(GPG_ERROR_CFLAGS) $(INCICONV) - gpg_pair_tool_LDADD = $(libcommon) \ - $(LIBGCRYPT_LIBS) $(GPG_ERROR_LIBS) \ - $(LIBINTL) $(LIBICONV) $(W32SOCKLIBS)