Hi Adam,
some initial comments:
- the license seems to be GPLv2+ (according to the source file headers)
- file LICENSE is missing in %doc
- The package contains the "curl" sources (in src/utils/curl). You should remove
them and rely on the corresponding Fedora package instead.
- set the file permissions of the data files to 644, e.g. with
find %{buildroot}%{_datadir}/%{name} -type f -exec chmod 0644 {} \;

Martin,
Thanks for taking a look. New version addressing your comments is at:
http://verdurin.fedorapeople.org/reviews/BEDTools/BEDTools.spechttp://verdurin.fedorapeople.org/reviews/BEDTools/BEDTools-2.9.0-2.fc13.src.rpm
I've contacted upstream about the library bundling. So far as I can see, it's not actually referred to in any of the individual Makefiles.
There is an extra warning from rpmlint now, relating to the removal of the curl directory:
BEDTools.src:32: W: rpm-buildroot-usage %prep rm -rf %{buildroot}/src/utils/curl
$RPM_BUILD_ROOT should not be touched during %build or %prep stage, as it may
break short circuit builds.
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
Here are the warnings for the binary packages:
BEDTools.x86_64: W: no-manual-page-for-binary complementBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary genomeCoverageBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary mergeBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary pairToPair
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary groupBy
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary fastaFromBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary slopBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary bedToIgv
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary overlap
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary subtractBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary bamToBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary intersectBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary maskFastaFromBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary bed12ToBed6
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary bedToBam
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary unionBedGraphs
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary sortBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary windowBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary closestBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary linksBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary shuffleBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary coverageBed
Each executable in standard binary directories should have a man page.
BEDTools.x86_64: W: no-manual-page-for-binary pairToBed
Each executable in standard binary directories should have a man page.
1 packages and 0 specfiles checked; 0 errors, 23 warnings.

(In reply to comment #4)
> So far as I can see, it's
> not actually referred to in any of the individual Makefiles.
Yes, you're right. The BED tools don't seem to require any of the curl sources. Nonetheless, it's probably a good idea to remove them, just to ensure they're not linked.
> BEDTools.src:32: W: rpm-buildroot-usage %prep rm -rf
> %{buildroot}/src/utils/curl
> $RPM_BUILD_ROOT should not be touched during %build or %prep stage, as it may
> break short circuit builds.
rpmlint is correct here. :)
Simply replace "rm -rf %{buildroot}/src/utils/curl" with "rm -rf src/utils/curl" to remove the curl folder. Directory %{buildroot} only contains the installed folders and files that are going to be added to the final package(s), i.e. the files installed in %install.
The remaining rpmlint warnings can be ignored as long as no manpages are available.

Thanks for the confirmation. It's also great to hear that the upstream developer is responsive and happy with your work. Did he also answered your question about the license of the user manual? The pdf file would probably be a valuable addition to the package.

Here's the formal review. The package looks good now. Just one thing:
Since upstream said the pdf file is licensed under GPLv2, you should reflect that in a License field of the -docs package. Alternatively, ask the developer if he really meant GPLv2, or if GPLv2+ is also OK. In the latter case, you don't need a separate License tag. Maybe he can add a corresponding notice in the pdf file, too.
$ rpmlint /var/lib/mock/fedora-13-i386/result/*.rpm
BEDTools.i686: W: no-manual-page-for-binary complementBed
BEDTools.i686: W: no-manual-page-for-binary genomeCoverageBed
BEDTools.i686: W: no-manual-page-for-binary mergeBed
BEDTools.i686: W: no-manual-page-for-binary pairToPair
BEDTools.i686: W: no-manual-page-for-binary groupBy
BEDTools.i686: W: no-manual-page-for-binary fastaFromBed
BEDTools.i686: W: no-manual-page-for-binary slopBed
BEDTools.i686: W: no-manual-page-for-binary bedToIgv
BEDTools.i686: W: no-manual-page-for-binary overlap
BEDTools.i686: W: no-manual-page-for-binary subtractBed
BEDTools.i686: W: no-manual-page-for-binary bamToBed
BEDTools.i686: W: no-manual-page-for-binary intersectBed
BEDTools.i686: W: no-manual-page-for-binary maskFastaFromBed
BEDTools.i686: W: no-manual-page-for-binary bed12ToBed6
BEDTools.i686: W: no-manual-page-for-binary bedToBam
BEDTools.i686: W: no-manual-page-for-binary unionBedGraphs
BEDTools.i686: W: no-manual-page-for-binary sortBed
BEDTools.i686: W: no-manual-page-for-binary windowBed
BEDTools.i686: W: no-manual-page-for-binary closestBed
BEDTools.i686: W: no-manual-page-for-binary linksBed
BEDTools.i686: W: no-manual-page-for-binary shuffleBed
BEDTools.i686: W: no-manual-page-for-binary coverageBed
BEDTools.i686: W: no-manual-page-for-binary pairToBed
BEDTools.src: W: invalid-url Source1: http://bedtools.googlecode.com/files/BEDTools-User-Manual.v3.pdf HTTP Error 404: Not Found
BEDTools.src: W: invalid-url Source0: http://bedtools.googlecode.com/files/BEDTools.v2.9.0.tar.gz HTTP Error 404: Not Found
4 packages and 0 specfiles checked; 0 errors, 25 warnings.
All above warnings can be ignored:
- no manual pages available
- invalid URL warnings are false positive
---------------------------------
key:
[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------
[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
[X] MUST: The License field in the package spec file must match the actual license.
- add License: GPLv2 to the -docs package
[+] MUST: The file containing the text of the license(s) for the package must be included in %doc.
- no separate license file available for pdf file
=> docs package doesn't require a license file
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
$ md5sum BEDTools*
85e66413587f3f1cbb5e9530c20c6d1e BEDTools-User-Manual.v3.pdf
85e66413587f3f1cbb5e9530c20c6d1e BEDTools-User-Manual.v3.pdf.1
a0ac1e63fe4a7ae72e33fd91c24ac3da BEDTools.v2.9.0.tar.gz
a0ac1e63fe4a7ae72e33fd91c24ac3da BEDTools.v2.9.0.tar.gz.1
[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[.] MUST: If the package does not successfully compile, build or work ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly.
[.] MUST: Packages storing shared libraries must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates.
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[+] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: .so files must go in a -devel package.
[.] MUST: devel packages must require the base package.
[+] MUST: Packages must NOT contain any .la libtool archives.
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file.
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.
[.] SHOULD: If the source package does not include license text(s) ...
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base package.
- doc package doesn't require the base package
[.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin...
[X] SHOULD: your package should contain man pages for binaries/scripts.
- would be great if upstream could add manual pages for the utilities,
but that's optional, of course

Ah OK, thanks for the update. Sorry, I didn't intend to urge you.
To me, the current status of the package is fine since the License field reflects the latest feedback from upstream. If you get additional information, you can update the spec file later on.
----------------
Package APPROVED
----------------