[CMake] CPACK_PACKAGE_DESCRIPTION_FILE for debian

Eric Noulard eric.noulard at gmail.com
Wed Nov 2 05:59:19 EDT 2011


2011/11/2 Erik Hofman <erik at ehofman.com>:
> On Tue, 2011-11-01 at 11:47 +0100, Eric Noulard wrote:
>> I'll review it and probably merge it soon, since this looks reasonable.
>> Note however that with CPackRPM you have both
>>
>> CPACK_RPM_PACKAGE_SUMMARY
>> and
>> CPACK_RPM_PACKAGE_DESCRIPTION
>>
>> whereas for DEB you don't have summary, just:
>> CPACK_DEBIAN_PACKAGE_DESCRIPTION
>>
>> thus the difference
>>
>> > It would be nice if this is the default behavior for all backends.
>>
>> We would have to review other CPack generators behavior w.r.t.
>> CPACK_PACKAGE_DESCRIPTION_SUMMARY
>> CPACK_PACKAGE_DESCRIPTION_FILE
>>
>> as you can see with RPM and Deb some may use both for the same meaning
>> some really wants separate usage.
>
> I seems even more complicated, according to the wikie there is:
> CPACK_PACKAGE_DESCRIPTION_SUMMARY       * Package short description
>
> CPACK_PACKAGE_DESCRIPTION
> * Package long description
>
> But the DEBIAN backend uses CPACK_PACKAGE_DESCRIPTION_SUMMARY for the
> long description.
>
> I was going to take a look at it but now I'm afraid there is no
> consistent way to handle this without braking backwards compatibility.
>
> What I was aiming for was:
> CPACK_PACKAGE_DESCRIPTION_SUMMARY       * Package short description
>
> CPACK_PACKAGE_DESCRIPTION
> * Package long description
>
> CPACK_PACKAGE_DESCRIPTION_FILE
> * file containing the package long description
>
> if PACK_PACKAGE_DESCRIPTION was not set but
> CPACK_PACKAGE_DESCRIPTION_FILE was then do:
>
> file(READ ${CPACK_PACKAGE_DESCRIPTION_FILE} CPACK_PACKAGE_DESCRIPTION)
>
> But as I said, that would break backward compatibility (change in
> behavior).

I think this one is acceptable since it may be considered a bug
(you may open one exactly for that purpose)
 to use summary when you  expect full 'description'.

The then almost backward compatible algorithm would be:

1) use CPACK_PACKAGE_DESCRIPTION if it is defined
2) if not use CPACK_PACKAGE_DESCRIPTION_FILE if it is defined
3) if not use CPACK_PACKAGE_DESCRIPTION_SUMMARY

I bet that most people that do use CPACK_PACKAGE_DESCRIPTION_[FILE]
won't mind having it replace the CPACK_PACKAGE_DESCRIPTION_SUMMARY
in deb package description.

Those not using the previous will keep their current
CPACK_PACKAGE_DESCRIPTION_SUMMARY usage.

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org


More information about the CMake mailing list