Bug 196629 - Review Request: perl-SVK - A Distributed Version Control System
Review Request: perl-SVK - A Distributed Version Control System
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Package Reviews List
:
Depends On: 196619 196620 196621 196622 196623 196624 196627 197194
Blocks: FE-ACCEPT
  Show dependency treegraph
 
Reported: 2006-06-25 22:10 EDT by Ian Burrell
Modified: 2008-06-06 15:01 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-07-13 16:09:27 EDT
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 Ian Burrell 2006-06-25 22:10:18 EDT
Spec URL: http://znark.com/fedora/perl-SVK.spec
SRPM URL: http://znark.com/fedora/perl-SVK-1.07-4.src.rpm
Description: SVK is a decentralized version control system written in Perl. It uses the Subversion filesystem but provides additional features.

It requires new packages perl-Algorithm-Annotate, perl-Data-Hierarchy, perl-IO-Digest, perl-PerlIO-eol, perl-PerlIO-via-dynamic, perl-PerlIO-via-symlink, and perl-SVN-Mirror.
Comment 1 Ian Burrell 2006-06-28 15:21:30 EDT
I fixed some the problems.  I fixed the rpmlint warnings.  I stopped it from
wanting to autoinstall IO::Pager (and any other missing optional pakcages). 
There was a permission issue which kept the build directory from being removed.

Spec: http://znark.com/fedora/perl-SVK.spec
SRPMS: http://znark.com/fedora/perl-SVK-1.07-5.src.rpm
Comment 2 Ian Burrell 2006-06-28 18:57:26 EDT
I fixed some issues building under mock.  It needed some more BuildRequires.
Also, the tests were failing because they needed the supposedly optional
SVN::Mirror.  perl-SVN-Mirror had to be patched to remove the circular dependency.

Spec: http://znark.com/fedora/perl-SVK.spec
SRPMS: http://znark.com/fedora/perl-SVK-1.07-7.src.rpm
Comment 3 Jason Tibbitts 2006-06-28 21:54:22 EDT
I'll go ahead and take this one, but because I don't relish rebuilding all of
the dependencies again for FC5 (due to SVN::Mirror not building on rawhide) I'll
wait until everything is in the repo before moving forward.  If you start
checking in soon, you might be able to make the next push.
Comment 4 Ian Burrell 2006-06-29 02:38:53 EDT
A change in the subversion bindings generated by new swig version broke SVK.
The Debian bug, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=356894, has
lots of detail and a patch for SVN::Mirror.  

I applied the patch and that fixed the problem on rawhide.


Comment 5 Ian Burrell 2006-07-02 20:56:27 EDT
All of the dependencies have been built and in Extras for FC-4, FC-5, and devel.
Could you code review the package now?
Comment 6 Jason Tibbitts 2006-07-03 15:44:53 EDT
I cannot fetch the upstream source from the Source0 URL in the specfile.  I
believe you need to use "by-authors", not "by-author".  I'll make that change.

Unfortunately it seems that perl-Algorithm-Annotate isn't on the mirrors; it's
in CVS, but I don't see a build request for it.  I'll build and stuff it in a
local repo when I get home from work today.
Comment 7 Ian Burrell 2006-07-04 17:42:58 EDT
I uploaded a new spec with the fixed Source URL.  I just built
perl-Algorithm-Annotate for devel.  I had accidentally only built it for FC-4
and FC-5.
Comment 8 Jason Tibbitts 2006-07-05 21:14:04 EDT
I still didn't see perl-Algorithm-Annotate, and when I tried to build on FC5 I
was missing perl-Data-Hierarchy.  I'm pretty sure my local mirror is up to date.
 I just added perl-Algorithm-Annotate to my local repo.

Unfortunately %check is failing, which breaks the build.  I'm seeing many of
these errors:

Undefined subroutine &Clone::clone called at t/tree.pl line 186.

which terminates the test, leading to:

Failed Test    Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/01depotmap.t  255 65280    17   30 176.47%  3-17
t/01help.t      255 65280    86  172 200.00%  1-86
t/03import.t    255 65280    26   52 200.00%  1-26
t/04merge.t     255 65280    15   30 200.00%  1-15
t/05svm-head.t  255 65280     4    8 200.00%  1-4
t/05svm-move.t  255 65280     9   18 200.00%  1-9
t/05svm-rm.t    255 65280     6   12 200.00%  1-6
t/10switch.t    255 65280    13   26 200.00%  1-13
t/13patch.t     255 65280    36   72 200.00%  1-36
t/32list.t      255 65280    69  138 200.00%  1-69
t/35admin.t     255 65280     4    8 200.00%  1-4
t/75hook.t      255 65280     2    4 200.00%  1-2
2 tests and 6 subtests skipped.
Failed 12/73 test scripts, 83.56% okay. 285/1422 subtests failed, 79.96% okay.

I verified that perl-Clone is getting installed.

Also, the module would like to have Locale::Maketext::Lexicon and
Locale::Maketext::Simple; these are available in Extras.  Is there some reason
not to BR: them?  (It also wants IO::Pager, but we don't have that one in Extras.)
Comment 9 Ian Burrell 2006-07-06 01:55:49 EDT
Odd. It was working before on my machine, but now it is giving the same test
failures.

A new version was just released upstream and it includes a patch to t/tree.pl to
add "require Clone".  The new version fixes the test failures.  I also added the
optional build requires.

Spec: http://znark.com/fedora/perl-SVK.spec
SRPMS: http://znark.com/fedora/perl-SVK-1.08-1.src.rpm
Comment 10 Jason Tibbitts 2006-07-06 20:41:16 EDT
I noticed this during configuration:
  Warning: prerequisite File::Spec 3.18 not found. We have 3.12.
File::Spec is in the core Perl package so updating it isn't really feasible. 
I'm not sure if this causes any problems.

Some rpmlint issues:
E: perl-SVK useless-explicit-provides perl(SVK)
It looks like RPM is screwing up yet again.  I think you'll have to filter this.

W: perl-SVK doc-file-dependency
/usr/share/doc/perl-SVK-1.08/contrib/svk-completion.pl perl(warnings)
W: perl-SVK doc-file-dependency /usr/share/doc/perl-SVK-1.08/contrib/svkopendiff
/bin/sh
Documentation should not be executable.

Some issues with the tests:

t/05svm-lock.................ok
        2/3 skipped: no lock found
Not sure what's up here.

t/06keyword..................ok
        4/27 skipped: fix inconsistent eol-style after commit
This looks like an intentionally skipped test.

t/50dav......................skipped
        all skipped: Apache::Test 1.18 required for testing dav
Not sure if it would make sense to test this without network access.

t/71autovivify...............
Use of uninitialized value in join or string at (eval 62) line 2.

t/72sign.....................skipped
        all skipped: gnupg not found
I added BR: gnupg but the result isn't confidence inspiring.  Perhaps you could
take a look and see if any of that is intended.

I see the rpmlint issues as blockers.

Review:
* source files match upstream:
   92a90bf73dfa958fd3633ec50c5798b1  SVK-1.08.tar.gz
* 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.
* latest version is being packaged.
 BuildRequires are proper.
* %clean is present.
* package builds in mock (development, x86_64).
X rpmlint has valid complaints.
* noarch package; no debuginfo.
X final provides and requires are sane:
X  perl(SVK)
   perl(SVK) = 1.08
   perl(SVK::Command)
   perl(SVK::Command::Add)
   perl(SVK::Command::Admin)
   perl(SVK::Command::Annotate)
   perl(SVK::Command::Cat)
   perl(SVK::Command::Checkout)
   perl(SVK::Command::Checkout::detach)
   perl(SVK::Command::Checkout::list)
   perl(SVK::Command::Checkout::purge)
   perl(SVK::Command::Checkout::relocate)
   perl(SVK::Command::Cleanup)
   perl(SVK::Command::Cmerge)
   perl(SVK::Command::Commit)
   perl(SVK::Command::Copy)
   perl(SVK::Command::Delete)
   perl(SVK::Command::Depotmap)
   perl(SVK::Command::Depotmap::add)
   perl(SVK::Command::Depotmap::detach)
   perl(SVK::Command::Depotmap::list)
   perl(SVK::Command::Depotmap::relocate)
   perl(SVK::Command::Describe)
   perl(SVK::Command::Diff)
   perl(SVK::Command::Help)
   perl(SVK::Command::Import)
   perl(SVK::Command::Info)
   perl(SVK::Command::List)
   perl(SVK::Command::Log)
   perl(SVK::Command::Merge)
   perl(SVK::Command::Mirror)
   perl(SVK::Command::Mirror::detach)
   perl(SVK::Command::Mirror::list)
   perl(SVK::Command::Mirror::recover)
   perl(SVK::Command::Mirror::relocate)
   perl(SVK::Command::Mirror::unlock)
   perl(SVK::Command::Mirror::upgrade)
   perl(SVK::Command::Mkdir)
   perl(SVK::Command::Move)
   perl(SVK::Command::Patch)
   perl(SVK::Command::Patch::FileRequired)
   perl(SVK::Command::Patch::apply)
   perl(SVK::Command::Patch::delete)
   perl(SVK::Command::Patch::dump)
   perl(SVK::Command::Patch::list)
   perl(SVK::Command::Patch::regen)
   perl(SVK::Command::Patch::test)
   perl(SVK::Command::Patch::update)
   perl(SVK::Command::Patch::view)
   perl(SVK::Command::Propdel)
   perl(SVK::Command::Propedit)
   perl(SVK::Command::Propget)
   perl(SVK::Command::Proplist)
   perl(SVK::Command::Propset)
   perl(SVK::Command::Pull)
   perl(SVK::Command::Push)
   perl(SVK::Command::Resolved)
   perl(SVK::Command::Revert)
   perl(SVK::Command::Smerge)
   perl(SVK::Command::Status)
   perl(SVK::Command::Switch)
   perl(SVK::Command::Sync)
   perl(SVK::Command::Update)
   perl(SVK::Command::Verify)
   perl(SVK::Editor::Combine)
   perl(SVK::Editor::Delay)
   perl(SVK::Editor::Diff)
   perl(SVK::Editor::Merge)
   perl(SVK::Editor::Patch)
   perl(SVK::Editor::Rename)
   perl(SVK::Editor::Sign)
   perl(SVK::Editor::Status)
   perl(SVK::Editor::Translate)
   perl(SVK::Editor::XD)
   perl(SVK::I18N)
   perl(SVK::Merge)
   perl(SVK::Merge::Info)
   perl(SVK::Notify)
   perl(SVK::Patch)
   perl(SVK::Patch::CommitEditor)
   perl(SVK::Resolve)
   perl(SVK::Resolve::AraxisMerge)
   perl(SVK::Resolve::Emacs)
   perl(SVK::Resolve::FileMerge)
   perl(SVK::Resolve::GVim)
   perl(SVK::Resolve::GtkDiff)
   perl(SVK::Resolve::Guiffy)
   perl(SVK::Resolve::KDiff3)
   perl(SVK::Resolve::Meld)
   perl(SVK::Resolve::P4WinMerge)
   perl(SVK::Resolve::TkDiff)
   perl(SVK::Resolve::TortoiseMerge)
   perl(SVK::Resolve::Vim)
   perl(SVK::Resolve::XXDiff)
   perl(SVK::Target)
   perl(SVK::Target::Universal)
   perl(SVK::Util)
   perl(SVK::VerifyEditor)
   perl(SVK::Version)
   perl(SVK::XD)
   perl(SVK::XD::Root)
   perl(SVK::XD::Signature)
   perl-SVK = 1.08-1.fc6
  =
?  /bin/sh
   /usr/bin/perl
   perl(:MODULE_COMPAT_5.8.8)
   perl(Algorithm::Annotate)
   perl(Algorithm::Diff)
   perl(Class::Autouse)
   perl(Clone)
   perl(Compress::Zlib)
   perl(Config)
   perl(Data::Hierarchy)
   perl(Date::Format)
   perl(Date::Parse)
   perl(Digest::MD5)
   perl(Encode)
   perl(Encode::TW)
   perl(Exporter)
   perl(Fcntl)
   perl(File::Compare)
   perl(File::Copy)
   perl(File::Glob)
   perl(File::Path)
   perl(File::Spec)
   perl(File::Type)
   perl(FreezeThaw)
   perl(Getopt::Long)
   perl(IO::Digest)
   perl(List::Util)
   perl(MIME::Base64)
   perl(PerlIO)
   perl(PerlIO::eol) >= 0.10
   perl(PerlIO::scalar)
   perl(PerlIO::via)
   perl(PerlIO::via::dynamic)
   perl(PerlIO::via::symlink)
   perl(Pod::Escapes)
   perl(Pod::Simple)
   perl(Regexp::Shellish)
   perl(SVK)
   perl(SVK::Command::Log)
   perl(SVK::Command::Sync)
   perl(SVK::Editor::Combine)
   perl(SVK::Editor::Delay)
   perl(SVK::Editor::Diff)
   perl(SVK::Editor::Merge)
   perl(SVK::Editor::Patch)
   perl(SVK::Editor::Rename)
   perl(SVK::Editor::Sign)
   perl(SVK::Editor::Status)
   perl(SVK::Editor::Translate)
   perl(SVK::I18N)
   perl(SVK::Merge)
   perl(SVK::Patch)
   perl(SVK::Target::Universal)
   perl(SVK::Util)
   perl(SVK::Version)
   perl(SVK::XD)
   perl(SVN::Core)
   perl(SVN::Delta)
   perl(SVN::Fs)
   perl(SVN::Ra)
   perl(SVN::Repos)
   perl(SVN::Simple::Edit) >= 0.27
   perl(Sys::Hostname)
   perl(URI)
   perl(YAML)
   perl(autouse)
   perl(base)
   perl(constant)
   perl(strict)
   perl(warnings)
* %check is present and all tests pass:
   All tests successful, 1 test and 6 subtests skipped.
   Files=74, Tests=1439, 136 wallclock secs (51.90 cusr + 16.46 csys = 68.36 CPU)
   Note that this is with BR: gnupg; without it, another test is skipped.
* 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.
X file permissions are appropriate (executable documentation)
* 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.
Comment 11 Ian Burrell 2006-07-07 17:30:38 EDT
I noticed the dependency on File::Spec 3.18.  Using the version in perl 5.8.8
does not seem to have an effect on the tests.  Since we can't upgrade core
modules, I think using the old version will be fine.

I fixed the rpmlint errors and warnings.  I just removed the contrib scripts. I
think rpm is getting confused about the duplicate provides because
SVK/Version.pl is "package SVK" with the version number while SVK.pm just has
"package SVK".  I had added "perl(SVK::Version)" to the provides.  

I am guessing that RPM is looking at the package statement which is technically
wrong for Perl.  "use Foo::Bar;" loads Foo/Bar.pm which usually contains
Foo::Bar package.

Spec: http://znark.com/fedora/perl-SVK.spec
SRPMS: http://znark.com/fedora/perl-SVK-1.08-2.src.rpm
Comment 12 Jason Tibbitts 2006-07-08 17:52:08 EDT
rpmlint is now silent, the extra perl(SVK) provide is gone, and the /bin/sh
dependency is gone as well.

APPROVED
Comment 13 Ian Burrell 2006-07-13 16:09:27 EDT
Built for FC-4, FC-5, and devel.
Comment 14 Ian Burrell 2008-06-06 14:01:54 EDT
Package Change Request
======================
Package Name: perl-SVK
New Branches: EL-4 EL-5
Comment 15 Kevin Fenzi 2008-06-06 15:01:29 EDT
cvs done.

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