Bug 216103 - Review Request: python-twisted-names - A Twisted DNS implementation
Review Request: python-twisted-names - A Twisted DNS implementation
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Kevin Fenzi
Fedora Package Reviews List
:
Depends On:
Blocks: FE-ACCEPT 171543 221310
  Show dependency treegraph
 
Reported: 2006-11-17 05:13 EST by Thomas Vander Stichele
Modified: 2008-02-20 15:15 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-12-28 18:33:24 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Thomas Vander Stichele 2006-11-17 05:13:26 EST
Spec URL: http://thomas.apestaart.org/download/pkg/fedora-5-x86_64-extras/python-twisted-names-0.3.0-2.fc5/python-twisted-names.spec
SRPM URL: http://thomas.apestaart.org/download/pkg/fedora-5-x86_64-extras/python-twisted-names-0.3.0-2.fc5/python-twisted-names-0.3.0-2.fc5.src.rpm
Description:
Twisted is an event-based framework for internet applications.

Twisted Names is both a domain name server as well as a client
resolver library. Twisted Names comes with an "out of the box"
nameserver which can read most BIND-syntax zone files as well as a
simple Python-based configuration format. Twisted Names can act as an
authoritative server, perform zone transfers from a master to act as a
secondary, act as a caching nameserver, or any combination of
these. Twisted Names' client resolver library provides functions to
query for all commonly used record types as well as a replacement for
the blocking gethostbyname() function provided by the Python stdlib
socket module.
Comment 1 Kevin Fenzi 2006-12-13 22:52:07 EST
OK - Package meets naming and packaging guidelines
OK - Spec file matches base package name.
OK - Spec has consistant macro usage.
OK - Meets Packaging Guidelines.
OK - License (MIT)
OK - License field in spec matches
See below - License file included in package
OK - Spec in American English
OK - Spec is legible.
OK - Sources match upstream md5sum:
5aa672d0e26718466351351e7bfcf22a  TwistedNames-0.3.0.tar.bz2
5aa672d0e26718466351351e7bfcf22a  TwistedNames-0.3.0.tar.bz2.1

OK - BuildRequires correct
OK - Package has %defattr and permissions on files is good.
OK - Package has a correct %clean section.
OK - Package has correct buildroot
OK - Package is code or permissible content.
OK - Packages %doc files don't affect runtime.

See below - Package compiles and builds on at least one arch.
OK - Package has no duplicate files in %files.
OK - Package doesn't own any directories other packages own.
OK - Package owns all the directories it creates.
See below - No rpmlint output. 
OK - final provides and requires are sane:

SHOULD Items:

OK - Should build in mock.
x86_64/i386 - Should build on all supported archs
OK - Should have dist tag
OK - Should package latest version

Issues:

1. Why the
%{?!python:%define python python}
macro? It just means you have "%{python}" instead of "python" in several places.
How is that a win?

2. You should include the shipped LICENSE file as a doc.

3. For devel (python 2.5) you need to add:
BuildRequires: python-devel

4. rpmlint says:
E: python-twisted-names no-binary

Shouldn't this package be noarch?

W: python-twisted-names doc-file-dependency
/usr/share/doc/python-twisted-names-0.3.0/examples/dns-service.py /usr/bin/python
W: python-twisted-names doc-file-dependency
/usr/share/doc/python-twisted-names-0.3.0/examples/gethostbyname.py /usr/bin/env

Perhaps make those mode 644 ? 444?
Comment 2 Paul Howarth 2006-12-14 02:34:52 EST
(In reply to comment #1)
> Issues:
> 
> 1. Why the
> %{?!python:%define python python}
> macro? It just means you have "%{python}" instead of "python" in several places.
> How is that a win?

I suspect that Thomas has added this so that the package can be built on older
distros with recent pythons installed as "python24" etc.

> 2. You should include the shipped LICENSE file as a doc.

+1

> 3. For devel (python 2.5) you need to add:
> BuildRequires: python-devel

+1

> 4. rpmlint says:
> E: python-twisted-names no-binary
> 
> Shouldn't this package be noarch?

No, this is correct since some of the Twisted packages are arch-specific and
python's module code doesn't like a single module hierarchy split between the
arch-specific and arch-independent directory locations. So all of the
python-twisted-* packages have to be arch-specific.

> W: python-twisted-names doc-file-dependency
> /usr/share/doc/python-twisted-names-0.3.0/examples/dns-service.py /usr/bin/python
> W: python-twisted-names doc-file-dependency
> /usr/share/doc/python-twisted-names-0.3.0/examples/gethostbyname.py /usr/bin/env
> 
> Perhaps make those mode 644 ? 444?

They aren't really adding any extra deps; the first is a dep on python, which is
already required by this package, and the second is a dep on coreutils, which
every system is going to have anyway.
Comment 3 Jeffrey C. Ollie 2006-12-14 08:57:29 EST
(In reply to comment #2)
> (In reply to comment #1)
> >
> > W: python-twisted-names doc-file-dependency
> > /usr/share/doc/python-twisted-names-0.3.0/examples/dns-service.py
/usr/bin/python
> > W: python-twisted-names doc-file-dependency
> > /usr/share/doc/python-twisted-names-0.3.0/examples/gethostbyname.py /usr/bin/env
> > 
> > Perhaps make those mode 644 ? 444?
> 
> They aren't really adding any extra deps; the first is a dep on python, which is
> already required by this package, and the second is a dep on coreutils, which
> every system is going to have anyway.

Still, they are annoyances that are easily fixed in %prep.
Comment 4 Thomas Vander Stichele 2006-12-14 16:09:38 EST
http://thomas.apestaart.org/download/pkg/fedora-6-x86_64-extras/python-twisted-names-0.3.0-3.fc6/

incorporated suggested changes
Comment 5 Kevin Fenzi 2006-12-15 18:08:14 EST
1. Ok, I can see how a python macro might be useful on systems where python
isn't installed as 'python', but since this package is for extras and python
will always be 'python', is it needed here? Not a blocker I don't think, but
would be nice to fix for readability... 

2, 3, 4 all look resolved. 

I don't see any further blockers, so this package is APPROVED. 
Do consider issue #1 before importing, and don't forget to close this review
NEXTRELEASE once it's been imported and built. 
(I am going to look at reviewing the rest of these so we can get them all in and
fix flumotion. ;) 
Comment 6 Thomas Vander Stichele 2006-12-18 10:20:17 EST
wrt. the %{python} macro - the spec files were originally made by people from
the pyvault project, and as a courtesy to them I would like to keep this in
because it makes it easy to rebuild and sync changes with them.

If other packagers are allowed to use %{__rm} to invoke a command that has not,
afaik, changed its name for over 30 years, then surely as a packager I can be
granted this one small peculiarity :)
Comment 7 Kevin Fenzi 2006-12-18 11:15:51 EST
in reply to comment #6: 

Sure, it's not a blocker, if you want to maintain it that way you can do so. 
One related issue is that I see you call %{__python} in the install step. 
Won't that fail on systems where %{python} has been defined as something like
'python23' ?
Comment 8 Thomas Vander Stichele 2006-12-19 08:00:20 EST
I double-checked; pyvault builds with a custom rpm-python.

https://opensvn.csie.org/traccgi/pyvault/trac.cgi/browser/rpm-python/

so the %{python} macro is fine.

If you don't use that rpm-python, then yes, you are responible for defining the
two compatibly with each other.
Comment 9 Thomas Vander Stichele 2006-12-19 09:46:06 EST
imported.
devel build requested.
fc6 branch requested.
Comment 10 Lubomir Kundrak 2008-02-17 11:16:14 EST
Thomas: I'm interested in EL-5 branch. Would you maintain it yourself or you
won't mind if I maintained it?
Comment 11 Lubomir Kundrak 2008-02-20 06:45:41 EST
This is a blocker for my package and the Fedora maintainer seems not to be
interested. cvsextras commits will be open and I'm willing aprove the Fedora
maintainer once he applies for ACLs.

Package Change Request
======================
Package Name: python-twisted-names
New Branches: EL-5
Cvsextras Commits: yes
Comment 12 Kevin Fenzi 2008-02-20 15:15:51 EST
cvs done.

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