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

Re: voro++ package



Hi Ole,

Thanks for the pointers, I think that makes sense to me now. I updated the package to use executable .install files for libvoro++1 and voro++-dev, and to install the library files to /usr/lib/<arch>. However, I now cannot build the package. This is the end of the build log:

make[2]: Leaving directory '/build/voro++-0.4.6+dfsg1/src'
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/bin
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/lib
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/share/man
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/share/man/man1
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/share/doc/
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/share/doc/voro++
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/include
install -d -m 0755 /build/voro++-0.4.6+dfsg1/debian/tmp/usr/include/voro++
make[1]: Leaving directory '/build/voro++-0.4.6+dfsg1'
   debian/rules override_dh_install
make[1]: Entering directory '/build/voro++-0.4.6+dfsg1'
dh_install
Can't exec "/build/voro++-0.4.6+dfsg1/debian/voro++-dev.install": No such file or directory at /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 794.
dh_install: cannot run debian/voro++-dev.install: No such file or directory
debian/rules:14: recipe for target 'override_dh_install' failed
make[1]: *** [override_dh_install] Error 2
make[1]: Leaving directory '/build/voro++-0.4.6+dfsg1'
debian/rules:8: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

The file debian/voro++-dev.install definitely exists, so I don't know why this error message occurs. Any clues here as to what the problem is?

Cheers,
Roger

On 05/01/17 21:10, Ole Streicher wrote:
Hi Roger,

the links are already created when the library is built. The problem is
your "Makefile.patch" patch, specifically the lines

       $(INSTALL) $(IFLAGS) src/libvoro++.so  $(DESTDIR)$(PREFIX)/lib
       $(INSTALL) $(IFLAGS) src/libvoro++.so.1.0.0 $(DESTDIR)$(PREFIX)/lib

Specifically the first copies the library itself, and not the link. I
would not install them at all specify the target in debian/*.install:

src/libvoro++.so usr/lib    (for debian/voro++-dev.install)
src/libvoro++*.so.* usr/lib (for debian/libvoro++1.install)

This also makes it easier to fullfill another goal of Debian:
Multi-Arch. That means, that different architectures (f.e. 32 and 64
bit) may be installed together. This requires that the libraries do not
go to /usr/lib, but to /usr/lib/<arch>. You may check the wcstools
package for this:

https://sources.debian.net/src/wcstools/3.9.4-2/debian/libwcstools1.install/
https://sources.debian.net/src/wcstools/3.9.4-2/debian/libwcstools-dev.install/

Important is that the install files in that case should be executable.

If you do it this way, you don't need to specify the symlinks at all.

Cheers

Ole


Roger Wesson <rw@nebulousresearch.org> writes:
Hi, I have just uploaded new packaging files for voro++ which should
address all the comments below.  The package builds, but there are
lintian warnings and errors that I don't know how to get rid of
because I do not know how to properly create the symlink that ldconfig
would create.  Whatever I try gives lintian errors or warnings.  Right
now there are binaries-have-file-conflict warnings, which I think is
because I'm creating the symlinks at the wrong time, and a
non-dev-pkg-with-shlib-symlink, which I am not sure if it matters or
not, because if there is no symlink I get an error.

So, can someone offer any assistance here and tell me where I'm going wrong?

Thanks,
Roger

On 10/11/16 20:45, Ole Streicher wrote:
Roger Wesson <rw@nebulousresearch.org> writes:
Great!  Then it's all ready to be reviewed.

OK, here are my comments:

* Change order in d/copyright: first the common entry (*), then the more
  specialized.

* Add VCS entries in d/control

* html/jquery.js has no source. Don't just overwrite the lintian tag for this.
  Since the html subdir is not used anyway, I would recommend removing it
  from the tarball completely:
   - "Files-Excluded:" entry in the d/copyright header.
   - add "opts=dversionmangle=s/\+dfsg\d*//,repacksuffix=+dfsg" to debian/watch
   - if a doc is useful, create it yourself with doxygen

* provide some description to the patches in debian/patches

* install the NEWS file as changelog (with dh_installchangelogs)

* install the examples (with dh_installexamples)

* please clarify with upstream whether a shared library would be
  useful here, and if yes, povide one. In that case the package should
  be split into one package for the lib, one for the -dev tools and
  one for the utility. See Debian Policy 8.3

* Lintian warns about
   manpage-has-errors-from-man usr/share/man/man1/voro++.1.gz 85:
   warning: numeric expression expected (got `s')
  Since you are already patching the manpage, maybe you can fix that?

* I added voronoi to the debian-astro blend, however it may be worth to
  add it to the "mathematics" task of debian science as well. If you
  want that, you should clone the debian-science blends package
  ssh://git.debian.org/git/blends/projects/science.git
  and add your package in tasks/mathematics (resp. mathematics-dev for
  the debelopment package).

Best regards

Ole




Reply to: