Bug 243571

Summary: Review Request: python-mechanoid - Python Programmatic Web Browser
Product: [Fedora] Fedora Reporter: jafo-redhat
Component: Package ReviewAssignee: Jason Tibbitts <tibbs>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: a.badger
Target Milestone: ---Flags: tibbs: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-15 20:30: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:

Description jafo-redhat 2007-06-09 23:08:51 UTC
Spec URL: ftp://ftp.tummy.com/pub/tummy/RPMS/SRPMS/python-mechanoid.spec
SRPM URL: ftp://ftp.tummy.com/pub/tummy/RPMS/SRPMS/python-mechanoid-0.6.9-1.fc7.src.rpm
Description: mechanoid is a programmatic browser written in Python.  It is not a
web-bot and does not parse /robots.txt. It is intended to function as
the backend of special browsers, such as voice-text/text-voice browsers,
or to perform directed tasks, such as login to SourceForge to do a Quick
Release or to send and receive Yahoo! web mail.

Comment 1 Jason Tibbitts 2007-06-10 03:32:14 UTC
This failed to build for me:
+ /usr/bin/python setup.py install -O1 --skip-build --root
/var/tmp/python-mechanoid-0.6.9-1.fc8-root-mockbuild
running install
error: invalid Python installation: unable to open
/usr/lib64/python2.5/config/Makefile (No such file or directory)
error: Bad exit status from /var/tmp/rpm-tmp.12975 (%install)

You need a build dependency on python-devel.  Adding it gets things building.

rpmlint says:
  W: python-mechanoid wrong-file-end-of-line-encoding 
   /usr/share/doc/python-mechanoid-0.6.9/COPYING
and indeed that file seems to have come from DOS and needs fixing.

The package has a test suite, and it almost runs, but because DNS is not
configured in mock, this fails:
  socket.gethostbyname(socket.gethostname())
which makes a single test (out of 116) fail.  It may be worth patching out to
get some test coverage, but then it might become a pain because nothing stops
them from adding more network-using tests in the future.

If you don't want to add the test suite, do go ahead and add a %check section
with the line for running the tests commented out so that folks who want to run
it themselves can easily do so.

Review:
* source files match upstream:
   e6d39a80993055466be234d279f08a42fdd51896ad19e13024b54ff226b8c990  
   mechanoid-0.6.9.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
X BuildRequires missing python-devel.
* %clean is present.
* package builds in mock (development, x86_64) after adding missing BR.
* package installs properly
X rpmlint has a valid complaint.
* final provides and requires are sane:
   python-mechanoid = 0.6.9-1.fc8
  =
   python(abi) = 2.5
* %check is not present; one test cannot be run in mock.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.

Comment 2 jafo-redhat 2007-06-10 04:12:33 UTC
Thanks for the feedback.

I've made the changes you recommended.  I changed the test with a sed
replacement to make it work without requiring net access.  I will report these
to upstream so hopefully they are corrected in the future.

SPEC: ftp://ftp.tummy.com/pub/tummy/RPMS/SRPMS/python-mechanoid.spec
SRPM: ftp://ftp.tummy.com/pub/tummy/RPMS/SRPMS/python-mechanoid-0.6.9-2.fc7.src.rpm

Thanks,
Sean

Comment 3 Jason Tibbitts 2007-06-10 04:36:37 UTC
I see you patched the test but you still need something to call it:

%check
%{__python} test.py

Also, you need to go the other way with the COPYING file; not unix2dos but
dos2unix.  Actually, it's easier to do it with sed:

sed -i 's/\r//' COPYING

That saves you the dos2unix dependency as well.

Comment 4 jafo-redhat 2007-06-10 04:42:53 UTC
Good catch on the unix2dos.  I've added the above two items.

SPEC: ftp://ftp.tummy.com/pub/tummy/RPMS/SRPMS/python-mechanoid.spec
SRPM: ftp://ftp.tummy.com/pub/tummy/RPMS/SRPMS/python-mechanoid-0.6.9-3.fc7.src.rpm


Comment 5 Jason Tibbitts 2007-06-10 04:50:39 UTC
Heh, actually you didn't bump the release for that one, which annoys rpmlint a
bit.  Also, don't forget to double '%' in your changelog.

Anyway, you've fixed any substantive complaints I have; just be sure your
version-release matches your changelog entry and fix up that percent sign when
you check in.

APPROVED

Comment 6 Sean Reifschneider 2007-06-10 05:24:28 UTC
New Package CVS Request
=======================
Package Name: python-mechanoid
Short Description: Python Programmatic Web Browser
Owners: jafo@tummy.com
Branches: FC-6 F-7
InitialCC: jafo@tummy.com

Comment 7 Jason Tibbitts 2007-06-10 05:26:52 UTC
CVS done.

Comment 8 Sean Reifschneider 2007-06-11 23:11:37 UTC
Package Change Request
======================
Package Name: python-mechanoid
New Branches: EL-5

I forgot to request branches for EPEL in previous request.

Comment 9 Kevin Fenzi 2007-06-11 23:48:05 UTC
branch done.

Comment 10 Jason Tibbitts 2007-06-15 16:31:36 UTC
Please don't forget to close this ticket once the package has been imported and
built.

Comment 11 Toshio Ernie Kuratomi 2007-10-13 01:48:00 UTC
ping?

It appears that the source has never been imported into the cvs repository or built.

Comment 12 Sean Reifschneider 2007-10-22 05:42:22 UTC
Thanks for the ping.  I've gotten it built and it's ready to go.