Bug 466496 - Review Request: python-suds - A lightweight python soap web services client
Summary: Review Request: python-suds - A lightweight python soap web services client
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Fabian Affolter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 681834 687933
TreeView+ depends on / blocked
 
Reported: 2008-10-10 15:43 UTC by Jeff Ortel
Modified: 2011-03-15 18:29 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 687933 (view as bug list)
Environment:
Last Closed: 2008-12-03 01:13:28 UTC
Type: ---
Embargoed:
mail: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Jeff Ortel 2008-10-10 15:43:33 UTC
Spec URL: http://svn.fedorahosted.org/svn/suds/tags/release-0.3.1/python-suds.spec
SRPM URL: https://fedorahosted.org/suds/attachment/wiki/WikiStart/python-suds-0.3.1-1.src.rpm?format=raw
Description: 

I would appreciate a review to get Suds into Fedora Extras!

Suds is a Fedora hosted project that provides a python soap web services client lib. It leverages python meta programming to provide an intuative API for consuming web services. Objectification of types defined in the WSDL is provided without class generation. Programmers rarely need to read the WSDL since services and WSDL based objects can be easily inspected.  Suds presents an XML-RPC-like API for service invocation.  It supports all three major soap binding styles: rpc/literal, rpc/encoded and document/literal.  This package provides a reliable, complete and easy to use alternative to ZSI and SoapPy.  Although only at version 0.3.1, suds is mature, actively maintained and has a solid community around the world.

For more details - visit the Trac site: https://fedorahosted.org/suds.

I am a first time package maintainer and will need a sponsor.

Comment 1 Fabian Affolter 2008-10-24 08:49:11 UTC
Just some small comments on your spec file.

%define name python-suds
%define version 0.3.1
%define release 1

Name: %{name}
Version: %{version}
Release: %{release}

- You duplicate the content, the following line will be enough.

  Name: python-suds
  Version: 0.3.1
  Release: 11%{?dist}

Source0: %{name}-%{version}.tar.gz

- The source should come from upstream.
  I guess something like the line below will work, but I'm not sure
  Source0: https://fedorahosted.org/suds/attachment/wiki/WikiStart/%{name}-%{version}.tar.gz?format=raw
  https://fedoraproject.org/wiki/Packaging/SourceURL

%description

- There is no need for a space in front of every line, but is only cosmetically

%install and %files

- You shouldn't rely on INSTALLED_FILES, as that will not list directories, which will need to be specified in the %files section as well. Using globs in the %files section is safer. 
  https://fedoraproject.org/wiki/Packaging/Python#System_Architecture

%changelog

- The word 'release' is not nessesary, just ...com> - 0.3.1-1
  There is no need for a space in front of every line
  https://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs

Details about Python modules: https://fedoraproject.org/wiki/Packaging/Python

Comment 2 Jeff Ortel 2008-10-24 17:53:19 UTC
Thanks for the great comments!
Implemented all suggestions with the exception of changing %Source0 to be a URL to the fedorahosted wiki.  I'm not sure I understand this.  If I make this change, rpmbuild fails.  Also, I looked at (2) other fedora hosted projects that I'm pretty sure are fedora packages and their %Source0 looked like mine.  Can you help me understand this better?

Also, seems like the spec should be named suds.spec.  Can I change this?

