Changes between Version 5 and Version 6 of HowtoCDBS


Ignore:
Timestamp:
Jun 12, 2009, 5:29:01 AM (15 years ago)
Author:
Thanatermesis
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowtoCDBS

    v5 v6  
    1313== Hands on ! ==
    1414
    15 On this example we will create a debian package for '''enna''', first of all, create the directory ''debian'' (if is already created and has files mean that is already ready for create debian packages, or supposed to... in any case, if is created, just remove it in order to follow this howto).
     15On this example we will create a debian package for '''enna''' under a Elive system
    1616
    17 On it, you need to have 2 files, '''control.in''' and '''rules'''
     17Download the sources of enna and create the directory ''debian'' (if is already created and has files mean that is already ready for create debian packages, or supposed to... in any case, if is created, just remove it in order to follow this howto).
    1818
    19 In the '''debian/control.in''' file has the description of the package, we can fill up with something like:
     19On it, you need to have 2 files, '''control''' and '''rules'''
     20
     21In the '''debian/control''' file has the description of the package, we can fill up with something like:
    2022{{{
    2123Source: enna
     
    2325Priority: optional
    2426Maintainer: yourname <youremail@email.com>
    25 Build-Depends: @cdbs@, libplayer, gettext, libsqlite3-dev
     27Build-Depends: cdbs, autotools-dev, gnulib, debhelper, libplayer, gettext, libsqlite3-dev, lubcurl4-gnutls-dev, libdbus-1-dev, libx11-dev, libxml2-dev, libfreetype6-dev, libjpeg62-dev
    2628
    2729Package: enna
    2830Architecture: any
    29 Depends: libcddb2, libcurl3, libdbus-1-3, libexif12, libhal-storage1, libhal1, libplayer, libsqlite3-0, libxml2, lightmediascanner, libxrandr2
     31Depends: efl-all, libcddb2, libexif12, libhal-storage1, libhal1, libplayer, libsqlite3-0, libxml2, lightmediascanner, libxrandr2
    3032Description: enna media player
    3133 This is the enna media player using EFL
    3234}}}
     35
     36Note: These dependencies are a bit tricky here, the efl-all package will contain all the libs of EFL, but there's no a efl-all-dev package that will contain the rest of dependencies like libdbus, libcurl, libfreetype, etc, so just play with your own dependencies for your packages
    3337
    3438The first block is for the source packages (so that you can ''apt-get source enna'' in the future in order to recompile it), it also contains the information about which dependencies you need to have in order to compile it. The second block is for the binary end package.
     
    5660'''WARNING''': It is very important that the changelog will have the CORRECT information or you can have problems by compiling the package, for example your PACKAGENAME needs to NOT be uppercase, etc, you can see examples in ''ls /usr/share/doc/*/changelog.Debian.gz''
    5761
    58 Also, you need the ''real'' control file, control.in is a kind of base, for generate the ''real'' control file we just run '''fakeroot debian/rules clean''' and we have it :)
    5962
    6063Your ''debian'' directory is ready, you can add a lot more of options and tricks for your package but for that, just follow the official documentation at /usr/share/doc/cdbs, im not going to write all the features because im lazy too :)
     
    8588
    8689You can see some nice and small examples of CDBS in the EFL svn, for example in evas, it use it for build the packages (at least to the date of today)
    87 
    88 This Howto is tested step by step on a clean Elive system, live mode, version (1.9.29), the package builds without problems :)