[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: KDE cdbs files



Le Lun 27 Mars 2006 19:33, Peter Eisentraut a écrit :
> I noticed that the KDE maintainers keep their own patched copies of
> some of the cdbs files.  I'm integrating the uuencoded patch support
> now, which should take care of the fork of simple-patchsys.mk.  The
> files debian-qt-kde.mk and kde.mk, however, seem to have quite a bit
> of extra code in there that I don't fully understand.  Does anyone
> want to undertake explaining this stuff to me and declaring it fit
> for general use so it can be merged with "upstream" cdbs?  In
> particular, what's supposed to be the difference between those two
> files?

first of all, that's great news :)

if I look at our kde.mk compared to the cdbs one, trhough vimdiff, there 
is mostly 4 diffs.

1st block:
  DEB_BUILDDIR is used to compile the package outside from the sources.
  we add support for it when the packaging uses the 'tarball in the
  tarball' approach. (used by kdepim)

2nd block:
  use standard ${libdir} ... instead of /usr/lib, ...
  I suppose this is useful to create package of KDE that cohabit with
  official ones (like KDE HEAD packages). I'm not sure this has to go in 
  cdbs kde.mk

3rd block:
  --enable-debug is not correct, --enable-debug=yes is.
  I can't remember why --disable-debug has to be forced else, maybe
  someone else can say why.

4th block:
  DEB_COMPRESS_EXCLUDE need more extensions, especially needed for KDE
  docs.

and then a block is appended, aka apidox related block, it's used to 
generate API documentations using doxygen and graphiz. if 
DEB_KDE_APIDOX is non empty, then API dox are generated, which is not 
default in kde upstream packages.

==============

debian-qt-kde.mk are things we often do in our packages, but that are 
not meant to be merged (in our opinions) into kde.mk

it contains usual common settings (like the fact that we build all our 
packages with ENABLE-FINAL mode on).

we also have our own DEB_DH_MAKESHLIBS_ARGS_ALL and related hacks. Maybe 
your recent commit will permit us to reduce that, I've not investigated 
more than that atm, so I just cannot say.

bits of code contain (in order of appearance):

line 10-17 and 88-97:
  small bit of code that autogenerate configure and friends from
  admin/Makefile.common.

  --> it's used for packages that use the tarball in the tarball
      approach, and that need relibtoolization of the package.
      we usually do that at packaging time, but kdepim cannot do that
      because of the tarball in the tarball approach, and
      re-libtoolization is done at build time.

      the process is controlled by the DEB_KDE_CVS_MAKE variable.

  --> it's also used for packages that do not have configure and friends
      to generate them.

  ==> I personnaly don't like that, because it puts quite a lot of
      burden on the buildds and that it can generate unpredictable
      behaviour. I'm not in favor of inclusion into kde.mk

not meant to go into kde.mk, I think it's only used for kdepim and 
tarball because sometimes it's
      admin/Makefile.cvs or another one. THough, as it has to be called
      *BEFORE* inclusion of autotools.mk, we prefer to have it here.

line 28-39:
  code we use to generate man pages from sgml templates:
  every debian/man/*.sgml is converted into debian/man/out/*.man[1-9]
  guessing the man section from the generated man page.

  --> it's a cool hack (IMHO), but do not belong to kde.mk at all, it's
      a problem that is more general than that.

line 40-56:
  this hack is used to guess the KDE version we are packaging (e.g.
  3.4.2 atm). this is used for some substvars we use in kde packaging,
  to tighten some dependencies.

  --> has no sense out of the KDE official modules.

line 58-62:
  clean of our hacks

line 64-86:
  generate HTML docks from applications doocbooks.

  --> I don't know if it could go in kde.mk or not. maybe other members
      of the team may have more insight on this.


=========

sorry for the very long answer, I hope the other will be able to fill 
the gaps I've left, and that you can sort that a bit out ;)

PS: all of that work is on svn.debian.org, in the pkg-kde repository:
    under svn(+ssh)://pkg-kde/trunk/, you'll find :
     * cdbs/ (our cdbs-like own files)
     * packages/$pkg/debian : debian/ directory for package $pkg
     * common-patches/ are patches applied to every sources, and you
       don't really care about them
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org

Attachment: pgpMmQ0c1O0HE.pgp
Description: PGP signature


Reply to: