Bug 638402

Summary: Review Request: haildb - A relational database in shared library form
Product: [Fedora] Fedora Reporter: BJ Dierkes <derks>
Component: Package ReviewAssignee: Carl Thompson <fedora>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, fedora, jeremy.hankinson, notting
Target Milestone: ---Flags: fedora: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: haildb-2.2.0-2.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-22 18:06:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description BJ Dierkes 2010-09-28 22:49:48 UTC
Spec URL: http://5dollarwhitebox.org/tmp/haildb.spec
SRPM URL: http://5dollarwhitebox.org/tmp/haildb-2.1.0-1.fc13.src.rpm

Description: 

A relational database in shared library form. Not a SQL database, although
you can use this library as the storage backend for a SQL database.

Comment 1 BJ Dierkes 2010-09-28 22:50:36 UTC
NOTE: The following rpmlint warning has been reported upstream:

https://bugs.launchpad.net/haildb/+bug/649068


haildb.x86_64: W: shared-lib-calls-exit /usr/lib64/libhaildb.so.2.1.0 exit.5
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.

Comment 2 BJ Dierkes 2010-09-28 22:52:39 UTC
Correction, the bug reported upstream is:

https://bugs.launchpad.net/haildb/+bug/612982

Comment 3 BJ Dierkes 2010-09-30 19:54:54 UTC
Updated to latest upstream sources:

Spec URL: http://5dollarwhitebox.org/tmp/haildb.spec
SRPM URL: http://5dollarwhitebox.org/tmp/haildb-2.2.0-1.fc13.src.rpm

Comment 4 Jay Hankinson 2010-10-01 01:01:44 UTC
*Mock review to help case for getting sponsor to become packager:*

Needs Work:
NO - MUST: rpmlint must be run on every package. The output should be posted in the review.[1]
haildb.src: W: invalid-url Source0: http://launchpad.net/haildb/2.x/2.1/+download/haildb-2.2.0.tar.gz HTTP Error 404: Not Found
NO - MUST: The package must meet the Packaging Guidelines.
*Source0 Resolves to http://launchpad.net/haildb/2.x/2.1/+download/haildb-2.2.0.tar.gz which doesn't exist. Guessing it should be ".../2.x/2.2/..."

OK
OK - MUST: The package must be named according to the Package Naming Guidelines.
OK - MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. [2].
OK - MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
OK - MUST: The License field in the package spec file must match the actual license. [3]
OK - MUST: 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 must be included in %doc.[4]
OK - MUST: The spec file must be written in American English. [5]
OK - MUST: The spec file for the package MUST be legible. [6]
OK (assuming v 2.2 ) - MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this.
OK - MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. [7]
OK - MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch. Each architecture listed in ExcludeArch MUST have a bug filed in bugzilla, describing the reason that the package does not compile/build/work on that architecture. The bug number MUST be placed in a comment, next to the corresponding ExcludeArch line. [8]
OK - MUST: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense.
N/A - MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.[9]
OK - MUST: 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. [10]
OK - MUST: Packages must NOT bundle copies of system libraries.[11]
N/A - MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. Without this, use of Prefix: /usr is considered a blocker. [12]
N/A - MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. [13]
OK - MUST: A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations)[14]
OK - MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line. [15]
OK - MUST: Each package must consistently use macros. [16]
OK - MUST: The package must contain code, or permissable content. [17]
N/A - MUST: Large documentation files must go in a -doc subpackage. (The definition of large is left up to the packager's best judgement, but is not restricted to size. Large can refer to either size or quantity). [18]
OK - MUST: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. [18]
OK - MUST: Header files must be in a -devel package. [19]
N/A - MUST: Static libraries must be in a -static package. [20]
OK - MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. [19]
OK - MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release} [21]
OK - MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.[20]
N/A - MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. If you feel that your packaged GUI application does not need a .desktop file, you must put a comment in the spec file with your explanation. [22]
OK - MUST: Packages must not own files or directories already owned by other packages. The rule of thumb here is that the first package to be installed should own the files or directories that other packages may rely upon. This means, for example, that no package in Fedora should ever share ownership with any of the files or directories owned by the filesystem or man package. If you feel that you have a good reason to own a file or directory that another package owns, then please present that at package review time. [23]
OK - MUST: All filenames in rpm packages must be valid UTF-8. [24]

