[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFS: seed7/20130203-1 [ITP]



Hi Thomas,

On Fri, Feb 08, 2013 at 10:59:19AM +0100, Thomas Mertes wrote:
> Package: sponsorship-requests
> Severity: wishlist

It appears that you were trying to open a bug. You didn't send this mail
to submit@bugs.d.o, so no bug was created. In order for potential
sponsors to easier find you, I suggest that you file one now.

> I am looking for a sponsor for my package "seed7"

IANADD, so I cannot sponsor your package, but here is my review.

>   dget -x http://mentors.debian.net/debian/pool/main/s/seed7/seed7_20130203-1.dsc

The first and most obvious steps to review a package is to run recent
(unstable) version of lintian on it with pedantic and stuff turned on.
Indeed lintian has some relevant findings for your package:

It emits unversioned-copyright-format-uri and
out-of-date-standards-version. The first one tells you that you should
be using 

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

in debian/copyright if you want to use dep5 correctly. The second one
tells you that a new version of the Debian policy has been released. You
should have a look at /usr/share/doc/debian-policy/upgrading-checklist.*,
and adapt your packages to the changes outlined there.

Looking at debian/copyright you have a line "Files: * src/*". Note that
the "src/*" is redundant here.

Your license paragraph for LGPL-2.1+ appears not to reference the LGPL
from base-files. Could you add that indication?

Your debian/rules is unfortunately not up to the task. It fails to build
from source when you only build architecture dependent packages. Try
"dpkg-buildpackage -B" to see for yourself. Were this package uploaded
to the archive, it would fail to build on any architecture. I suggest
that you use the targets "override_dh_auto_build" instead of "build" and
"override_dh_auto_clean" instead of "clean". Then dh will take care of
correctly defining the binary-arch and binary-indep targets. You could
also drop the "dh_clean" invocation then, because it would no longer be
overridden.

Maybe you also want to move the "rm prg/s7 prg/s7c" to just mention the
files to be cleaned in debian/clean?

Furthermore the test suite should be optional. Please implement some
logic to avoid running the test suite when "nocheck" is given in
DEB_BUILD_OPTIONS. Again you can dh can help you here if you use the
target "override_dh_auto_test".

While you are at it you could also try supporting parallel building.
This should be as easy as adding --parallel to the dh command line and
replacing "make" invocations with "${MAKE}" invocations in debian/rules.

I also noticed that some file still contain significant boilerplate from
dh_make. Maybe you could drop that from debian/watch and debian/rules?

Also note that you are not currently using the hardening CFLAGS. While
this is not required for non-network facing packages, doing so would be
a good idea anyway. Have a look at dpkg-buildflags(1) for more
information.

I was also wondering whether you could split the seed7 binary package,
to something smaller. /usr/share/doc/seed7 takes up 7MB which is about
1/3 of the package. Maybe a seed7-doc package is in order here? Also the
files in /usr/lib/seed7/lib appear to be ASCII source files that take up
3MB. Are they really architecture dependent? If not, would it be
possible to move them to /usr/share and maybe put them into an
architecture independent seed7-lib package? The seed7-lib package really
is a matter of taste, but the -doc package saves that much, that you
should be doing it.

I saw that you already use lint to check the C files. Nevertheless the
tool cppcheck has some of its own findings, most of which are boring,
but there is an occasional correct finding such as this one:
[src/arrlib.c:1084]: (error) Common realloc mistake: 'arr1' nulled but not freed upon failure
Maybe you can check and fix them?

Finally I was wondering about your Depends line in debian/control. You
depend on gcc, which suggests that s7 would be invoking gcc. However you
do not depend on libc6-dev, which means that you cannot build against
libc6. Is this really correct?

Helmut

Attachment: signature.asc
Description: Digital signature


Reply to: