Bug 824334 (libkolabxml) - Review Request: libkolabxml - Kolab XML Format library
Summary: Review Request: libkolabxml - Kolab XML Format library
Keywords:
Status: CLOSED ERRATA
Alias: libkolabxml
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christoph Wickert
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: libkolab
TreeView+ depends on / blocked
 
Reported: 2012-05-23 09:56 UTC by Jeroen van Meeuwen
Modified: 2012-08-09 23:11 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-07-14 22:00:03 UTC
Type: ---
christoph.wickert: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
Build log of EPEL5 build (290.72 KB, text/plain)
2012-06-24 17:32 UTC, Christoph Wickert
no flags Details
Log of %check (8.20 KB, text/plain)
2012-06-24 17:33 UTC, Christoph Wickert
no flags Details

Description Jeroen van Meeuwen 2012-05-23 09:56:10 UTC
Spec URL: http://git.kolabsys.com/rpm/libkolabxml/plain/libkolabxml.spec
SRPM URL: http://mirror.kolabsys.com/pub/fedora/kolab-3.0/f17/development/SRPMS/libkolabxml-0.5-3.fc17.kolab_3.0.src.rpm
Description: Kolab XML format parsing library, for xCal and xCard and others.
Fedora Account System Username: kanarip

The latest SRPM as per dist-git/master/HEAD is linked to from the following location;

  http://mirror.kolabsys.com/pub/fedora/kolab-3.0/f17/development/SRPMS/repoview/libkolabxml.html

Comment 2 Christoph Wickert 2012-06-20 13:34:05 UTC
The links to the SRPMs give 4ß4, please fix.

