Bug 221310

Summary: Review Request: python-twisted - Twisted is an event-based framework for internet applications
Product: [Fedora] Fedora Reporter: Thomas Vander Stichele <thomas>
Component: Package ReviewAssignee: Kevin Fenzi <kevin>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: kevin, mtasaka, paul
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-01-17 23:06:23 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: 208169, 216102, 216103, 216104, 216105, 216106, 221307, 221308, 221309    
Bug Blocks: 163779, 171543    
Attachments:
Description Flags
remove test log on FC-devel
none
remove test log on FC-6 none

Description Thomas Vander Stichele 2007-01-03 18:52:55 UTC
Spec URL: http://thomas.apestaart.org/download/pkg/fedora-6-x86_64-extras/python-twisted-2.4.0-2.fc6/python-twisted.spec
SRPM URL: http://thomas.apestaart.org/download/pkg/fedora-6-x86_64-extras/python-twisted-2.4.0-2.fc6/python-twisted-2.4.0-2.fc6.src.rpm
Description:
Twisted is an event-based framework for internet applications.  It includes a
web server, a telnet server, a chat server, a news server, a generic client
and server for remote object access, and APIs for creating new protocols and
services. Twisted supports integration of the Tk, GTK+, Qt or wxPython event
loop with its main event loop. The Win32 event loop is also supported, as is
basic support for running servers on top of Jython.

Installing this package brings all Twisted sub-packages into your system.

Comment 1 Kevin Fenzi 2007-01-04 05:34:43 UTC
Not sure this needs a formal review, but I can do so if need be. 

Questions/Issues: 

1. What are these for? upstream/old packages? 

Obsoletes:      %{origname} <= %{version}-%{release}
Provides:       %{origname} = %{version}-%{release}
Obsoletes:      twisted <= %{version}-%{release}
Provides:       twisted = %{version}-%{release}

2. Should both of those Obsoletes be just "<" and not "<=" ? 
Surely you don't want to obsolete the very version you are providing? 

3. Note that the old python-twisted package has: 
Obsoletes: python-Twisted < 1.3.0
Provides: python-Twisted = %{version}-%{release}

Should that be carried forward? 

Can any Obsolete/Provides/Metapackage savvy folks look this over? 

Comment 2 Thomas Vander Stichele 2007-01-07 09:56:28 UTC
I think you're right, in fact the obsoletes should obsolete a specified version,
not "below current" for a name change.

The old ones needn't be carried over, they were only my private packages.  The
others listed are from other repos that asked me to put them in there.

New version at
http://thomas.apestaart.org/download/pkg/fedora-5-i386-extras/python-twisted-2.4.0-2.fc5/

Comment 3 Kevin Fenzi 2007-01-09 07:10:58 UTC
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
OK - Spec in American English
OK - Spec is legible.
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.
OK - 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.
OK - No rpmlint output.
OK - final provides and requires are sane:

SHOULD Items:

OK - Should build in mock.
OK - Should build on all supported archs
OK - Should have dist tag

Issues:

1. The README.fedora is a bit on the terse side.
You might have it list out the other packages that this one
pulls in or at least repeat the summary, but thats not a
big deal or a blocker.

I think the obsoletes and provides are correct here.
I tried to upgrade a fc6 python-twisted with this version
and it correctly pulled in the packages and installed.

I did notice one install on removal of any of the python-twisted-*
packages that did the /usr/libexec/twisted-dropin-cache call in
postun. If you remove them and python-twisted-core, rpm
removes python-twisted-core first, resulting in a failed scriptlet
on the other package, ie:

rpm -e python-twisted-core python-twisted-words
error: %postun(python-twisted-words-0.4.0-3.fc6.i386) scriptlet failed, exit
status 255

I think those packages need a
Requires(postun): python-twisted-core

I see no issues with this meta package, so I would be
happy to APPROVE it.

Don't forget to close this NEXTRELEASE once it's been imported
and built. Also, once it's been pushed to fc6, you should be able to
rebuild flumotion there and hopefully fix the broken fc5->fc6
upgrade path in it.


