Re: Help needed with supernovas package
Hi All,
I made some progress on some of the issues I mentioned earlier on
packaging supernovas. Specifically,
- I managed to generate the symbols files using the guide:
https://www.debian.org/doc/manuals/maint-guide/advanced.en.html
- I changed the build to link the .so files against their
dependencies. That took care of those build warnings about the missing
symbols that are provided in the package
So, that just leaves:
1. the warning about mismatched library names, and
2. Build warnings, e.g.: debugedit:
debian/supernovas/usr/lib/x86_64-linux-gnu/libsolsys2.so.1: Unknown
DWARF DW_FORM_0x1f20.
I'm not sure if the latter warning is consequential or not, and so far
googling it I have not found a viable way to fix it.
Any comments and suggestions relating to the package are most welcome.
Thanks,
-- A.
On 5/25/24 9:20 PM, Attila Kovacs wrote:
Hi All,
I have now put together a preliminary debian package for the
SuperNOVAS library on salsa:
https://salsa.debian.org/debian-astro-team/supernovas
I did my best to follow documentation (the AstropyPackagingTutorial,
and then whatever else I could find to fill in the blanks for
non-python packaging). The package now builds fine on master. There
are no lintian errors. However there are a couple of warnings left
that I have not figured out hot to fix exactly.
I'm asking for help to fix these, before or as part of the package
review.
Here's a list of the remaining warnings:
0. lintian: dh-make-template-in-source -- I intentionally left some
of the example files in there for now in case I might want to use
these to fix some of the other issues. I'll remove these once the rest
of the issues have been cured.
1. lintian: W: supernovas-doc: doc-base-unknown-section
supernovas-doc.supernovas:6 libs
I ave not found anything relevant online on how to specify section for
doc-base. (The supernovas-doc package that generates the warning is
itself in the 'doc' section)
2. lintian: W: supernovas: package-name-doesnt-match-sonames
libsolsys1-1 libsolsys2-1 libsupernovas1
Well, the main package is 'supernovas'. I guess it could be renamed to
'libsupernovas', to match one of the libraries. But given it has
three, no package name will eliminate this warning. I think that is
OK. The solsys libs are provided for legacy applications which linked
one or the other to provide implementation for the same
'solarsystem()' call. Mos users will need neither, but some will need
one or the other to link and run their programs. Alternatively they
could be split into spearate packages, but to me they seem an integral
part (by I'm amenable, if you think otherwise).
3. During the build I get warnings like: dpkg-shlibdeps: warning:
symbol novas_error used by
debian/supernovas/usr/lib/x86_64-linux-gnu/libsolsys1.so.1 found in
none of the libraries
Well, the 'missing' symbol is in the 'libsupernovas' lib that is built
sperately. So, it's a false positive really. I can of course
complicate the build to make libsolsys1.so.1 and libsolsys2.so.1
depend on libsupernovas.so.1 and then link against it using the
staging location. I think that is overcomplicating it though, so if
you don't mind I'll ignore these. There are a few fortran symbols for
solsys2.so.1, which must be provided externally. Anyone that uses
legacy code that needs these calls would have had to have their
implementations. I think it's OK to leave these symbols external. I
can maybe add documentation explaining it if that's useful.
4. The debian documentation mentions that shared libraries should also
declare their symbols (in my case via 'debian/supernovas.symbols').
However, I have not found a definitive document on how to generate
these. I have found a few documents relating to the symbols but they
seem to be at odds with one another. So, I'd appreciate any help on
how to tackle generating this file.
Other than the above, I welcome an comments / suggestions on improving
the package. Once it's looking good, please let me know what's the
next step to get it towards releasing it.
Thank you all,
-- Attila.
Reply to: