[CMake] Fwd: Questions about CPack Debian generator

Hendrik Sattler post at hendrik-sattler.de
Fri Feb 12 04:39:59 EST 2010


Zitat von Eric Noulard <eric.noulard at gmail.com>:

> I dif forgot thet list...
>
> 2010/2/12 Thawan Kooburat <kthawan at gmail.com>:
>> Hi,
>>
>> I am trying to create a Debian binary package using CMake/CPack and it
>> is quite a nice tool. I understand that CMake/CPack try to rely on
>> external tools as little as possible but there are 2 issues that I
>> encountered while using the Debian generator
>>
>> 1. Dependency list - It would save a lot of effort if I can hook a
>> call to dpkg-shlibdeps during the package generation. So that
>> dependency list can be filled.
>> 2. File owner - Since the generator compress the file by itself, so
>> the owner of the files is user who compile them. However, a Debian
>> binary package is normally created by using "fakeroot dpkg-deb
>> --build", so that the owner of the files is root/root
>>
>> Do you have any suggestion about these issues?
>
> Did you dig the mailing list I think the "file owner" part has been
> discussed already.
> Concerning the dpkg-shlibs may be it's worth a feature request?
> And may be even a contribution?
> The code of Deb Generator is in:
> CMake/Source/CPack/cmCPackDebGenerator.cxx

Follow to that: can the cpack generators define their own package  
names? The current generators don't. Would be easy to implement, though.

Some bad examples for current file names:
TGZ/ZIP:
ends with e.g. _Linux.tar.gz which is totally bogus because a binary  
package for "Linux" is not specific enough. It should at least contain  
the architecture.
It would not be wrong to stick to the conventions out there. GCC's  
-dumpmachine is a good start on e.g. Linux.

STGZ:
Dump the "-Source" from STGZ (tarballs without mentioned architecture  
are usually source tarballs) or make it lower-case, at least.

DEB:
the file name is completely diffent from the standard naming of debian  
packages. Suffers from the same problem as TGZ generator.  
Additionally, the internal package description contains the right  
values from the variables but the generator cannot create the right  
file name from that :-(

Additionally, .tar.gz files and .deb are usually all lower-case, not  
mixed-case.
I wouldn't mind being able to choose the filenames in CMakeLists.txt  
files, myself. Is this actually possible except differing between  
source/non-source? However, the defaults need to be better, too.

HS




More information about the CMake mailing list