diff --git a/README b/README index e88a35a1..e400034b 100644 --- a/README +++ b/README @@ -1,197 +1,197 @@ This is gpg4win - the GUI Installer Builder for W32. See also the file doc/README.en.txt. For MSI Package instructions see src/README-msi.txt. Instructions: ============= 1. Download the source and binary packages that are required to build the installer: $ cd packages $ sh download.sh [...] $ cd .. 1.5 (Only necessary when building from Git) $ ./autogen.sh 2. Configure the source tree for cross compilation: $ ./autogen.sh --build-w32 3. Build the installer: $ make The installer will be made available under src/installers: src/installers/gpg4win-X.Y.Z.exe Instructions for AppImage: ========================== 1. (Only necessary when building from Git) $ ./autogen.sh 2. Build the Docker image that will be used for creating the AppImage: $ docker/build-appimage-docker-image.sh 3. Build the AppImage using the Docker image: $ docker/run-appimage-build.sh Basic requirements ================== A decent POSIX system is required for building this software as well as GNU make. We are using Debian GNU/Linux 10 (buster), any other POSIX system should work as well but you may run into problems due to different toolchain versions. For MSI Packages you will additionally need the dependencies mentioned in src/README-msi.txt To satisfy all needs of configure at least the following packages need to be installed: build-essential autoconf automake mingw-w64 mingw-w64-i686-dev \ mingw-w64-x86-64-dev nsis stow unzip icoutils texlive \ libglib2.0-dev gettext docbook-utils ghostscript \ texinfo libgdk-pixbuf2.0-dev texlive-latex-extra libqt4-dev-bin \ wget mingw-w64 texlive-lang-german cmake libgtk2.0-bin libxml2-utils \ gperf libgettextpo-dev automake-1.15 libkf5config-dev libkf5config-dev-bin \ libkf5coreaddons-dev gpgrt-tools imagemagick Building the Webpages ===================== The website is in the dedicated branch "website" in the git reposity. Checkout that branch and read the instructions: git checkout website Development Branches ==================== The old version of gpg4win (version < 1.2) is since 1.1.3 tracked by the GIT branch: gpg4win-1-branch. Only important fixes will go into this version. The current version in the GIT master starts as version 1.9. Adding new packages to the installer: ===================================== This requires editing a couple of files; we might eventually automate some of these tasks. Here is a short run up: 1. Add constants for the package FOO into src/config.nsi.in . 2. Create 2 new installer scripts, named src/inst-foo.nsi and uninst-foo.nsi and add them to EXTRA_DIST in src/Makefile.am. 3. Add foo to one the variables gpg4win_bpgks (if foo should not be build be the gpg4win) or gpg4win_spkgs (if foo should be build by gpg4win) in src/Makefile.am . Also add any required configure flags etc. 4. Add FOO to src/inst-sections.nsi. 5. Add detection of packages to configure.ac. Check out the available macros in m4/gpg4win.m4. Depending on the way an upstream package is packaged, you might need to write a new macro. 6. Add download information to packages/download.sh. 7. If the package ships pkg-config (*.pc) support files, you need add post install instructions to Makefile.am. Note that *.pc files may be in the "runtime" directory ${pkgidir} if the package is built within gpg4win (or peculiarly shipped), or in the development package ${pkgidir_dev}. 8. Add the installed files to the mkportable headers. Then run the usual "./autogen.sh" to create the actual configure file and run configure as described above. Kleopatra Locatization ====================== The kde-l10n package is generated with the script src/kde-l10n.sh execute it after a build to generate an updated l10n package which -you can then upload and add to packages.current. +you can then upload and add to packages.common. The tarballs and the nsis scripts are located in the temp directory kde-l10n prints as output. Installer Slideshow =================== During installation we are showing a slide show. If you want to change the contents shown add / modify files in the src/slideshow subfolder. Install them in inst-gpg4win.nsi (Add them to the list of files before g4wihelp::slide_show) and modify src/slideshow/slides.dat accordingly. Version numbers =============== We use a specific order of version numbers. This is best shown by an example: 2.1.1 - The final 2.1.1 release. 2.1.1-beta88 - A snapshot before the 2.1.1 release. (The 88 in this example is the number of commits since the last release). The important point is that we bump up the version number before we do an release and append a suffix to mark it as a development version. This allows other software to use a configure check for the next to be released version of gpg4win. Copyright ========= The entire Gpg4win package is Copyright (C) 2005, 2006, 2007, 2008, 2009, 2012, 2013 g10 Code GmbH 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA This file ========= Copyright 2005, 2006, 2008 g10 Code GmbH This file is free software; as a special exception the author gives unlimited permission to copy and/or distribute it, with or without modifications, as long as this notice is preserved. This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. diff --git a/configure.ac b/configure.ac index a3e5b91d..2151dc85 100644 --- a/configure.ac +++ b/configure.ac @@ -1,520 +1,520 @@ # configure.ac for GPG4Win # Copyright (C) 2005, 2006, 2007, 2008, 2010 g10 Code 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, see . # (Process this file with autoconf to produce a configure script.) AC_PREREQ(2.59) min_automake_version="1.9.3" # To build a release you need to create a tag with the version number # (git tag -s gpg4win-2.x.y) and run "./autogen.sh --force". Please # bump the version number immediately after the release and do another # commit and push so that the git magic is able to work. m4_define([my_gnupg_3_version], [4.0.0]) m4_define([my_gnupg_2_version], [3.1.20]) # Below is m4 magic to extract and compute the git revision number, # the decimalized short revision number, a beta version string and a # flag indicating a development version (my_isgit). The latter works # by requiring the final tag in the repository. m4_define([git_revision], m4_esyscmd([git rev-parse --short HEAD | tr -d '\n\r'])) m4_define([git_revision_dec], m4_esyscmd_s([echo $((0x$(echo ]git_revision[|head -c 4)))])) m4_define([git_betastring], m4_esyscmd_s([git describe --tags --match 'gpg4win-[0-9].*.*[0-9]' \ --long | awk -F- '$3!=0{print"-beta"$3}'])) m4_define([my_gnupg_minor], m4_esyscmd_s([ls packages/gnupg-*.tar.* | cut -d. -f2])) m4_define([my_isgit],m4_if(git_betastring,[],[no],[yes])) m4_define([my_version],m4_if(my_gnupg_minor, [2], [[my_gnupg_2_version]], [[my_gnupg_3_version]])) m4_define([my_full_version],[my_version[]git_betastring]) AC_INIT([gpg4win],[my_full_version],[gpg4win-devel@wald.intevation.org]) # Remember to update these version numbers also in the NEWS file. MANUALVERSION_EINSTEIGER="2.0.2" MANUALDATE_EINSTEIGER="30. Mai 2006" MANUALVERSION_DURCHBLICKER="2.0.2" MANUALDATE_DURCHBLICKER="30. Mai 2006" MANUALVERSION_NOVICES="1.0.0" MANUALDATE_NOVICES="Nov. 30, 2006" MANUALVERSION_ADVANCED="0.0.0" MANUALDATE_ADVANCED="Nov. 30, 2006" COMPENDIUM_VERSION_DE="4.0.1" COMPENDIUM_DATE_DE="3. April 2018" COMPENDIUMINPROGRESS_DE="zuletzt geringfügig korrigiert am 3. April 2018" COMPENDIUM_VERSION_EN="3.0.0" COMPENDIUM_DATE_EN="30th November 2016" COMPENDIUMINPROGRESS_EN="last minor changes from 30th November 2016" MANUALINPROGRESS_DE=m4_if(my_isgit,[yes],["~und evtl. seitdem weiter bearbeitet"]) MANUALINPROGRESS_EN=m4_if(my_isgit,[yes],["~and may have been further edited"]) PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION GIT_REVISION=git_revision GIT_REVISION_DEC=git_revision_dec AC_CONFIG_SRCDIR(src/config.nsi.in) AC_CONFIG_MACRO_DIR(m4) AM_INIT_AUTOMAKE([tar-ustar]) AM_MAINTAINER_MODE AC_CANONICAL_HOST AM_CONFIG_HEADER(config.h) # Language support AM_PO_SUBDIRS AC_SUBST(PACKAGE) AC_SUBST(VERSION) AC_SUBST(MANUALVERSION_EINSTEIGER) AC_SUBST(MANUALDATE_EINSTEIGER) AC_SUBST(MANUALVERSION_DURCHBLICKER) AC_SUBST(MANUALDATE_DURCHBLICKER) AC_SUBST(MANUALINPROGRESS_DE) AC_SUBST(MANUALVERSION_NOVICES) AC_SUBST(MANUALDATE_NOVICES) AC_SUBST(MANUALVERSION_ADVANCED) AC_SUBST(MANUALDATE_ADVANCED) AC_SUBST(MANUALINPROGRESS_EN) AC_SUBST(COMPENDIUM_VERSION_DE) AC_SUBST(COMPENDIUM_DATE_DE) AC_SUBST(COMPENDIUMINPROGRESS_DE) AC_SUBST(COMPENDIUM_VERSION_EN) AC_SUBST(COMPENDIUM_DATE_EN) AC_SUBST(COMPENDIUMINPROGRESS_EN) if echo "${PACKAGE_VERSION}" | egrep 'svn|rc|beta|git' >/dev/null ; then IS_BETA_BUILD=yes else IS_BETA_BUILD=no fi AC_SUBST(IS_BETA_BUILD) # Generate extended version information. Note, that for NSIS use we # must not translate the dots to commas in the BUILD_FILEVERSION. BUILD_TIMESTAMP=`date --iso-8601=minutes` BUILD_ISODATE=`date --iso-8601` changequote(,)dnl BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./'` changequote([,])dnl BUILD_FILEVERSION="${BUILD_FILEVERSION}${GIT_REVISION_DEC}" AC_SUBST(BUILD_TIMESTAMP) AC_SUBST(BUILD_ISODATE) AC_SUBST(BUILD_FILEVERSION) # The final release is copied to an archive server. The default # location may be changed by setting the RELEASEHOST envvar. if test -z "$RELEASEHOST" ; then RELEASEHOST="vigenere:tarballs/gpg4win" if test "${IS_BETA_BUILD}" = yes ; then RELEASEHOST="${RELEASEHOST}/Beta" fi fi AC_SUBST(RELEASEHOST) # Substitutions to set generated files in a Emacs buffer to read-only. AC_SUBST(emacs_local_vars_begin, ['Local Variables:']) AC_SUBST(emacs_local_vars_read_only, ['buffer-read-only: t']) AC_SUBST(emacs_local_vars_end, ['End:']) GPG4WIN_BUILD_RELEASE(gpg4win, no) GPG4WIN_BUILD_RELEASE(appimage, no) # For development it is often faster to build without manuals. AC_ARG_ENABLE(manuals, AC_HELP_STRING([--disable-manuals], [Do not build the manuals (for debugging)]), build_manuals=$enableval, build_manuals=yes) AM_CONDITIONAL(BUILD_MANUALS, test "$build_manuals" = yes) # Additionaly enable building gpgex for another host AC_ARG_WITH([additional-gpgex-host], AC_HELP_STRING([--with-additional-gpgex-host=HOST], [Additionaly build gpgex for this host]), [if test "$withval" = yes; then AC_MSG_FAILURE( [--with-additional-gpgex-host was given, but no host specified]) else gpgex_host=$withval fi ], gpgex_host=no) if test "$gpgex_host" != no; then GPGEX_ADD_HOST="$gpgex_host" fi AC_SUBST(GPGEX_ADD_HOST) AC_ARG_ENABLE(fast-makensis, AC_HELP_STRING([--enable-fast-makensis], [Use a less efficient compressor to speed up building]), use_fast_makensis=$enableval, use_fast_makensis=no) if test "$use_fast_makensis" = yes; then EXTRA_MAKENSIS_FLAGS="${EXTRA_MAKENSIS_FLAGS} -DDISABLE_LZMA=1" fi AC_SUBST(EXTRA_MAKENSIS_FLAGS) # # Set variables for use by automake makefiles. # AM_CONDITIONAL(BUILD_GPG4WIN, test "$build_gpg4win" = "yes") AM_CONDITIONAL(BUILD_APPIMAGE, test "$build_appimage" = "yes") # Required tools. AC_PROG_CC AC_PROG_CPP AC_PROG_RANLIB AC_CHECK_TOOL(AR, ar, :) AC_CHECK_TOOLS(STRIP, strip) AC_CHECK_TOOLS(DLLTOOL, dlltool) AC_CHECK_PROGS(MAKE, make) AC_CHECK_PROGS(UNZIP, unzip) AC_CHECK_PROGS(TAR, tar) AC_CHECK_PROGS(MKDIR, mkdir) AC_CHECK_PROGS(CP, cp) AC_CHECK_PROGS(RM, rm) AC_CHECK_PROGS(STOW, stow) AC_CHECK_PROGS(MAKENSIS, makensis) AC_CHECK_PROGS(ZCAT, zcat) AC_CHECK_PROGS(TEXI2DVI, texi2dvi) AC_CHECK_PROGS(DVIPDF, dvipdf) AC_CHECK_PROGS(CONVERT, convert) AC_CHECK_PROGS(SHA1SUM, sha1sum) AC_CHECK_PROGS(MSGFMT, msgfmt) AC_CHECK_PROGS(GITLOG_TO_CHANGELOG, gitlog-to-changelog, [build-aux/gitlog-to-changelog]) AC_CHECK_PROGS(BUILD_CC, gcc cc) AC_CHECK_PROGS(CMAKE, cmake3 cmake) AC_CHECK_PROGS(RSYNC, rsync) AC_PROG_INSTALL if test -n "$GPGEX_ADD_HOST"; then AC_CHECK_TOOLS(STRIP_EX, ${GPGEX_ADD_HOST}-strip) fi if test -z "$GPG4WIN_PARALLEL"; then JOBS=$(nproc 2>/dev/null || echo 1) GPG4WIN_PARALLEL=-j$JOBS AC_MSG_NOTICE([Using autodetected $JOBS make jobs. You can override this by setting GPG4WIN_PARALLEL.]) fi AC_SUBST(GPG4WIN_PARALLEL) required_tools="MAKE TAR MKDIR CP RM ZCAT SHA1SUM MSGFMT BUILD_CC CMAKE" if test "$build_gpg4win" = yes ; then required_tools="$required_tools DLLTOOL UNZIP STOW MAKENSIS TEXI2DVI DVIPDF CONVERT" fi if test "$build_appimage" = yes ; then required_tools="$required_tools RSYNC" fi missing_tools= for i in $required_tools; do eval tmp='$'$i if test -z "$tmp"; then missing_tools="$missing_tools `echo $i | tr 'A-Z' 'a-z'`" fi done if test "$build_gpg4win" = yes ; then # Try to find the KF5ConfigConfig to set up host tooling # variable for the kconfig compiler. # A variable path here would probably be better but we cant # use $libdir to avoid it beeing required to configure gpg4win # build with a multiarch libdir set. kf5_host_tooling="/usr/lib/x86_64-linux-gnu/cmake" if test ! -f "$kf5_host_tooling/KF5Config/KF5ConfigConfig.cmake"; then missing_tools="$missing_tools libkf5config-dev" fi AC_SUBST(kf5_host_tooling) # Additional runtime libraries from mingw. if test -f "/usr/lib/gcc/i686-w64-mingw32/10-win32/libgcc_s_dw2-1.dll"; then GPG4WIN_RUNTIME_LIBRARY(libgcc_s_dw2-1) else GPG4WIN_RUNTIME_LIBRARY(libgcc_s_sjlj-1) fi GPG4WIN_RUNTIME_LIBRARY(libstdc++-6) GPG4WIN_RUNTIME_LIBRARY(libwinpthread-1) AC_CHECK_PROGS(GLIB_GENMARSHAL, glib-genmarshal) AC_CHECK_PROGS(GLIB_COMPILE_SCHEMAS, glib-compile-schemas) AC_CHECK_PROGS(GLIB_COMPILE_RESOURCES, glib-compile-resources) AC_CHECK_PROGS(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource) fi opt_tools= if test "$build_gpg4win" = yes ; then opt_tools="GLIB_GENMARSHAL GLIB_COMPILE_SCHEMAS GLIB_COMPILE_RESOURCES GDK_PIXBUF_CSOURCE" fi missing_opt_tools= for i in $opt_tools; do eval tmp='$'$i if test -z "$tmp"; then missing_opt_tools="$missing_opt_tools `echo $i | tr 'A-Z' 'a-z'`" fi done # Optional tools. AC_CHECK_PROGS(WGET, wget) # Packages for Gpg4Win. if test "$build_gpg4win" = yes ; then gpg4win_dup_sources="" GPG4WIN_SPKG([zlib]) GPG4WIN_BPKG_GTK([pkgconfig]) GPG4WIN_SPKG([libffi], [pkgconfig]) GPG4WIN_SPKG([pcre], [pkgconfig]) GPG4WIN_SPKG([glib], [pcre libiconv gettext pkgconfig libffi zlib]) GPG4WIN_BPKG_GTK_DEV([atk], [glib pkgconfig]) GPG4WIN_BPKG_GTK_DEV([pango], [glib pkgconfig]) GPG4WIN_BPKG_GTK_DEV([cairo], [glib pkgconfig]) GPG4WIN_BPKG_GTK_DEV([expat]) GPG4WIN_BPKG_GTK_DEV([freetype], [pkgconfig zlib]) GPG4WIN_BPKG_GTK_DEV([fontconfig], [pkgconfig zlib expat]) GPG4WIN_SPKG([gdk-pixbuf], [glib]) GPG4WIN_SPKG([gtk+], [libiconv gettext pkgconfig atk pango dnl glib gdk-pixbuf cairo]) GPG4WIN_SPKG([libpng], [pkgconfig]) GPG4WIN_SPKG([bzip2]) GPG4WIN_SPKG([libgpg-error], [libiconv gettext]) GPG4WIN_SPKG([libassuan], [libgpg-error w32pth]) GPG4WIN_SPKG([scute], [libgpg-error libassuan]) GPG4WIN_SPKG([pinentry], [qtbase libiconv gtk+]) GPG4WIN_SPKG([gpgme], [libgpg-error libassuan glib qtbase]) GPG4WIN_SPKG([gpgol], [gpgme libassuan]) GPG4WIN_SPKG([gpgex], [libassuan]) GPG4WIN_SPKG([paperkey]) GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme]) GPG4WIN_SPKG([w32pth]) GPG4WIN_SPKG([libiconv]) GPG4WIN_SPKG([gettext], [libiconv]) # Packages needed for gpgex GPG4WIN_SPKGEX([libgpg-error]) GPG4WIN_SPKGEX([libassuan], [libgpg-error]) GPG4WIN_SPKGEX([gpgex], [libassuan]) GPG4WIN_SPKGEX([gpgme], [libgpg-error libassuan]) GPG4WIN_SPKGEX([gpgol], [gpgme]) GPG4WIN_IPKG([compendium]) # The GnuPG Package. GPG4WIN_BPKG_BINSRC([gnupg-w32]) GPG4WIN_BPKG_MSISRC([gnupg-msi]) # See the script kde-l10n.sh how this package is created. GPG4WIN_BPKG_BINSRC([kde-l10n]) # Qt related stuff. GPG4WIN_SPKG([qtbase], [libpng]) GPG4WIN_SPKG([qttools], [qtbase]) GPG4WIN_SPKG([qttranslations], [qtsvg qttools qtwinextras]) GPG4WIN_SPKG([qtwinextras], [qtbase]) GPG4WIN_SPKG([qtsvg], [qtbase]) GPG4WIN_SPKG([boost], [expat zlib bzip2]) GPG4WIN_KDEPKG([breeze-icons], [extra-cmake-modules qtbase]) GPG4WIN_KDEPKG([kleopatra], [gnupg-w32 breeze-icons kxmlgui libkleo kde-l10n kitemmodels qttranslations]) GPG4WIN_KDEPKG([extra-cmake-modules]) GPG4WIN_KDEPKG([kconfig], [qtbase qttools extra-cmake-modules]) GPG4WIN_KDEPKG([ki18n], [qtbase gettext qttools extra-cmake-modules]) GPG4WIN_KDEPKG([kwidgetsaddons], [kconfig qttools qtbase]) GPG4WIN_KDEPKG([kcompletion], [kwidgetsaddons]) GPG4WIN_KDEPKG([kwindowsystem], [qtbase qtwinextras]) GPG4WIN_KDEPKG([kcoreaddons], [qtbase qttools]) GPG4WIN_KDEPKG([kcodecs], [qtbase qttools]) GPG4WIN_KDEPKG([kguiaddons], [qtbase qttools]) GPG4WIN_KDEPKG([kmime], [kcodecs ki18n]) GPG4WIN_KDEPKG([kconfigwidgets], [kwidgetsaddons kguiaddons ki18n kcodecs kconfig]) GPG4WIN_KDEPKG([kitemviews], [qtbase qttools]) GPG4WIN_KDEPKG([kitemmodels], [qtbase qttools]) GPG4WIN_KDEPKG([karchive], [qtbase qttools extra-cmake-modules]) GPG4WIN_KDEPKG([kcrash], [kwindowsystem kcoreaddons]) GPG4WIN_KDEPKG([kiconthemes], [qtsvg kconfigwidgets karchive]) GPG4WIN_KDEPKG([kxmlgui], [kiconthemes kconfigwidgets kitemviews]) GPG4WIN_KDEPKG([libkleo], [kmime kwidgetsaddons kwindowsystem kcompletion kconfig gpgme]) GPG4WIN_KDEPKG([gpg4win-tools], [libkleo gpgme]) GPG4WIN_FINALIZE fi # Packages for the AppImage if test "$build_appimage" = yes ; then appimage_dup_sources="" APPIMAGE_SPKG([sqlite]) APPIMAGE_SPKG([libgpg-error]) APPIMAGE_SPKG([libassuan], [libgpg-error]) APPIMAGE_SPKG([npth]) APPIMAGE_SPKG([libgcrypt], [libgpg-error]) APPIMAGE_SPKG([libksba], [libgpg-error]) APPIMAGE_SPKG([gnupg], [libgpg-error libassuan npth libgcrypt libksba sqlite]) APPIMAGE_SPKG([pinentry], [qtbase qtx11extras]) APPIMAGE_SPKG([gpgme], [libgpg-error libassuan qtbase]) APPIMAGE_SPKG([paperkey]) # See the script kde-l10n.sh how this package is created. APPIMAGE_BPKG_BINSRC([kde-l10n]) # Qt related stuff. APPIMAGE_SPKG([qtbase]) APPIMAGE_SPKG([qttools], [qtbase]) APPIMAGE_SPKG([qttranslations], [qtsvg qttools qtx11extras]) APPIMAGE_SPKG([qtx11extras], [qtbase]) APPIMAGE_SPKG([qtwayland], [qtbase]) APPIMAGE_SPKG([qtsvg], [qtbase]) APPIMAGE_KDEPKG([extra-cmake-modules], [qttools]) APPIMAGE_KDEPKG([breeze-icons], [extra-cmake-modules qtbase]) APPIMAGE_KDEPKG([kconfig], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([ki18n], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([kcoreaddons], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([kcodecs], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([kdbusaddons], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([kguiaddons], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([kitemviews], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([kitemmodels], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([karchive], [qtbase qttools extra-cmake-modules]) APPIMAGE_KDEPKG([kwindowsystem], [qtbase qtx11extras extra-cmake-modules]) APPIMAGE_KDEPKG([kcrash], [kwindowsystem kcoreaddons]) APPIMAGE_KDEPKG([kmime], [kcodecs ki18n]) APPIMAGE_KDEPKG([kwidgetsaddons], [kconfig qttools qtbase]) APPIMAGE_KDEPKG([kcompletion], [kwidgetsaddons]) APPIMAGE_KDEPKG([kconfigwidgets], [kwidgetsaddons kguiaddons ki18n kcodecs kconfig]) APPIMAGE_KDEPKG([kiconthemes], [qtsvg kconfigwidgets karchive]) APPIMAGE_KDEPKG([kxmlgui], [kiconthemes kconfigwidgets kitemviews]) # snapshot of libkleo without translations; needs kde-l10n APPIMAGE_KDEPKG([libkleo], [kmime kwidgetsaddons kwindowsystem kcompletion kconfig gpgme kde-l10n]) # (release) tarball of libkleo with translations #APPIMAGE_KDEPKG([libkleo], [kmime kwidgetsaddons kwindowsystem kcompletion kconfig gpgme]) # snapshot of kleopatra without translations; needs kde-l10n APPIMAGE_KDEPKG([kleopatra], [gnupg gpgme breeze-icons kxmlgui libkleo kitemmodels qttranslations kdbusaddons kde-l10n]) # (release) tarball of kleopatra with translations #APPIMAGE_KDEPKG([kleopatra], [gnupg gpgme breeze-icons kxmlgui libkleo kitemmodels qttranslations kdbusaddons]) APPIMAGE_FINALIZE fi # Throw an error if required tools are missing if test -n "$missing_tools"; then for i in $missing_tools; do AC_MSG_NOTICE([$i is missing]) done AC_MSG_ERROR([[ *** *** Required tools not found. Please consult the above messages *** and install them before running configure again. ***]]) fi # Throw an error if any duplicate source packages have been found if test -n "$gpg4win_dup_sources"; then tmp= for i in $gpg4win_dup_sources; do tmp="$tmp $i" done tmp2=" You might remove them with:" for i in $gpg4win_rm_candidates; do - if ! grep -q $(basename $i) packages/packages.current; then + if ! grep -q $(basename $i) packages/packages.common packages/packages.3 packages/packages.4; then tmp2="$tmp2 rm $i" fi done AC_MSG_ERROR([Packages with more that one source version:$tmp$tmp2]) fi if test -n "$appimage_dup_sources"; then tmp= for i in $appimage_dup_sources; do tmp="$tmp $i" done tmp2=" You might remove them with:" for i in $appimage_rm_candidates; do - if ! grep -q $(basename $i) packages/packages.current; then + if ! grep -q $(basename $i) packages/packages.common packages/packages.3 packages/packages.4; then tmp2="$tmp2 rm $i" fi done AC_MSG_ERROR([Packages with more that one source version:$tmp$tmp2]) fi # Finalize. AC_CONFIG_FILES(Makefile) AC_CONFIG_FILES(packages/Makefile src/Makefile po/Makefile.in) AC_CONFIG_FILES(po/build-cc) AC_CONFIG_FILES(src/config.nsi src/gpg4win.mk) AC_CONFIG_FILES(doc/Makefile) AC_CONFIG_FILES(doc/logo/Makefile) AC_CONFIG_FILES(doc/manual/Makefile doc/manual/version.tex) AC_CONFIG_FILES(src/toolchain.cmake) AC_CONFIG_FILES(src/appimage/Makefile src/appimage/appimage.mk) AC_OUTPUT # Throw a warning if optional tools are missing if test -n "$missing_opt_tools"; then AC_MSG_WARN([[ *** *** Some tools not found. They may or may not be needed depending on *** the packages you want to include. For example GLIB and GTK+ *** require certain tools; you may need to install a recent version of *** GLIB and GTK+ on the build machine to allow for cross-compiling. ***]]) for i in $missing_opt_tools; do AC_MSG_NOTICE([$i is missing]) done fi echo -n " $PACKAGE_NAME-$PACKAGE_VERSION prepared for make Revision: ${GIT_REVISION} (${GIT_REVISION_DEC}) 32bit platform: $host 64bit platform: ${GPGEX_ADD_HOST} " if test -n "$JOBS"; then echo " make jobs: ${JOBS}" else echo "" fi diff --git a/docker/appimage/build-appimage.sh b/docker/appimage/build-appimage.sh index 05eb7f28..2b031ac5 100644 --- a/docker/appimage/build-appimage.sh +++ b/docker/appimage/build-appimage.sh @@ -1,114 +1,114 @@ #!/bin/sh # Build an AppImage of Kleopatra # Copyright (C) 2021 g10 Code GmbH # # Software engineering by Ingo Klöcker # # This file is part of GnuPG. # # GnuPG 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 3 of the License, or # (at your option) any later version. # # GnuPG 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, see . # # SPDX-License-Identifier: GPL-3.0+ set -e source /opt/rh/devtoolset-7/enable cd /src/packages ./download.sh cd /src ./configure --enable-appimage --enable-maintainer-mode --disable-manuals cd /src make if [ -f /src/src/gnupg-vsd/custom.mk ]; then GNUPG_BUILD_VSD=yes else GNUPG_BUILD_VSD=no fi export GNUPG_BUILD_VSD echo 'rootdir = $APPDIR/usr' >/build/AppDir/usr/bin/gpgconf.ctl if [ $GNUPG_BUILD_VSD = yes ]; then echo 'sysconfdir = /etc/gnupg-vsd' >>/build/AppDir/usr/bin/gpgconf.ctl else echo 'sysconfdir = /etc/gnupg' >>/build/AppDir/usr/bin/gpgconf.ctl fi # Copy the start-shell helper for use AppRun cp /src/src/appimage/start-shell /build/AppDir/ chmod +x /build/AppDir/start-shell # Copy standard global configuration if [ $GNUPG_BUILD_VSD = yes ]; then mkdir -p /build/AppDir/usr/share/gnupg/conf/gnupg-vsd rsync -av --delete --omit-dir-times \ /src/src/gnupg-vsd/Standard/etc/gnupg/ \ /build/AppDir/usr/share/gnupg/conf/gnupg-vsd/ fi export PATH=/opt/linuxdeploy/usr/bin:$PATH export LD_LIBRARY_PATH=/build/install/lib # tell the linuxdeploy qt-plugin where to find qmake export QMAKE=/build/install/bin/qmake # create plugin directories expected by linuxdeploy qt-plugin # workaround for # [qt/stdout] Deploy[qt/stderr] terminate called after throwing an instance of 'boost::filesystem::filesystem_error' # [qt/stderr] what(): boost::filesystem::directory_iterator::construct: No such file or directory: "/build/AppDir/usr/plugins/sqldrivers" # ERROR: Failed to run plugin: qt (exit code: 6) mkdir -p /build/install/plugins/sqldrivers # copy KDE plugins for d in iconengines kf5 pim; do mkdir -p /build/AppDir/usr/plugins/${d}/ rsync -av --delete --omit-dir-times /build/install/lib64/plugins/${d}/ /build/AppDir/usr/plugins/${d}/ done cd /build # Remove existing AppRun and wrapped AppRun, that may be left over # from a previous run of linuxdeploy, to ensure that our custom AppRun # is deployed rm -f /build/AppDir/AppRun /build/AppDir/AppRun.wrapped 2>/dev/null # Remove existing translations that may be left over from a previous # run of linuxdeploy rm -rf /build/AppDir/usr/translations # Remove the version files to make sure that only one will be created. rm -f /build/AppDir/GnuPG-VS-Desktop-VERSION 2>/dev/null rm -f /build/AppDir/GnuPG-Desktop-VERSION 2>/dev/null # Extract gnupg version or (for VSD builds) gpg4win version for use # as filename of the AppImage if [ $GNUPG_BUILD_VSD = yes ]; then myversion=$(grep PACKAGE_VERSION /src/config.h|sed -n 's/.*"\(.*\)"$/\1/p') OUTPUT=gnupg-vs-desktop-${myversion}-x86_64.AppImage echo $myversion >/build/AppDir/GnuPG-VS-Desktop-VERSION else - myversion=$(grep '^file gnupg/gnupg-2.*tar' /src/packages/packages.current \ + myversion=$(ls gnupg/gnupg-2.*tar /src/packages \ | sed -n 's,.*/gnupg-\(2.*\).tar.*,\1,p') OUTPUT=gnupg-desktop-${myversion}-x86_64.AppImage echo $myversion >/build/AppDir/GnuPG-Desktop-VERSION fi export OUTPUT linuxdeploy --appdir /build/AppDir \ --desktop-file /build/AppDir/usr/share/applications/org.kde.kleopatra.desktop \ --icon-file /build/AppDir/usr/share/icons/hicolor/256x256/apps/kleopatra.png \ --custom-apprun /src/src/appimage/AppRun \ --plugin qt \ --output appimage \ 2>&1 | tee /build/logs/linuxdeploy-gnupg-desktop.log diff --git a/packages/Makefile.am b/packages/Makefile.am index 13ea6084..56ac1458 100644 --- a/packages/Makefile.am +++ b/packages/Makefile.am @@ -1,37 +1,38 @@ # Makefile.am - Installer for GnuPG 4 Windows Makefile. # Copyright (C) 2005 g10 Code 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 -EXTRA_DIST = download.sh packages.current gen-frameworks.sh \ - get-gpg-package.sh distsigkey.gpg \ +EXTRA_DIST = download.sh packages.common packages.3 packages.4 \ + gen-frameworks.sh gen-tarball.sh gen-kde-gears.sh \ + get-gpg-package.sh distsigkey.gpg kde-release-keys.gpg \ $(wildcard *.tar.gz *.tar.bz2 *.tar.xz *.zip *.exe *.wixlib) #upload: packages.current packages.current.sig # set -e; \ # echo "Uploading package list to www.gpg4win.org ..."; \ # user=`svn info | sed -n '/^URL:/ s,.*svn+ssh://\\([^@]*\\).*,\\1,p'`;\ # rsync -v -W packages.current{,.sig} \ # $${user}@wald.intevation.org:/gpg4win/htdocs/ # # #packages.current.sig : packages.current # @echo "packages.current.sig is expected to be a detached signature of packages.current" # @echo "Use \"gpg -sbu YOUR_KEYID packages.current\" to create it" # @false # diff --git a/packages/download.sh b/packages/download.sh index 3fd62a69..ebeaf3a0 100755 --- a/packages/download.sh +++ b/packages/download.sh @@ -1,225 +1,249 @@ #!/bin/sh # download.sh - Download source and binary packages for GPG4Win. # Copyright (C) 2005, 2007 g10 Code 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 # Syntax of the packages.current file: # # 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). Checksums are sha256 sums. # # Example: # # # GnuPG stuff. # server ftp://ftp.gnupg.org/gcrypt # # file gnupg/gnupg-1.4.2.tar.gz # chk 1e92b39ef4f4cdf3b1849b6f824dd8f160276aa5c9718be35f8a7bd190bf6154 # usage() { cat <&2 ;; esac shift done WGET="wget $ipvx" # We used to download the packages.current list but it turned out that # this is too problematic: As there is no history of these files it is # not possible to build and older version of gpg4win using the online # version of the list. Thus we keep the list now with the installer # and in case a package update is required we will post an updated # list to the mailing list. # #url="http://www.gpg4win.org" #if [ "$keep_list" = "no" ]; then # echo "downloading packages list from \`$url'." # if ! ${WGET} -N -q $url/packages.current{,.sig} ; then # echo "download of packages list failed." >&2 # exit 1 # fi #fi # #if [ "$sig_ckeck" = yes ]; then # if ! gpgv --keyring ./packages.keys packages.current.sig packages.current # then # echo "list of packages is not usable." >&2 # exit 1 # fi #fi +packages="packages.common" + +if [ "$version4" = "yes" ] && [ "$version3" = "yes" ]; then + echo "Invalid arguments. Both -v4 and -v3 set." + exit 1; +elif [ "$version3" = "yes" ]; then + echo "Downloading packages for version 3.x" + packages="$packages packages.3" +else + echo "Downloading packages for version 4.x" + packages="$packages packages.4" +fi + + lnr=0 name= [ -f '.#download.failed' ] && rm '.#download.failed' -cat packages.current | \ +cat $packages | \ while read key value ; do : $(( lnr = lnr + 1 )) [ -z "$key" ] && continue case "$key" in \#*) ;; server) server="$value" name= ;; name) if [ -z "$value" ]; then echo "syntax error in name statement, line $lnr" >&2 exit 1 fi name="$value" [ $quiet = no ] && echo "using name \`$name'" ;; file) if [ -z "$value" ]; then echo "syntax error in file statement, line $lnr" >&2 exit 1 fi if [ -z "$server" ]; then echo "no server location for file \`$value', line $lnr" >&2 exit 1 fi url="$server/$value" if [ -z "$name" ]; then name=`basename "$value"` fi if [ -s "$name" -a "$force" = "no" ]; then [ $quiet = no ] && echo "package \`$url' ... already exists" else echo -n "downloading \`$url' ..." if ${WGET} -c -q "$url" -O "$name" ; then if [ $(stat -c'%s' "$name" 2>/dev/null || echo 0) -eq 0 ]; then echo " FAILED (line $lnr)" echo "line $lnr: $url has zero length" >> '.#download.failed' else echo " okay" fi else echo " FAILED (line $lnr)" echo "line $lnr: downloading $url failed" >> '.#download.failed' fi fi ;; link) if [ -z "$value" ]; then echo "syntax error in file statement, line $lnr" >&2 exit 1 fi if [ -z "$name" ]; then echo "no name for link in line $lnr" >&2 exit 1 fi if [ -f "$value" -a "$force" = "no" ]; then [ $quiet = no ] && echo "package \`$value' ... already exists" else echo -n "linking \`$value' to \`$name' ..." if ln -f "$name" "$value"; then echo " okay" else echo " FAILED (line $lnr)" echo "line $lnr: linking $value failed" >> '.#download.failed' fi fi ;; chk) if [ -z "$value" ]; then echo "syntax error in chk statement, line $lnr" >&2 exit 1 fi if [ -z "$name" ]; then echo "no file name for chk statement, line $lnr" >&2 exit 1 fi [ $quiet = no ] && echo -n "checking \`$name' ..." if echo "$value *$name" | sha256sum -c --status ; then [ $quiet = no ] && echo " okay" else [ $quiet = no ] && echo " FAILED (line $lnr)" [ $quiet = no ] || echo "checking \`$name' FAILED (line $lnr)" echo "line $lnr: checking $name failed" >> '.#download.failed' fi name= ;; *) echo "syntax error in \`packages.current', line $lnr." >&2 exit 1 esac done if [ -f '.#download.failed' ]; then cat '.#download.failed' >&2 rm '.#download.failed' echo "some files failed to download or checksums are not matching" >&2 exit 1 fi diff --git a/packages/packages.3 b/packages/packages.3 new file mode 100644 index 00000000..02f78beb --- /dev/null +++ b/packages/packages.3 @@ -0,0 +1,49 @@ +# packages.3 the list of packages for use with gpg4win-3.x -*- 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. + +server https://gnupg.org/ftp/gcrypt + +# 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. + +# last changed 2021-11-22 +# by ah +# verified: distsigkey.gpg +file libgcrypt/libgcrypt-1.8.8.tar.bz2 +chk 895de2bb981dd127f0821d1ce13fadf7d760f9fa7737648b15f2c1fe13cc5af5 + +# last changed 2021-11-22 +# by ah +# verified: distsigkey.gpg +file gnupg/gnupg-2.2.32.tar.bz2 +chk b2571b35f82c63e7d278aa6a1add0d73453dc14d3f0854be490c844fca7e0614 + +# last changed: 2021-10-09 +# by: wk +# verified: own signing key +name gnupg-w32-2.2.32_20211006-bin.exe +file binary/gnupg-w32-2.2.32_20211006.exe +chk 7d14476aab7316486005164d283f26efa52dfa02afab425afd54544c90f2dff8 + +name gnupg-w32-2.2.32-20210915-src.tar.xz +file binary/gnupg-w32-2.2.32_20211006.tar.xz +chk 1e5aa7cbe989284d6ed7a2ba7f6a3f5e2eb6d9128b2356f2b44f0eadfe0a68a7 + +name gnupg-msi-2.2.32-20210915-src.tar.xz +file binary/gnupg-w32-2.2.32_20211006.tar.xz +chk 1e5aa7cbe989284d6ed7a2ba7f6a3f5e2eb6d9128b2356f2b44f0eadfe0a68a7 + +name gnupg-msi-2.2.32-20210915-bin.wixlib +file binary/gnupg-w32-2.2.32_20211006.wixlib +chk 3eb3ecc68fdfea865112f5dc1b807323aa2d2911ac65abaaca38e476fa752af6 diff --git a/packages/packages.4 b/packages/packages.4 new file mode 100644 index 00000000..4b0c2969 --- /dev/null +++ b/packages/packages.4 @@ -0,0 +1,41 @@ +# packages.4 the list of packages for use with gpg4win-4.x -*- 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. + +server https://gnupg.org/ftp/gcrypt + +# 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. + +# last changed 2021-09-20 +# by ik +# verified: distsigkey.gpg +file libgcrypt/libgcrypt-1.9.4.tar.bz2 +chk ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7 + +# 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 diff --git a/packages/packages.current b/packages/packages.common similarity index 93% rename from packages/packages.current rename to packages/packages.common index 3972b9fc..049a5cc6 100644 --- a/packages/packages.current +++ b/packages/packages.common @@ -1,695 +1,653 @@ -# packages.current - list of current packages for use with gpg4win -*- sh -*- +# packages.common - list of 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 needs PCRE # last-changed: 2021-10-11 # by: ah (checksum added by ik) # verified: Sig: 45F6 8D54 BBE2 3FB3 039B 46E5 9766 E084 FB0F 43D8 server https://sourceforge.net/projects/pcre/files/pcre/ file 8.44/pcre-8.44.tar.gz chk aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728 # # 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.50 # last-changed: 2021-09-02 # by: ah file glib-2.50.2.tar.xz chk be68737c1f268c05493e503b3b654d2b7f43d7d0b8c5556f7e4651b870acfbf5 # # 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-11-14 # by wk # verified: swdb file libgpg-error/libgpg-error-1.43.tar.bz2 chk a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf # 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-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-10-09 -# by: wk -# verified: own signing key -name gnupg-w32-2.2.32_20211006-bin.exe -file binary/gnupg-w32-2.2.32_20211006.exe -chk 7d14476aab7316486005164d283f26efa52dfa02afab425afd54544c90f2dff8 - -name gnupg-w32-2.2.32-20210915-src.tar.xz -file binary/gnupg-w32-2.2.32_20211006.tar.xz -chk 1e5aa7cbe989284d6ed7a2ba7f6a3f5e2eb6d9128b2356f2b44f0eadfe0a68a7 - -name gnupg-msi-2.2.32-20210915-src.tar.xz -file binary/gnupg-w32-2.2.32_20211006.tar.xz -chk 1e5aa7cbe989284d6ed7a2ba7f6a3f5e2eb6d9128b2356f2b44f0eadfe0a68a7 - -name gnupg-msi-2.2.32-20210915-bin.wixlib -file binary/gnupg-w32-2.2.32_20211006.wixlib -chk 3eb3ecc68fdfea865112f5dc1b807323aa2d2911ac65abaaca38e476fa752af6 - - # 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