[CMake] CPack DEB Packaging: Automate dependency resolution

Alexander Neundorf a.neundorf-work at gmx.net
Tue Nov 4 14:16:40 EST 2008


On Tuesday 04 November 2008, Mathieu Malaterre wrote:
> On Tue, Nov 4, 2008 at 12:43 PM, Mike Arthur <mike at mikearthur.co.uk> wrote:
> > On Tuesday 04 November 2008 11:36:12 David Graf wrote:
> >>  How exactly to you use dpkg-shlibdeps? Because I get the following bug:
> >> dpkg-shlibdeps: failure: cannot read debian/control: No such file or
> >> directory
> >
> > You really should be using Debian utilities.
>
> Not unless you are on a debian machine. Technically nothing should
> prevent your from creating a deb package on redhat/slackware/...

Yes.
Maybe we need to separate between debian packages intended for inclusion in 
debian, and debian packages created by 3rd parties intended to be distributed 
just for their app, without immediate goal of being included in debian. 
The first case, then you probably want to use the debian packaging tools, 
because you have to follow all guidelines. Then you probably also have (?) to 
create debian source packages. I think creating debian source packages with 
cmake doesn't make sense. 
http://www.infodrom.org/Debian/doc/maint/Maintenance-pkgbuild.html
A debian source package consists of the source archive, the debian patches and 
a metadata file.
So what should a debian source package generator generate ?
The orig.tar.gz is no problem, cmake does that.
The metadata file is just a text file which accompanies the tar file and can 
just be written by the packager, I don't see what cmake should do there.

The diff.gz file would always be empty. Since the debian source package for a 
cmake package would be created directly from the sources, it could never 
include a patch (since this is always an add-on to the sources, but the 
source package would be created by the sources, which just doesn't have any 
patches against itself).
Am I wrong with this ?

In the second case, you want (or at least I would be ok with) something which 
works together nicely with the package tool of the distro, so you can handle 
this software the same way you handle all the other software on your system.
Who would want this ? Maybe closed source apps, like e.g. Softmaker Office 
(no, they don't use cmake, just to name an example).
Such companies would probably care more about whether their software is 
installable and works on as many Linux installations as possible (which would 
mean it also comes with the libraries bundled it depends on), than whether 
everything is correct according to debian developer guidelines.
For that I think the deb generator should be ok.

Alex


More information about the CMake mailing list