Bug 589144

Summary: Review Request: xmlrpc-c - A lightweight RPC library based on XML and HTTP
Product: Red Hat Enterprise Linux 5 Reporter: Rob Crittenden <rcritten>
Component: Package ReviewAssignee: Nobody <nobody>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.6CC: ayoung, jzeleny, nalin, notting, orion, ovasik, pm-rhel, vvitek
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-26 15:36:57 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:
Bug Depends On:    
Bug Blocks: 188273, 582721    

Description Rob Crittenden 2010-05-05 14:03:13 UTC
xmlrpc-c is imported in RHEL-6, the same version may be used in RHEL 5.6.
https://brewweb.devel.redhat.com/packageinfo?packageID=12409

1.16.24-1200.1840.el6

Description: 
XML-RPC is a quick-and-easy way to make procedure calls over the Internet. It converts the procedure call into XML document, sends it to a remote server using HTTP, and gets back the response as XML. This library provides a modular implementation of XML-RPC for C.

Comment 1 Rob Crittenden 2010-05-05 14:21:52 UTC
Sorry, I didn't see the older bug.

*** This bug has been marked as a duplicate of bug 582721 ***

Comment 2 Nalin Dahyabhai 2010-06-22 22:48:35 UTC
Reopening - the "package review" and the "distribution" bug are tracked as separate items.

Comment 3 Rob Crittenden 2010-08-11 19:30:30 UTC
I took the EL6 spec, removed the cmake patch and added in a couple of patches that fix some install issues and also installs a few extra utilities (xml-rpc-api2cpp and xmlrpc_pstream).

Spec file: http://rcritten.fedorapeople.org/packagereview/xmlrpc-c.spec
SRPM: 
http://rcritten.fedorapeople.org/packagereview/xmlrpc-c-1.16.24-1201.1840.src.rpm

Comment 4 Rob Crittenden 2010-08-17 14:36:48 UTC
The package is not parallel buildable, new spec and srpm generated:

Spec file: http://rcritten.fedorapeople.org/packagereview/xmlrpc-c.spec
SRPM: 
http://rcritten.fedorapeople.org/packagereview/xmlrpc-c-1.16.24-1202.1840.src.rpm

Comment 5 Orion Poplawski 2010-08-17 15:48:38 UTC
Adding myself.  When xmlrpc-c lands in EL5, I can reconfigure cmake to use it.

Comment 6 Adam Young 2010-08-17 17:38:25 UTC
The URL and Source0 entires need to be corrected.  I think the comment from the spec file:

"# generated by 'make svn-sources [SVN_VER=%version SVN_REV=%svnrev]'. Unfortunately,
# upstream does not tag versions so we must fetch from the branch and
# check which version was used for it    "

Is no longer correct.  The version used for this build can be downloaded from

http://sourceforge.net/projects/xmlrpc-c/files/Xmlrpc-c%20Super%20Stable/1.06.24/xmlrpc-c-1.06.24.tgz/download



Here are the four errors from rpmlint:
/home/ayoung/rpmbuild/SPECS/xmlrpc-c.spec:16: W: macro-in-comment %version
/home/ayoung/rpmbuild/SPECS/xmlrpc-c.spec:16: W: macro-in-comment %svnrev
/home/ayoung/rpmbuild/SPECS/xmlrpc-c.spec:20: W: mixed-use-of-spaces-and-tabs (spaces: line 20, tab: line 1)
/home/ayoung/rpmbuild/SPECS/xmlrpc-c.spec: W: invalid-url Source0: xmlrpc-c-1.16.24.tar.bz2

I think they will all go away with removing the comment and correcting the URL

Comment 7 Rob Crittenden 2010-08-17 19:14:58 UTC
That URL is for the super-stable release, we want the stable release which is only available from SVN.

I fixed the comment and the white space issue. The warning about Source0 is going to need to be waived.

Spec file: http://rcritten.fedorapeople.org/packagereview/xmlrpc-c.spec
SRPM: 
http://rcritten.fedorapeople.org/packagereview/xmlrpc-c-1.16.24-1203.1840.src.rpm

Comment 8 Adam Young 2010-08-19 15:40:43 UTC
Other than the above issues, RPM lint passes.

Comment 9 Vojtech Vitek 2010-10-08 08:37:30 UTC
Review of 1.23.02/svn1968 version from 2010-08-27.

Sources used when checking:
$ git log | head -n 6
commit 10511063854e523c2e8750957d4e76a3d4b1491e
Author: Enrico Scholz <enrico.scholz.de>
Date:   Fri Aug 27 19:40:38 2010 +0200

    - updated to 1.23.02 (note: this breaks C++ ABI)
    - added vasprintf patch


Legend: + = PASSED, - = FAILED, 0 = Not Applicable

+ MUST: rpmlint must be run on every package. The output should be posted in the review

