[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