You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
keepassxc/keepassxc.spec

456 lines
17 KiB

%undefine __cmake_in_source_build
7 years ago
# EPEL7 not possible because libgcrypt version is 1.5
8 years ago
Name: keepassxc
2 years ago
Version: 2.7.4
Release: 4%{?dist}
8 years ago
Summary: Cross-platform password manager
License: Boost and BSD and CC0 and GPLv3 and LGPLv2 and LGPLv2+ and LGPLv3+ and Public Domain
URL: http://www.keepassxc.org/
4 years ago
Source0: https://github.com/keepassxreboot/keepassxc/releases/download/%{version}/keepassxc-%{version}-src.tar.xz
Source1: https://github.com/keepassxreboot/keepassxc/releases/download/%{version}/keepassxc-%{version}-src.tar.xz.sig
Source2: https://keepassxc.org/keepassxc_master_signing_key.asc
4 years ago
# Patch0: fixes GNOME quirks on Wayland sessions. Read
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/3BVLBS4B3XHJEXFVGD7RK2ZMXZG6JQZT/
4 years ago
# read also https://github.com/keepassxreboot/keepassxc/pull/3520/files
#
3 years ago
# Patch0 improved by pewpeww https://src.fedoraproject.org/rpms/keepassxc/pull-request/1
#
# 23 March 2022 Germano Massullo's update: Jan Grulich said that Qt patch https://code.qt.io/cgit/qt/qtbase.git/commit/?id=dda7dab8274991e4a61a97c352d4367f8f815bb9
# is included in qt5-qtbase in all Fedora versions since 32, even before it landed upstream, but it is not in RHEL qt5-qtbase package.
3 years ago
# So I think it is no longer needed in Fedora
#
# Concerning upstream Qt6 version, the patch was reverted and kept for Qt 6.3, but concerning keepassxc it is not important since it uses Qt 5
#
# 29 April 2022 Germano Massullo's update: users in upstream bugreports
# https://github.com/keepassxreboot/keepassxc/issues/7959
# https://github.com/keepassxreboot/keepassxc/issues/5608
# are reporting regression. I am resuming xcb.patch to all branches
#
# 27 July 2022 Germano Massullo's update: new Qt release
# https://bodhi.fedoraproject.org/updates/FEDORA-2022-d1ac004bb1
# reintroduced xcb patch for GNOME Wayland mentioning in the description the
# problems keepassxc users experienced
4 years ago
Patch0: xcb.patch
2 years ago
Patch1: appdata.patch
8 years ago
BuildRequires: botan2-devel
4 years ago
BuildRequires: cmake >= 3.1
8 years ago
BuildRequires: desktop-file-utils
%if 0%{?el8}
BuildRequires: gcc-toolset-12-gcc-c++
BuildRequires: gcc-toolset-12-annobin-plugin-gcc
%else
BuildRequires: gcc-c++
%endif
BuildRequires: libappstream-glib
7 years ago
BuildRequires: libargon2-devel
BuildRequires: libcurl-devel
BuildRequires: libgcrypt-devel >= 1.7
8 years ago
BuildRequires: libmicrohttpd-devel
7 years ago
BuildRequires: libsodium-devel
BuildRequires: libusb1-devel
8 years ago
BuildRequires: libXi-devel
BuildRequires: libXtst-devel
BuildRequires: libyubikey-devel
%if 0%{?el8}
BuildRequires: minizip1.2-devel
%endif
%if (%{defined fedora} && 0%{?fedora} >= 38)
BuildRequires: minizip-compat-devel
%endif
%if (0%{?el9}) || (%{defined fedora} && 0%{?fedora} < 38)
BuildRequires: minizip-devel
%endif
BuildRequires: pcsc-lite-devel
BuildRequires: qrencode-devel
BuildRequires: readline-devel
BuildRequires: qt5-qtbase-devel >= 5.2
BuildRequires: qt5-qtbase-private-devel
BuildRequires: qt5-qtsvg-devel
BuildRequires: qt5-qttools-devel >= 5.2
8 years ago
BuildRequires: qt5-qtx11extras-devel
BuildRequires: ykpers-devel
8 years ago
BuildRequires: zlib-devel
5 years ago
BuildRequires: rubygem-asciidoctor
# for gpg verification
BuildRequires: gnupg2
# enforces on the user system, Qt version to be the same one used to build KeepassXC
3 years ago
# This avoids "not a bug" bugreports like this one
# https://bugzilla.redhat.com/show_bug.cgi?id=2068981
# Moreover it is very important in case of mass rebuild of Qt+applications that
# are dependent from Qt, because it happened (see following bugreport) that users experienced
# that their system was not able to install a new Qt update due packaging bugs, but the system
# was able to update keepassxc (which was built upon new Qt release), resulting in a
# Qt - KeepassXC mismatch
# https://bugzilla.redhat.com/show_bug.cgi?id=2111413
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
3 years ago
# KeePassXC bundles the ykcore code due to lack of support from Yubico and
# stratification of version across various operating system distros. Additionally,
# KeePassXC has modified the API of ykcore to make it more functional when using
# non-YubiKey keys (ie, OnlyKey).
Provides: bundled(ykcore)
# Unsupported CPU architectures on EPEL8
# filled https://bugzilla.redhat.com/show_bug.cgi?id=2144863
# to be compliant to "Architecture Build Failures" paragraph of Fedora Packaging Guidelines
# https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures
%if 0%{?el8}
ExcludeArch: s390x
%endif
8 years ago
%description
KeePassXC is a community fork of KeePassX
KeePassXC is an application for people with extremely high demands on secure
personal data management.
KeePassXC saves many different information e.g. user names, passwords, urls,
attachemts and comments in one single database. For a better management
user-defined titles and icons can be specified for each single entry.
Furthermore the entries are sorted in groups, which are customizable as well.
The integrated search function allows to search in a single group or the
complete database.
KeePassXC offers a little utility for secure password generation. The password
generator is very customizable, fast and easy to use. Especially someone who
generates passwords frequently will appreciate this feature.
The complete database is always encrypted either with AES (alias Rijndael) or
Twofish encryption algorithm using a 256 bit key. Therefore the saved
information can be considered as quite safe.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1
8 years ago
# Older version of appstream-util can't parse some url types
%if (%{defined fedora} && 0%{?fedora} < 36) || (%{defined rhel} && 0%{?rhel} <= 9)
sed -i '/type="vcs-browser"/d' ./share/linux/org.keepassxc.KeePassXC.appdata.xml
sed -i '/type="contribute"/d' ./share/linux/org.keepassxc.KeePassXC.appdata.xml
%endif
8 years ago
%build
%if 0%{?el8}
. /opt/rh/gcc-toolset-12/enable
%endif
# -DWITH_XC_DOCS=OFF is needed on EL due missing rubygem-asciidoctor
# For EL8 missing rubygem-asciidoctor read
# https://bugzilla.redhat.com/show_bug.cgi?id=1859390
# https://bugzilla.redhat.com/show_bug.cgi?id=1820896
%cmake \
-DWITH_XC_ALL=ON \
-DWITH_XC_KEESHARE_SECURE=ON \
-DWITH_XC_UPDATECHECK=OFF \
-DWITH_XC_DOCS=ON \
-DCMAKE_BUILD_TYPE=Release
%cmake_build
8 years ago
%install
%cmake_install
8 years ago
desktop-file-install \
--dir %{buildroot}%{_datadir}/applications \
--delete-original \
--add-mime-type application/x-keepassxc \
%{buildroot}%{_datadir}/applications/org.%{name}.KeePassXC.desktop
8 years ago
# Associate KDB* files
cat > x-keepassxc.desktop << EOF
[Desktop Entry]
Comment=
Hidden=false
Icon=keepassxc.png
MimeType=application/x-keepassxc
Patterns=*.kdb;*.KDB;*.kdbx;*.KDBX*
Type=MimeType
EOF
install -D -m 644 -p x-keepassxc.desktop \
%{buildroot}%{_datadir}/mimelnk/application/x-keepassxc.desktop
3 years ago
%find_lang %{name} --with-qt
8 years ago
%check
# 'testcli' fails with "Subprocess aborted" in Koji and local mock
%ctest --exclude-regex testcli
desktop-file-validate %{buildroot}%{_datadir}/applications/org.%{name}.KeePassXC.desktop
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/org.%{name}.KeePassXC.appdata.xml
8 years ago
3 years ago
%files -f %{name}.lang
8 years ago
%doc README.md
%license COPYING LICENSE*
%{_bindir}/keepassxc
8 years ago
%{_bindir}/keepassxc-cli
7 years ago
%{_bindir}/keepassxc-proxy
3 years ago
%{_datadir}/keepassxc
3 years ago
%{_datadir}/keepassxc/wordlists
%{_datadir}/applications/org.%{name}.KeePassXC.desktop
%{_datadir}/metainfo/org.%{name}.KeePassXC.appdata.xml
8 years ago
%{_datadir}/mimelnk
%{_datadir}/mime/packages/*.xml
%{_datadir}/icons/hicolor/*/*/*keepassxc*
%{_libdir}/%{name}
7 years ago
%{_mandir}/man1/%{name}-cli.1*
5 years ago
%{_mandir}/man1/%{name}.1*
8 years ago
%changelog
* Tue Nov 22 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.4-4
- Updates gcc-toolset version from 11 to 12
- Removes s390x from EPEL 8
* Mon Nov 21 2022 Mikel Olasagasti Uranga <mikel@olasagasti.info> - 2.7.4-3
- Fix builds for EPEL and F35
* Thu Nov 17 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.4-2
- rebuilt for RHEL 9.1
2 years ago
* Tue Nov 01 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.4-1
- 2.7.4 release
- Adds appdata.patch
2 years ago
* Tue Nov 01 2022 Jan Grulich <jgrulich@redhat.com> - 2.7.1-16
- Rebuild (qt5)
* Mon Oct 31 2022 Mikel Olasagasti Uranga <mikel@olasagasti.info> - 2.7.1-15
- Verify gpg signature (rhbz#1514247)
- Use minizip-compat-devel for >=F38
2 years ago
* Mon Oct 31 2022 Jan Grulich <jgrulich@redhat.com> - 2.7.1-14
- Rebuild (qt5)
* Thu Sep 22 2022 Otto Liljalaakso <otto.liljalaakso@iki.fi> - 2.7.1-13
- Re-enable LTO (rhbz#2127754)
- Enable most tests (rhbz#2127757)
2 years ago
* Wed Sep 21 2022 Jan Grulich <jgrulich@redhat.com> - 2.7.1-12
- Rebuild (qt5)
* Mon Jul 25 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.1-11
- reverting Jan Grulich's removal of %%{?_qt5:Requires: %%{_qt5}%{?_isa} = %%{_qt5_version}}
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
3 years ago
* Thu Jul 14 2022 Jan Grulich <jgrulich@redhat.com> - 2.7.1-9
- Rebuild (qt5)
* Wed Jul 13 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.1-8
- enabled DWITH_XC_DOCS=ON on epel8
* Mon Jul 11 2022 Carl George <carl@george.computer> - 2.7.1-7
- Fix conditional logic to build on EPEL9
- Enable man pages on EPEL8
* Wed Jun 01 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.1-6
- rebuilt due EPEL8 Qt new version
3 years ago
* Wed May 25 2022 Mukundan Ragavan <nonamedotc@gmail.com> - 2.7.1-5
- rebuilt
3 years ago
* Tue May 17 2022 Jan Grulich <jgrulich@redhat.com> - 2.7.1-4
- Rebuild (qt5)
* Fri Apr 29 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.1-3
- enabled Patch0:xcb.patch for all branches
- adds gcc-toolset-11-toolchain for el8
- replaces minizip-devel with minizip1.2-devel for el8
* Mon Apr 11 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.1-2
- replaces BuildRequires: minizip-compat-devel with BuildRequires: minizip-devel
3 years ago
* Wed Apr 06 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.1-1
- 2.7.1 release
3 years ago
* Tue Mar 22 2022 Germano Massullo <germano.massullo@gmail.com> - 2.7.0-1
- 2.7.0 release
- adds BuildRequires: botan2-devel
- adds BuildRequires: pcsc-lite-devel
3 years ago
- adds Provides: bundled(ykcore)
- enforcing on the user system, Qt version to be the same one used to build KeepassXC
- replaces BuildRequires: quazip-qt5-devel with BuildRequires: minizip-compat-devel
3 years ago
3 years ago
* Tue Mar 08 2022 Jan Grulich <jgrulich@redhat.com> - 2.6.6-6
- Rebuild (qt5)
* Mon Feb 21 2022 Germano Massullo <germano.massullo@gmail.com> - 2.6.6-5
- User pewpeww improved xcb.patch - https://src.fedoraproject.org/rpms/keepassxc/pull-request/1
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Aug 19 2021 Björn Esser <besser82@fedoraproject.org> - 2.6.6-3
- Rebuild (quazip)
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
4 years ago
* Mon Jun 14 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.6-1
- Update to 2.6.6
4 years ago
* Sat May 01 2021 Germano Massullo <germano.massullo@gmail.com> - 2.6.4-2
- added xcb.patch that fixes GNOME quirks on Wayland sessions. Read https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/3BVLBS4B3XHJEXFVGD7RK2ZMXZG6JQZT/
4 years ago
* Sun Jan 31 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.4-1
- Update to 2.6.4
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 21 2021 Germano Massullo <germano.massullo@gmail.com> - 2.6.3-2
- EL8: disabled documentation, removed rubygem-asciidoctor and quazip depencendies. For bugzilla tickets about missing dependencies, read this spec file near Fedora/EL8 macros
4 years ago
* Wed Jan 13 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.3-1
- Update to 2.6.3
* Mon Oct 26 2020 Germano Massullo <germano.massullo@gmail.com> - 2.6.2-2
- replaced -WITH_XC_UPDATECHECK=OFF with -DWITH_XC_UPDATECHECK=OFF Read https://bugzilla.redhat.com/show_bug.cgi?id=1887609
4 years ago
* Fri Oct 23 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.2-1
- Update to 2.6.2
5 years ago
* Thu Aug 20 2020 Germano Massullo <germano.massullo@gmail.com> - 2.6.1-1
- 2.6.1 release
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
5 years ago
* Tue Jul 07 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.0-1
- Update to 2.6.0
5 years ago
* Wed Jul 01 2020 Jeff Law <law@redhat.com> - 2.5.4-2
- Diable LTO
5 years ago
* Thu Apr 09 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.5.4-1
- Update to 2.5.4
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
5 years ago
* Mon Jan 20 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.5.3-1
- Update to 2.5.3
5 years ago
* Sun Jan 05 2020 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.5.2-1
- Update to 2.5.2
5 years ago
* Tue Nov 12 2019 Germano Massullo <germano.massullo@gmail.com> - 2.5.1-1
- 2.5.1 release
5 years ago
* Mon Oct 28 2019 Gwyn Ciesla <gwync@protonmail.com> - 2.5.0-1
- 2.5.0
* Thu Sep 19 2019 Germano Massullo <germano.massullo@gmail.com> - 2.4.3-6
- Replaced BuildRequires: quazip-devel with BuildRequires: quazip-qt5-devel
* Mon Sep 16 2019 Germano Massullo <germano.massullo@gmail.com> - 2.4.3-5
- Added BuildRequires: quazip-devel
* Thu Sep 05 2019 Germano Massullo <germano.massullo@gmail.com> - 2.4.3-4
- Added -DWITH_XC_KEESHARE_SECURE=ON
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Jun 25 2019 Björn Esser <besser82@fedoraproject.org> - 2.4.3-2
- Rebuilt (libqrencode.so.4)
6 years ago
* Tue Jun 11 2019 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.4.3-1
- Update to 2.4.3
6 years ago
* Fri May 31 2019 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.4.2-1
- Update to 2.4.2
6 years ago
* Tue Apr 16 2019 Germano Massullo <germano.massullo@gmail.com> - 2.4.1-1
- 2.4.1 release
- Added WITH_XC_UPDATECHECK=OFF
* Wed Mar 20 2019 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.4.0-1
- Update to 2.4.0
- Drop unneeded sed lines in spec file
- Added BR for qrencode-devel and qt5-qtsvg-devel
* Mon Mar 18 2019 Remi Collet <remi@fedoraproject.org> - 2.3.4-3
- rebuild for libargon2 new soname
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
7 years ago
* Wed Aug 29 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.4-1
- Update to 2.3.4
7 years ago
* Thu Jul 19 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.3-3
- Fix FTBFS
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
7 years ago
* Thu May 10 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.3-1
- Update to 2.3.3
7 years ago
* Tue May 08 2018 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.3.2-1
- Update to 2.3.2
7 years ago
* Wed Mar 07 2018 Germano Massullo <germano.massullo@gmail.com> - 2.3.1-1
- 2.3.1 release
- used -DWITH_XC_ALL=ON to enable all features. Read https://github.com/keepassxreboot/keepassxc/issues/1558#issuecomment-369291706
7 years ago
* Wed Feb 28 2018 Germano Massullo <germano.massullo@gmail.com> - 2.2.4-7
- added BuildRequires: libargon2-devel
- added BuildRequires: libcurl-devel
- added BuildRequires: libgcrypt-devel >= 1.7
- added BuildRequires: libsodium-devel
- added BuildRequires: gcc-c++ >= 4.7
- added %%{_mandir}/man1/%%{name}-cli.1*
7 years ago
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.2.4-6
- Escape macros in %%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 05 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.2.4-4
- Remove obsolete scriptlets
* Wed Dec 27 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.2.4-3
- Fix specfile error
* Sat Dec 16 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.2.4-2
- Adjust for changes in appdata and desktop filename change
7 years ago
* Thu Dec 14 2017 Germano Massullo <germano.massullo@gmail.com> - 2.2.4-1
- 2.2.4 release
- removed patch to fix typo in a XML tag
7 years ago
* Tue Dec 12 2017 Germano Massullo <germano.massullo@gmail.com> - 2.2.3-1
- 2.2.3 release
- added patch to fix typo in a XML tag
7 years ago
* Sun Oct 22 2017 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.2.2-1
- Update to 2.2.2
- Fix desktop file names
- Added BR on libappstream-glib
- Install appdata file
7 years ago
* Mon Oct 02 2017 Germano Massullo <germano.massullo@gmail.com> - 2.2.1-1
- 2.2.1 release
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
8 years ago
* Mon Jun 26 2017 Germano Massullo <germano.massullo@gmail.com> - 2.2.0-1
- 2.2.0 release
- added %%{_bindir}/keepassxc-cli
- changed -DWITH_XC_YUBIKEY=OFF to -DWITH_XC_YUBIKEY=ON
- added BuildRequires: ykpers-devel and BuildRequires: libyubikey-devel
8 years ago
* Fri May 19 2017 Germano Massullo <germano.massullo@gmail.com> - 2.1.4-2
8 years ago
- Disabled Yubikey support. It will be re-enabled on 2.2.0 release
8 years ago
* Sun May 14 2017 Germano Massullo <germano.massullo@gmail.com> - 2.1.4-1
- First release on Fedora repository