Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1046340 (qtkeychain) - Review Request: qtkeychain - A password store library
Summary: Review Request: qtkeychain - A password store library
Keywords:
Status: CLOSED ERRATA
Alias: qtkeychain
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christopher Meng
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1196367 (view as bug list)
Depends On:
Blocks: qt-reviews
TreeView+ depends on / blocked
 
Reported: 2013-12-24 16:25 UTC by Joseph Marrero
Modified: 2015-03-29 01:03 UTC (History)
5 users (show)

Fixed In Version: qtkeychain-0.1.0-4.20130805git.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-01-20 03:06:07 UTC
i: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Joseph Marrero 2013-12-24 16:25:51 UTC
Spec URL: http://ece.uprm.edu/jmarrero/fedora_packaging/qtkeychain/qtkeychain.spec
SRPM URL: http://ece.uprm.edu/jmarrero/fedora_packaging/qtkeychain/qtkeychain-0.20130805-1.fc20.src.rpm
Description: qtkeychain allow you to store passwords easy and secure on Linux, Windows and Mac.
Fedora Account System Username: jmarrero

koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6331526

Comment 1 Kevin Kofler 2013-12-24 16:52:25 UTC
About the summaries and descriptions:

* The "cross-platform" or "Linux, Windows and Mac" part isn't all that interesting for Fedora.
* In addition, it should say "qtkeychain allows you" not "qtkeychain allow you".
* The descriptions should also start with a capital letter, unless they start with the name of the package. In particular, "use …" should be "Use …".

Comment 2 Kevin Kofler 2013-12-24 17:03:00 UTC
This prefers gnome-keyring over KWallet if both are running, which is a bad idea in KDE Plasma sessions. It should really prefer KWallet in a KDE Plasma session.

Comment 4 Joseph Marrero 2013-12-24 17:08:30 UTC
that issue is upstream which I could try to patch during this days. But is that a block for the package to be accepted?