Comment 5 BJ Dierkes 2010-10-05 01:36:33 UTC
Thank you for the unofficial review... I've fixed the source URL:

SPEC: http://5dollarwhitebox.org/tmp/haildb.spec
SRPM: http://5dollarwhitebox.org/tmp/haildb-2.2.0-2.fc13.src.rpm

Unfortunately it will take a bit more time and research with upstream to resolve the rpmlint warning regarding the use of 'exit()'.

Comment 6 Carl Thompson 2010-10-10 19:08:18 UTC
OK - Package meets naming and packaging guidelines
OK - Spec file matches base package name.
OK - Spec has consistant macro usage.
See below - Meets Packaging Guidelines.
See below - License
OK - License field in spec matches
See below - License file included in package
OK - Spec in American English
OK - Spec is legible.
OK - Sources match upstream md5sum:
a559973a2c9dbfeb332e29e8e2e83deb  haildb-2.2.0.tar.gz
a559973a2c9dbfeb332e29e8e2e83deb  haildb-2.2.0.tar.gz

OK - BuildRequires correct
OK - Package has %defattr and permissions on files is good.
See below - Package has a correct %clean section.
OK - Package has correct buildroot
OK - Package is code or permissible content.
OK - Packages %doc files don't affect runtime.
OK - Package has rm -rf RPM_BUILD_ROOT at top of %install

OK - Package compiles and builds on at least one arch.
OK - Package has no duplicate files in %files.
OK - Package doesn't own any directories other packages own.
OK - Package owns all the directories it creates.
OK - Package obey's FHS standard (except for 2 exceptions)
OK - No rpmlint output. 
 - final provides and requires are sane.

SHOULD Items:

OK - Should build in mock.
OK - Should build on all supported archs
OK - Should have dist tag
OK - Should package latest version
OK - Should not use file requires outside of /etc, /bin, /sbin, /usr/bin, or
/usr/sbin

rpmlint haildb-2.2.0-2.fc13.src.rpm 
haildb.src: W: spelling-error %description -l en_US backend -> backed, backbend, back end
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

rpmlint -i haildb-2.2.0-2.fc13.src.rpm 
haildb.src: W: spelling-error %description -l en_US backend -> backed, backbend, back end
The value of this tag appears to be misspelled. Please double-check.

1 packages and 0 specfiles checked; 0 errors, 1 warnings.

Comment 7 BJ Dierkes 2010-10-11 19:26:29 UTC
New Package SCM Request
=======================
Package Name: haildb
Short Description: A relational database in shared library form
Owners: derks
Branches: el5 el6 f12 f13 f14
InitialCC:

Comment 8 Kevin Fenzi 2010-10-11 19:45:12 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2010-10-11 21:45:03 UTC
haildb-2.2.0-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/haildb-2.2.0-2.fc14

Comment 10 Fedora Update System 2010-10-11 21:45:10 UTC
haildb-2.2.0-2.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/haildb-2.2.0-2.fc12

Comment 11 Fedora Update System 2010-10-11 21:45:16 UTC
haildb-2.2.0-2.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/haildb-2.2.0-2.fc13

Comment 12 Fedora Update System 2010-10-11 21:45:23 UTC
haildb-2.2.0-2.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/haildb-2.2.0-2.el5

Comment 13 Fedora Update System 2010-10-11 22:53:05 UTC
haildb-2.2.0-2.el5 has been pushed to the Fedora EPEL 5 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 haildb'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/haildb-2.2.0-2.el5

Comment 14 Fedora Update System 2010-10-22 18:06:33 UTC
haildb-2.2.0-2.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2010-10-22 18:09:15 UTC
haildb-2.2.0-2.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2010-10-27 19:09:18 UTC
haildb-2.2.0-2.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2010-10-28 06:07:46 UTC
haildb-2.2.0-2.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.