Comment 3 Fabian Affolter 2008-10-27 11:44:22 UTC
(In reply to comment #2)
> Implemented all suggestions with the exception of changing %Source0 to be a URL
> to the fedorahosted wiki.  I'm not sure I understand this.  If I make this
> change, rpmbuild fails.  Also, I looked at (2) other fedora hosted projects
> that I'm pretty sure are fedora packages and their %Source0 looked like mine. 
> Can you help me understand this better?

The problem seems to be the path (...?format=raw, rpmbuild can't handle GET in an URL).  I'm sorry that I guided you in the wrong direction about this.  

The guys from 'Fedora Python Modules' [1] use in their spec file [2] the following entry:

 Source0: https://fedorahosted.org/releases/p/y/%{name}/%{name}-%{version}.tar.gz

But the directory of suds is empty ( https://fedorahosted.org/releases/s/u/suds/ ) . 

The Fedora Hosted FAQ tells you how you can publish a tarball.

 from https://fedorahosted.org/web/en/faq
 "How can I publish archive releases (tgz, zip, etc) for my project?
 Create the archive on your workstation and run scp myProject-0.1.tar.gz
 fedorahosted.org:<Project Name>. The archive will be located under
 https://fedorahosted.org/releases/"

> Also, seems like the spec should be named suds.spec.  Can I change this?

From my point of view the name is ok. [3]


[1] https://fedorahosted.org/python-fedora/
[2] https://fedorahosted.org/python-fedora/browser/python-fedora-stable/python-fedora.spec
[3] https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Addon_Packages_.28python_modules.29

Comment 4 Fabian Affolter 2008-10-27 11:58:07 UTC
Appendices:

I can't sponsor you, but I can help you with my limited packaging skills. If you are still seeking a sponsor, get in touch with Tom "spot" Callaway about your spnsorship because I don't know the right way for RH employees or if it's different from the standard way of sponsorship.

https://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored

After you made changes to your spec file, please bump the release.  This ways it's easier to rack the changes for everybody.

Comment 5 Jeff Ortel 2008-10-27 14:21:08 UTC
Again, thanks for the help.
I updated the makefile to publish (scp) the tar.gz files to fedorahosted as suggested and bumped to release (2).

Comment 6 Fabian Affolter 2008-10-27 21:48:01 UTC
You released a new version, .0.3.2 .  This is a good point in time to bump the release of you spec file.  After every change on your spec file you should bump the release. (-> https://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs )

I think that '--record=INSTALLED_FILES' is no longer needed because you are using 'globs' in the %files section now.

I was able to build your packages but rpmlint complains...

Source RPM:
[rpm@laptop024 SRPMS]$ rpmlint -i python-suds*
python-suds.src: E: no-cleaning-of-buildroot %install
You should clean $RPM_BUILD_ROOT in the %clean section and just after the
beginning of %install section. Use "rm -Rf $RPM_BUILD_ROOT".

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

RPM:
[rpm@laptop024 noarch]$ rpmlint -i python-suds*
python-suds.noarch: W: incoherent-version-in-changelog 0.3.1-1 0.3.1-2.fc9
The last entry in %changelog contains a version identifier that is not
coherent with the epoch:version-release tuple of the package.

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

Comment 7 Jeff Ortel 2008-10-28 14:48:42 UTC
Well, 0.3.2 is a development release and is only in the hosted /releases directory so that it can be downloaded from the project site.  I assumed that in terms of getting suds into fedora, it would be better to work with the latest GA branch (0.3.1).  For package management in Fedora, I would always bump the version or release if anything change in the package (including the spec).

I updated the spec and after adding "rm -rf $RPM_BUILD_ROOT" as the first line
in %install, rpmlint has 0 errors and 0 warnings.  I did run rpmlint before requesting the package review but I didn't understand the warning and figured (hoped) you'd help as you did.

SPEC URL:
http://svn.fedorahosted.org/svn/suds/tags/release-0.3.1/python-suds.spec
SRPM URL:
https://fedorahosted.org/releases/s/u/suds/python-suds-0.3.1-3.fc8.src.rpm

I'm perusing sponsorship and waiting for response.

Comment 8 Fabian Affolter 2008-10-28 18:04:24 UTC
In this case let us move on with 0.3.1. 

Sorry Jeff, again
changelog...https://fedoraproject.org/wiki/Packaging/Guidelines#Changelo
gs . I'm not sure about the space in front of every line.  For me it
looks a bit unusual. 

(In reply to comment #6)
> > RPM:
> > [rpm@laptop024 noarch]$ rpmlint -i python-suds*
> > python-suds.noarch: W: incoherent-version-in-changelog 0.3.1-1
0.3.1-2.fc9
> > The last entry in %changelog contains a version identifier that is not
> > coherent with the epoch:version-release tuple of the package.
> > 
> > 1 packages and 0 specfiles checked; 0 errors, 1 warnings.

With an updated changelog this warning will pass away.

Please preserve the older changelog entries when you/add make changes
and create new releases of the spec when you fix/change something. In
your latest spec file is only *one* changelog entry.  If your 'Release'
is '3' there have to be '3' entries. For the reviewers it's much easier
to keep track of the changes because often they want to know what
exactly has changed.

A correct changelog would have probably had something along:

%changelog
* Fri Oct 10 2008 jortel <jortel> - 0.3.1-3
- add "rm -rf $RPM_BUILD_ROOT" to install

* Fri Oct 10 2008 jortel <jortel> - 0.3.1-2
- Changes acc. #466496 Comment #1

* Fri Oct 10 2008 jortel <jortel> - 0.3.1-1
- Extends the support for multi-port services introduced earlier. This
addition, 
  provides for multiple services to define the *same* method and suds
will
  handle it properly.  See section 'SERVICES WITH MULTIPLE PORTS:'
- Add support for multi-document document/literal soap binding style.
  See section 'MULTI-DOCUMENT Docuemnt/Literal:'
- Add support for (xs:group, xs:attributeGroup) tags.
- Add Client.last_sent() and Client.last_received().

The changelog entry for the next version, 0.3.2, will be ...com> -
0.3.2-1 . The relase will be resetted to 0.

After that fix, I think it's time for a full review  :-)

Comment 9 Jeff Ortel 2008-10-28 19:32:17 UTC
Great!  Thanks Fabian!
Being the project maintainer, I was thinking of the changelog to be application centric and now understand its focus on packaging changes as well.

I updated the changelog as suggested.

SRPM URL:
https://fedorahosted.org/releases/s/u/suds/python-suds-0.3.1-4.fc8.src.rpm

Comment 10 Fabian Affolter 2008-11-02 17:52:38 UTC
Package Review

==============



Key:

 - = N/A

 x = Check

 ! = Problem

 ? = Not evaluated



=== REQUIRED ITEMS ===

 [x] Package is named according to the Package Naming Guidelines.

 [x] Spec file name must match the base package %{name}, in the format %{name}.spec.

 [x] Package meets the Packaging Guidelines.

 [x] Package successfully compiles and builds into binary rpms on at least one supported architecture.

     Tested on: F9/i386

 [x] Rpmlint output:

     Source RPM:

     [fab@laptop024 SRPMS]$ rpmlint -i python-suds*
     1 packages and 0 specfiles checked; 0 errors, 0 warnings.
     Binary RPMs:

     [fab@laptop024 noarch]$ rpmlint -i python-suds*
     1 packages and 0 specfiles checked; 0 errors, 0 warnings.
 [x] Package is not relocatable.

 [x] Buildroot is correct

     master   : %{_tmppath}/%{name}-%{version}-%{release}-root
     spec file: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 [x] Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines.

 [x] License field in the package spec file matches the actual license.

     License type: LGPLv3+
 [!] 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.
 [1]
 [x] Spec file is legible and written in American English.

 [x] Sources used to build the package matches the upstream source, as provided in the spec URL.

     SHA1SUM upstream:   a51aa09cd6507d40a6a7862fc02ef90b9c5ce9930a9b0860532d348e5e6f67f5
     SHA1SUM of package: 
a51aa09cd6507d40a6a7862fc02ef90b9c5ce9930a9b0860532d348e5e6f67f5
 [x] Package is not known to require ExcludeArch

 [x] All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines.

 [-] The spec file handles locales properly.

 [-] ldconfig called in %post and %postun if required.

 [x] Package must own all directories that it creates.

 [x] Package requires other packages for directories it uses.

 [x] Package does not contain duplicates in %files.

 [x] Permissions on files are set properly.

 [x] Package has a %clean section, which contains rm -rf %{buildroot}.

 [x] Package consistently uses macros.

 [x] Package contains code, or permissable content.

 [-] Large documentation files are in a -doc subpackage, if required.

 [x] Package uses nothing in %doc for runtime.

 [-] Header files in -devel subpackage, if present.

 [-] Static libraries in -devel subpackage, if present.

 [-] Package requires pkgconfig, if .pc files are present.

 [-] Development .so files in -devel subpackage, if present.

 [-] Fully versioned dependency in subpackages, if present.

 [-] Package does not contain any libtool archives (.la).

 [-] Package contains a properly installed %{name}.desktop file if it is a GUI application.

 [x] Package does not own files or directories owned by other packages.



=== SUGGESTED ITEMS ===

 [x] Latest version is packaged.

 [x] Package does not include license text files separate from upstream.

 [-] Description and summary sections in the package spec file contains translations for supported Non-English languages, if available.

 [x] Reviewer should test that the package builds in mock.

     Tested on: F9/i386

 [x] Package should compile and build into binary RPMs on all supported architectures.

     Tested  F9: http://koji.fedoraproject.org/koji/taskinfo?taskID=914769
 [-] Package functions as described.

 [-] Scriptlets must be sane, if used.

 [-] The placement of pkgconfig(.pc) files is correct.

 [-] File based requires are sane.

[1] LICENSE is missing in %doc

Comment 11 Jeff Ortel 2008-11-03 16:41:27 UTC
I added LICENSE to %doc.

SRPM URL:
https://fedorahosted.org/releases/s/u/suds/python-suds-0.3.1-5.fc8.src.rpm

Comment 12 Fabian Affolter 2008-11-03 18:48:51 UTC
I see no further blocker, package APPROVED

Comment 13 Fabian Affolter 2008-11-03 18:51:22 UTC
If you have found a sponsor you can go on with the CVS admin procedure.

https://fedoraproject.org/wiki/PackageMaintainers/CVSAdminProcedure

Comment 14 Brian Pepple 2008-11-04 00:31:25 UTC
Jeff, you don't need a sponsor anymore do you?  It looks like Thomas Fitzsimmons beat me to the punch. ;)

Comment 15 Jeff Ortel 2008-11-04 14:44:36 UTC
New Package CVS Request
=======================
Package Name: python-suds
Short Description: A lightweight python soap web services client.
Owners: jortel
Branches: F-8 F-9 F-10 EL-4 EL-5
InitialCC: jortel

Comment 16 Kevin Fenzi 2008-11-05 22:34:42 UTC
cvs done.

Comment 17 Fabian Affolter 2008-11-10 21:27:55 UTC
Jeff, I see no builds for your package.

Next step ;-)
https://fedoraproject.org/wiki/PackageMaintainers/Join#Check_out_the_module

Comment 18 Jeff Ortel 2008-11-11 18:25:30 UTC
Fabian, 

I've completed steps (1-12) in http://fedoraproject.org/wiki/PackageMaintainers/NewPackageProcess and all seems well.

Now, getting ready to do steps 13 & 14 (make update) to push in to fedora updates for (F-8, F-9) and I have a question.  Suds 0.3.2 is now GA.  Should I (can I) follow the package update process now?  Or, completely follow through with 0.3.1 and then update the package?

Also, does it matter when I close this ticket with NEXT RELEASE?

Comment 19 Fabian Affolter 2008-11-12 08:42:16 UTC
(In reply to comment #18)
> Now, getting ready to do steps 13 & 14 (make update) to push in to fedora
> updates for (F-8, F-9) and I have a question.  Suds 0.3.2 is now GA.  Should I
> (can I) follow the package update process now?  Or, completely follow through
> with 0.3.1 and then update the package?

Sure you can follow the package update process with 0.3.2. Just update your spec file, change the version and reset your spec release number, and commit all changes to cvs. Then new build.

All old builds are still available for direct downloading from koji if somebody is interested.   
 
> Also, does it matter when I close this ticket with NEXT RELEASE?

You can let bodhi take care about this ticket, just add the bugzilla id in the 'New Update' form ( https://admin.fedoraproject.org/updates/new/ ). Or close the ticket now manually. 

At the just an appendix:
Change your '- Add LICENSE to %doc.' to '- Add LICENSE to %%doc.' -> no rpmlint warning

Comment 20 Fedora Update System 2008-11-12 14:01:21 UTC
python-suds-0.3.2-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/python-suds-0.3.2-1.fc10

Comment 21 Fedora Update System 2008-11-12 14:01:25 UTC
python-suds-0.3.2-1.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/python-suds-0.3.2-1.fc9

Comment 22 Fedora Update System 2008-11-12 14:01:28 UTC
python-suds-0.3.2-1.fc8 has been submitted as an update for Fedora 8.
http://admin.fedoraproject.org/updates/python-suds-0.3.2-1.fc8

Comment 23 Fedora Update System 2008-11-13 03:35:14 UTC
python-suds-0.3.2-1.fc9 has been pushed to the Fedora 9 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 python-suds'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-9614

Comment 24 Fedora Update System 2008-11-13 03:36:57 UTC
python-suds-0.3.2-1.fc8 has been pushed to the Fedora 8 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 python-suds'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-9630

Comment 25 Fedora Update System 2008-11-22 16:43:49 UTC
python-suds-0.3.2-1.fc10 has been pushed to the Fedora 10 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 python-suds'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/f10/FEDORA-2008-9877

Comment 26 Fedora Update System 2008-12-03 01:13:24 UTC
python-suds-0.3.2-1.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 27 Fedora Update System 2008-12-04 20:20:34 UTC
python-suds-0.3.3-1.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/python-suds-0.3.3-1.fc9

Comment 28 Fedora Update System 2008-12-04 20:20:39 UTC
python-suds-0.3.3-1.fc8 has been submitted as an update for Fedora 8.
http://admin.fedoraproject.org/updates/python-suds-0.3.3-1.fc8

Comment 29 Fedora Update System 2008-12-04 20:20:43 UTC
python-suds-0.3.3-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/python-suds-0.3.3-1.fc10

Comment 30 Fedora Update System 2008-12-07 04:14:16 UTC
python-suds-0.3.3-1.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 31 Fedora Update System 2008-12-07 04:18:12 UTC
python-suds-0.3.3-1.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 32 Fedora Update System 2008-12-07 04:23:55 UTC
python-suds-0.3.3-1.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 33 Jeff Ortel 2009-06-24 18:06:27 UTC
Package Change Request
======================
Package Name: python-suds
New Branches: F-11
Owners: jortel

Comment 34 Kevin Fenzi 2009-06-24 18:21:30 UTC
There already is a F-11 branch. 

Make sure you do 'cvs update -d' to pick up the new branches.

Comment 35 Jeff Ortel 2009-07-15 15:04:25 UTC
Ops.  Did 'cvs update' without -d, I see F-11 now.  Thanks!


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