DESCRIPTION KeePassXC is a community fork of KeePassX KeePassXC is an application for people with extremly 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. FILES https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc.spec https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc-2.1.4-1.fc25.src.rpm QUESTIONS FOR REVIEWER 1) Since I have seen many licences files in https://github.com/keepassxreboot/keepassxc , I asked developers which licence has keepassxc. They told me GPLv3, but I do not understand the presence of other licences files like LICENSE.BSD etc. 2) fedora-review says: ========== [ ]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/share/icons/hicolor/16x16/mimetypes(keepassxc, hicolor-icon- theme, keepassx), /usr/share/icons/hicolor/scalable/mimetypes(keepassxc, hicolor-icon- theme), /usr/share/icons/hicolor/32x32/apps(keepassxc, hicolor-icon- theme, fedora-logos, keepassx), [CUT] ========== this should be due presence of KeepassX on my system. I need help in figuring out how to handle this problem.
On IRC hifi user told me that libmicrohttpd-devel should be no longer needed in 2.1.2. As soon as possible I will check
I am taking this package for review.
We should also think about disabling KeePassHTTP feature. More infos at https://keepassxc.org/project
(In reply to Germano Massullo from comment #3) > We should also think about disabling KeePassHTTP feature. More infos at > https://keepassxc.org/project Done by setting -DWITH_XC_HTTP=OFF srpm and spec files of Comment 1 have been updated
Created attachment 1279518 [details] specfile patch Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://fedoraproject.org/wiki/Packaging:Guidelines ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. ---> This is alright. This is not in the ld path [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL", "*No copyright* CC0 (v1.0)", "GPL (v2)", "Unknown or generated", "BSD (3 clause) GPL", "MIT/X11 (BSD like)", "BSL (v1.0)", "*No copyright* BSD (3 clause)", "*No copyright* BSL", "BSD (3 clause)", "GPL (v2.1) LGPL (v2.1)", "GPL (v3)", "LGPL (v2.1 or v3)", "*No copyright* GPL (v2)". 316 files have unknown license. Detailed output of licensecheck in /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/1450633-keepassxc/licensecheck.txt ---> Well, I don't think this should be GPLv2 only. If you look at the COPYING file in the tarball, there is a big mix of several licenses. Icon files have the following licenses - LGPL-2, LGPL-2.1, LGPL-3+, CCO, public domain. In addition, there is some code that has licenses Boost-1.0 and BSD 3-clause. All of this has to go into the license field. Please cross-check using the COPYING file (also attached). [x]: License file installed when any subpackage combination is installed. [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/keepassxc ---> This is easily fixed. In %files, %{_libdir}/%{name} instead of %{_libdir}/keepassxc/*.so [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/mimelnk/application, /usr/share/mimelnk, /usr/share/mime/packages, /usr/share/mime, /usr/lib64/keepassxc, /usr/share/icons/hicolor ---> Some of these bogus warnings. For example, /usr/share/mime, /usr/share/mime/packages are owned by shared-mime-info /usr/share/icons/hicolor - hicolor-icon-theme others are provided by several other packages (kde-filesystem, for example) /usr/lib64/keepassxc fix is above. [!]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/share/icons/hicolor/16x16/mimetypes(hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/scalable/mimetypes(hicolor-icon- theme), /usr/share/icons/hicolor/32x32/apps(hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/24x24/apps(hicolor- icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/24x24 (hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/128x128/apps(hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/128x128/mimetypes(hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/64x64(hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/256x256/apps(hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/64x64/mimetypes (hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/16x16 (hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/48x48/apps(hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/scalable/apps(hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/128x128(hicolor- icon-theme, keepassx), /usr/share/icons/hicolor/22x22/mimetypes (hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/32x32 (hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/256x256(hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/16x16/apps(hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/64x64/apps(hicolor- icon-theme, keepassx), /usr/share/icons/hicolor/22x22(hicolor-icon- theme, fedora-logos, keepassx), /usr/share/icons/hicolor/48x48 (hicolor-icon-theme, fedora-logos, keepassx), /usr/share/icons/hicolor/32x32/mimetypes(hicolor-icon-theme, keepassx), /usr/share/icons/hicolor/scalable(hicolor-icon-theme, fedora-logos, keepassx) ---> Most of these directories are owned by hicolor-icon-theme or fedora-logos even if keepassx is not present. This issue is due to %{_datadir}/icons/hicolor/* If you specify the icon files in a granular fashion, this will mostly go away. %{_datadir}/icons/hicolor/*/*/*keepassxc* I think this will fix it. May be. So, owning the files created is probably a good solution. [!]: %build honors applicable compiler flags or justifies otherwise. ---> Please use %cmake macro. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: update-desktop-database is invoked in %post and %postun if package contains desktop file(s) with a MimeType: entry. Note: desktop file(s) with MimeType entry in keepassxc [x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package contains icons. Note: icons in keepassxc [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 10240 bytes in 1 files. ---> This is fine. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: update-mime-database is invoked in %post and %postun if package stores mime configuration in /usr/share/mime/packages. Note: mimeinfo files in: keepassxc See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo ---> running update-mime-database is only applicable for F23 or older. This is fine. [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in keepassxc-debuginfo [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Uses parallel make %{?_smp_mflags} macro. [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint ---> fedora-review crashed for some reason. rpmlint messages in the next comment. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 1710080 bytes in /usr/share [x]: Spec file according to URL is the same as in SRPM. Installation errors ------------------- INFO: mock.py version 1.4.1 starting (python version = 3.6.1)... Start: init plugins INFO: selinux disabled Finish: init plugins Start: init plugins INFO: selinux disabled Finish: init plugins Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled HW Info plugin Mock Version: 1.4.1 INFO: Mock Version: 1.4.1 Finish: chroot init Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled HW Info plugin Mock Version: 1.4.1 INFO: Mock Version: 1.4.1 Finish: chroot init INFO: installing package(s): /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/1450633-keepassxc/results/keepassxc-debuginfo-2.1.4-1.fc27.x86_64.rpm /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/1450633-keepassxc/results/keepassxc-2.1.4-1.fc27.x86_64.rpm ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M daf9e15b8c85470292b7155ebbce3a1e -D /var/lib/mock/fedora-rawhide-x86_64-bootstrap/root -a --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$ --setenv=LANG=en_US.utf8 --setenv=LC_MESSAGES=C /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 27 --disableplugin=local --setopt=deltarpm=false install /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/1450633-keepassxc/results/keepassxc-debuginfo-2.1.4-1.fc27.x86_64.rpm /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/1450633-keepassxc/results/keepassxc-2.1.4-1.fc27.x86_64.rpm Rpmlint ------- Checking: keepassxc-2.1.4-1.fc27.x86_64.rpm keepassxc-debuginfo-2.1.4-1.fc27.x86_64.rpm keepassxc-2.1.4-1.fc27.src.rpm keepassxc.x86_64: W: spelling-error %description -l en_US urls -> curls, purls, hurls keepassxc.x86_64: W: spelling-error %description -l en_US attachemts -> attachments, attache, schemata ---> please fix this. keepassxc.x86_64: W: spelling-error %description -l en_US customizable -> customization keepassxc.x86_64: W: hidden-file-or-dir /usr/lib/.build-id keepassxc.x86_64: W: hidden-file-or-dir /usr/lib/.build-id ---> Please remove this after install keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc-dark.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc-locked.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/mimetypes/application-x-keepassxc.svgz keepassxc.x86_64: W: no-manual-page-for-binary keepassxc keepassxc-debuginfo.x86_64: E: debuginfo-without-sources keepassxc.src: W: spelling-error %description -l en_US urls -> curls, purls, hurls keepassxc.src: W: spelling-error %description -l en_US attachemts -> attachments, attache, schemata ---> please fix this. keepassxc.src: W: spelling-error %description -l en_US customizable -> customization keepassxc.src: W: strange-permission keepassxc-2.1.4-src.tar.xz 400 keepassxc.src:40: W: setup-not-quiet 3 packages and 0 specfiles checked; 1 errors, 15 warnings. Requires -------- keepassxc (rpmlib, GLIBC filtered): /bin/sh libQt5Core.so.5()(64bit) libQt5Core.so.5(Qt_5)(64bit) libQt5Core.so.5(Qt_5.9)(64bit) libQt5DBus.so.5()(64bit) libQt5DBus.so.5(Qt_5)(64bit) libQt5Gui.so.5()(64bit) libQt5Gui.so.5(Qt_5)(64bit) libQt5Network.so.5()(64bit) libQt5Network.so.5(Qt_5)(64bit) libQt5Widgets.so.5()(64bit) libQt5Widgets.so.5(Qt_5)(64bit) libQt5X11Extras.so.5()(64bit) libQt5X11Extras.so.5(Qt_5)(64bit) libX11.so.6()(64bit) libXi.so.6()(64bit) libXtst.so.6()(64bit) libc.so.6()(64bit) libgcrypt.so.20()(64bit) libgcrypt.so.20(GCRYPT_1.6)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libz.so.1()(64bit) rtld(GNU_HASH) keepassxc-debuginfo (rpmlib, GLIBC filtered): Provides -------- keepassxc: application() application(keepassxc.desktop) keepassxc keepassxc(x86-64) libkeepassx-autotype-xcb.so()(64bit) mimehandler(application/x-keepass2) mimehandler(application/x-keepassxc) keepassxc-debuginfo: keepassxc-debuginfo keepassxc-debuginfo(x86-64) Unversioned so-files -------------------- keepassxc: /usr/lib64/keepassxc/libkeepassx-autotype-xcb.so Source checksums ---------------- https://github.com/keepassxreboot/keepassxc/releases/download/2.1.4/keepassxc-2.1.4-src.tar.xz : CHECKSUM(SHA256) this package : 22c564fab78bd960b9af5a779c7bd59f0cc04a9988b00c6b82329059e59b0035 CHECKSUM(SHA256) upstream package : 22c564fab78bd960b9af5a779c7bd59f0cc04a9988b00c6b82329059e59b0035 Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1450633 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
Created attachment 1279519 [details] COPYING file for discussion COPYING file indicates all the license breakdown. I think upstream has done a commendable job in keeping track of all these files.
(In reply to Germano Massullo from comment #4) > (In reply to Germano Massullo from comment #3) > > We should also think about disabling KeePassHTTP feature. More infos at > > https://keepassxc.org/project > > Done by setting -DWITH_XC_HTTP=OFF > srpm and spec files of Comment 1 have been updated As discussed on #keepassrc channel (I'm hifi), I think this disables "expected" functionality of KeePassXC and would cripple the package even when it's not enabled by default in CMakeLists. The official AppImage and other unofficial packages all default to having this setting on. Disabling WITH_XC_HTTP also unintentionally disables favicon downloading which is very useful feature of KeePassXC. Worth noting is that I'm not an official representative of the project but someone who was involved with the unofficial Copr package by bugzy and a regular user of that package.
(In reply to Mukundan Ragavan from comment #5) > ---> Some of these bogus warnings. For example, > > /usr/share/mime, /usr/share/mime/packages are owned by shared-mime-info > /usr/share/icons/hicolor - hicolor-icon-theme > > others are provided by several other packages (kde-filesystem, for example) > > /usr/lib64/keepassxc fix is above. Could you rephrase such piece of the review? I think I have not got it (In reply to Toni Spets from comment #7) > Disabling WITH_XC_HTTP also unintentionally disables favicon downloading > which is very useful feature of KeePassXC. What kind of feature is favicon download?
(In reply to Germano Massullo from comment #8) > What kind of feature is favicon download? When you create an entry with URL set up, you can use the favicon download feature in the icon selection dialog to automatically download the icon that would be shown in the browser tab.
Created attachment 1279646 [details] keepass http screen Germano, I wonder if it would be alright to leave keepassHTTP on in the builds and let the users decide if they want to use it. Even if we build the package with the protocol on, it can be disabled in the settings screen(see screenshot attached). Also, From here - https://github.com/keepassxreboot/keepassxc KeePassXC therefore strictly limits communication between itself and the browser plugin to your local computer. What do you think?
(In reply to Mukundan Ragavan from comment #10) > > Even if we build the package with the protocol on, it can be disabled in the > settings screen(see screenshot attached). > To be more precise, even when enabled at compile time it is *disabled* by default at runtime and you need to explicitly enable it for use.
Ok I will re-enable it again on next spec file release
(In reply to Toni Spets from comment #11) > (In reply to Mukundan Ragavan from comment #10) > > > > Even if we build the package with the protocol on, it can be disabled in the > > settings screen(see screenshot attached). > > > > To be more precise, even when enabled at compile time it is *disabled* by > default at runtime and you need to explicitly enable it for use. Yes indeed. That's what I intended to say .. (In reply to Germano Massullo from comment #8) > (In reply to Mukundan Ragavan from comment #5) > > ---> Some of these bogus warnings. For example, > > > > /usr/share/mime, /usr/share/mime/packages are owned by shared-mime-info > > /usr/share/icons/hicolor - hicolor-icon-theme > > > > others are provided by several other packages (kde-filesystem, for example) > > > > /usr/lib64/keepassxc fix is above. > > Could you rephrase such piece of the review? I think I have not got it > My apologies. I meant to say nothing needs to be addressed here.
https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc.spec https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc-2.1.4-1.fc25.src.rpm Concerning ================================== [ ]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/icons/hicolor/16x16/mimetypes, /usr/share/icons/hicolor/scalable/mimetypes, /usr/share/icons/hicolor/32x32/apps, /usr/share/mime, /usr/share/icons/hicolor/24x24/apps, /usr/share/icons/hicolor/24x24, /usr/share/icons/hicolor/128x128/apps, /usr/share/icons/hicolor/128x128/mimetypes, /usr/share/icons/hicolor/64x64, /usr/share/icons/hicolor/256x256/apps, /usr/share/icons/hicolor/64x64/mimetypes, /usr/share/icons/hicolor/16x16, /usr/share/icons/hicolor/48x48/apps, /usr/share/icons/hicolor/scalable/apps, /usr/share/icons/hicolor, /usr/share/mimelnk/application, /usr/share/mimelnk, /usr/share/mime/packages, /usr/share/icons/hicolor/128x128, /usr/share/icons/hicolor/22x22/mimetypes, /usr/share/icons/hicolor/32x32, /usr/share/icons/hicolor/256x256, /usr/share/icons/hicolor/16x16/apps, /usr/share/icons/hicolor/64x64/apps, /usr/share/icons/hicolor/22x22, /usr/share/icons/hicolor/48x48, /usr/share/icons/hicolor/32x32/mimetypes, /usr/share/icons/hicolor/scalable ================================== I would like to ask on devel mailing list, since the fix did not work
Several of these are all already owned. 1/ For example, $ rpm -q --whatprovides /usr/share/icons/hicolor/16x16/mimetypes hicolor-icon-theme-0.15-4.fc26.noarch keepassx-2.0.3-3.fc26.x86_64 In this case, we are at this section of the packaging guidelines - https://fedoraproject.org/wiki/Packaging:Guidelines#File_and_Directory_Ownership Specifically, here- https://fedoraproject.org/wiki/Packaging:Guidelines#The_directory_is_also_owned_by_a_package_implementing_required_functionality_of_your_package We do not need hicolor-icon-theme, but hicolor-icon-theme is required by pretty much every graphical environment. So, it is proper for hicolor to own these directories. 2/ We need shared-mime-info for a graphical package to function $ rpm -q --whatprovides /usr/share/mime/packages shared-mime-info-1.8-2.fc26.x86_64 So, this is safe to ignore as well. 3/ /usr/share/mimelnk This is not owned by any other package and so, keepassxc should own it. $ dnf repoquery --whatprovides /usr/share/mimelnk/ determining the fastest mirror (6 hosts).. done. Fedora 26 - x86_64 - Test Updates 3.6 MB/s | 20 MB 00:05 determining the fastest mirror (6 hosts).. done. Last metadata expiration check: 0:00:00 ago on Thu May 18 10:40:01 2017 EDT. Does this clear up?
https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc_v2.spec https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc-2.1.4-1.fc25.src.rpm 1) Ok so I haven't touched anything (if I have understood correctly your explanation) 2) I haven't changed anything 3) I replaced %{_datadir}/mimelnk/application/*.desktop with %{_datadir}/mimelnk Is that correct?
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://fedoraproject.org/wiki/Packaging:Guidelines ---> This is fine. I can install this on my VM. [root@f26-guest Downloads]$ rpmlint keepassxc keepassxc.x86_64: W: spelling-error %description -l en_US urls -> curls, purls, hurls keepassxc.x86_64: W: spelling-error %description -l en_US attachemts -> attachments, attache, schemata ---> This is not fixed in the spec file. Please fix the spelling before import. Not a blocker. keepassxc.x86_64: W: spelling-error %description -l en_US customizable -> customization keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc-dark.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc-locked.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/mimetypes/application-x-keepassxc.svgz keepassxc.x86_64: W: no-manual-page-for-binary keepassxc 1 packages and 0 specfiles checked; 0 errors, 8 warnings. [root@f26-guest Downloads]$ rpm -qa keepassxc keepassxc-2.1.4-1.fc26.x86_64 - Spec file name must match the spec package %{name}, in the format %{name}.spec. Note: keepassxc_v2.spec should be keepassxc.spec See: http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Spec_file_name ---> You are clearly only using the _v2 format for package review. Make sure you have the correct filename for spec when you import into SCM. ===== MUST items ===== C/C++: [x]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: There is no build directory. Running licensecheck on vanilla upstream sources. No licenses found. Please check the source files for licenses manually. [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. ---> This is well done. From the spec file. License: Boost and BSD and CC0 and GPLv3 and LGPLv2 and LGPLv2+ and LGPLv3+ and Public Domain [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/share/icons/hicolor/16x16/mimetypes, /usr/share/icons/hicolor/scalable/mimetypes, /usr/share/icons/hicolor/32x32/apps, /usr/share/mime, /usr/share/icons/hicolor/24x24/apps, /usr/share/icons/hicolor/24x24, /usr/share/icons/hicolor/128x128/apps, /usr/share/icons/hicolor/128x128/mimetypes, /usr/share/icons/hicolor/64x64, /usr/share/icons/hicolor/256x256/apps, /usr/share/icons/hicolor/64x64/mimetypes, /usr/share/icons/hicolor/16x16, /usr/share/icons/hicolor/48x48/apps, /usr/share/icons/hicolor/scalable/apps, /usr/share/icons/hicolor, /usr/share/mime/packages, /usr/share/icons/hicolor/128x128, /usr/share/icons/hicolor/22x22/mimetypes, /usr/share/icons/hicolor/32x32, /usr/share/icons/hicolor/256x256, /usr/share/icons/hicolor/16x16/apps, /usr/share/icons/hicolor/64x64/apps, /usr/share/icons/hicolor/22x22, /usr/share/icons/hicolor/48x48, /usr/share/icons/hicolor/32x32/mimetypes, /usr/share/icons/hicolor/scalable ---> These directories are all owned by either hicolor-icon-theme or shared-mime-info. Both the packages are needed by pretty much any GUI. [x]: Package does not own files or directories owned by other packages. Note: Dirs in package are owned also by: /usr/share/mimelnk/application(obconf, kde-filesystem, sim), /usr/share/mimelnk(obconf, kde-filesystem, sim) ---> Keepassxc owning this directory is correct. [x]: %build honors applicable compiler flags or justifies otherwise. ---> This version of the spec uses the correct cmake macro. Build flags are good. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. ---> This is not a rename. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: update-desktop-database is invoked in %post and %postun if package contains desktop file(s) with a MimeType: entry. Note: desktop file(s) with MimeType entry in keepassxc [x]: gtk-update-icon-cache is invoked in %postun and %posttrans if package contains icons. Note: icons in keepassxc [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 10240 bytes in 1 files. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package requires other packages for directories it uses. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [!]: update-mime-database is invoked in %post and %postun if package stores mime configuration in /usr/share/mime/packages. Note: mimeinfo files in: keepassxc See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo ---> This is [x]. update-mime-database is only need for F23 and older. [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in keepassxc-debuginfo [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Uses parallel make %{?_smp_mflags} macro. [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint ---> Changing to [x]. See rpmlint messages above. [!]: Spec file according to URL is the same as in SRPM. Note: Bad spec filename: /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/keepassxc/1450633-keepassxc_v2 /srpm-unpacked/keepassxc_v2.spec See: (this test has no URL) ---> specfile mismatch is only for review. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 1710080 bytes in /usr/share Installation errors ------------------- INFO: mock.py version 1.4.1 starting (python version = 3.6.1)... Start: init plugins INFO: selinux disabled Finish: init plugins Start: init plugins INFO: selinux disabled Finish: init plugins Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled HW Info plugin Mock Version: 1.4.1 INFO: Mock Version: 1.4.1 Finish: chroot init Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata INFO: enabled HW Info plugin Mock Version: 1.4.1 INFO: Mock Version: 1.4.1 Finish: chroot init INFO: installing package(s): /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/keepassxc/1450633-keepassxc_v2/results/keepassxc-debuginfo-2.1.4-1.fc27.x86_64.rpm /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/keepassxc/1450633-keepassxc_v2/results/keepassxc-2.1.4-1.fc27.x86_64.rpm ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 604ac0d3686740d6ada2f623fdbb2a53 -D /var/lib/mock/fedora-rawhide-x86_64-bootstrap/root -a --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$ --setenv=LANG=en_US.utf8 --setenv=LC_MESSAGES=C /usr/bin/dnf --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 27 --disableplugin=local --setopt=deltarpm=false install /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/keepassxc/1450633-keepassxc_v2/results/keepassxc-debuginfo-2.1.4-1.fc27.x86_64.rpm /home/mukundan/nextcloud/misc_pkgs/pkg_reviews/keepassxc/1450633-keepassxc_v2/results/keepassxc-2.1.4-1.fc27.x86_64.rpm Rpmlint ------- Checking: keepassxc-2.1.4-1.fc27.x86_64.rpm keepassxc-debuginfo-2.1.4-1.fc27.x86_64.rpm keepassxc-2.1.4-1.fc27.src.rpm keepassxc.x86_64: W: spelling-error %description -l en_US urls -> curls, purls, hurls keepassxc.x86_64: W: spelling-error %description -l en_US attachemts -> attachments, attache, schemata ---> as pointed out above, please fix this. keepassxc.x86_64: W: spelling-error %description -l en_US customizable -> customization keepassxc.x86_64: W: hidden-file-or-dir /usr/lib/.build-id keepassxc.x86_64: W: hidden-file-or-dir /usr/lib/.build-id keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc-dark.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc-locked.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/apps/keepassxc.svgz keepassxc.x86_64: W: gzipped-svg-icon /usr/share/icons/hicolor/scalable/mimetypes/application-x-keepassxc.svgz keepassxc.x86_64: W: no-manual-page-for-binary keepassxc keepassxc.src: W: spelling-error %description -l en_US urls -> curls, purls, hurls keepassxc.src: W: spelling-error %description -l en_US attachemts -> attachments, attache, schemata keepassxc.src: W: spelling-error %description -l en_US customizable -> customization keepassxc.src: W: strange-permission keepassxc-2.1.4-src.tar.xz 400 keepassxc.src: E: invalid-spec-name keepassxc.src:40: W: setup-not-quiet 3 packages and 0 specfiles checked; 1 errors, 15 warnings. Requires -------- keepassxc (rpmlib, GLIBC filtered): /bin/sh libQt5Core.so.5()(64bit) libQt5Core.so.5(Qt_5)(64bit) libQt5Core.so.5(Qt_5.9)(64bit) libQt5DBus.so.5()(64bit) libQt5DBus.so.5(Qt_5)(64bit) libQt5Gui.so.5()(64bit) libQt5Gui.so.5(Qt_5)(64bit) libQt5Network.so.5()(64bit) libQt5Network.so.5(Qt_5)(64bit) libQt5Widgets.so.5()(64bit) libQt5Widgets.so.5(Qt_5)(64bit) libQt5X11Extras.so.5()(64bit) libQt5X11Extras.so.5(Qt_5)(64bit) libX11.so.6()(64bit) libXi.so.6()(64bit) libXtst.so.6()(64bit) libc.so.6()(64bit) libgcrypt.so.20()(64bit) libgcrypt.so.20(GCRYPT_1.6)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libz.so.1()(64bit) rtld(GNU_HASH) keepassxc-debuginfo (rpmlib, GLIBC filtered): Provides -------- keepassxc: application() application(keepassxc.desktop) keepassxc keepassxc(x86-64) libkeepassx-autotype-xcb.so()(64bit) mimehandler(application/x-keepass2) mimehandler(application/x-keepassxc) keepassxc-debuginfo: keepassxc-debuginfo keepassxc-debuginfo(x86-64) Unversioned so-files -------------------- keepassxc: /usr/lib64/keepassxc/libkeepassx-autotype-xcb.so Source checksums ---------------- https://github.com/keepassxreboot/keepassxc/releases/download/2.1.4/keepassxc-2.1.4-src.tar.xz : CHECKSUM(SHA256) this package : 22c564fab78bd960b9af5a779c7bd59f0cc04a9988b00c6b82329059e59b0035 CHECKSUM(SHA256) upstream package : 22c564fab78bd960b9af5a779c7bd59f0cc04a9988b00c6b82329059e59b0035 Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1450633 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
koji build (f26) - https://koji.fedoraproject.org/koji/taskinfo?taskID=19590473 (In reply to Germano Massullo from comment #16) > https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc_v2.spec > https://germano.fedorapeople.org/package_reviews/keepassxc/keepassxc-2.1.4-1. > fc25.src.rpm > > 1) Ok so I haven't touched anything (if I have understood correctly your > explanation) > > 2) I haven't changed anything > > 3) I replaced > %{_datadir}/mimelnk/application/*.desktop > with > %{_datadir}/mimelnk > > Is that correct? Yes. All good.
koji build (rawhide) - https://koji.fedoraproject.org/koji/taskinfo?taskID=19612278 All good with the package. APPROVED. I would like to co-maintain the package. My FAS is nonamedotc. Please add me as a co-maintainer (if you do not mind) when you request on pkgdb.
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/keepassxc
Thank you Mukundan, very good review, I will keep it as model for future review requests
keepassxc-2.1.4-2.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-08aacd9ce3
keepassxc-2.1.4-2.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-13541d4d31
keepassxc-2.1.4-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-13541d4d31
keepassxc-2.1.4-2.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-08aacd9ce3
keepassxc-2.1.4-2.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.
> %posttrans > gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : > desktop-file-validate %{_datadir}/applications/keepassxc.desktop &> /dev/null || : That desktop-file-validate call isn't acceptable like that. You are supposed to validate .desktop files once when building the binary package. Not in %posttrans and then ignoring output and any errors.
(In reply to Michael Schwendt from comment #27) > > %posttrans > > gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : > > desktop-file-validate %{_datadir}/applications/keepassxc.desktop &> /dev/null || : > > That desktop-file-validate call isn't acceptable like that. You are supposed > to validate .desktop files once when building the binary package. Not in > %posttrans and then ignoring output and any errors. Well, the spec file uses desktop-file-install in %install. Desktop-file-validate is not necessary here at all since -file-install is already used. If desktop-file-validate is the only one used, then, of course, it should be in %install. From the guidelines, ... one MUST run desktop-file-install (in %install) OR desktop-file-validate (in %check or %install) ...
Having said that, I will fix this in git.
keepassxc-2.1.4-2.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.