$ rpmlint -v *.spec *.rpm x86_64/*.rpm
xmlrpc-c.spec:16: W: macro-in-comment %version
xmlrpc-c.spec:16: W: macro-in-comment %svnrev
xmlrpc-c.spec:133: W: mixed-use-of-spaces-and-tabs (spaces: line 133, tab: line 1)
xmlrpc-c.spec: W: invalid-url Source0: xmlrpc-c-1.23.02.tar.xz
xmlrpc-c.src: I: checking
xmlrpc-c.src: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c.src: W: strange-permission dso-fixup 0755L
xmlrpc-c.src:16: W: macro-in-comment %version
xmlrpc-c.src:16: W: macro-in-comment %svnrev
xmlrpc-c.src:133: W: mixed-use-of-spaces-and-tabs (spaces: line 133, tab: line 1)
xmlrpc-c.src: W: invalid-url Source0: xmlrpc-c-1.23.02.tar.xz
xmlrpc-c.x86_64: I: checking
xmlrpc-c.x86_64: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c.x86_64: W: shared-lib-calls-exit /usr/lib64/libxmlrpc_server_cgi.so.3.23 exit.5
xmlrpc-c.x86_64: W: shared-lib-calls-exit /usr/lib64/libxmlrpc_server_abyss.so.3.23 exit.5
xmlrpc-c-apps.x86_64: I: checking
xmlrpc-c-apps.x86_64: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c-apps.x86_64: W: no-manual-page-for-binary xmlrpc_pstream
xmlrpc-c-apps.x86_64: W: no-manual-page-for-binary xmlrpc_cpp_proxy
xmlrpc-c-apps.x86_64: W: no-manual-page-for-binary xmlrpc
xmlrpc-c-apps.x86_64: W: no-manual-page-for-binary xmlrpc_transport
xmlrpc-c-c++.x86_64: I: checking
xmlrpc-c-c++.x86_64: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c-c++.x86_64: W: shared-lib-calls-exit /usr/lib64/libxmlrpc_server_abyss++.so.7.23 exit.5
xmlrpc-c-c++.x86_64: W: no-documentation
xmlrpc-c-client.x86_64: I: checking
xmlrpc-c-client.x86_64: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c-client.x86_64: W: no-documentation
xmlrpc-c-client++.x86_64: I: checking
xmlrpc-c-client++.x86_64: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c-client++.x86_64: W: no-documentation
xmlrpc-c-debuginfo.x86_64: I: checking
xmlrpc-c-debuginfo.x86_64: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c-devel.x86_64: I: checking
xmlrpc-c-devel.x86_64: I: checking-url http://xmlrpc-c.sourceforge.net/ (timeout 10 seconds)
xmlrpc-c-devel.x86_64: W: no-documentation
xmlrpc-c-devel.x86_64: W: no-manual-page-for-binary xmlrpc-c-config
8 packages and 1 specfiles checked; 0 errors, 21 warnings.

Ignored.

+ MUST: package named according to the Package Naming Guidelines
+ MUST: The spec file name must match the base package %{name}
+ MUST: The package must meet the Packaging Guidelines .
+ MUST: The package licensed with a Fedora approved license and meets the Licensing Guidelines
+ MUST: The License field in the package spec file matches the actual license
+ 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.
+ MUST: The spec file must be written in American English.
+ MUST: The spec file for the package MUST be legible.
+ 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

From sources:
$ cat sources 
4bac3875a7fce8e6ec1ccf388a363e34  xmlrpc-c-1.23.02.tar.xz

From upstream:
# after fetching by `make svn-sources'
$ md5sum xmlrpc-c-1.23.02.tar.xz 
4bac3875a7fce8e6ec1ccf388a363e34  xmlrpc-c-1.23.02.tar.xz

= MATCHES

+ MUST: The package successfully compiles and builds into binary rpms on at
least one primary architecture
 - tested on x86_64, no problems
0 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
+ MUST: All build dependencies must be listed in BuildRequires, except for any
that are listed in the exceptions section of the Packaging Guidelines
0 MUST: The spec file handles locales properly. This is done by using the
%find_lang macro
+ 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.
+ MUST: Packages must NOT bundle copies of system libraries
+ 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
+ MUST: 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
+ MUST: Package must not list a file more than once in the spec file's %files
listings
+ MUST: Permissions on files must be set properly. Every %files section must
include a %defattr(...) line.
+ MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
+ MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}
(or $RPM_BUILD_ROOT)
+ MUST: Each package must consistently use macros
+ MUST: The package must contain code, or permissable content
+ MUST: Large documentation files must go in a -doc subpackage
+ MUST: If a package includes something as %doc, it must not affect the runtime
of the application
+ MUST: Header files must be in a -devel package
0 MUST: Static libraries must be in a -static package

- MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'

Package -devel contains %_libdir/pkgconfig/*.pc files, but doesn't require pkgconfig.

+ 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
+ MUST: devel packages must require the base package using a fully versioned
dependency: Requires: %{name} = %{version}-%{release}
+ MUST: Packages must NOT contain any .la libtool archives, these must be
removed in the spec if they are built
0 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
+ MUST: Packages must not own files or directories already owned by other
packages
+ MUST: All filenames in rpm packages must be valid UTF-8

One MUST thing didn't pass. Otherwise, the package seems to be very clean.

Comment 11 Vojtech Vitek 2010-10-11 12:14:02 UTC
Feel free to ignore my last comment. As I'm new to this review process thing, I've accidentally made xmlrpc-c review for Fedora rawhide.

Sorry for the noise.