[CMake] Fwd: Generating debian package using cmake (take 2)

Mathieu Malaterre mathieu.malaterre at gmail.com
Mon Jun 23 14:20:48 EDT 2008


Just FYI, I have started working on integrating the new components
stuff in the debian package generation. As I described in my email to
debian-developer (see below), I will be going away from the current
implementation which did not rely on dpkg-* tools to generate debian
package.

As explained in greater details here:
  http://www.mail-archive.com/debian-devel@lists.debian.org/msg261156.html
It does not make much sense to generate debian on a system other than
debian. The output will feels like a debian package, but will not be a
valid debian package (at least not valid for upload to debian server,
which is AFAIK the goal here).

2 cents,
-Mathieu

---------- Forwarded message ----------
From: Mathieu Malaterre <mathieu.malaterre at gmail.com>
Date: Mon, Jun 23, 2008 at 7:04 PM
Subject: Generating debian package using cmake (take 2)
To: debian-devel


Hi there,

 Because of the recent feedback I got in building debian package
using cmake, I decided to rewrite the current -broken- support.

 As far as I understand :
1. dpkg-buildpackage *has* to be the entry point (nothing else, not
even 'cmake')

2. dpkg-buildpackage requires a 'debian' subdirectory to be present in
the source directory directly (it cannot be outside of the project
first level subdirectory).

3. I was suggested libopensync for cmake/debian package start.
3.1 where is the internal name 'libopensync1exp3' coming from ? what
does the '1exp3' stand for ?
3.2 In opensync/debian/control file, where does the 'Build-Depends'
comes from ? Is this computed by some tool or is this purely
human-based ?

4. Let say my package is named 'foo',
4.1 the 'libfoo' package is assumed to provide the runtime libraries
4.2 the 'libfoo-dev' package is assumed to provide the shared lib
symlinks + headers file
4.3 I could not find any naming convention consistant for 'utils' or
'tools', basically applications (main function) based on 'libfoo'.

I am sure there will be tiny differences that will prevent cmake from
generating complete 'control' files (for instance, Conflicts section
cannot be generated by a machine), I am targetting at getting 95% of
the job done and hopefully 100% for simple project. Which will means
that installation will be (automatically) consistant in between a
Linux-debian/MacOSX-darwin/Win32-windows machine.

For references:

* http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack
and
* http://gdcm.svn.sourceforge.net/viewvc/gdcm/branches/gdcm-2-0/debian/

Regards,
--
Mathieu



-- 
Mathieu


More information about the CMake mailing list