Bug 1026764

Summary: Review Request: uhttpmock - HTTP web service mocking library
Product: [Fedora] Fedora Reporter: Philip Withnall <philip>
Component: Package ReviewAssignee: Cole Robinson <crobinso>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: crobinso, i, package-review, petersen
Target Milestone: ---Flags: crobinso: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: uhttpmock-0.2.0-1.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-28 03:14:39 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 Philip Withnall 2013-11-05 11:47:42 UTC
Spec URL: http://people.collabora.co.uk/~pwith/packaging/uhttpmock.spec
SRPM URL: http://people.collabora.co.uk/~pwith/packaging/uhttpmock-0.2.0-1.fc19.src.rpm
Description: Mocking test utility for HTTP and HTTPS web APIs
Fedora Account System Username: pwithnall

I am the upstream maintainer. This is my second package, and I need a sponsor (my first package is bug #1026432).

Comment 2 Christopher Meng 2013-11-05 12:04:59 UTC
Like ur first package, please use %global instead of %define.

Initial thoughts:

1. Remove obsoleted lines for EL5 only:
BuildRoot
%clean
%defattr(-,root,root,-)

2. URL is https://gitorious.org/uhttpmock/.

3. $RPM_BUILD_ROOT/%{_libdir} --> $RPM_BUILD_ROOT%{_libdir}

4. Missing %{?_isa} macro of Requires in -devel subpackage, which actually should be:

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

5. Some fields in -devel subpackage is not good.
Summary: Header files, libraries and development documentation for %{name}

%description devel
This package contains the header files, static libraries and development
documentation for %{name}. If you like to develop programs using %{name},
you will need to install %{name}-devel.

Well I think this is bogus...First there is no static libs, second it's too long...

Should be:

Summary:            Development files for %{name}

%description       devel
This package contains libraries, header files and documentation for
developing applications that use %{name}.

6. %{_includedir}/libuhttpmock-0.0

Your package name is uhttpmock, have you made a decision of which name is better, uhttpmock or libuhttpmock?

And 0.0 stands for what?

7. Summary:        Mocking test utility for HTTP and HTTPS web APIs

Isn't it a library?

From pc file: HTTP web service mocking library

From homepage: A HTTP web service mocking library for GNOME

Ideas?

---------------

I'm not a sponsor, please take a look at:
http://fedoraproject.org/wiki/Join_the_package_collection_maintainers

Comment 3 Philip Withnall 2013-11-06 09:12:52 UTC
Updated spec file: http://people.collabora.co.uk/~pwith/packaging/uhttpmock.spec
Updated SRPM URL: http://people.collabora.co.uk/~pwith/packaging/uhttpmock-0.2.0-1.fc19.src.rpm
Latest Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6143116

(In reply to Christopher Meng from comment #2)
> Like ur first package, please use %global instead of %define.

Fixed.

> 1. Remove obsoleted lines for EL5 only:
> BuildRoot
> %clean
> %defattr(-,root,root,-)

Fixed. I got them from https://fedoraproject.org/wiki/How_to_create_an_RPM_package#SPEC_templates_and_examples; would it be wise to update that page?

> 2. URL is https://gitorious.org/uhttpmock/.

Fixed.

> 3. $RPM_BUILD_ROOT/%{_libdir} --> $RPM_BUILD_ROOT%{_libdir}

Fixed.

> 4. Missing %{?_isa} macro of Requires in -devel subpackage, which actually
> should be:

Fixed.

> 5. Some fields in -devel subpackage is not good.

Fixed.

> 6. %{_includedir}/libuhttpmock-0.0
> 
> Your package name is uhttpmock, have you made a decision of which name is
> better, uhttpmock or libuhttpmock?

uhttpmock is the project name, libuhttpmock is a library which is part of the project. I full expect that a ‘uhttpmock’ program will be added to the project in future, hence I carefully chose to use ‘uhttpmock’ and ‘libuhttpmock’ in appropriate places.

> And 0.0 stands for what?

The API version of libuhttpmock, so that API-incompatible versions can be parallel installed. I’ve updated the spec file to move this into a %global.

> 7. Summary:        Mocking test utility for HTTP and HTTPS web APIs
> 
> Isn't it a library?

See above.

> From pc file: HTTP web service mocking library
> 
> From homepage: A HTTP web service mocking library for GNOME

I’ve unified these.

Thanks for your help!

Comment 4 Cole Robinson 2014-02-27 01:36:07 UTC
Unless you are planning on building for EPEL, you can drop the Group: tags:

https://fedoraproject.org/wiki/Packaging:Guidelines#Group_tag


rpmlint gives:

uhttpmock.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libuhttpmock-0.0.so.0.0.1 /lib64/libgthread-2.0.so.0
uhttpmock.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libuhttpmock-0.0.so.0.0.1 /lib64/libpthread.so.0

'git grep gthread' and some poking seems to show that gthread doesn't appear to be used at all, except in configure and the pkgconfig file. (I might be missing something though, not too savvy here)


Mark the gtk-doc bits with %doc


It seems inconsistent to use explicit file listing like:

%{_datadir}/vala/vapi/libuhttpmock-%{uhm_api_version}.dep

Mixed with wildcards like:

%{_libdir}/*.so

I'd recommend to standardize on using all explicit paths.


It appears the package has tests, consider running them in a %check section if it's safe to do so.

Comment 5 Philip Withnall 2014-03-06 16:06:40 UTC
Updated spec file: http://people.collabora.co.uk/~pwith/packaging/uhttpmock.spec
Updated SRPM URL: http://people.collabora.co.uk/~pwith/packaging/uhttpmock-0.2.0-1.fc19.src.rpm
Latest Koji builds:
 • f19: http://koji.fedoraproject.org/koji/taskinfo?taskID=6605664
 • f20: http://koji.fedoraproject.org/koji/taskinfo?taskID=6605665
 • f21: http://koji.fedoraproject.org/koji/taskinfo?taskID=6605666

(In reply to Cole Robinson from comment #4)
> Unless you are planning on building for EPEL, you can drop the Group: tags:
> 
> https://fedoraproject.org/wiki/Packaging:Guidelines#Group_tag

Removed.

> rpmlint gives:
> 
> uhttpmock.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libuhttpmock-0.0.so.0.0.1 /lib64/libgthread-2.0.so.0
> uhttpmock.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libuhttpmock-0.0.so.0.0.1 /lib64/libpthread.so.0
> 
> 'git grep gthread' and some poking seems to show that gthread doesn't appear
> to be used at all, except in configure and the pkgconfig file. (I might be
> missing something though, not too savvy here)

Dropped upstream: https://gitorious.org/uhttpmock/uhttpmock/commit/45c22b046dff336113d7b812da6ada0675d4bcc7
This can get picked up in the RPM with the next release of uhttpmock (not yet made).

> Mark the gtk-doc bits with %doc

Fixed.

> It seems inconsistent to use explicit file listing like:
> 
> %{_datadir}/vala/vapi/libuhttpmock-%{uhm_api_version}.dep
> 
> Mixed with wildcards like:
> 
> %{_libdir}/*.so
> 
> I'd recommend to standardize on using all explicit paths.

Fixed. I kept a wildcard for the SO version.

> It appears the package has tests, consider running them in a %check section
> if it's safe to do so.

Ah, excellent. Added, and they all pass. Thanks!

Comment 6 Cole Robinson 2014-03-06 16:56:53 UTC
> 
> Dropped upstream:
> https://gitorious.org/uhttpmock/uhttpmock/commit/
> 45c22b046dff336113d7b812da6ada0675d4bcc7
> This can get picked up in the RPM with the next release of uhttpmock (not
> yet made).

Sounds good.

New version looks good to me now, setting fedora-review+

Comment 7 Philip Withnall 2014-03-10 22:49:07 UTC
New Package SCM Request
=======================
Package Name: uhttpmock
Short Description: HTTP web service mocking library
Owners: pwithnall
Branches: f19 f20

Comment 8 Gwyn Ciesla 2014-03-11 12:06:15 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2014-03-13 15:29:06 UTC
uhttpmock-0.2.0-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/uhttpmock-0.2.0-1.fc19

Comment 10 Fedora Update System 2014-03-13 15:30:19 UTC
uhttpmock-0.2.0-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/uhttpmock-0.2.0-1.fc20

Comment 11 Fedora Update System 2014-03-15 15:03:18 UTC
uhttpmock-0.2.0-1.fc19 has been pushed to the Fedora 19 testing repository.

Comment 12 Fedora Update System 2014-03-28 03:14:39 UTC
uhttpmock-0.2.0-1.fc19 has been pushed to the Fedora 19 stable repository.

Comment 13 Fedora Update System 2014-03-28 03:14:52 UTC
uhttpmock-0.2.0-1.fc20 has been pushed to the Fedora 20 stable repository.