Bug 192867

Summary: Review Request: ctorrent - BitTorrent Client written in C
Product: [Fedora] Fedora Reporter: Andrea Veri <bluekuja>
Component: Package ReviewAssignee: Brian Pepple <bdpepple>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: yaneti
Target Milestone: ---Flags: kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-06-22 00:05:17 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:    
Bug Blocks: 163779    

Description Andrea Veri 2006-05-23 18:07:20 UTC
Spec URL: http://www.netservers.org/packages/rpm/ctorrent.spec
SRPM URL: http://www.netservers.org/packages/rpm/ctorrent-1.3.2-1.src.rpm
Description: CTorrent is built as a console program, which means that it doesn't require any graphical components (such as an X server) on the machine you are running it on, you can even run it remotely through a terminal if you wish. While a lot of people prefer a GUI (Graphical User Interface) for this kind of applications, there are quite a few people who run "console only" servers and want to use them to download files in the background.

Comment 1 Yanko Kaneti 2006-05-23 19:12:48 UTC
disclaimer: I hold none of the official fedora credentials, so take my comments
as random joe observations.

Your spec file fails many of the basic requirements listed in
http://fedoraproject.org/wiki/Packaging/Guidelines
See "Writing a package from scratch" section for how to produce a basic specfile
using an existing template which should help produce something not so far off
the mark.

Here are some of the more major omissions:
- no URL tag
- source tag is not a url to the canonical upstream source.
- no explicit buildroot
- the description spills over 80 characters a line and has text mostly comprised
of advocacy rather than descritopn.
- doesn't use standard macros as %configure, %makeinstall  thus resulting in an
install to /usr/local, which is a big no no for fedora. 
- no changelog
- no spaces, resulting i poor readability.

A more detailed review will possibly follow after these basic things are taken
care of.


Comment 2 Andrea Veri 2006-05-23 21:31:12 UTC
Problems Fixed, new .spec and .src.rpm files changed.
Thanks for reporting it.

Comment 3 Yanko Kaneti 2006-05-23 22:57:02 UTC
More notes regarding 1.3.2-1:
- the canonical sf source url used in most fedora specs is
http://download.sourceforge.net/projectname/.. or http://dl.sf.net/projectname/..
  so in this case http://download.sourceforge.net/ctorrent/ctorrent-1.3.2.tar.gz

- you don't need the BuildRequires: rpm, see the section
BuildRequires/Exceptions in the Packaging guidelines. It includes rpm-build
which implies rpm.

- you need a BuildRequires: openssl-devel

- you don't need the Requires: libc.so.6 libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1). All shared library dependencies are automatically
generated by rpm. This includes openssl. See the "Requires" section in the
Packaging guidelines.

- the first line of your description still exceeds 80, please wrap it.

- the secton Macros from the Packaging guidelines says "Use macros instead of
hard-coded directory names (see Extras/RPMMacros)" which would mean
%{_bindir}/ctorrent  instead of /usr/bin/ctorrent in the files manifest

When changing the spec in result of comments made in the review bump the Release
tag and add an appropriate changelog so that there is some tracking of the
review process.

I can not officially review or sponsor this so thats all from me. Hope it helps.

Comment 4 Andrea Veri 2006-05-23 23:36:08 UTC
.spec file changed, new link to release 2:
http://www.netservers.org/packages/rpm/ctorrent-1.3.2-2.src.rpm

Anyway adding %{_bindir}/ctorrent doesn't work as using the correct path, that
I've chosen before. By the way thanks for the complete review unfortunately you
can't sponsor me, but i think that soon you'll this possibility too.

Comment 5 Yanko Kaneti 2006-05-24 06:46:33 UTC
- Requires: gcc  should be removed. If there is a runtime dependancy on any gcc
lib its automatically genereated. 

- %{_bindir}/ctorrent  should work. If it doesn't you either made a typo or your
build enviroment is not quite standard fedora fare. custom macros and such...?

- your changelog is not formatted properly. The first line should end with - 
E-V-R of the package. There should be an empty newline after each new changelog
section. "Changes to .spec file" is not an actual description of what changed
therefore useles to reveiwers and users. Provide a little bit more details on
what actually changed. Something like:
 - fixed URL
 - removed unneeded Reqiures, added openssl-devel to BR.

- please remove all the trailing spaces, they might confuse rpm and other spec
handling tools. The spaces in the template are there not to trail but to align
the position of the values of the tags.

rpmlint as mandated by the guidelines should have spotted most of these


Comment 6 Andrea Veri 2006-05-24 11:42:40 UTC
Spec URL: http://www.netservers.org/packages/rpm/ctorrent.spec
SRPM URL: http://www.netservers.org/packages/rpm/ctorrent-1.3.2-3.src.rpm

Release 3, problems fixed.

Comment 7 Brian Pepple 2006-05-27 00:02:52 UTC
MD5Sums:
1bc787df91285a9cec8509617c3152d6  ctorrent-1.3.2.tar.gz

Good:
* Source URL is canonical
* Upstream source tarball verified
* Buildroot has all required elements
* All necessary BuildRequires listed.
* All desired features are enabled
* Make succeeds even when %{_smp_mflags} is defined
* Files have appropriate permissions and owners
* Package builds fine in Mock.
* Package installs and uninstalls cleanly on FC5.

Bad:
* Group Tag is not from official list. http://fedoraproject.org/wiki/RPMGroups
* Not all paths begin with macros. In the file section, '/usr/bin' should be
replaced with '%{_bindir}'.  Refer to http://fedoraproject.org/wiki/Extras/RPMMacros
* We need to verify that the license is really GPL, since neither the tarball or
the website mention the license at all.

Minor:
* rpmlint gives the following error, which is addressed in the first item of the
Bad section:
  W: ctorrent non-standard-group Net
* I wouldn't even bother to package the COPYING file, since it only contains the
authors name and nothing else.  The AUTHOR file contains the exact same information.

Comment 8 Andrea Veri 2006-05-27 10:12:28 UTC
Done, i fixed all errors listed above.
http://www.netservers.org/packages/rpm/ctorrent.spec
http://www.netservers.org/packages/rpm/ctorrent-1.3.2-3.src.rpm
The license is GPL, I'm sure about it. The author have written a presentation of
his program on a Debian list and he writes that license is GPL. Anyway i've
found some more websites that confirm this.

Comment 9 Brian Pepple 2006-05-27 12:48:06 UTC
You've still got a problem with the %file section.  Looks like you changed
'/usr/bin/ctorrent' to just '%{_bindir}'.  It needs to be '%{_bindir}/ctorrent'
or '%{_bindir}/%{name}'

Comment 10 Andrea Veri 2006-05-27 15:48:02 UTC
ops yes, my mistake sorry.
Anyway fixed now.

Comment 11 Brian Pepple 2006-05-27 16:10:04 UTC
+1 APPROVE.

Fixed errors noted in comment #7.

I'll also be your sponser.  It looks like your next step is:
http://fedoraproject.org/wiki/Extras/Contributors#head-a89c07b5b8abe7748b6b39f0f89768d595234907

Comment 12 Dominik 'Rathann' Mierzejewski 2008-02-04 14:59:05 UTC
Package Change Request
======================
Package Name: ctorrent
New Branches: EL-5


Comment 13 Kevin Fenzi 2008-02-04 19:20:14 UTC
cvs done.