Comment 3 Jeroen van Meeuwen 2012-06-20 13:36:48 UTC
As said, the latest SRPM is linked from the repoview page (and currently is http://mirror.kolabsys.com/pub/redhat/kolab-3.0/el6/development/SRPMS/libkolabxml-0.6-0.2.el6.kolab_3.0.src.rpm)

Comment 4 Christoph Wickert 2012-06-20 13:40:58 UTC
Found the package. Hopefully adding a link here will allow the fedora-review tool to process this request:

Spec URL: http://git.kolabsys.com/rpm/libkolabxml/plain/libkolabxml.spec
SRPM URL: http://mirror.kolabsys.com/pub/redhat/kolab-3.0/el6/development/SRPMS/libkolabxml-0.6-0.2.el6.kolab_3.0.src.rpm

Comment 6 Jeroen van Meeuwen 2012-06-20 14:52:59 UTC
Spec URL: http://git.kolabsys.com/rpm/libkolabxml/plain/libkolabxml.spec
SRPM URL: http://mirror.kolabsys.com/pub/redhat/kolab-3.0/el6/development/SRPMS/libkolabxml-0.6-0.4.el6.kolab_3.0.src.rpm

Cleaned up some other potentially review-blocking items as well.

Comment 7 Christoph Wickert 2012-06-24 17:22:27 UTC
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== C/C++ ====
[x]: MUST Header files in -devel subpackage, if present.
[!]: MUST ldconfig called in %post and %postun if required.
     Note: /sbin/ldconfig not called in %post
[x]: MUST Package does not contain any libtool archives (.la)
[x]: MUST Package does not contain kernel modules.
[x]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.
[x]: MUST Package is not relocatable.
[!]: MUST Development (unversioned) .so files in -devel subpackage, if
     present.
     Note: python-kolabformat-0.6-0.4.fc18.i686.rpm : /usr/lib/python2.7/site-
     packages/_kolabformat.so php-kolabformat-0.6-0.4.fc18.i686.rpm :
     /usr/lib/php/modules/kolabformat.so

==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST %build honors applicable compiler flags or justifies otherwise.
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     Note: These BR are not needed: gcc-c++
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
[x]: MUST Sources contain only permissible code or content.
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files devel section. This is OK if
     packaging for EPEL5. Otherwise not needed
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Fully versioned dependency in subpackages, if present.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[-]: MUST Large documentation files are in a -doc subpackage, if required.
[x]: 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 is included in %doc.
[x]: MUST License field in the package spec file matches the actual license: LGPLv3+
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.

rpmlint php-kolabformat-0.6-0.4.fc18.i686.rpm

php-kolabformat.i686: W: no-documentation
php-kolabformat.i686: W: non-conffile-in-etc /etc/php.d/kolabformat.ini
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint libkolabxml-devel-0.6-0.4.fc18.i686.rpm

libkolabxml-devel.i686: W: non-standard-group System/Libraries
libkolabxml-devel.i686: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint libkolabxml-0.6-0.4.fc18.src.rpm

libkolabxml.src: W: spelling-error %description -l en_US xCal -> x Cal, Cal, cal
libkolabxml.src: W: spelling-error %description -l en_US xCard -> x Card, card
libkolabxml.src:95: W: macro-in-comment %patch1
libkolabxml.src: W: invalid-url Source0: libkolabxml-0.6.tar.gz
1 packages and 0 specfiles checked; 0 errors, 4 warnings.


rpmlint libkolabxml-debuginfo-0.6-0.4.fc18.i686.rpm

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


rpmlint libkolabxml-0.6-0.4.fc18.i686.rpm

libkolabxml.i686: W: spelling-error %description -l en_US xCal -> x Cal, Cal, cal
libkolabxml.i686: W: spelling-error %description -l en_US xCard -> x Card, card
libkolabxml.i686: E: library-without-ldconfig-postin /usr/lib/libkolabxml.so.0.6
libkolabxml.i686: E: library-without-ldconfig-postun /usr/lib/libkolabxml.so.0.6
libkolabxml.i686: E: zero-length /usr/share/doc/libkolabxml-0.6/NEWS
1 packages and 0 specfiles checked; 3 errors, 2 warnings.


rpmlint python-kolabformat-0.6-0.4.fc18.i686.rpm

python-kolabformat.i686: W: private-shared-object-provides /usr/lib/python2.7/site-packages/_kolabformat.so _kolabformat.so
python-kolabformat.i686: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


[-]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
Package has no sources or they are generated by developer
[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[-]: SHOULD 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]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[!]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD SourceX is a working URL.
[-]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[!]: SHOULD %check is present and all tests pass.
[!]: SHOULD Packages should try to preserve timestamps of original installed
     files
[x]: SHOULD Spec use %global instead of %define.


==== Issues ====
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     Note: These BR are not needed: gcc-c++
See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2

Save to ignore, leave it in as it doesn't hurt and is saver for other targets.


[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
See: http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag

Save to ignore, leave it in as we want EPEL


[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean

Save to ignore, leave it in as we want EPEL


[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files devel section. This is OK if
     packaging for EPEL5. Otherwise not needed
See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions

Save to ignore, leave it in as we want EPEL


[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
See: None

Save to ignore, leave it in as we want EPEL


[!]: MUST Rpmlint output is silent.

rpmlint php-kolabformat-0.6-0.4.fc18.i686.rpm

php-kolabformat.i686: W: no-documentation
php-kolabformat.i686: W: non-conffile-in-etc /etc/php.d/kolabformat.ini
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Fixed in git by marking kolabformat.ini as %config(noreplace).


rpmlint libkolabxml-devel-0.6-0.4.fc18.i686.rpm

libkolabxml-devel.i686: W: non-standard-group System/Libraries
libkolabxml-devel.i686: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Fixed in git by changing group to "Development/Libraries". Please remember to only use valid names from /usr/share/doc/rpm-*/GROUPS.


rpmlint libkolabxml-0.6-0.4.fc18.src.rpm

libkolabxml.src: W: spelling-error %description -l en_US xCal -> x Cal, Cal, cal
libkolabxml.src: W: spelling-error %description -l en_US xCard -> x Card, card
libkolabxml.src:95: W: macro-in-comment %patch1
libkolabxml.src: W: invalid-url Source0: libkolabxml-0.6.tar.gz
1 packages and 0 specfiles checked; 0 errors, 4 warnings.

Fixed in git by removing the obsolete %patch1 comment


rpmlint libkolabxml-debuginfo-0.6-0.4.fc18.i686.rpm

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


rpmlint libkolabxml-0.6-0.4.fc18.i686.rpm

libkolabxml.i686: W: spelling-error %description -l en_US xCal -> x Cal, Cal, cal
libkolabxml.i686: W: spelling-error %description -l en_US xCard -> x Card, card
libkolabxml.i686: E: library-without-ldconfig-postin /usr/lib/libkolabxml.so.0.6
libkolabxml.i686: E: library-without-ldconfig-postun /usr/lib/libkolabxml.so.0.6
libkolabxml.i686: E: zero-length /usr/share/doc/libkolabxml-0.6/NEWS
1 packages and 0 specfiles checked; 3 errors, 2 warnings.

I fixed the ldconfig issue in git. We should probably look into providing some NEWS.


rpmlint python-kolabformat-0.6-0.4.fc18.i686.rpm

python-kolabformat.i686: W: private-shared-object-provides /usr/lib/python2.7/site-packages/_kolabformat.so _kolabformat.so
python-kolabformat.i686: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Fixed in git by filtering _kolabformat.so out as described in http://fedoraproject.org/wiki/PackagingDrafts/FilteringAutomaticDependencies
Same goes for php-kolabformat package with it's kolabformat.so


[!]: MUST ldconfig called in %post and %postun if required.
     Note: /sbin/ldconfig not called in %post
See: http://fedoraproject.org/wiki/Packaging/Guidelines#Shared_Libraries

Fixed in git.


[!]: MUST Development (unversioned) .so files in -devel subpackage, if
     present.
     Note: python-kolabformat-0.6-0.4.fc18.i686.rpm : /usr/lib/python2.7/site-
     packages/_kolabformat.so php-kolabformat-0.6-0.4.fc18.i686.rpm :
     /usr/lib/php/modules/kolabformat.so
See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages

Save to ignore, php modules are unversioned


[!]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).

Apart from the private libs being provided, the php-kolabformat package had no dependency on php whatsoever. Fixed in git as described in https://fedoraproject.org/wiki/Packaging:PHP#C_extensions_.28PECL_and_others.29
I also made the dependencies on the base package arch dependent with %{?_isa}.


[!]: SHOULD %check is present and all tests pass.

Most of the tests in %check fail because of:
./conversiontest: error while loading shared libraries: libkolabxml.so.0: cannot open shared object file: No such file or directory

I fixed this in git by exporting LD_LIBRARY_PATH. python test still fails.


[!]: SHOULD Packages should try to preserve timestamps of original installed
     files

I have added -p switch to install in git.


=== Remaining issues ====
I fixed most problems in git in http://git.kolabsys.com/rpm/libkolabxml/commit/?id=d4d2730f

However, a few issues still remain:
- Package does not build on EPEL5. Attaching a build log. Not a blocker.
- The filtering for private libs in php-kolabformat and python-kolabformat does not work. We need to look into something like https://fedoraproject.org/wiki/Packaging:EPEL#Perl_Provides_and_Requires_Filtering before we build an ELEL5 package. Not a blocker as EPEl5 doesn't build anyway.
- Provide some content for the NEWS file. Trivial, no blocker.
- python test fails even after properly exporting LD_LIBRARY_PATH. Attaching output for you to look into it. Not a blocker.


As none of the remaining issues is a blocker, you can consider the package APPROVED.

Comment 8 Christoph Wickert 2012-06-24 17:32:04 UTC
Created attachment 594026 [details]
Build log of EPEL5 build

Please discuss this with Christian if you want EPEL5.

Comment 9 Christoph Wickert 2012-06-24 17:33:57 UTC
Created attachment 594027 [details]
Log of %check

The python test still fails. Please look into it as necessary.

Comment 10 Jeroen van Meeuwen 2012-06-25 11:21:58 UTC
New Package SCM Request
=======================
Package Name: libkolabxml
Short Description: Kolab XML Format library
Owners: kanarip
Branches: el6 f17
InitialCC:

Comment 11 Gwyn Ciesla 2012-06-26 14:44:04 UTC
Git done (by process-git-requests).

Comment 12 Rex Dieter 2012-06-26 16:05:36 UTC
working on libkolab review, seems we have a missing dep here:

xsd-utils is needed by libkolabxml-devel-0.6.0-1.fc17.x86_64

Comment 13 Fedora Update System 2012-06-26 19:15:19 UTC
libkolabxml-0.6.0-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/libkolabxml-0.6.0-2.fc17

Comment 14 Fedora Update System 2012-06-27 07:33:13 UTC
libkolabxml-0.6.0-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/libkolabxml-0.6.0-3.fc17

Comment 15 Fedora Update System 2012-06-28 03:44:44 UTC
libkolabxml-0.6.0-3.fc17 has been pushed to the Fedora 17 testing repository.

Comment 16 Fedora Update System 2012-07-14 22:00:03 UTC
libkolabxml-0.6.0-3.fc17 has been pushed to the Fedora 17 stable repository.

Comment 17 Fedora Update System 2012-07-29 15:58:21 UTC
libkolabxml-0.7.0-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/libkolabxml-0.7.0-2.fc17

Comment 18 Fedora Update System 2012-07-29 15:58:32 UTC
libkolabxml-0.7.0-2.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/libkolabxml-0.7.0-2.el6

Comment 19 Fedora Update System 2012-08-09 23:11:51 UTC
libkolabxml-0.7.0-2.fc17 has been pushed to the Fedora 17 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.