[Pkg-octave-devel] [RFU] octave-combinatorics 1.0.5

Rafael Laboissiere rafael at laboissiere.net
Sun Feb 24 23:18:38 UTC 2008


* Ólafur Jens Sigurðsson <ojsbug at gmail.com> [2008-02-24 22:18]:

> I would like to get the first octave-forge package uploaded and
> see what happens.

Thanks for your work.  I am pleased to see a first octave-forge package
coming close to be uploaded.

Unfortunately, there are several problems with this package and it cannot be
uploaded as is.  Since you are actively developing the octave-forge
packages for the DOG, I will let you fix the problems instead of doing it
myself.

First, running debuild out of the box yields:

parsechangelog/debian: warning:     debian/changelog(l5): couldn't parse date Fri, 14 Des 2007 22:55:04 +0100
dpkg-checkbuilddeps: Unmet build dependencies: octave2.9 (>= 2.9.16)

The first problem is trivial to fix (aren't you using Emacs for editing
debian/changelog?  ;-)

The second problem is serious.  You must build-depend on octave3.0, since
octave2.9 is deprecated now (although there is still an octave2.9 package
around).  Also, the binary package should not depend on octave2.9.  Better,
use the octave-depends command in debian/rules and ${octave:Depends} in
debian/control.  See the DOG Guidelines.

You should also drop "make" from the build-dependencies, since it is already
provided by build-essential.

Next, when calling octave in debian/rules, please give it the -f option,
such that ~/.octaverc is not loaded.

The package then builds fine, but Lintian shows four errors and three
warnings that must be fixed:

E: octave-combinatorics source: debian-rules-missing-required-target binary-arch
E: octave-combinatorics source: debian-rules-missing-required-target binary-indep
W: octave-combinatorics source: out-of-date-standards-version 3.7.2 (current is 3.7.3)
W: octave-combinatorics source: changelog-should-mention-nmu
W: octave-combinatorics source: source-nmu-has-incorrect-version-number 1.0.5
E: octave-combinatorics source: depends-on-build-essential-package-without-using-version make [build-depends: make]
E: octave-combinatorics: missing-dependency-on-libc needed by ./usr/lib/octave/packages/combinatorics-1.0.5/x86_64-pc-linux-gnu-api-v32/partint.oct

Furthermore, build of the package is not reentrant.  Building it again yields:

$ debuild -us -uc -i
 fakeroot debian/rules clean
make: Nothing to be done for `clean'.
 dpkg-source -i -b octave-combinatorics-1.0.5
dpkg-source: building octave-combinatorics using existing octave-combinatorics_1.0.5.orig.tar.gz
dpkg-source: building octave-combinatorics in octave-combinatorics_1.0.5.diff.gz
dpkg-source: warning: executable mode 0755 of 'debian/octave-combinatorics/usr/lib/octave/packages/combinatorics-1.0.5/x86_64-pc-linux-gnu-api-v32/partint.oct' will not be represented in diff
dpkg-source: cannot represent change to debian/octave-combinatorics/usr/lib/octave/packages/combinatorics-1.0.5/x86_64-pc-linux-gnu-api-v32/partint.oct: binary file contents changed
dpkg-source: cannot represent change to debian/octave-combinatorics/usr/share/doc/octave-combinatorics/changelog.gz: binary file contents changed
dpkg-source: warning: newly created empty file 'debian/octave-combinatorics/usr/share/octave/packages/combinatorics-1.0.5/packinfo/.autoload' will not be represented in diff
dpkg-source: warning: executable mode 0755 of 'debian/octave-combinatorics/DEBIAN/postrm' will not be represented in diff
dpkg-source: warning: executable mode 0755 of 'debian/octave-combinatorics/DEBIAN/postinst' will not be represented in diff
dpkg-source: unrepresentable changes to source
dpkg-source: building octave-combinatorics in octave-combinatorics_1.0.5.dsc
debuild: fatal error at line 1239: dpkg-source -i -b octave-combinatorics-1.0.5 failed

I think you should use dh_clean.  BTW, you should really consider using CDBS
for the octave-forge packages as in most of the packages currently
maintained by the DOG.  At some point, we should write a makefile fragment
for automating the build tasks and simplifying debian/rules.

Finally, the package description in debian/control must be improved.  The
article "The" in the short description must be dropped [1] and the long
description must be much better elaborated [2].  

Otherwise, the package installs and runs fine.  That's great!

[1] http://www.debian.org/doc/developers-reference/ch-best-pkging-practices.en.html#s-bpp-pkg-synopsis
[2] http://www.debian.org/doc/developers-reference/ch-best-pkging-practices.en.html#s-bpp-pkg-desc

-- 
Rafael



More information about the Pkg-octave-devel mailing list