Page MenuHome GnuPG

No OneTemporary

diff --git a/docker/appimage/build-appimage.sh b/docker/appimage/build-appimage.sh
index 6564fa20..590b0080 100644
--- a/docker/appimage/build-appimage.sh
+++ b/docker/appimage/build-appimage.sh
@@ -1,62 +1,62 @@
#!/bin/sh
# Build an AppImage of Kleopatra
# Copyright (C) 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
#
# 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 <https://www.gnu.org/licenses/>.
#
# 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
echo 'rootdir = $APPDIR/usr' >/build/AppDir/usr/bin/gpgconf.ctl
export PATH=/opt/linuxdeploy/usr/bin:$PATH
-export LD_LIBRARY_PATH=/build/AppDir/usr/lib
+export LD_LIBRARY_PATH=/build/install/lib
# tell the linuxdeploy qt-plugin where to find qmake
-export QMAKE=/build/AppDir/usr/bin/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/printsupport"
# ERROR: Failed to run plugin: qt (exit code: 6)
-mkdir -p /build/AppDir/usr/plugins/{printsupport,sqldrivers}
+mkdir -p /build/install/plugins/{printsupport,sqldrivers}
cd /build
-# remove existing wrapped AppRun, that may be left over from a previous run of
+# 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.wrapped
+rm -f /build/AppDir/AppRun /build/AppDir/AppRun.wrapped
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-kleopatra.log
diff --git a/src/appimage/appimage.mk.in b/src/appimage/appimage.mk.in
index dd2ab27f..33dd300d 100644
--- a/src/appimage/appimage.mk.in
+++ b/src/appimage/appimage.mk.in
@@ -1,459 +1,489 @@
# appimage.m4.in - Makefile for building AppImage of Kleopatra. -*- makefile -*-
# Copyright (C) 2005, 2009, 2021 g10 Code GmbH
#
# Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
#
# 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 <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-2.0+
# No servicable parts below this line :)
# These paths must be absolute, as we switch directories pretty often.
logdir := $(root)/logs
bdir := $(root)/build
appdir := $(root)/AppDir
-idir := $(appdir)/usr
+idir := $(root)/install
ipdir := $(root)/install/pkgs
tsdir := $(shell pwd)/${top_srcdir}
pdir := $(shell pwd)/${top_srcdir}/patches-appimage
+rsyncfilterdir := $(tsdir)/src/appimage/rsync-filters
# We collect the names of all pkg files used.
pkg_files =
# The build area is our scratch area, where we unpack, build and
# install the packages.
$(stampdir)/stamp-directories:
$(MKDIR) -p $(root)
$(MKDIR) -p $(stampdir)
$(MKDIR) -p $(logdir)
$(MKDIR) -p $(bdir)
$(MKDIR) -p $(idir)
$(MKDIR) -p $(ipdir)
+ $(MKDIR) -p $(appdir)/usr
touch $(bdir)/versioninfo.txt
touch $(stampdir)/stamp-directories
# Frob the name $1 by converting all '-' and '+' characters to '_'.
define FROB_macro
$(subst +,_,$(subst -,_,$(1)))
endef
# Get the variable $(1) (which may contain '-' and '+' characters).
define GETVAR
$($(call FROB_macro,$(1)))
endef
# Set a couple of common variables.
define SETVARS
set -e; \
pkg="$(call GETVAR,appimage_pkg_$(1))"; \
pkg_version="$(1)-$(call GETVAR,appimage_pkg_$(1)_version)"; \
pkglogdir="$(logdir)/$$$${pkg_version}"; \
pkgsdir="$(bdir)/$$$${pkg_version}"; \
pkgbdir="$(bdir)/$$$${pkg_version}-build"; \
pkgpdir="$(pdir)/$$$${pkg_version}"; \
pkgpbdir="$(pdir)/$(1)"; \
pkgidir="$(ipdir)/$$$${pkg_version}"; \
pkginstallroot="/tmp/$$$${pkg_version}"; \
pkgbladir="/tmp/$$$${pkg_version}/$(idir)"; \
pkg_dev="$(call GETVAR,appimage_pkg_$(1)_dev)"; \
pkg_version_dev="$(1)-dev-$(call GETVAR,appimage_pkg_$(1)_version)"; \
pkgidir_dev="$(ipdir)/$$$${pkg_version_dev}"; \
pkgcfg="$(call GETVAR,appimage_pkg_$(1)_configure)"; \
pkgextracflags="$(call GETVAR,appimage_pkg_$(1)_extracflags)"; \
pkgmkargs="$(call GETVAR,appimage_pkg_$(1)_make_args)"; \
pkgmkargs_inst="$(call GETVAR,appimage_pkg_$(1)_make_args_inst)";\
pkgmkdir="$(call GETVAR,appimage_pkg_$(1)_make_dir)"; \
pkgmkdir_inst="$(call GETVAR,appimage_pkg_$(1)_make_dir)"; \
+ pkgrsyncfilter="$(rsyncfilterdir)/$(1).rsync-filter"; \
export PKG_CONFIG_PATH="$(idir)/lib/pkgconfig"; \
export PATH="$(idir)/bin:$${PATH}"
endef
# Support macro. Unpack the archive $(1).
define DEFLATE_macro
rm -rf $$$${pkgsdir}; \
case "$(1)" in \
*/qtbase*.*.tar.xz) \
$(TAR) -xJ --transform='s,^qtbase-everywhere-src,qtbase,' -f "$(1)" ;; \
*/qttools*.*.tar.xz) \
$(TAR) -xJ --transform='s,^qttools-everywhere-src,qttools,' -f "$(1)" ;; \
*/qtx11extras*.*.tar.xz) \
$(TAR) -xJ --transform='s,^qtx11extras-everywhere-src,qtx11extras,' -f "$(1)" ;; \
*/qtwayland*.*.tar.xz) \
$(TAR) -xJ --transform='s,^qtwayland-everywhere-src,qtwayland,' -f "$(1)" ;; \
*/qtsvg*.*.tar.xz) \
$(TAR) -xJ --transform='s,^qtsvg-everywhere-src,qtsvg,' -f "$(1)" ;; \
*/qttranslations*.*.tar.xz) \
$(TAR) -xJ --transform='s,^qttranslations-everywhere-src,qttranslations,' -f "$(1)" ;; \
*/sqlite*.*.tar.gz) \
$(TAR) -xz --transform='s,^sqlite-autoconf-3270200,sqlite-3.27.2,' -f "$(1)" ;; \
*.tar.gz | *.tgz) \
$(TAR) xzf "$(1)" ;; \
*.tar.bz2 | *.tbz2 | *.tbz) \
$(TAR) xjf "$(1)" ;; \
*.tar.xz ) \
$(TAR) xJf "$(1)" ;; \
*.exe ) \
cp "$(1)" . ;; \
*.zip) \
$(UNZIP) -o "$(1)" ;; \
esac
endef
# Support macro. Strip all exe files below $(1).
define STRIP_macro
if test -z '$(DEBUG)'; then \
(cd $(1); \
for f in `find . -name \*.exe -o -name \*.dll`; do \
echo Calling $(STRIP) "$$$${pkg_version}/$$$${f}"; \
$(STRIP) "$$$${f}"; done); \
fi
endef
define GETDEPS
$(addprefix $(stampdir)/stamp-final-, $(call GETVAR,appimage_pkg_$(1)_deps))
endef
# Template for source packages.
define SPKG_template_
pkg_files += $(call GETVAR,appimage_pkg_$(1))
$(stampdir)/stamp-$(1)-00-unpack: $(stampdir)/stamp-directories $(call GETDEPS,$(1))
(cd $(bdir); \
$(call SETVARS,$(1)); \
$(call DEFLATE_macro,$$$${pkg}))
touch $(stampdir)/stamp-$(1)-00-unpack
$(stampdir)/stamp-$(1)-01-patch: $(stampdir)/stamp-$(1)-00-unpack
(shopt -s nullglob; \
$(call SETVARS,$(1)); \
for pfile in "$$$${pkgpbdir}"/*.patch "$$$${pkgpdir}"/*.patch ; do \
(cd "$$$${pkgsdir}"; chmod +x "$$$${pfile}"; "$$$${pfile}") \
done)
touch $(stampdir)/stamp-$(1)-01-patch
$(stampdir)/stamp-$(1)-02-configure: $(stampdir)/stamp-$(1)-01-patch
($(call SETVARS,$(1)); \
set -x; \
mkdir -p "$$$${pkglogdir}"; \
mkdir -p "$$$${pkgbdir}"; \
cd "$$$${pkgbdir}"; \
eval "../$$$${pkg_version}/configure" \
--prefix="$$$${pkgidir}" \
$$$${pkgcfg} \
CFLAGS=\"-mms-bitfields $$$${pkgextracflags}\" | \
tee "$$$${pkglogdir}/configure.log"; \
shopt -s nullglob; \
for pfile in "$$$${pkgpbdir}"/*.postcfg \
"$$$${pkgpdir}"/*.postcfg ; do \
(cd "$$$${pkgsdir}"; "$$$${pfile}") \
done; \
for pfile in "$$$${pkgpbdir}"/*.postcfg-build \
"$$$${pkgpdir}"/*.postcfg-build ; do \
(cd "$$$${pkgbdir}"; "$$$${pfile}") \
done;) && \
touch $(stampdir)/stamp-$(1)-02-configure
$(stampdir)/stamp-$(1)-03-make: $(stampdir)/stamp-$(1)-02-configure
($(call SETVARS,$(1)); \
cd "$$$${pkgbdir}"; \
test -n "$$$${pkgmkdir}" && cd "$$$${pkgmkdir}"; \
$(MAKE) $(AM_MAKEFLAGS) $(GPG4WIN_PARALLEL) $$$${pkgmkargs})
touch $(stampdir)/stamp-$(1)-03-make
# Note that post_install must come last because it may be empty and
# "; ;" is a syntax error.
$(stampdir)/stamp-$(1)-04-install: $(stampdir)/stamp-$(1)-03-make
($(call SETVARS,$(1)); \
cd "$$$${pkgbdir}"; \
cd "$$$${pkgmkdir_inst}"; \
$(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs_inst} install; \
$(call STRIP_macro,"$$$${pkgidir}"); \
rm -f "$$$${pkgidir}/share/info/dir"; \
$(call appimage_pkg_$(call FROB_macro,$(1))_post_install))
touch $(stampdir)/stamp-$(1)-04-install
$(stampdir)/stamp-$(1)-05-rsync: $(stampdir)/stamp-$(1)-04-install
($(call SETVARS,$(1)); \
set -x; \
$(RSYNC) -a --link-dest="$$$${pkgidir}/" "$$$${pkgidir}/" "$(idir)/" )
touch $(stampdir)/stamp-$(1)-05-rsync
-$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-05-rsync
+$(stampdir)/stamp-$(1)-06-copy-to-appdir: $(stampdir)/stamp-$(1)-05-rsync
+ ($(call SETVARS,$(1)); \
+ set -x; \
+ if test -f "$$$${pkgrsyncfilter}"; then \
+ cp "$$$${pkgrsyncfilter}" "$$$${pkgidir}/.rsync-filter"; \
+ $(RSYNC) -av -FF --omit-dir-times --link-dest="$$$${pkgidir}/" "$$$${pkgidir}/" "$(appdir)/usr/"; \
+ fi )
+ touch $(stampdir)/stamp-$(1)-06-copy-to-appdir
+
+$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-06-copy-to-appdir
touch $(stampdir)/stamp-final-$(1)
.PHONY : clean-$(1)
clean-$(1):
($(call SETVARS,$(1)); \
(cd $(ipdir) && \
(rm -fR "$$$${pkg_version}")); \
rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
rm -f $(stampdir)/stamp-final-$(1) $(stampdir)/stamp-$(1)-*
endef
define SPKG_template
$(if $(filter-out no, $(call GETVAR,appimage_pkg_$(1))),
$(call SPKG_template_,$1))
endef
# Template for binary packages.
define BPKG_template_
pkg_files += $(call GETVAR,appimage_pkg_$(1))
pkg_files += $(call GETVAR,appimage_pkg_$(1)_dev)
$(stampdir)/stamp-$(1)-00-install: $(stampdir)/stamp-directories $(call GETDEPS,$(1))
($(call SETVARS,$(1)); \
$(MKDIR) "$$$${pkgidir}"; \
cd $$$${pkgidir}; \
$(call DEFLATE_macro,$$$${pkg}))
touch $(stampdir)/stamp-$(1)-00-install
# Note that post_install must come last because it may be empty and
# "; ;" is a syntax error.
$(stampdir)/stamp-$(1)-01-install-dev: $(stampdir)/stamp-$(1)-00-install
($(call SETVARS,$(1)); \
$(MKDIR) "$$$${pkgidir_dev}"; \
(cd $$$${pkgidir_dev}; \
$(call DEFLATE_macro,$$$${pkg_dev})); \
$(call appimage_pkg_$(call FROB_macro,$(1))_post_install))
touch $(stampdir)/stamp-$(1)-01-install-dev
$(stampdir)/stamp-$(1)-02-stow: $(stampdir)/stamp-$(1)-01-install-dev
($(call SETVARS,$(1)); \
cd $(ipdir); \
$(STOW) "$$$${pkg_version}")
touch $(stampdir)/stamp-$(1)-02-stow
$(stampdir)/stamp-$(1)-03-stow-dev: $(stampdir)/stamp-$(1)-02-stow
($(call SETVARS,$(1)); \
cd $(ipdir); \
$(STOW) "$$$${pkg_version_dev}")
touch $(stampdir)/stamp-$(1)-03-stow-dev
$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-03-stow-dev
touch $(stampdir)/stamp-final-$(1)
.PHONY : clean-$(1)
clean-$(1):
($(call SETVARS,$(1)); \
cd $(ipdir) && \
($(STOW) -D "$$$${pkg_version}" || true; \
$(STOW) -D "$$$${pkg_version_dev}" || true; \
rm -fR "$$$${pkg_version}" "$$$${pkg_version_dev}"))
rm -f $(stampdir)/stamp-final-$(1) $(stampdir)/stamp-$(1)-*
endef
define BPKG_template
$(if $(filter-out no, $(call GETVAR,appimage_pkg_$(1))),
$(call BPKG_template_,$1))
endef
# Template for Qt packages.
define QTPKG_template_
pkg_files += $(call GETVAR,appimage_pkg_$(1))
$(stampdir)/stamp-$(1)-00-unpack: $(stampdir)/stamp-directories $(call GETDEPS,$(1))
(cd $(bdir); \
$(call SETVARS,$(1)); \
$(call DEFLATE_macro,$$$${pkg}))
touch $(stampdir)/stamp-$(1)-00-unpack
$(stampdir)/stamp-$(1)-01-patch: $(stampdir)/stamp-$(1)-00-unpack
(shopt -s nullglob; \
$(call SETVARS,$(1)); \
for pfile in "$$$${pkgpbdir}"/*.patch "$$$${pkgpdir}"/*.patch ; do \
(cd "$$$${pkgsdir}"; chmod +x "$$$${pfile}"; "$$$${pfile}") \
done)
touch $(stampdir)/stamp-$(1)-01-patch
$(stampdir)/stamp-$(1)-02-configure: $(stampdir)/stamp-$(1)-01-patch
($(call SETVARS,$(1)); \
set -x; \
mkdir -p "$$$${pkglogdir}"; \
mkdir -p "$$$${pkgbdir}"; \
cd "$$$${pkgbdir}"; \
$$$${pkgcfg} | \
tee "$$$${pkglogdir}/configure.log") && \
touch $(stampdir)/stamp-$(1)-02-configure
$(stampdir)/stamp-$(1)-03-make: $(stampdir)/stamp-$(1)-02-configure
($(call SETVARS,$(1)); \
cd "$$$${pkgbdir}"; \
test -n "$$$${pkgmkdir}" && cd "$$$${pkgmkdir}"; \
export LD_LIBRARY_PATH=$(idir)/lib; \
$(MAKE) $(AM_MAKEFLAGS) $(GPG4WIN_PARALLEL) $$$${pkgmkargs})
touch $(stampdir)/stamp-$(1)-03-make
# Note that post_install must come last because it may be empty and
# "; ;" is a syntax error.
$(stampdir)/stamp-$(1)-04-install: $(stampdir)/stamp-$(1)-03-make
($(call SETVARS,$(1)); \
set -x; \
$(call appimage_pkg_$(call FROB_macro,$(1))_post_install))
touch $(stampdir)/stamp-$(1)-04-install
$(stampdir)/stamp-$(1)-05-rsync: $(stampdir)/stamp-$(1)-04-install
($(call SETVARS,$(1)); \
set -x; \
$(RSYNC) -a --link-dest="$$$${pkgidir}/" "$$$${pkgidir}/" "$(idir)/" )
touch $(stampdir)/stamp-$(1)-05-rsync
-$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-05-rsync
+$(stampdir)/stamp-$(1)-06-copy-to-appdir: $(stampdir)/stamp-$(1)-05-rsync
+ ($(call SETVARS,$(1)); \
+ set -x; \
+ if test -f "$$$${pkgrsyncfilter}"; then \
+ cp "$$$${pkgrsyncfilter}" "$$$${pkgidir}/.rsync-filter"; \
+ $(RSYNC) -av -FF --omit-dir-times --link-dest="$$$${pkgidir}/" "$$$${pkgidir}/" "$(appdir)/usr/"; \
+ fi )
+ touch $(stampdir)/stamp-$(1)-06-copy-to-appdir
+
+$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-06-copy-to-appdir
touch $(stampdir)/stamp-final-$(1)
.PHONY : clean-$(1)
clean-$(1):
($(call SETVARS,$(1)); \
(cd $(ipdir) && \
(rm -fR "$$$${pkg_version}")); \
rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
rm -f $(stampdir)/stamp-final-$(1) $(stampdir)/stamp-$(1)-*
endef
define QTPKG_template
$(if $(filter-out no, $(call GETVAR,appimage_pkg_$(1))),
$(call QTPKG_template_,$1))
endef
# Template for KDE packages.
define KDEPKG_template_
pkg_files += $(call GETVAR,appimage_pkg_$(1))
$(stampdir)/stamp-$(1)-00-unpack: $(stampdir)/stamp-directories $(call GETDEPS,$(1))
(cd $(bdir); \
$(call SETVARS,$(1)); \
$(call DEFLATE_macro,$$$${pkg}))
touch $(stampdir)/stamp-$(1)-00-unpack
$(stampdir)/stamp-$(1)-01-patch: $(stampdir)/stamp-$(1)-00-unpack
(shopt -s nullglob; \
$(call SETVARS,$(1)); \
cd "$$$${pkgsdir}"; \
sed -i 's/set(KF5_MIN_VERSION.*)/set(KF5_MIN_VERSION "5.77.0")/' CMakeLists.txt; \
sed -i 's/set(KF5_VERSION.*)/set(KF5_VERSION "5.77.0")/' CMakeLists.txt; \
sed -i 's/set(KMIME_VERSION.*)/set(KMIME_VERSION "5.2.40")/' CMakeLists.txt; \
sed -i 's/set(LIBKLEO_VERSION.*)/set(LIBKLEO_VERSION "5.4.40")/' CMakeLists.txt; \
sed -i 's/set(QT_REQUIRED_VERSION.*)/set(QT_REQUIRED_VERSION "5.15.0")/' CMakeLists.txt; \
for pfile in "$$$${pkgpbdir}"/*.patch "$$$${pkgpdir}"/*.patch ; do \
(cd "$$$${pkgsdir}"; chmod +x "$$$${pfile}"; "$$$${pfile}") \
done)
touch $(stampdir)/stamp-$(1)-01-patch
$(stampdir)/stamp-$(1)-02-configure: $(stampdir)/stamp-$(1)-01-patch
(set -x; \
$(call SETVARS,$(1)); \
mkdir -p "$$$${pkglogdir}"; \
mkdir -p "$$$${pkgbdir}"; \
cd "$$$${pkgbdir}"; \
$(CMAKE) \
-DCMAKE_INSTALL_PREFIX="$$$${pkgidir}" \
-DCMAKE_PREFIX_PATH="$$$${pkgidir}" \
-DKDE_INSTALL_DATADIR="$$$${pkgidir}/share" \
-DBUILD_TESTING=False \
$$$${pkgcfg} $$$${pkgextracflags} "../$$$${pkg_version}" | \
tee "$$$${pkglogdir}/configure.log") && \
touch $(stampdir)/stamp-$(1)-02-configure
$(stampdir)/stamp-$(1)-03-make: $(stampdir)/stamp-$(1)-02-configure
($(call SETVARS,$(1)); \
cd "$$$${pkgbdir}"; \
test -n "$$$${pkgmkdir}" && cd "$$$${pkgmkdir}"; \
export LD_LIBRARY_PATH=$(idir)/lib; \
$(MAKE) $(AM_MAKEFLAGS) $(GPG4WIN_PARALLEL) $$$${pkgmkargs})
touch $(stampdir)/stamp-$(1)-03-make
# Note that post_install must come last because it may be empty and
# "; ;" is a syntax error.
$(stampdir)/stamp-$(1)-04-install: $(stampdir)/stamp-$(1)-03-make
($(call SETVARS,$(1)); \
cd "$$$${pkgbdir}"; \
cd "$$$${pkgmkdir_inst}"; \
$(MAKE) $(AM_MAKEFLAGS) $$$${pkgmkargs_inst} install; \
$(call STRIP_macro,"$$$${pkgidir}"); \
$(call appimage_pkg_$(call FROB_macro,$(1))_post_install))
touch $(stampdir)/stamp-$(1)-04-install
$(stampdir)/stamp-$(1)-05-rsync: $(stampdir)/stamp-$(1)-04-install
($(call SETVARS,$(1)); \
set -x; \
$(RSYNC) -a --link-dest="$$$${pkgidir}/" "$$$${pkgidir}/" "$(idir)/" )
touch $(stampdir)/stamp-$(1)-05-rsync
-$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-05-rsync
+$(stampdir)/stamp-$(1)-06-copy-to-appdir: $(stampdir)/stamp-$(1)-05-rsync
+ ($(call SETVARS,$(1)); \
+ set -x; \
+ if test -f "$$$${pkgrsyncfilter}"; then \
+ cp "$$$${pkgrsyncfilter}" "$$$${pkgidir}/.rsync-filter"; \
+ $(RSYNC) -av -FF --omit-dir-times --link-dest="$$$${pkgidir}/" "$$$${pkgidir}/" "$(appdir)/usr/"; \
+ fi )
+ touch $(stampdir)/stamp-$(1)-06-copy-to-appdir
+
+$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-06-copy-to-appdir
touch $(stampdir)/stamp-final-$(1)
.PHONY : clean-$(1)
clean-$(1):
($(call SETVARS,$(1)); \
(cd $(ipdir) && \
(rm -fR "$$$${pkg_version}")); \
rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
rm -f $(stampdir)/stamp-final-$(1) $(stampdir)/stamp-$(1)-*
endef
define KDEPKG_template
$(if $(filter-out no, $(call GETVAR,appimage_pkg_$(1))),
$(call KDEPKG_template_,$1))
endef
# Insert the template for each source package.
$(foreach spkg, $(appimage_spkgs), $(eval $(call SPKG_template,$(spkg))))
# Insert the template for each binary package.
$(foreach bpkg, $(appimage_bpkgs), $(eval $(call BPKG_template,$(bpkg))))
# Insert the template for Qt packages.
$(foreach qtpkg, $(appimage_qtpkgs), $(eval $(call QTPKG_template,$(qtpkg))))
# Insert the template for KDE packages.
$(foreach kdepkg, $(appimage_kdepkgs), $(eval $(call KDEPKG_template,$(kdepkg))))
$(stampdir)/stamp-final: $(stampdir)/stamp-directories
$(stampdir)/stamp-final: $(addprefix $(stampdir)/stamp-final-,$(appimage_build_list))
touch $(stampdir)/stamp-final
$(bdir)/versioninfo.txt: $(stampdir)/stamp-final
touch $(bdir)/versioninfo.txt
all-appimage: $(stampdir)/stamp-final
# Just to check if we catched all stamps.
clean-stamps:
$(RM) -fR $(stampdir)
clean-appimage:
- $(RM) -fR $(root) $(stampdir) $(logdir) $(appdir)
+ $(RM) -fR $(bdir) $(idir) $(stampdir) $(logdir) $(appdir)
.PHONY : all-appimage clean-stamps clean-appimage
# @emacs_local_vars_begin@
# @emacs_local_vars_read_only@
# @emacs_local_vars_end@
diff --git a/src/appimage/rsync-filters/breeze-icons.rsync-filter b/src/appimage/rsync-filters/breeze-icons.rsync-filter
new file mode 100644
index 00000000..50dbce3e
--- /dev/null
+++ b/src/appimage/rsync-filters/breeze-icons.rsync-filter
@@ -0,0 +1 @@
++ /share/
diff --git a/src/appimage/rsync-filters/gnupg.rsync-filter b/src/appimage/rsync-filters/gnupg.rsync-filter
new file mode 100644
index 00000000..366a98e7
--- /dev/null
+++ b/src/appimage/rsync-filters/gnupg.rsync-filter
@@ -0,0 +1,10 @@
++ /bin/*
++ /libexec/*
+- /sbin/
+
++ /share/
++ /share/gnupg/
++ /share/gnupg/*
++ /share/locale/
++ /share/locale/**
+- /share/*
diff --git a/src/appimage/rsync-filters/karchive.rsync-filter b/src/appimage/rsync-filters/karchive.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/karchive.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kcodecs.rsync-filter b/src/appimage/rsync-filters/kcodecs.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kcodecs.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kcompletion.rsync-filter b/src/appimage/rsync-filters/kcompletion.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kcompletion.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kconfig.rsync-filter b/src/appimage/rsync-filters/kconfig.rsync-filter
new file mode 100644
index 00000000..a132821e
--- /dev/null
+++ b/src/appimage/rsync-filters/kconfig.rsync-filter
@@ -0,0 +1,5 @@
+- /bin/
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kconfigwidgets.rsync-filter b/src/appimage/rsync-filters/kconfigwidgets.rsync-filter
new file mode 100644
index 00000000..a132821e
--- /dev/null
+++ b/src/appimage/rsync-filters/kconfigwidgets.rsync-filter
@@ -0,0 +1,5 @@
+- /bin/
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kcoreaddons.rsync-filter b/src/appimage/rsync-filters/kcoreaddons.rsync-filter
new file mode 100644
index 00000000..a132821e
--- /dev/null
+++ b/src/appimage/rsync-filters/kcoreaddons.rsync-filter
@@ -0,0 +1,5 @@
+- /bin/
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kcrash.rsync-filter b/src/appimage/rsync-filters/kcrash.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kcrash.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kdbusaddons.rsync-filter b/src/appimage/rsync-filters/kdbusaddons.rsync-filter
new file mode 100644
index 00000000..a132821e
--- /dev/null
+++ b/src/appimage/rsync-filters/kdbusaddons.rsync-filter
@@ -0,0 +1,5 @@
+- /bin/
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kguiaddons.rsync-filter b/src/appimage/rsync-filters/kguiaddons.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kguiaddons.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/ki18n.rsync-filter b/src/appimage/rsync-filters/ki18n.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/ki18n.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kiconthemes.rsync-filter b/src/appimage/rsync-filters/kiconthemes.rsync-filter
new file mode 100644
index 00000000..a132821e
--- /dev/null
+++ b/src/appimage/rsync-filters/kiconthemes.rsync-filter
@@ -0,0 +1,5 @@
+- /bin/
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kitemmodels.rsync-filter b/src/appimage/rsync-filters/kitemmodels.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kitemmodels.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kitemviews.rsync-filter b/src/appimage/rsync-filters/kitemviews.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kitemviews.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kleopatra.rsync-filter b/src/appimage/rsync-filters/kleopatra.rsync-filter
new file mode 100644
index 00000000..014885a0
--- /dev/null
+++ b/src/appimage/rsync-filters/kleopatra.rsync-filter
@@ -0,0 +1,3 @@
++ /bin/
+- /lib64/
++ /share/
diff --git a/src/appimage/rsync-filters/kmime.rsync-filter b/src/appimage/rsync-filters/kmime.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kmime.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kwidgetsaddons.rsync-filter b/src/appimage/rsync-filters/kwidgetsaddons.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kwidgetsaddons.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kwindowsystem.rsync-filter b/src/appimage/rsync-filters/kwindowsystem.rsync-filter
new file mode 100644
index 00000000..ae1a64c2
--- /dev/null
+++ b/src/appimage/rsync-filters/kwindowsystem.rsync-filter
@@ -0,0 +1,4 @@
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/kxmlgui.rsync-filter b/src/appimage/rsync-filters/kxmlgui.rsync-filter
new file mode 100644
index 00000000..938f67d3
--- /dev/null
+++ b/src/appimage/rsync-filters/kxmlgui.rsync-filter
@@ -0,0 +1,5 @@
++ /etc/
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/libgpg-error.rsync-filter b/src/appimage/rsync-filters/libgpg-error.rsync-filter
new file mode 100644
index 00000000..f5ebc239
--- /dev/null
+++ b/src/appimage/rsync-filters/libgpg-error.rsync-filter
@@ -0,0 +1,12 @@
+- /bin/
+- /include/
+
+# explicitly copy libgpg-error.so to AppDir because linuxdeploy blacklists it
++ /lib/
++ /lib/libgpg-error.so*
+- /lib/*
+
++ /share/
++ /share/locale/
++ /share/locale/**
+- /share/*
diff --git a/src/appimage/rsync-filters/libkleo.rsync-filter b/src/appimage/rsync-filters/libkleo.rsync-filter
new file mode 100644
index 00000000..938f67d3
--- /dev/null
+++ b/src/appimage/rsync-filters/libkleo.rsync-filter
@@ -0,0 +1,5 @@
++ /etc/
+- /include/
+- /lib64/
+- /mkspecs/
++ /share/
diff --git a/src/appimage/rsync-filters/paperkey.rsync-filter b/src/appimage/rsync-filters/paperkey.rsync-filter
new file mode 100644
index 00000000..883e8a82
--- /dev/null
+++ b/src/appimage/rsync-filters/paperkey.rsync-filter
@@ -0,0 +1,2 @@
++ /bin/
+- /share/
diff --git a/src/appimage/rsync-filters/pinentry.rsync-filter b/src/appimage/rsync-filters/pinentry.rsync-filter
new file mode 100644
index 00000000..5590e888
--- /dev/null
+++ b/src/appimage/rsync-filters/pinentry.rsync-filter
@@ -0,0 +1,2 @@
++ /bin/*
+- /share/

File Metadata

Mime Type
text/x-diff
Expires
Mon, Dec 23, 3:26 PM (23 h, 53 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
f8/09/fbf955a32f1de7249aefafd205d9

Event Timeline