[Debian-med-packaging] FW4SPL package

Andreas Tille andreas at an3as.eu
Mon Nov 28 10:51:25 UTC 2016


Hi Flavien,

On Mon, Nov 28, 2016 at 10:57:03AM +0100, Flavien Bridault wrote:
> Okay the symlink problem was easily fixed with CMake.

Sounds good.
 
> But now I am a bit confused about the install process. I don't feel yet
> comfortable at all with all the possibilities, like all the different
> targets (override_dh_install override_dh_auto_install
> override_dh_install-arch, etc...) and what exactly does d-shlibmove. I
> don't manage to find a good documentation for this tool. Currently I try
> to compare with other packages.

That's a pretty sensible strategy and to my experience the most
straightforward one.  To give an idea about all the dh_* targets:
Historically debhelper consisted of a sequence of dh_* commands which
usually needed no tweaking or changes.  The idea was to have very short
d/rules files and strip the redundancy to repeat this unchanged sequence
all the time and rather mention only the changes needed in
override_dh_*.  The difference between dh_auto_install and dh_install
is that the first (auto) is doing the installation process of the
upstream build system (for instance make install) and dh_install is
just moving around files you can mention in debian/<pkgname>.install or
simply use

override_dh_install:
	dh_install # just do what dh_install does usually
	# copy around files manually

d-shlibmove does not belong to main debhelper.  The manpage of
d-shlibmove is quite OK - I'm not aware of any other documentation.  It
also moves around files of library packages and thus usually no
debian/<libpackage>.install files are needed.  However, before it does
the file moving it checks policy compliants of debian/control which is
what you seem to stumble upon now.

> Well the problem is, if I try to use d-shlibmove, the utility returns
> several errors :
> 
> PKGSHL=libfwcore0
> E: line [Provides:.*libfwcore-dev] not found in debian/control section
> for libfwcore0-dev
> E: line [Conflicts:.*libfwcore-dev] not found in debian/control section
> for libfwcore0-dev
> E: line [Section: libs] not found in debian/control section for libfwcore0
> E: line [Section: \(devel\|libdevel\)] not found in debian/control
> section for libfwcore0-dev
> E: line [Depends:.*libfwcore0] not found in debian/control section for
> libfwcore0-dev
> E: line [Depends:.*[$]{shlibs:Depends}] not found in debian/control
> section for libfwcore0
> Error occurred, aborting
> debian/rules:20: recipe for target 'override_dh_auto_install' failed
> 
> So first I understand a package will be created for each library. That's
> definitely not what I want. For now, we used to create a simple fw4spl
> package with everything inside.

I confirm that for the purpose of having several libraries d-shlibmove
can not be used since it enforces the user to do this.  If you do not
want to do this, just keep the old installation method.

> Second it tries to create a -dev package. Again, that's not what I want,
> at least for now. We plan to create proper -dev packages in a near
> future. But for now I would rather focus on getting the previous package
> working like it was, unless you don't agree of course.

Another reason not to use d-shlibmove.
 
> So could you give me some guidelines on this ? Should I really use
> d-shlibmove with this goal in mind ?

No.  For camp it was OK, but in the current case it does not seem to
fit.

> Or should I stick with *.install files and change
> what is necessary to get multiarch support (that was the initial goal) ?

Yes, please do so.  You can either add multiarch right to the upstream
build system - as far as I know cmake can approach this but I have no
idea how.  Alternatively you can override dh_install as described above
and move the files in the proper directories manually.  There exist
a variable that should be used for this but I always forget and seek
in other packages and I do not sit on my usual computer currently.  In
case you will not be able to tweak cmake and can not find the solution
please ping again.
 
> Thanks again for your help. :)

You are welcome

    Andreas.

-- 
http://fam-tille.de



More information about the Debian-med-packaging mailing list