Spec URL: http://home.comcast.net/~ckweyl/perl-POE.spec SRPM URL: http://home.comcast.net/~ckweyl/perl-POE-0.3501-0.fc5.src.rpm Description: POE is a framework for cooperative, event driven multitasking in Perl. Other languages have similar frameworks. Python has Twisted. TCL has "the event loop". POE originally was developed as the core of a persistent object server and runtime environment. It has evolved into a general purpose multitasking and networking framework, encompassing and providing a consistent interface to other event loops such as Event and the Tk and Gtk toolkits.
*** Bug 195301 has been marked as a duplicate of this bug. ***
"GPL or Artistic" is more standard for License:. Note that BR: perl is not required, and ExtUtils::MakeMaker, IO::Poll and Term::Cap are all part of the base perl package so they aren't required either. The %description is a bit wordy at 32 lines, but the digikamimageplugins package has 49 lines of description so I guess it isn't much of a problem. You might want to clean up the unused stuff in the %files section. Everything builds in mock (x86_64, development); rpmlint says the following: E: perl-POE useless-explicit-provides perl(POE::Kernel) E: perl-POE useless-explicit-provides perl(POE::Loop::Tk) I think rpmlint is a bit off here; there are no explicit Provides: in the spec; RPM is just finding both versioned and unversioned dependencies from different files. (Loop::Tk comes from both Loop/Tk.pm and Loop/TkActiveState.pm.) I don't think it's worth trying to filter these. Review: * package meets naming and packaging guidelines. * specfile is properly named, is cleanly written and uses macros consistently. * dist tag is present. * build root is correct. * license field matches the actual license. * license is open source-compatible. License text not included upstream. * source files match upstream: 67eacd47c8d7c05a5f5a119af220de30 POE-0.3501.tar.gz * latest version is being packaged. * BuildRequires are proper. * package builds in mock (x86_64, development). * rpmlint has only ignorable complaints. O final provides and requires are sane (duplicated dependencies come from RPM): perl(POE) = 0.3501 perl(POE::API::Ctl) = 1903 perl(POE::API::ResLoader) = 1903 perl(POE::Component) = 1903 perl(POE::Component::Client::TCP) = 1957 perl(POE::Component::Server::TCP) = 1956 perl(POE::Driver) = 1903 perl(POE::Driver::SysRW) = 1903 perl(POE::Filter) = 1955 perl(POE::Filter::Block) = 1920 perl(POE::Filter::Grep) = 1953 perl(POE::Filter::HTTPD) = 1958 perl(POE::Filter::Line) = 1920 perl(POE::Filter::Map) = 1953 perl(POE::Filter::RecordBlock) = 1920 perl(POE::Filter::Reference) = 1947 perl(POE::Filter::Stackable) = 1963 perl(POE::Filter::Stream) = 1920 perl(POE::Kernel) perl(POE::Kernel) = 1938 perl(POE::Loop) = 1903 perl(POE::Loop::Event) = 1903 perl(POE::Loop::Gtk) = 1903 perl(POE::Loop::IO_Poll) = 1903 perl(POE::Loop::PerlSignals) = 1903 perl(POE::Loop::Select) = 1903 perl(POE::Loop::Tk) perl(POE::Loop::Tk) = 1903 perl(POE::Loop::TkActiveState) = 1914 perl(POE::Loop::TkCommon) = 1924 perl(POE::NFA) = 1946 perl(POE::Pipe) = 1903 perl(POE::Pipe::OneWay) = 1903 perl(POE::Pipe::TwoWay) = 1903 perl(POE::Queue) = 1903 perl(POE::Queue::Array) = 1903 perl(POE::Resource) = 1903 perl(POE::Resources) = 1903 perl(POE::Resources::Aliases) = 1903 perl(POE::Resources::Controls) = 1903 perl(POE::Resources::Events) = 1903 perl(POE::Resources::Extrefs) = 1903 perl(POE::Resources::FileHandles) = 1903 perl(POE::Resources::SIDs) = 1903 perl(POE::Resources::Sessions) = 1903 perl(POE::Resources::Signals) = 1954 perl(POE::Resources::Statistics) = 1911 perl(POE::Session) = 1947 perl(POE::Wheel) = 1903 perl(POE::Wheel::Curses) = 1903 perl(POE::Wheel::FollowTail) = 1903 perl(POE::Wheel::ListenAccept) = 1903 perl(POE::Wheel::ReadLine) = 1947 perl(POE::Wheel::ReadLine::Keymap) perl(POE::Wheel::ReadWrite) = 1947 perl(POE::Wheel::Run) = 1916 perl(POE::Wheel::SocketFactory) = 1903 perl-POE = 0.3501-0.fc6 - perl >= 0:5.00503 perl(:MODULE_COMPAT_5.8.8) perl(Carp) perl(Curses) perl(Errno) perl(File::Spec) perl(HTTP::Date) perl(HTTP::Request) perl(HTTP::Response) perl(HTTP::Status) perl(IO::Handle) perl(IO::Poll) perl(IO::Socket) perl(POE) perl(POE::API::ResLoader) perl(POE::Driver::SysRW) perl(POE::Filter) perl(POE::Filter::Line) perl(POE::Kernel) perl(POE::Loop::PerlSignals) perl(POE::Loop::TkCommon) perl(POE::Pipe) perl(POE::Resource::Controls) perl(POE::Resources) perl(POE::Session) perl(POE::Wheel::ReadWrite) perl(POE::Wheel::SocketFactory) perl(POSIX) perl(Socket) perl(Symbol) perl(Sys::Hostname) perl(Term::Cap) perl(Term::ReadKey) perl(Tk) perl(Tk) >= 800.021 perl(URI) perl(bytes) perl(strict) perl(vars) * no shared libraries are present. * package is not relocatable. * owns the directories it creates. * doesn't own any directories it shouldn't. * no duplicates in %files. * file permissions are appropriate. * %clean is present. * %check is present and all tests pass (noisily, but without failures) All tests successful, 68 tests skipped. Files=141, Tests=3271, 124 wallclock secs (11.83 cusr + 3.19 csys = 15.02 CPU) * 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. * no headers. * no pkgconfig files. * no libtool .la droppings. * not a GUI app. APPROVED; don't forget to bump Release: to 1 when you check in.
License tag tweaked as recommended. Imported and built for FC-[45], devel!
(In reply to comment #2) > RPM is just finding both versioned and unversioned dependencies from different > files. (Loop::Tk comes from both Loop/Tk.pm and Loop/TkActiveState.pm.) I > don't think it's worth trying to filter these. The problem is that the unversioned ones trump the versioned ones and make it impossible to have any meaningful versioned dependencies to those in other packages as the unversioned provisions satisfy all versioned dependencies. I don't see why the unversioned ones should not be filtered. There are several cases where this is already being done in the tree.
I'm afraid I don't understand. Are you saying that an unversioned Provides: A will satisfy Requires: A >= 99? That is rather surprising to me, and would seem to be yet another bug. I wonder just how many rpm bugs we're expected to work around? At some point it would seem like a better bet to just get them fixed. Chris, if you need help in filtering these, just let me know.
(In reply to comment #5) > Are you saying that an unversioned Provides: A will satisfy Requires: A >= 99? Yes.
(In reply to comment #6) > (In reply to comment #5) > > Are you saying that an unversioned Provides: A will satisfy Requires: A >= 99? > > Yes. It'll also satisfy Requires: A < 99 at the same time :-) An unversioned provide is like providing all possible versions; it's like a wildcard version.
Ok, sounds like they should be filtered. (In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #5) > > > Are you saying that an unversioned Provides: A will satisfy Requires: A >= 99? > > > > Yes. > > It'll also satisfy Requires: A < 99 at the same time :-) > > An unversioned provide is like providing all possible versions; it's like a > wildcard version. How is this not a bug in rpm itself?
Wait -- ok, something weird is happening. I see in the latest repoclosure reports that perl-POE is failing with an unsatisfied requires: ---- Summary of broken packages in fedora-extras-5-i386: ---------------------------------------------------------------------- perl-POE-0.3501-2.fc5.noarch requires perl(POE::Resource::Controls) ---- Yet perl-POE clearly provides perl(POE::Resources::Controls) = 1903. What's going on here?
(In reply to comment #8) > How is this not a bug in rpm itself? If you think it's a rpm bug, report it. (In reply to comment #9) > perl-POE-0.3501-2.fc5.noarch requires perl(POE::Resource::Controls) > Yet perl-POE clearly provides perl(POE::Resources::Controls) = 1903. Note "Resource" vs "Resources".
Package Change Request ====================== Package Name: perl-POE New Branches: EL-4 EL-5 Owners: stevetraylen Response from owner of perl-POE in Fedora: I actually don't use POE that much anymore.... if you want to take them over for both Fedora and EPEL, they'd probably benefit from it :)
cvs done.