Comment 5 Kevin Kofler 2013-12-24 17:11:53 UTC
Not really (considering there's plenty of stuff in the distro hardcoded to gnome-keyring, i.e. not supporting KWallet at all), it's just an odd thing for something coming from the KDE world to do.

Comment 6 Joseph Marrero 2013-12-24 19:43:27 UTC
I see, then is kind of low priority now to patch it, first priority is to get this into fedora to be able to update owncloud-client(mirall).

Comment 7 Christopher Meng 2014-01-03 17:36:39 UTC
I need a review swap with bug 1010613.

Comment 8 Joseph Marrero 2014-01-03 17:38:40 UTC
thanks, I will do your review as soon I get home tonight.

Comment 9 Christopher Meng 2014-01-03 17:54:13 UTC
Please fetch the latest snapshot from git.

Also it has a tag 0.1.0, so your version should be 0.1.0.git(DATE).(COMMIT) or something else:

[rpmaker@fab ~]$ rpmdev-vercmp 
  Epoch1: 0
Version1: 0.20130805 
Release1: 1
  Epoch2: 0
Version2: 0.1.0git20140104
Release2: 1
0:0.20130805-1 > 0:0.1.0git20140104-1


And, %{_libdir}/cmake looks like it shouldn't be owned by this one...

Comment 10 Joseph Marrero 2014-01-04 01:42:24 UTC
I am asking owncloud upstream if there is any reason they use that version of qtkeychain or if using the 0.1.0 or latest version could cause unexpected problems.

As soon I get the answer I will upload a new spec and srpm

thanks

Comment 11 Kevin Kofler 2014-01-04 01:43:29 UTC
> Also it has a tag 0.1.0, so your version should be 0.1.0.git(DATE).(COMMIT)

Uh, no, snapshot dates do not belong in Version, but Release.

In this case, it is a post-release snapshot (i.e., it is NEWER than the 0.1.0 tag), so it should have:
Version: 0.1.0
Release: 1.20130805git%{?dist}
(then 2.20130805git%{?dist}, 3.20130805git%{?dist} etc. if you need to do changes to the specfile).
Optionally, IN ADDITION to the date (which is always required and comes BEFORE "git"), the git hash can be added after "git", with up to 13 characters (and if you do that, I recommend using all 13 characters that the packaging guidelines allow because collisions have been seen in the wild for shorter abbreviations: http://blog.cuviper.com/2013/11/10/how-short-can-git-abbreviate/).

For pre-release snapshots, the rules are almost the same, but there you have to use 0.1, 0.2 etc. instead of 1, 2 etc., so that the actual release can get Release: 1%{?dist}.

See:
https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Versioning
which states all these rules very clearly. I don't understand why even reviewers keep getting this wrong!

Comment 12 Christopher Meng 2014-01-04 02:53:57 UTC
(In reply to Kevin Kofler from comment #11)
> > Also it has a tag 0.1.0, so your version should be 0.1.0.git(DATE).(COMMIT)
> 
> Uh, no, snapshot dates do not belong in Version, but Release.

Sorry I didn't make it clear, I didn't mean the version tag but the final combined text generated by bumpspec, but I used a wrong example here last night...

I never add git info to version tag, forgive this time...

Comment 13 Joseph Marrero 2014-01-05 00:54:49 UTC
I seems we need that version for it to work fine with mirall-1.5.0 until the qtkeychain 2.0 version comes


Am 04.01.2014 um 02:39 schrieb Joseph Marrero:

> I am packaging libqtkeychain for fedora and I wonder if there is a version restriction for mirall 1.5.0
>
> I am considering packaging the current git version
> or the 0.1.0 version.
>
> I wonder if any of this versions can be used without any setbacks or  if I should stick to packaging the same snapshot used on the OBS repos.


I think it's best to use the OBS version for now. That said, it'd really like to see a 0.2.0 release, but that hasn't emerged yet.

Daniel

Comment 14 Joseph Marrero 2014-01-05 01:10:50 UTC
forgot to point out that the info after my initial comment is from the owncloud mailing list that. Daniel is one of the main developers of the owncloud-client.

Comment 16 Christopher Meng 2014-01-07 06:00:21 UTC
1. Remove BuildRequires:  gcc-c++ 

2. In devel subpackage:

Requires:       %{name} = %{version}

should be:

Requires:       %{name}%{?_isa} = %{version}-%{release}

3. -devel description, cleanup:

Remove this line:

Use qtkeychain to store passwords easy and secure.

4. Leave a blank between each changelog. I'm not an keen-eyed person.

Others are fine at the moment.

Comment 18 Joseph Marrero 2014-01-07 06:43:12 UTC
Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=6368030

Comment 19 Christopher Meng 2014-01-07 08:19:57 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated




===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 8 files have unknown license. Detailed output of
     licensecheck:

Unknown or generated
--------------------
qtkeychain-0.20130805/keychain.cpp
qtkeychain-0.20130805/keychain.h
qtkeychain-0.20130805/keychain_dbus.cpp
qtkeychain-0.20130805/keychain_mac.cpp
qtkeychain-0.20130805/keychain_p.h
qtkeychain-0.20130805/keychain_win.cpp
qtkeychain-0.20130805/qkeychain_export.h
qtkeychain-0.20130805/testclient.cpp

[x]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: 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.
[x]: 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.
[-]: Package contains systemd file(s) if in need.
[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 2 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]: Package installs properly.
[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 %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[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 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 do not use a name that already exist
[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]: 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]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[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.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: qtkeychain-0.1.0-4.20130805git.fc21.i686.rpm
          qtkeychain-devel-0.1.0-4.20130805git.fc21.i686.rpm
          qtkeychain-0.1.0-4.20130805git.fc21.src.rpm
qtkeychain-devel.i686: W: no-documentation
qtkeychain.src: W: invalid-url Source0: qtkeychain-0.20130805.tar.bz2
3 packages and 0 specfiles checked; 0 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint qtkeychain-devel qtkeychain
qtkeychain-devel.i686: W: no-documentation
qtkeychain.i686: W: unused-direct-shlib-dependency /usr/lib/libqtkeychain.so.0.2.0 /lib/libm.so.6
2 packages and 0 specfiles checked; 0 errors, 2 warnings.
# echo 'rpmlint-done:'



Requires
--------
qtkeychain-devel (rpmlib, GLIBC filtered):
    libqtkeychain.so.0
    qtkeychain(x86-32)

qtkeychain (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libQtCore.so.4
    libQtDBus.so.4
    libc.so.6
    libgcc_s.so.1
    libgcc_s.so.1(GCC_3.0)
    libm.so.6
    libstdc++.so.6
    libstdc++.so.6(CXXABI_1.3)
    rtld(GNU_HASH)



Provides
--------
qtkeychain-devel:
    qtkeychain-devel
    qtkeychain-devel(x86-32)

qtkeychain:
    libqtkeychain.so.0
    qtkeychain
    qtkeychain(x86-32)



Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/bin/fedora-review -rvn qtkeychain-0.1.0-4.20130805git.fc19.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: BATCH, EPEL5, EXARCH, DISTTAG

----------------------------
PACKAGE APPROVED.

Comment 20 Joseph Marrero 2014-01-07 12:06:09 UTC
Thanks for the review, I will be waiting for you to update your ck review to start doing it.

Comment 21 Joseph Marrero 2014-01-07 12:06:47 UTC
New Package SCM Request
=======================
Package Name: qtkeychain
Short Description: A password store library
Owners: jmarrero
Branches: f19 f20 el6
InitialCC: jmarrero

Comment 22 Gwyn Ciesla 2014-01-07 13:09:13 UTC
Git done (by process-git-requests).

Comment 23 Fedora Update System 2014-01-07 17:40:19 UTC
qtkeychain-0.1.0-4.20130805git.fc19,owncloud-csync-0.91.4-1.fc19,mirall-1.5.0-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/qtkeychain-0.1.0-4.20130805git.fc19,owncloud-csync-0.91.4-1.fc19,mirall-1.5.0-1.fc19

Comment 24 Fedora Update System 2014-01-07 17:40:46 UTC
qtkeychain-0.1.0-4.20130805git.fc20,owncloud-csync-0.91.4-1.fc20,mirall-1.5.0-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/qtkeychain-0.1.0-4.20130805git.fc20,owncloud-csync-0.91.4-1.fc20,mirall-1.5.0-1.fc20

Comment 25 Fedora Update System 2014-01-08 07:45:21 UTC
Package qtkeychain-0.1.0-4.20130805git.fc19, owncloud-csync-0.91.4-1.fc19, mirall-1.5.0-1.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qtkeychain-0.1.0-4.20130805git.fc19 owncloud-csync-0.91.4-1.fc19 mirall-1.5.0-1.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-0363/qtkeychain-0.1.0-4.20130805git.fc19,owncloud-csync-0.91.4-1.fc19,mirall-1.5.0-1.fc19
then log in and leave karma (feedback).

Comment 26 Fedora Update System 2014-01-20 03:06:07 UTC
qtkeychain-0.1.0-4.20130805git.fc19, owncloud-csync-0.91.4-1.fc19, mirall-1.5.0-2.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 27 Fedora Update System 2014-01-20 03:06:46 UTC
qtkeychain-0.1.0-4.20130805git.fc20, owncloud-csync-0.91.4-1.fc20, mirall-1.5.0-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 28 Kevin Kofler 2015-03-29 01:03:17 UTC
*** Bug 1196367 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.