Request for review: pygsl

Tom 'spot' Callaway tcallawa at redhat.com
Fri Jul 1 13:40:19 UTC 2005


On Fri, 2005-07-01 at 12:48 +0100, José Matos wrote:
> Hi,
>   this is my first message here. I have been (GNU/)Linux exclusively for the
> last 9 years, after Slackware I have changed to Red Hat Linux 5.0 and from
> there I have updated the system to the latest Fedora. :-)
> 
>   I'm doing a PhD on econophysics (applying techniques from statistical
> physical to the study of financial time series) and I have contributed
> before to several free software projects, being the most import LyX where I
> am one of the core developers.
> 
>   Due to my work I have been interested and I have packaged for local
> consuption several scientific packages related with python and R.
> 
>   I have done all the process to become an FE packager.

And I just sponsored you.

>   As a first step I propose for inclusion in FE pygsl.
> 
> http://www.fc.up.pt/pessoas/jamatos/pygsl.spec
> http://www.fc.up.pt/pessoas/jamatos/pygsl-0.3.2-1.src.rpm
> 
>   Possible problem for this package:
> 
>   -Name: It already has py in its name is it necessary to change it to
> python-pygsl?

Nope. pygsl is fine, since it has py in its name.

>   -License: Although the project is GPL (it is clearly placed in the
> sources) there isn't no license in the source package.

Find a copy of the GPL and put it in as Source1.

>   -FC3: This version of pygsl does not compile in FC3 since it links to
> wavelets that are only present in gsl 1.6. Also the previous version 0.3.1
> doesn't compile in FC4.

Then you won't need an FC-3 branch for this package. :)

>   I have compile this using mock in i386 and x86_64 architecture without
> problems, the only complain of rpmlint is that:
> 
>   - there is no binary
>   - several example files are not non executable scripts
> 
>   I think that these are harmless...

Yeah, I think so too.

Review of pygsl:

rpmlint checks:
No output

Bad: 
- Prefix: %{_prefix} makes this package relocatable. If you really want
to do this, you have to make a good case in the request for review (see
the MUST on relocatable packages in
http://fedoraproject.org/wiki/PackageReviewGuidelines). You're probably
better off just removing this line.

- Vendor and Packager fields are set, they should be removed.

- Source0 is not presented as the URL for the upstream source. This is
important because reviewers need to check that the source in your SRPM
matches the upstream source.
Replace your existing Source0 line with:
Source0: http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz

- /usr/lib/python2.4/site-packages/pygsl is not owned by the package,
when it should be (again, this is a byproduct of using a filelist for
python packages, it will not mark directories, only files)
Adding this line to the %files entry should do the trick:
%dir %{python_sitearch}/pysql

You also need to add this line to the top of your spec (to safely use
%{python_sitearch}:

%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}

- You need to include a copy of the License (GPL) in the package. You
can do this by downloading gpl.txt from:

http://www.fsf.org/licensing/licenses/gpl.txt

Then, you can add:

Source1: gpl.txt

In %build:

cp %{SOURCE1} .

And in %doc, add gpl.txt to the end of the existing line.

(NOTE: You really want to push upstream to include the license text for
you, because without it, they're technically in violation of the GPL)

Good:
- Package is named according to PackageNamingGuidelines
- spec file name matches %{name}
- License (GPL) OK, matches source license (but license is missing)
- Spec file is in Am. English, is legible
- Sources match upstream
- Package compiles and builds on x86 (FC4)
- No extra BuildRequires used
- All other build deps in BuildRequires
- No locales in spec files
- No need for -devel or -docs subpackages
- Permissions set correctly on files
- %clean section exists
- macro usage is consistent
- package is code, not content
- nothing in %doc affects runtime
- no static libraries

You've got some work ahead of you, but it is your first package. Fix
those blocker items and I'll take another look at it.

Remember that http://fedoraproject.org/wiki/PackageNamingGuidelines,
http://fedoraproject.org/wiki/PackageReviewGuidelines and 
http://www.fedoraproject.org/wiki/PackagingGuidelines are your
friends. :)

~spot
-- 
Tom "spot" Callaway: Red Hat Sales Engineer || GPG Fingerprint: 93054260
Fedora Extras Steering Committee Member (RPM Standards and Practices)
Aurora Linux Project Leader: http://auroralinux.org
Lemurs, llamas, and sparcs, oh my!




More information about the fedora-extras-list mailing list