Contrary to libdigidocpp's libdigidocpp, qdigidoc uses Qt to load
modules and thus causes different search behaviour in dlopen(3).
This approach is not required on every platform; on OpenBSD[0]
qdigidoc4(1) finds "opensc-pkcs11.so" due to /usr/local/lib/pkcs11/
in the main program's DT_RUNPATH.
0: https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/libexec/ld.so/library_subr.c?annotate=1.51
(line 297)
Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: ncurses-interface.o:src/ncurses-interface.h:83: multiple definition of
`pointer'; ncurses-gui.o:src/ncurses-interface.h:83: first defined here
Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: include/dieharder/parse.h:21: multiple definition of `splitbuf';
include/dieharder/parse.h:21: first defined here
Without the change build fails on upstream gcc-10 as:
ld: decrypt.o:/build/crackxls2003/decrypt.c:50: multiple definition of
`real_key'; crackxls2003.o:/build/crackxls2003/crackxls2003.c:64: first defined here
While at it dropped -O5 -march=native default optimization flags.
This release is still subject to double-free crashes in at least the
signature verification functionality, but debugging that requires an up
to date version (released two months ago), so here we go.
NB: Upstream released two source tarballs without further information,
qdigidoc4_r.2.11.110.orig.tar.xz contains sources without subdirectory,
qdigidoc4_r.2.11.110-1804.tar.xz contains a subdirectory with sources;
their difference is irrelevant for our build, so pick the one 1804 one:
```
$ diff -u -r qdigidoc4_r.2.11.110.orig/ qdigidoc4_r.2.11.110-1804/qdigidoc4/
Only in qdigidoc4_r.2.11.110.orig/cmake: .git
Only in qdigidoc4_r.2.11.110.orig/common: .git
Only in qdigidoc4_r.2.11.110.orig/common: .gitmodules
diff '--color=auto' -u -r qdigidoc4_r.2.11.110.orig/debian/changelog qdigidoc4_r.2.11.110-1804/qdigidoc4/debian/changelog
--- qdigidoc4_r.2.11.110.orig/debian/changelog 2022-01-28 13:44:35.000000000 +0200
+++ qdigidoc4_r.2.11.110-1804/qdigidoc4/debian/changelog 2022-01-28 13:44:38.000000000 +0200
@@ -1,3 +1,9 @@
+qdigidoc4 (4.2.11.110-1804) unstable; urgency=medium
+
+ * Release: 4.2.11.110.
+
+ -- RIA <info@ria.ee> Fri, 28 Jan 2022 13:44:38 +0200
+
qdigidoc4 (0.2.0.3) stable; urgency=low
* Initial release
Only in qdigidoc4_r.2.11.110.orig/extensions/cmake: .git
Only in qdigidoc4_r.2.11.110.orig/extensions: .git
Only in qdigidoc4_r.2.11.110.orig/extensions: .gitmodules
```
```
$ git log --oneline v4.2.9..v4.2.11
2631e24 (tag: v4.2.11) Update translation (#1025)
76c671a Support Fedora (#997)
639cebe Update Qt to 5.12.2 (#1019)
cde7fb8 Add web-eid to diagnostics (#989)
faa8276 Add default option to sign button (#1001)
cb8262a Update OpenLDAP 2.6.0 (#996)
132de43 Workaround for Yaru theme on ubuntu 21.10 (#994)
58e4278 Improve safeFilename (#986)
1710f47 Fix coverity and cppcheck warnings (#992)
60af0bb Remove autofocus (#981)
5a9ff0a Use thread monitor event state (#845)
cdd95a5 Fix LDAP certificate validation (#980)
92f81ec Workaround SID/MID proxy unicode issues (#982)
92a5aaa Update version number and OpenSSL, OpenLDAP versions (#977)
5971e54 Update Xalan-C 1.12 (#976)
1f848cf Add more specific info for OpenSSLExceptions (#970)
0497b7f Set Select folder dialog button label and fix some translation warnings (#974)
e56e814 Workaround recent Qt changes to pass mousePressEvent (#978)
44f4a7e Update translations in russian for settings (#973)
25756eb Wait for upper level operations to avoid locked screen (#979)
232784e Don't set focus to fonds image (#967)
5cf2157 Change the view of expired and expiring certificates (#965)
b001274 Resolve a yellow background, when PIN is locked (#971)
4b20375 Fix the boolean value (#975)
1a41817 Resolve Ubuntu 21.04 warnings (#946)
301178b Set read-only permission for files in signed container (#962)
e028a30 Update OpenLDAP 2.5.5 (#963)
1fb5f6a Set accessible name to pin (#966)
18e6112 Handle libdigidocpp exception (#943)
a9efe0f Update translations (#961)
06e44a0 Fix Linux dark theme (#950)
a6ff428 Fix missed border of Accordion (#960)
a14476c Update list of components in Info view (#958)
8980270 Fix normalization of filenames (#952)
e4aac44 Shorten notifications display time (#948)
14606dc Use QSysInfo for OS version (#931)
b8716e7 Resolve a yellow background, when PIN is locked (#947)
0319c6b Don't allow searching for spaces during encryption (#929)
```