[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