[cmake-developers] [CMake 0011944]: CPackDeb: Support dependencies between components/Debian packages

Raffi Enficiaud raffi.enficiaud at mines-paris.org
Tue Apr 21 17:38:31 EDT 2015


Le 21/04/15 23:01, Domen Vrankar a écrit :
> Hi,
>
> I pushed your first patch to next (I've split it into two separate
> commits and made some minor cleanup changes):
> http://www.cmake.org/gitweb?p=cmake.git;a=commit;h=8e0ecf9
>
>> Please find attached my last patch that allows the settings of the
>> dependencies per component.
>
> I haven't finished reviewing the rest of the patches however I've
> noticed that you omit quotes when setting or comparing variables.

Ok. I might help in the future if you point me on a specific line and 
explain me the mistake.

>
> I've also noticed that the last test in last commit is succeeding on
> Ubuntu 15.04 but failing on Debian 7.8.0.
> It first fails with a cryptic error (string FIND requires X variables
> as input message...) on this line:
> string(FIND ${dpkg_depends} "lib" index_libwhatever)
> and after I put quotes arround ${dpkg_depends} it returns an error
> that the value is an empty string.

It might help if you send me the test log file of the run. On the other 
hand, I do not understand why it would be an error if "${dpkg_depends}" 
is an empty string. (I should still be able to find from an empty 
string, shouldn't I?)

> I haven't researched it further so if you have an option to test it on
> Debian that would be great, otherwise I'll provide a fix in the
> following days.

I won't be able to install a Debian box any time soon. The test tests 
the following setup:
- automatic dependency discovery on by default 
(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
- global/default dependency set (CPACK_DEBIAN_PACKAGE_DEPENDS)
In this case, I do not want the component APPLICATION to inherit from 
the general dependency, but rather let the shlibdeps tool do the work.
This is why I do the following:
set(CPACK_DEBIAN_APPLICATIONS_PACKAGE_DEPENDS "")

In this case, the component dependency is set, which prevents inheriting 
from CPACK_DEBIAN_PACKAGE_DEPENDS, and only the result of shlibdeps go 
to the package.

Best,
Raffi Enficiaud




More information about the cmake-developers mailing list