[cmake-developers] rpm/deb component issue

Eric Noulard eric.noulard at gmail.com
Wed Oct 24 15:27:38 EDT 2012


2012/10/24 Clinton Stimpson <clinton at elemtech.com>:
> On Wednesday, October 24, 2012 11:59:52 AM Clinton Stimpson wrote:
>> I have a problem with the rpm & deb cpack generators.
>>
>> I've set the following:
>> set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)
>> set(CPACK_DEB_COMPONENT_INSTALL 1)
>> set(CPACK_RPM_COMPONENT_INSTALL 1)
>>
>> I get this implementation detail string "ALL_COMPONENTS_IN_ONE" being put in
>> the package name (that is name, not the filename), so I end up with
>> "mypackage- ALL_COMPONENTS_IN_ONE".  To remove it, I do "yum remove
>> mypackage- ALL_COMPONENTS_IN_ONE".
>> I would rather just have "mypackage" since that is the name I've specified.
>> But I don't see a way to override it.

This is clearly a bug, I can't see any way to fix without a small patch.
Note that the DEB generator does not seem to suffer from this, is it?

When the xx.deb file is generated you can check it (without installing) using
dpkg-deb --info xx.deb
dpkg-deb --contents xx.deb
dpkg-deb --show xx.deb


>> Does anyone have a suggested way for me to fix cmCPack*Generator.cxx and/or
>> CPackDeb.cmake, CPackRPM.cmake?  This is the first time I've looked at
>> modifying those particular files.

I think the best current workaround is to change CPackRPM.cmake.

> I have an idea that I'm comfortable with.  I'm effectively separating a
> variable into two, one for the component name, and another for the directory
> where it can be found.  For the ALL_COMPONENTS_IN_ONE mode, the directory can
> be ALL_COMPONENTS_IN_ONE/, but the component name empty.
> Let me know if you disagree.D

I agree and ended-up with the same patch (in CPackRPM.cmake).
You'll find my patch (against CMake master) proposal attached,
I'm not really sure it's the "right final fix" though.

Clint would you be kind enough to open a bug report for that please?

-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-the-ALL_COMPONENTS_IN_ONE-spurious-suffix-with-C.patch
Type: application/octet-stream
Size: 1080 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20121024/46cf5b45/attachment-0002.obj>


More information about the cmake-developers mailing list