Bug 428725 - Review Request: wiggle - help apply patches when 'patch' can't
Review Request: wiggle - help apply patches when 'patch' can't
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-01-14 15:39 EST by Andy Gospodarek
Modified: 2014-06-29 18:59 EDT (History)
4 users (show)

See Also:
Fixed In Version: rawhide
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-02-22 14:06:40 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
kevin: fedora‑cvs+

Attachments (Terms of Use)

  None (edit)
Description Andy Gospodarek 2008-01-14 15:39:41 EST
Spec URL: http://people.redhat.com/agospoda/wiggle/wiggle.spec
SRPM URL: http://people.redhat.com/agospoda/wiggle/wiggle-0.6-1.fc7.src.rpm
Wiggle is a program for applying patches that 'patch' cannot
apply due to conflicting changes in the original.

Wiggle will always apply all changes in the patch to the original.
If it cannot find a way to cleanly apply a patch, it inserts it
in the original in a manner similar to 'merge', and report an
unresolvable conflict.

This is the first package I've submitted for inclusion in Fedora.

Additional i686 versions for rhel4 and rhel5 are available here:
Comment 1 Andy Gospodarek 2008-01-14 16:31:42 EST
I got the licensing wrong, so I just updated wiggle.spec with this change:

--- wiggle.spec.orig    2008-01-14 16:18:54.000000000 -0500
+++ wiggle.spec 2008-01-14 16:19:00.000000000 -0500
@@ -4,7 +4,7 @@ Release:        1%{?dist}
 Summary:        A tool for applying patches with conflicts

 Group:          Development/Tools
-License:        GPL
+License:        GPLv2+
 URL:            http://www.cse.unsw.edu.au/~neilb/source/wiggle/
 Patch0:         wiggle-various-changes.patch
Comment 2 manuel wolfshant 2008-01-14 17:24:36 EST
Andy, are you already sponsored? If not, you have to follow
http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored and also make
this review block bug 177841 ( FE-NEEDSPONSOR )
Comment 3 Andy Gospodarek 2008-01-14 18:52:58 EST
Thanks, Manuel.  I forgot to add the blocker.
Comment 4 Jason Tibbitts 2008-01-14 19:45:38 EST
A few comments:

The URL given in the spec is 403 (no permission) for me.

The package fails to build:

nroff -man wiggle.1 > wiggle.man
/bin/sh: nroff: command not found
make: *** [wiggle.man] Error 127
make: *** Waiting for unfinished jobs....
error: Bad exit status from /var/tmp/rpm-tmp.44906 (%build)

Looks like you need BuildRequires: groff

The package seems to have a test suite; it should be called in a %check section.
 Unfortunately it looks like the makefile calls it as part of the build process,
but you could just call the wiggle and wiggle.man targets manually.

The package doesn't build with the proper compiler flags, because the makefile
tkes the ill-advised step of overriding CFLAGS.  That will need to be patched
out or worked around so the compiler is called with $RPM_OPT_FLAGS.
Comment 5 Andy Gospodarek 2008-01-14 22:58:11 EST
Thanks for the tips, Jason.  It's interesting that the link for the specfile
didn't work.  Here's a new one and a new srpm:

Spec URL: http://people.redhat.com/agospoda/wiggle/wiggle.spec
SRPM URL: http://people.redhat.com/agospoda/wiggle/wiggle-0.6-2.fc7.src.rpm

I made the suggested changes to the Makefile and included groff as a build
requirement in the specfile.

You should always be able to find the latest versions from my people page (at
least until wiggle makes it into rawhide):

Comment 6 Jason Tibbitts 2008-01-15 13:07:09 EST
OK, that gets further but also fails to build due to a missing dependency on the
"time" package.  Adding that gets things going OK.

I still didn't see the proper flags being passed to the compiler, but changing
the make line to:
  make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}
gets that done and fixes the empty debuginfo package as well.

You might change "report" to "reports" in %description.

There's a COPYING file in the tarball; you need to include that as %doc in your
%files list.  You should also include ANNOUNCE and TODO; there's no point in
including INSTALL ad I'm not sure about DOC/diff.ps.

So still a few things to fix before I can approve this package.

* source files match upstream:
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK (one minor typo; no big deal)
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
X license text is in the tarball but not included in the package.
* latest version is being packaged.
X BuildRequires are proper (still needs 'time' to build; assuming it's there so 
   that I can complete this review)
X compiler flags are not proper.
* %clean is present.
* package builds in mock (rawhide, x86_64) (after adding BR: time)
* package installs properly
X debuginfo package is incomplete.
* rpmlint is silent.
* final provides and requires are sane:
   wiggle = 0.6-2.fc9
* %check is present and all tests pass (after adding BR: time):
   50 succeeded and 0 failed
* no shared libraries are added to the regular linker search paths.
* 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.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.
Comment 7 Andy Gospodarek 2008-01-16 21:58:16 EST
OK, I think I took care of everything.  I don't think diff.ps is really needed
in the RPM -- it's an interesting paper, but doesn't add too much to the tool's
usage.  I made all the other suggested changes though and uploaded new packages
to the same spot:


Comment 8 Jason Tibbitts 2008-01-17 00:52:23 EST
Cool; builds fine and rpmlint is clean.  Everything looks good to me.


I'll sponsor you; just let me know if you need assistance with the remaining
bits of procedure.
Comment 9 Andy Gospodarek 2008-01-17 10:07:37 EST
New Package CVS Request
Package Name: wiggle
Short Description: help apply patches when 'patch' cannot
Owners: gospo
Branches: F-9 EL-5
InitialCC: linville
Cvsextras Commits: no
Comment 10 Kevin Fenzi 2008-01-17 12:14:45 EST
cvs done. 

Any particular reason for cvsextras commits: no? 
This will mean that a limited number of people could assist with your package or
fix things if you are unavailable. 
Comment 11 Andy Gospodarek 2008-01-21 10:00:03 EST
(In reply to comment #10)
> cvs done. 
> Any particular reason for cvsextras commits: no? 
> This will mean that a limited number of people could assist with your package or
> fix things if you are unavailable. 

not really, I'd be fine with changing that to 'yes.'
Comment 12 Kevin Fenzi 2008-01-21 11:26:46 EST
Done... and thanks. 
Comment 13 Andy Gospodarek 2008-01-21 13:35:02 EST
So I've been scanning the wiki and mailing-list archives and trying to figure
this out (and apparently missed the memo on this), but now that I've got and
EPEL-5 branch what does it take to actually make it out to the base
repo/mirrors/etc?  I read in the meeting notes that the next testing->stable
push will be in the next 2 weeks, but I'm not even sure how to query the status
of wiggle.
Comment 14 Xavier Lamien 2008-01-21 13:54:19 EST
for epel, you can check from here :
Comment 15 Jason Tibbitts 2008-02-21 16:34:54 EST
Any reason why this shouldn't be closed now?
Comment 16 Andy Gospodarek 2008-02-22 14:06:40 EST
Nope, no reason.  Thanks for reminding me.

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