RFS: wcslib

2011-09-24 Thread Ole Streicher
Dear mentors,

I am looking for a sponsor for my package wcslib.

 * Package name: wcslib
   Version : 4.8.1-1
   Upstream Author : Mark Calabretta mcala...@atnf.csiro.au
 * URL : http://www.atnf.csiro.au/people/mcalabre/WCS/
 * License : LGPLv3+
   Section : science

It builds those binary packages:

libwcs4- Implementation of the FITS WCS standard
 wcslib-dev - Header files and static library for wcslib
 wcslib-doc - API documentation for wcslib
 wcslib-tools - Command line tools utilizing wcslib

To access further information about this package, please visit the
following URL:

  http://mentors.debian.net/package/wcslib

Alternatively, one can download the package with dget using this command:

  dget -x http://mentors.debian.net/debian/pool/main/w/wcslib/wcslib_4.8.1-1.dsc

I would be glad if someone uploaded this package for me.

Kind regards,

Ole Streicher


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87r536m8ns@news.ole.ath.cx



Shared libs dependencies

2011-09-23 Thread Ole Streicher
Dear list,

I am a bit confused about how I have to declare the dependencies when
creating a shared library package. I've read the Debian Policy Manual;
however I do not now understand what to do.

First of all: what is the difference between the Depends field in the
control file and the shlibs file? Should they contain the same
(library) dependencies?

My source package (wcslib) will create a shared library package
libwcs4 and a tools package wcslib-tools (and others). So, since I
have multiple binary pkgs, I should (according to the manual) create a
file debian/shlibs.libwcs4 containing the library that libwcs4 depends
on; in my case (it depends on libcfitsio):

--8-
libwcs 4 libcfitsio3 libc6 libm6
--8-

(do I need to specify libc and libm?)

Then, I should install this in my installation rule in debian/rules. 
Since I have still no specific installation rule, I would need to put
the following rule to debian/rules, right? 

-8-
override_dh_install:
dh_install debian/shlibs.libwcs4 debian/libwcs4/DEBIAN/shlibs
-8-

Since zlib was used as an example in the manual, I downloaded the
debian.tar.gz of zlib to explore this rule, but I could not find it -- I
could not find anything related to shlib??

Then, the policy manual states that I have to put a a call to
dpkg-shlibdeps into my debian/rules file, but to which rule do I have to
add this? In my case, these calls would probably be

