[cmake-developers] [CMake 0011944]: CPackDeb: Support dependencies between components/Debian packages
Raffi Enficiaud
raffi.enficiaud at mines-paris.org
Mon Apr 20 12:07:57 EDT 2015
Le 18/04/15 09:34, Domen Vrankar a écrit :
>>> I added the following functionalities:
>>> - set the permissions of the md5sum to RW-R--R--, because lintian
>>> complains
>>> - added an option to set the shlibdeps per component
>>> - added an option to set the dependencies per component
>>> - added an option to set the description per component
>
> The way you implemented it you are not covering the case:
> 1) CPACK_DEBIAN_PACKAGE_DESCRIPTION no set
> 2) CPACK_DEBIAN_PACKAGE_DESCRIPTION is set with component description
> 3) next component doesn't set per component description so
> CPACK_DEBIAN_PACKAGE_DESCRIPTION is not reset and description of the
> previous component is used
>
> Or if 1) would be set and 3 not set you would loose the initial description
>
> There is a simple solution for variables overflowing between
> components - just wrap the entire code into a function (see CPackRPM
> cpack_rpm_generate_package() function) - since such a change messes up
> the entire diff (indentations) this should be an entirely separate
> patch. This solution would also simplify the shlibdeps patch since you
> would no longer need to set CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS to empty
> value and unset it when you no longer need it.
Hi,
If I am not mistaken, this does not work in the current state of the
cmCpackDebGenerator.cxx (I tried of course). I wanted to know by which
*magic* this could work, and also why you are suggesting me this, which
lead me to this:
- CPackRPM: all the RPM creation is driven by the CPackRPM.cmake itself
- CPackDEB: part of package configuration is sent from the .cmake back
to the cmCPackDebGenerator.cxx, and some internal functions in C++ are
creating the package definition.
The workflow is not the same, so if I scope all the variables in a
function in the .cmake file, I have no way to get these variables back
in the .cxx file. For the RPM package, this is fine since at the end of
the CPackRPM.cmake call, the package is created.
My guess is that I do not have the choice: I have to do some set/unset
to avoid inter-component troubleshooting.
Any suggestion more than welcome.
Best,
Raffi
More information about the cmake-developers
mailing list