Bug 661961 - Review Request: kyotocabinet - A lightweight database library
Summary: Review Request: kyotocabinet - A lightweight database library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Steve Milner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-10 06:44 UTC by Casey Dahlin
Modified: 2014-06-18 08:47 UTC (History)
6 users (show)

Fixed In Version: kyotocabinet-1.2.29-1.fc14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-23 19:57:45 UTC
Type: ---
Embargoed:
smilner: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Casey Dahlin 2010-12-10 06:44:42 UTC
Spec URL: http://screwyouinc.com/dump/kyotocabinet.spec
SRPM URL: http://screwyouinc.com/dump/kyotocabinet-1.2.27-1.fc14.src.rpm
Description:

Kyoto Cabinet is a library of routines for managing a database. The database is
a simple data file containing records, and each record is a pair of a key and a
value.  Every key and value is an array of bytes with variable length. Both
binary data and character strings can be used as a key or a value. There is
neither a concept of tables nor of data types.

I am preparing to package Kyoto Tycoon as well, but wanted to get this in first.

Comment 1 Steve Milner 2010-12-10 19:03:33 UTC
+ = good
- = bad
o = informational

+ The package is named according to the Package Naming Guidelines
+ The spec file name matches the base package %{name}, in the format
%{name}.spec 
- The package must meet the Packaging Guidelines (see rpmlint output and notes
on %doc)
+ The package is licensed with a Fedora approved license and meet the Licensing
Guidelines (GPLv3)
+ The License field in the package spec matches the actual license (GPLv3)
- the  file, containing the text of the license(s) for the package must be
included in %doc (%doc is not being used by this package. It should be updated
to use %doc)
+ The spec file must be written in American English
+ The spec file for the package MUST be legible
+ The sources used to build the package matches the upstream source

$ md5sum kyotocabinet-1.2.27.tar.gz
kyotocabinet-1.2.27-1.fc14.src/kyotocabinet-1.2.27.tar.gz
01da76d5989b67f5b16cf48b170247ff  kyotocabinet-1.2.27.tar.gz
01da76d5989b67f5b16cf48b170247ff 
kyotocabinet-1.2.27-1.fc14.src/kyotocabinet-1.2.27.tar.gz

+ The package successfully compiles and builds into binary rpms on at least one
primary architecture (x86)
? If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.
+ All build dependencies are listed in BuildRequires
+ The spec file MUST handle locales properly. (no locales)
? Every binary RPM package (or subpackage) which stores shared library files
(not just symlinks) in any of the dynamic linker's default paths, must call
ldconfig in %post and %postun.
+ Packages does NOT bundle copies of system libraries
+ If the package is designed to be relocatable, the packager must state this
fact in the request for review (not relocatable)


o a later version of the software was released
o %clean section is not required unless you will be building for EPEL and/or
F12 or lower.
o Consider if the the development documentation should be in a -doc package
instead of in the devel package due to the amount of files (222)

