The package rpms/qdigidoc.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/qdigidoc.git/commit/?id=ea9148723....
Change:
-%ifnarch %{arm} %{ix86} x86_64
Thanks.
Full change:
============
commit ea91487238e56b02e7377625c8c48d9dd4ada9ae
Author: Germano Massullo <germano.massullo(a)gmail.com>
Date: Sun Jan 14 13:48:40 2018 +0100
unretired qdigidoc
diff --git a/.gitignore b/.gitignore
index 172c702..b25e64b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,4 @@
/qdigidoc-3.12.4.tar.gz
/qdigidoc-3.12.5.tar.gz
/qdigidoc-3.12.6.tar.gz
+/qdigidoc-3.13.4.tar.gz
diff --git a/qdigidoc-opensslv1.1.patch b/qdigidoc-opensslv1.1.patch
deleted file mode 100644
index 27ecb94..0000000
--- a/qdigidoc-opensslv1.1.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-diff -Naur qdigidoc-3.12.6_orig/common/SslCertificate.cpp
qdigidoc-3.12.6_patched/common/SslCertificate.cpp
---- qdigidoc-3.12.6_orig/common/SslCertificate.cpp 2017-02-14 18:27:21.000000000 +0200
-+++ qdigidoc-3.12.6_patched/common/SslCertificate.cpp 2017-02-24 23:01:40.641040089
+0200
-@@ -33,6 +33,21 @@
- #include <openssl/x509v3.h>
- #include <openssl/pkcs12.h>
-
-+#if OPENSSL_VERSION_NUMBER < 0x10010000L
-+void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
-+{
-+ if(n) *n = r->n;
-+ if(e) *e = r->e;
-+ if(d) *d = r->d;
-+}
-+
-+void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key)
-+{
-+ if(pub_key) *pub_key = d->pub_key;
-+ if(priv_key) *priv_key = d->priv_key;
-+}
-+#endif
-+
- uint qHash( const SslCertificate &cert ) { return qHash( cert.digest() ); }
-
- SslCertificate::SslCertificate()
-@@ -86,7 +101,7 @@
- case NID_server_auth:
- list[ServerAuth] = tr("Ensures the identity of a remote computer"); break;
- case NID_email_protect:
-- list[EmailProtect] = tr("Protects e-mail messages"); break;
-+ list[EmailProtect] = tr("Protects email messages"); break;
- case NID_OCSP_sign:
- list[OCSPSign] = tr("OCSP signing"); break;
- case NID_time_stamp:
-@@ -137,24 +152,28 @@
- QSsl::KeyAlgorithm alg;
- QSsl::KeyType type;
-
-- switch( EVP_PKEY_type( key->type ) )
-+ switch(EVP_PKEY_base_id(key))
- {
- case EVP_PKEY_RSA:
- {
-- RSA *rsa = EVP_PKEY_get1_RSA( key );
-+ RSA *rsa = EVP_PKEY_get1_RSA(key);
- alg = QSsl::Rsa;
-- type = rsa->d ? QSsl::PrivateKey : QSsl::PublicKey;
-- len = rsa->d ? i2d_RSAPrivateKey( rsa, &data ) : i2d_RSAPublicKey( rsa,
&data );
-- RSA_free( rsa );
-+ const BIGNUM *d = nullptr;
-+ RSA_get0_key(rsa, nullptr, nullptr, &d);
-+ type = d ? QSsl::PrivateKey : QSsl::PublicKey;
-+ len = d ? i2d_RSAPrivateKey(rsa, &data) : i2d_RSAPublicKey(rsa, &data);
-+ RSA_free(rsa);
- break;
- }
- case EVP_PKEY_DSA:
- {
-- DSA *dsa = EVP_PKEY_get1_DSA( key );
-+ DSA *dsa = EVP_PKEY_get1_DSA(key);
- alg = QSsl::Dsa;
-- type = dsa->priv_key ? QSsl::PrivateKey : QSsl::PublicKey;
-- len = dsa->priv_key ? i2d_DSAPrivateKey( dsa, &data ) : i2d_DSAPublicKey( dsa,
&data );
-- DSA_free( dsa );
-+ const BIGNUM *priv_key = nullptr;
-+ DSA_get0_key(dsa, nullptr, &priv_key);
-+ type = priv_key ? QSsl::PrivateKey : QSsl::PublicKey;
-+ len = priv_key ? i2d_DSAPrivateKey(dsa, &data) : i2d_DSAPublicKey(dsa,
&data);
-+ DSA_free(dsa);
- break;
- }
- default: break;
-@@ -173,9 +192,9 @@
- X509 *c = (X509*)handle();
- if(!c)
- return QString();
-- EVP_PKEY *key = X509_PUBKEY_get( c->cert_info->key );
-+ EVP_PKEY *key = X509_get_pubkey(c);
- QString name = tr("Unknown");
-- switch( EVP_PKEY_type( key->type ) )
-+ switch(EVP_PKEY_base_id(key))
- {
- case EVP_PKEY_DSA:
- name = QString("DSA (%1)").arg( publicKey().length() );
-@@ -276,9 +305,9 @@
- X509 *x = static_cast<X509*>(handle());
- if(!x)
- return QString();
-- EVP_PKEY *key = X509_PUBKEY_get( x->cert_info->key );
-+ EVP_PKEY *key = X509_get_pubkey(x);
- QString hex;
-- switch( EVP_PKEY_type( key->type ) )
-+ switch(EVP_PKEY_base_id(key))
- {
- #ifndef OPENSSL_NO_ECDSA
- case EVP_PKEY_EC:
-@@ -328,7 +357,14 @@
-
- char buf[50];
- memset( buf, 0, 50 );
-- i2t_ASN1_OBJECT( buf, 50, ((X509*)handle())->cert_info->signature->algorithm
);
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10010000L
-+ X509_ALGOR *algo = nullptr;
-+#else
-+ const X509_ALGOR *algo = nullptr;
-+#endif
-+ X509_get0_signature(nullptr, &algo, (X509*)handle());
-+ i2t_ASN1_OBJECT(buf, 50, algo->algorithm);
- return buf;
- }
-
-diff -Naur qdigidoc-3.12.6_orig/crypto/CryptoDoc.cpp
qdigidoc-3.12.6_patched/crypto/CryptoDoc.cpp
---- qdigidoc-3.12.6_orig/crypto/CryptoDoc.cpp 2017-02-14 18:27:20.000000000 +0200
-+++ qdigidoc-3.12.6_patched/crypto/CryptoDoc.cpp 2017-02-24 22:59:29.476788180 +0200
-@@ -47,6 +47,8 @@
- #include <openssl/rand.h>
- #include <openssl/rsa.h>
-
-+#include <memory>
-+
- #define MIME_XML "text/xml"
- #define MIME_ZLIB
"http://www.isi.edu/in-noes/iana/assignments/media-types/application/zip"
- #define MIME_DDOC "http://www.sk.ee/DigiDoc/v1.3.0/digidoc.xsd"
-@@ -113,18 +115,18 @@
- qCDebug(CRYPTO) << "Encrypt" << encrypt << "IV"
<< iv.toHex() << "KEY" << key.toHex();
-
- int size = 0, size2 = 0;
-- EVP_CIPHER_CTX ctx;
-- int err = EVP_CipherInit(&ctx, EVP_aes_128_cbc(), (unsigned char*)key.constData(),
(unsigned char*)iv.constData(), encrypt);
-+ std::unique_ptr<EVP_CIPHER_CTX,decltype(&EVP_CIPHER_CTX_free)>
ctx(EVP_CIPHER_CTX_new(), EVP_CIPHER_CTX_free);
-+ int err = EVP_CipherInit(ctx.get(), EVP_aes_128_cbc(), (unsigned char*)key.constData(),
(unsigned char*)iv.constData(), encrypt);
- if(opensslError(err == 0))
- return QByteArray();
-
-- QByteArray result(data.size() + EVP_CIPHER_CTX_block_size(&ctx),
Qt::Uninitialized);
-+ QByteArray result(data.size() + EVP_CIPHER_CTX_block_size(ctx.get()),
Qt::Uninitialized);
- unsigned char *resultPointer = (unsigned char*)result.data(); //Detach only once
-- err = EVP_CipherUpdate(&ctx, resultPointer, &size, (const unsigned
char*)data.constData(), data.size());
-+ err = EVP_CipherUpdate(ctx.get(), resultPointer, &size, (const unsigned
char*)data.constData(), data.size());
- if(opensslError(err == 0))
- return QByteArray();
-
-- err = EVP_CipherFinal(&ctx, resultPointer + size, &size2);
-+ err = EVP_CipherFinal(ctx.get(), resultPointer + size, &size2);
- if(opensslError(err == 0))
- return QByteArray();
- result.resize(size + size2);
diff --git a/qdigidoc.spec b/qdigidoc.spec
index 033adb2..a30f5c8 100644
--- a/qdigidoc.spec
+++ b/qdigidoc.spec
@@ -1,6 +1,10 @@
+# package does not work in F26 because openssl-devel is 1.1 version
+# but Qt has been built against OpenSSL 1.0 version, so qesteidutil will crash
+# Therefore this spec file is for Fedora >= 27 only
+
Name: qdigidoc
-Version: 3.12.6
-Release: 2%{?dist}
+Version: 3.13.4
+Release: 1%{?dist}
Summary: Estonian digital signature application
License: LGPLv2+
URL:
https://github.com/open-eid/qdigidoc
@@ -16,20 +20,15 @@ Source7: tl-mp.xml
Patch0: sandbox-compilation.patch
Patch1: remove_crypto_appdata.patch
-# only for f26 and higher
-%if 0%{?fedora} >= 26
-Patch2: qdigidoc-opensslv1.1.patch
-%endif
-
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: gettext
BuildRequires: libdigidocpp-devel
BuildRequires: openldap-devel
-BuildRequires: openssl-devel
-BuildRequires: qt5-qttools-devel
-BuildRequires: pcsc-lite-devel >= 1.7
+BuildRequires: pkgconfig(openssl)
+BuildRequires: pkgconfig(Qt5Designer)
+BuildRequires: pkgconfig(libpcsclite) >= 1.7
BuildRequires: libappstream-glib
BuildRequires: qtsingleapplication-qt5-devel
Requires: hicolor-icon-theme
@@ -39,13 +38,14 @@ Requires: pcsc-lite-ccid%{?_isa}
Requires: liberation-fonts
%description
QDigiDoc is an application for digitally signing and encrypting documents in
-BDoc, DDoc, and CDoc container formats. These file formats are widespread in
-Estonia where they are used for storing legally binding digital signatures.
+ASiC-E, BDoc, DDoc, and CDoc container formats. These file formats are
+widespread in Estonia where they are used for storing legally binding digital
+signatures.
%package nautilus
Summary: Nautilus extension for %{name}
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: nautilus-python
%description nautilus
@@ -57,10 +57,10 @@ nautilus file manager.
%patch0 -p1
%patch1 -p1
-# Use this patch only for F26 and upwards
-%if 0%{?fedora} >= 26
-%patch2 -p1
-%endif
+# AUTHORS file is not UTF-8, check if it will still apply for libdigidocpp > 3.13.2
+iconv --from=ISO-8859-1 --to=UTF-8 AUTHORS > AUTHORS.new && \
+touch -r AUTHORS AUTHORS.new && \
+mv AUTHORS.new AUTHORS
cp %{S:1} client/
cp %{S:2} common/
@@ -78,17 +78,12 @@ rm -f crypto/qdigidoc-cypto.appdata.xml
%build
-%{cmake} . \
-%ifnarch %{arm} %{ix86} x86_64
- -DBREAKPAD=FALSE
-%else
- %{nil}
-%endif
+%{cmake} . -DBREAKPAD=FALSE
-make %{?_smp_mflags}
+%make_build
%install
-make install DESTDIR=%{buildroot}
+%make_install
desktop-file-validate %{buildroot}/%{_datadir}/applications/qdigidoc-client.desktop
desktop-file-validate %{buildroot}/%{_datadir}/applications/qdigidoc-crypto.desktop
@@ -98,25 +93,20 @@ appstream-util validate-relax --nonet
%{buildroot}/%{_datadir}/appdata/*.appdata
%find_lang nautilus-qdigidoc
%post
-update-desktop-database &> /dev/null || :
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-touch --no-create %{_datadir}/mime/packages &> /dev/null || :
%postun
-update-desktop-database &> /dev/null || :
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
- touch --no-create %{_datadir}/mime/packages &> /dev/null || :
- update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
fi
%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
%files
-%doc AUTHORS COPING LICENSE.LGPL LICENSE.LGPL.rtf README.md CONTRIBUTING.md
+%doc AUTHORS LICENSE.LGPL README.md CONTRIBUTING.md RELEASE-NOTES.md
+%license COPING LICENSE.LGPL
%{_bindir}/*
%{_datadir}/applications/*.desktop
%{_datadir}/mime/packages/*.xml
@@ -129,6 +119,10 @@ update-mime-database %{?fedora:-n} %{_datadir}/mime &>
/dev/null || :
%{_datadir}/nautilus-python/extensions/*
%changelog
+* Thu Nov 30 2017 Germano Massullo <germano.massullo(a)gmail.com> - 3.13.4-1
+- 3.13.4 release
+- added ASiC-E into description
+
* Mon May 15 2017 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
3.12.6-2
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
diff --git a/sources b/sources
index 0141d01..3128762 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (qdigidoc-3.12.6.tar.gz) =
0e79bbceebe4f0b066a415ac16667f6758a9c0b2b21fa7c8022caa79e9019a6a72e8d2384df84d8ae2af8f78b5456b737b1753be6f213f20f7e23262088871b0
+SHA512 (qdigidoc-3.13.4.tar.gz) =
9cb2d004c99445dc4f1bfe3a39dc68ad6018d308df1092ab7d8b62a6059ab20d8365543a819d2ae8710e62516a6fcb1c59073cd3a2910496a0023c0c5d8eeb15