Comment 4 Paul Howarth 2007-01-09 10:50:40 UTC
(In reply to comment #3)
> I did notice one install on removal of any of the python-twisted-*
> packages that did the /usr/libexec/twisted-dropin-cache call in
> postun. If you remove them and python-twisted-core, rpm
> removes python-twisted-core first, resulting in a failed scriptlet
> on the other package, ie:
> 
> rpm -e python-twisted-core python-twisted-words
> error: %postun(python-twisted-words-0.4.0-3.fc6.i386) scriptlet failed, exit
> status 255
> 
> I think those packages need a
> Requires(postun): python-twisted-core

I think there are already implicit dependencies present for these, which come
about through using the scriptlet form:

%postun -p %{_libexecdir}/twisted-dropin-cache

This results in scriptlet dependencies on %{_libexecdir}/twisted-dropin-cache,
which implies python-twisted-core. So I don't know why rpm is removing the core
package first.

Comment 5 Kevin Fenzi 2007-01-09 16:23:19 UTC
In reply to comment #4: 

Yeah, the dependencies are there... I see whats happening now. 
It's the twisted-dropin-cache scriptlet returning 255 in that situation. 
python-twisted-core is still there when the other package is removed. 

So, it looks like it's a bug of some kind in that twisted-dropin-cache
scriptlet. 

I'll file a bug against python-twisted-core, since this is off topic for this
metapackage review. ;) 

Comment 6 Paul Howarth 2007-01-10 12:39:08 UTC
I see that Twisted 2.5.0 is out now, and claims to support python 2.5 (the
release notes say that previous versions were broken with python 2.5). Given
that Rawhide has python 2.5, I think that 2.5.0 should be pushed at least for devel.

Comment 7 Thomas Vander Stichele 2007-01-16 06:43:25 UTC
Kevin, do you know how I can reproduce the problem you are seeing ?

Comment 8 Mamoru TASAKA 2007-01-16 10:26:05 UTC
(In reply to comment #3)
> I did notice one install on removal of any of the python-twisted-*
> packages that did the /usr/libexec/twisted-dropin-cache call in
> postun. If you remove them and python-twisted-core, rpm
> removes python-twisted-core first, resulting in a failed scriptlet
> on the other package, ie:
> 
> rpm -e python-twisted-core python-twisted-words
> error: %postun(python-twisted-words-0.4.0-3.fc6.i386) scriptlet failed, exit
> status 255

Interesting. This occurs on FC6, but not on FC-devel.
Maybe rpm has some issues.

* Tue Nov 21 2006 Paul Nasrat <pnasrat> - 4.4.2-36
- Fix ordering issues (#196590)

* Wed Nov 01 2006 Paul Nasrat <pnasrat> - 4.4.2-35
- Flush query buffer patch from jbj (#212833)

* Wed Nov 01 2006 Paul Nasrat <pnasrat> - 4.4.2-34
- Debuginfo extraction with O0

* Thu Oct 26 2006 Paul Nasrat <pnasrat> - 4.4.2-33
- Fix for ordering (#202540, #202542, #202543, #202544)

  Maybe some change occured in -33 and -36 fixed this
  problem.

Comment 9 Mamoru TASAKA 2007-01-16 10:31:28 UTC
Created attachment 145667 [details]
remove test log on FC-devel

The log of
------------------------------------
rpm -evv --test python-twisted-core python-twisted-words
------------------------------------
on FC-devel.

This log says that removing will be done by the
order of "words->core"

Comment 10 Mamoru TASAKA 2007-01-16 10:32:47 UTC
Created attachment 145668 [details]
remove test log on FC-6

Same on FC-6.

The log says "core->words"

Comment 11 Kevin Fenzi 2007-01-16 21:59:55 UTC
We can continue discussion of this bug over in: 
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=222013

I just posted at least what could be a workaround for rpm in fc6. 

Comment 12 Mamoru TASAKA 2007-01-17 07:17:48 UTC
(In reply to comment #3)
> I see no issues with this meta package, so I would be
> happy to APPROVE it.

Well, I also think that there is nothing which this metapackage
should fix for scriptlet ordering issue and this package
may go.

Comment 13 Thomas Vander Stichele 2007-01-17 23:06:23 UTC
pushed for devel and fc6, closing