- rpmlint must be run on the source rpm and all binary rpms the build produces
(see http://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath)

$ rpmlint
/usr/local/steve/rpmbuild/RPMS/i686/kyotocabinet-1.2.27-1.fc13.i686.rpm
/usr/local/steve/rpmbuild/RPMS/i686/kyotocabinet-devel-1.2.27-1.fc13.i686.rpm
/usr/local/steve/rpmbuild/RPMS/i686/kyotocabinet-debuginfo-1.2.27-1.fc13.i686.rpm
kyotocabinet-1.2.27-1.fc14.src.rpm 
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcforestmgr
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcdirmgr ['/lib',
'/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib', '/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kchashmgr ['/lib',
'/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib', '/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcforesttest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcstashtest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kccachetest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kchashtest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kctreemgr ['/lib',
'/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib', '/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kclangctest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcutilmgr ['/lib',
'/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib', '/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcdirtest ['/lib',
'/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib', '/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcutiltest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcpolytest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcprototest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcgrasstest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kcpolymgr ['/lib',
'/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib', '/usr/lib']
kyotocabinet.i686: E: binary-or-shlib-defines-rpath /usr/bin/kctreetest
['/lib', '/usr/lib', '/usr/lib', '/usr/local/steve/lib', '/usr/local/lib',
'/usr/lib']
4 packages and 0 specfiles checked; 17 errors, 0 warnings.
$

Once the above items are fixed I'll continue reviewing.

Comment 2 Casey Dahlin 2010-12-10 23:35:38 UTC
From http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo

There is a potential 'gotcha' with %doc entries: if you have a %doc entry, then you can't use commands during %install to copy files into the documentation directory descending from %_defaultdocdir. That's because if there's a %doc entry, rpmbuild will automatically remove the docdir files created by %install before installing the files listed with %doc. This can hit you if, for example, you want an "examples" subdirectory in the documentation directory. In this case, don't use "%doc" to mark documentation. Instead, create the directories and copy the files into %{buildroot}%{_defaultdocdir}/%{name}-%{version}/ during %install, and make sure that %files includes an entry for "%{_defaultdocdir}/%{name}-%{version}/". They will still be correctly marked as documentation.

Comment 3 Casey Dahlin 2010-12-11 02:47:47 UTC
http://screwyouinc.com/dump/kyotocabinet-1.2.27-2.fc14.src.rpm
http://screwyouinc.com/dump/kyotocabinet.spec

That should fix everything but the %doc, which I explained above.

Comment 4 Steve Milner 2010-12-13 15:38:58 UTC
+ = good
- = bad
o = informational

$ rpmlint /usr/local/steve/rpmbuild/RPMS/i686/kyotocabinet-1.2.27-2.fc13.i686.rpm /usr/local/steve/rpmbuild/RPMS/i686/kyotocabinet-devel-1.2.27-2.fc13.i686.rpm /usr/local/steve/rpmbuild/RPMS/i686/kyotocabinet-api-doc-1.2.27-2.fc13.i686.rpm /usr/local/steve/rpmbuild/RPMS/i686/kyotocabinet-debuginfo-1.2.27-2.fc13.i686.rpm
4 packages and 0 specfiles checked; 0 errors, 0 warnings.

+ the  file, containing the text of the license(s) for the package must be
included in %doc (%doc workaround is being used)
+ rpmlint clean
+ ldconfig is being used in post and postun
+ owns all directories that it creates.
+ file list looks sane
+ Permissions on files are be set properly.
+ Package consistently use macros.
+ The package contains code
+ Large documentation files are in a -doc subpackage.
+ doc package is not required for execution
+ Header files are in a -devel package
+ No static libraries
+ package contains library files with a suffix and library files that end in .so (without suffix) are in a -devel package.
+ devel package requires main package
+ no .la files
+ Not a desktop application so no need for .desktop file(s)
+ Package does not own files owned by other packages
+ Filenames are valid UTF-8
+ The package meets the Packaging Guidelines
o You may want to change Source0 to http://fallabs.com/%{name}/pkg/%{name}-%{version}.tar.gz ... though it is not required.
o You may want to look and see if your directory ownership listing should use %dir or not

Setting fedora-review to +

Comment 5 Casey Dahlin 2010-12-13 16:02:53 UTC
New Package SCM Request
=======================
Package Name: kyotocabinet
Short Description: A lightweight database library
Owners: sadmac
Branches: f14
InitialCC: sadmac

Comment 6 Jason Tibbitts 2010-12-13 18:33:08 UTC
Git done (by process-git-requests).

Comment 7 Fedora Update System 2010-12-13 19:15:33 UTC
kyotocabinet-1.2.29-1.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/kyotocabinet-1.2.29-1.fc14

Comment 8 Fedora Update System 2010-12-15 09:04:07 UTC
kyotocabinet-1.2.29-1.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update kyotocabinet'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/kyotocabinet-1.2.29-1.fc14

Comment 9 Fedora Update System 2010-12-23 19:57:41 UTC
kyotocabinet-1.2.29-1.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.


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