-8-
dpkg-shlibdeps -T debian/substvars.libwcs4 debian/tmp/usr/lib/libwcs.so.4.8.1
dpkg-shlibdeps -T debian/substvars.wcslib-tools debian/tmp/usr/bin/*
-8-

Manually calling dpkg-shlibdeps libwcs.so.4.8.1 brings warnings like 

dpkg-shlibdeps: warning: binaries to analyze should already be installed in 
their package's directory.
dpkg-shlibdeps: warning: symbol fmod used by debian/tmp/usr/lib/libwcs.so found 
in none of the libraries.

and a few other complaints about symbols from libm. Shall I take these
warnings serious?

A last question: If I ignore the shared lib chapter of the policy manual
completely, lintian does not complain with the default
settings. However, with the -I option, I get the informational

I: libwcs4: no-symbols-control-file usr/lib/libwcs.so.4.8.1

Should I care now about this and if yes, how do I solve this?

Sorry if this post looks stupid; but I feel a bit lost in the moment
between the different Debian tools for the shared library creation (and
this is my very first package for Debian).

Best regards

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytzr5371oei@news.ole.ath.cx



Re: Package separation/naming conventions

2011-09-23 Thread Ole Streicher
Gergely Nagy alger...@balabit.hu writes:
 * Either don't build the part which (build-)depends on non-free, and
   don't ship it at all, then both the source and the resulting binaries
   can be in main.

I will probably go with this option. If one really needs the libpgsbox,
I would create a completely new source package (with the same upstream
tar), and just pack the pgsbox stuff.

So, I would get the following packages:

wcslib ... source package
libwcs4 .. shared library
wcslib-dev ... static library and header
wcslib-doc ... API documentation
wcslib-tools . tools built with wcslib

My question is not the naming of the binary packages. The original
library is called wcslib, and to maximize confusion, there exists
somewhere else another (not compatible, less used) library for the
same task, called libwcs, which is part of a wcstools package.

To avoid naming confusion, I would like to name all packages wcslib;
however lintian doesn't like my idea to call the shared library package
wcslib4. Can/should I ignore this warning since I have a reason to do
so? I found some other packages (namely zlib1g) where the package name
does not match the soname.

And if I shall use libwcs4; should I then also use libwcs-dev,
libwcs-doc and libwcs-tools for the other binary packages? 

Best regards

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytzmxdv1ndp@news.ole.ath.cx



Re: Shared libs dependencies

2011-09-23 Thread Ole Streicher
Gergely Nagy alger...@balabit.hu writes:
 Or, to put it in other words: Depends lists the packages your library
 depends on, shlibs lists the libs that packages built against your lib
 should depend on.

So, this means that in the usual cases (like my one) this file looks
like

libwcs 4 libwcs4 (= 4.8.1-1)

right? 4.8.1-1 is the current version and the first to be packaged, so
it should be safe to use this one.

 Then, I should install this in my installation rule in debian/rules [...]
 No. Please read dh_installdeb(1).

From there, I would assume that I need to create a file
debian/libwcs4.shlibs containing the line

shlibs.libwcs4

Is this correct? Or do I not need to specify this since libwcs4.shlibs
is a default name? I am also wondering why there are sometimes packages
which dont have shlibs.* and *.shlibs files, but install shared
libraries (popt as an example, or cfitsio3). 

 Perhaps the manual should be updated to point to a simple package that
 does use shlibs still.

It would be nice to add the interface to debhelper there.

 Then, the policy manual states that I have to put a a call to
 dpkg-shlibdeps into my debian/rules file, but to which rule do I have
 to add this?

 debhelper (dh_shlibdeps) does this for you already.

OK.

 If I may suggest, I'd urge you to try your hands with something easier
 first. Library packaging is non-trivial, and requires great care, and
 often deeper knowledge of Debian.

Hmm, my main motivation at the end is to put some astrophysical binaries
and python packages (see my ITP list) to Debian, and for this I need to
start with the very first dependency. And since I could clear up almost
all lintian complaints, I would think that this is a good way, isn't it?

Best regards

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytzipoj1m0f@news.ole.ath.cx



Re: Shared libs dependencies

2011-09-23 Thread Ole Streicher
Gergely Nagy alger...@balabit.hu writes:
 Ole Streicher debian-de...@liska.ath.cx writes:
 libwcs 4 libwcs4 (= 4.8.1-1)
 debian/libwcs4.shlibs should be the line you wrote above. 

It would be good if the policy would use the same naming conventions as
the debhelper. Currently, the Debian Policy states (8.6.4)

| if you have multiple binary packages, you might want to call it
| debian/shlibs.package instead
 ^^
while dh_installdeb(1) means

| package.shlibs
  ^^
| These control files are installed into the DEBIAN directory.

which was really confusing for me.

 rename your current shlibs.libwcs4 file to debian/libwcs4.shlibs, and
 debhelper will do the right thing, and install it.

Thank you very much. Now I hope to get everything at the right place...

I have the feeling, that lintian is quite lazy about shared libs; at
least it does not complain about a missing shlibs file.

Best regards

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytzehz71k4n@news.ole.ath.cx



Re: Package separation/naming conventions

2011-09-23 Thread Ole Streicher
Jakub Wilk jw...@debian.org writes:
 * Ole Streicher debian-de...@liska.ath.cx, 2011-09-23, 13:58:
 My question is not the naming of the binary packages. The original library
 is called wcslib, and to maximize confusion, there exists somewhere else
 another (not compatible, less used) library for the same task, called
 libwcs, which is part of a wcstools package. To avoid naming confusion,
 I would like to name all packages wcslib;

 If you believe that shared library name is confusing, then convince upstream
 to change it.

This is not an option: the wcslib exists under this name already for
some years, and is always referenced under this name. Changing the name
to libwcs would confuse people with the older libwcs library (which is
incompatible).

however lintian doesn't like my idea to call the shared library package
wcslib4. Can/should I ignore this warning since I have a reason to do
so?

 You can. You should not. :)

What is the rationale behind this? The package name is (as far as I
understand) for the user, and dependencies are resolved not on the
package name, but on the soname (am I right here?). And for the user, it
is important that this is the libwcs coming from the wcslib package and
not the one coming from the wcstools package. Why not put that into the name?

 I found some other packages (namely zlib1g) where the package name does not
 match the soname.

 This is not a very good example. The Debian package name is like this for
 historical reasons. (And you don't change shared library package name without
 very good reasons, especially not when it has over 1900 reverse
 dependencies...)

The same: isn't the dependency made of the soname and not of the package
name? I thought this is just this debian/shlibs stuff about? 

At the end, naming them as I proposed (libwcs4, wcslib-dev, wcslib-doc,
wcslib-util) would be OK for Debian?

Best 

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytz39fn1h49@news.ole.ath.cx



Re: Package separation/naming conventions

2011-09-22 Thread Ole Streicher
Jakub Wilk jw...@debian.org writes:
 * Ole Streicher debian-de...@liska.ath.cx, 2011-09-21, 16:42:
- libwcs4 and libwcs4-dev
- libpgsbox4 and libpgsbox4-dev

 First of all, don't version your -dev package(s), unless you want to
 keep multiple versions of it in the archive at the same people. (You
 probably don't.)
 Also, unless there's good reason to separate -dev package, I'd create
 just a single one.

So I would just create a common wcslib-dev package, correct?

And, which dependencies should the wcslib-dev package have? libpgsbox.a
would contain references to pgplot5; which is non-free, old and
ugly. However, in most of the cases one would just develop for libwcs,
so libpgsbox.a is just for some rare special cases.

Should wcslib-dev therefore suggest pgplot, but not depend on it? 

 Or is the link here made with the suggests/enhances dependency? And
 what would then suggest what? libwcs4-dev suggests wcslib-doc, or
 vice versa?

 You can use both. Or none. Users will find out which package they need
 anyway, so don't worry about it. :)

How would they do that? I personally would find it quite confusing to
find the development headers and documentation of libpgsbox4 in
wcslib-devel resp. wcslib-doc. 

- libwcs4-tools (two small executable)
- libpgsbox4-tools (one small executable)

 That make sense (except there's probably no need to version *-tools
 packages).

To summarize:

libwcs4 . shared library for libwcs.4.so
libpgsbox4 .. shared library for libpgsbox.4.so
 --- depends on libwcs4, pgplot5
wcslib-dev .. headers and static libs for libwcs and libpgsbox
 --- recommends libwcs4, wcslib-doc
 --- suggests libpgsbox4, pgplot5
wcslib-doc .. API documentation of libwcs and libpgsbox
 --- suggests wcslib-dev
libwcs-tools  small tools built with libwcs4
 --- depends on libwcs4
libpgsbox-tools . small tool built with libpgsbox
 --- depends on libwcs4, libpgsbox4, pgplot5

Any comments/improvements here? 

Is the division into main and contrib done automatically based on the
dependencies to non-free packages? And if a package requires a non-free
package to build, will it automatically go to contrib, even if the
package itself (like libwcs4) has no dependency to non-free?

Best regards

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytz7h512exk@news.ole.ath.cx



Re: Package separation/naming conventions

2011-09-22 Thread Ole Streicher
Hi Ansgar,

Ansgar Burchardt ans...@debian.org writes:
 Ole Streicher debian-de...@liska.ath.cx writes:
 Is the division into main and contrib done automatically based on the
 dependencies to non-free packages?

 No, it is done by hand using the Section field in debian/control.

OK, so I have to add the flags there.

 If it has a contrib/non-free build-dependency, the source package needs
 to go to contrib as well.  It cannot build binaries in main in that
 case.

My problem here is: the source package contains libwcs which may be
built (and used) completely without non-free dependencies, and libpgsbox
which needs a non-free library to be built and used.

Is there a way to get libwcs into main and libpgsbox into contrib? Can I
specify build-dependencies separately for each binary package?

Best

Ole



-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytz39fo3h85@news.ole.ath.cx



Re: Package separation/naming conventions

2011-09-22 Thread Ole Streicher
Jakub Wilk jw...@debian.org writes:
 A -dev package should have a strict versioned dependency on all the shared
 libraries it provides .so symlink for.

This is clear, but means that the wcslib-dev would depend on libpgsbox4,
and therefore on pgplot5, which is not nice.

 libpgsbox.a would contain references to pgplot5; which is non-free, old and
 ugly.
 Wait, you link *statically* to a non-free library? That'd make your binary
 package contain non-free bits, and as a consequence the whole source package
 would have to go to non-free.

No; it is just that libpgsbox.a has symbols that are resolved in
pgplot5. So, the library itself is not linked, but the user needs to
link libpgplot.a when he wants to statically link libpsgbox.a; which
means that the library itself is free but needs a non-free one.

 Also, now I notices that (at least according to your ITP), libwcs is licensed
 under the GPLv3+. We can't legally distribute GPLed software linked
 (statically or dynamically) to non-free stuff!

I will contact the original author to clarify this.

It seems that the easiest solution would be to remove the libpgsbox
stuff completely unless someone really needs it.

Best

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytzy5xg1zpl@news.ole.ath.cx



Package separation/naming conventions

2011-09-21 Thread Ole Streicher
Dear list,

I am currently packaging the wcslib package (Bug #641624) as my first
Debian package, and I am wondering about the naming conventions.  The
package contains two libraries, some tools and an common API
documentation for both libraries. I would now make the following binary
packages:

- libwcs4 and libwcs4-dev 
- libpgsbox4 and libpgsbox4-dev 

containing the shared libs resp. the static libs+headers of the two
libraries 

- wcslib-tools 

containing the included binaries

- wcslib-doc 

containing the documentation of the two libraries.

First question is now, Is it wise to call a package containing
documentation for libwcs4 wcslib-doc? Usually, the doc has the same
base name as the according library, hasn't it? Or is the link here made
with the suggests/enhances dependency? And what would then suggest
what? libwcs4-dev suggests wcslib-doc, or vice versa?

Second question: libpgsbox4 depends on a package that is in non-free
(pgplot5), and one of the (three) programs that are in wcslib-tools
depend on libpgsbox4. Should I divide wcslib-tools into two packages 
like the following?

- libwcs4-tools (two small executable)
- libpgsbox4-tools (one small executable)

The three programs are useful by its own.

Best regards

Ole


-- 
To UNSUBSCRIBE, email to debian-mentors-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/ytzhb46q7n4@news.ole.ath.cx



<    1   2   3