Re: [Tracker] Patch for debian package build system



Le lundi 07 aoÃt 2006 Ã 20:43 +0100, Jamie McCracken a Ãcrit :
Laurent Aguerreche wrote:
Le lundi 07 aoÃt 2006 Ã 11:54 -0500, Samuel Cormier-Iijima a Ãcrit :
On 8/7/06, Laurent Aguerreche <laurent aguerreche free fr> wrote:
Le lundi 07 aoÃt 2006 Ã 11:35 -0500, Samuel Cormier-Iijima a Ãcrit :
On 8/7/06, Laurent Aguerreche <laurent aguerreche free fr> wrote:
I propose a patch that makes the debian package build system builds two
debian packages:

1/ tracker: it contains what a typical user needs to play with tracker:
trackerd, tracker-search, libmetatracker, etc.
I made it not depend on mysql since a nested version will be provided.

2/ tracker-dev: it contains development files.
Do we really need a 'dev' package for development? Since Tracker has a
DBus interface that applications can connect to without having to link
to libmetatracker, I don't think its completely necessary (correct me
if I'm wrong, though :-)
Perhaps another name could be found... It's just a way to not distribute
to simple users files like tracker.h and tracker-client.h that are not
useful for them. Distributions will do something like that.

Something like libmetatracker-dev is better? But so it should be strange
to not have a libmetatracker package...
Maybe 'tracker-tools' for tracker-search, tracker-query, etc.,
'libmetatracker' for the libs so that packages like Nautilus can
depend just on that, and then 'libmetatracker-dev' for the headers?

I also thought about that but if I do a tracker package that only
contains trackerd and filters, trackerd won't be usable without
tracker-tools or Nautilus. Since tracker is targeted to be desktop
neutral, any user should be able to use tracker without any effort. Is
tracker-tools installation an "effort"? To compare, beagle package is
shipped with beagle-query (= tracker-search not tracker-query).

tracker-files, tracker-meta-folder, tracker-query, tracker-search,
tracker-stats and tracker-tag depend on libmetatracker, so tracker-tools
will have to depend on libmetatracker.

So, it begins to be complicated and we have:
* tracker, depends: .
* libmetatracker, depends: tracker.
* libmetatracker-dev, depends: libmetatracker.
* tracker-tools, depends: libmetatracker.

Is it correct? Jamie, what do you think about that?

I suppose the deb should really be called meta-tracker with a 
corresponding dev package. I dont think we need to split it out further.

Finally I did something close to what Samuel suggested. I made 4
packages:
* meta-tracker (recommends meta-tracker-utils),
* libmetatracker0  (depends on meta-tracker),
* libmetatracker0-dev  (depends on libmetatracker0),
* meta-tracker-utils  (depends on libmetatracker0).

It is useful to have libmetatracker0 to reflect soname changes and to
comply with Debian practices.



Distributed files:

$ dpkg -c meta-tracker_0.0.5_i386.deb
/usr/bin/o3totxt
/usr/bin/trackerd
/usr/bin/htmless
/usr/share/tracker/tracker.cfg
/usr/share/tracker/mysql-system.sql
/usr/share/tracker/mysql-tracker.sql
/usr/share/tracker/thumbnailers/application/pdf_thumbnailer
/usr/share/tracker/tracker-stop-words.txt
/usr/share/tracker/tracker-introspect.xml
/usr/share/tracker/filters/text/html_filter
/usr/share/tracker/filters/application/vnd.oasis.opendocument.spreadsheet_filter
/usr/share/tracker/filters/application/vnd.stardivision.writer_filter
/usr/share/tracker/filters/application/vnd.sun.xml.writer_filter
/usr/share/tracker/filters/application/msword_filter
/usr/share/tracker/filters/application/vnd.oasis.opendocument.presentation_filter
/usr/share/tracker/filters/application/pdf_filter
/usr/share/tracker/filters/application/vnd.oasis.opendocument.text_filter
/usr/share/tracker/filters/application/vnd.sun.xml.impress_filter
/usr/share/tracker/filters/application/vnd.sun.xml.calc_filter
/usr/share/tracker/mysql-stored-procs.sql
/usr/share/tracker/english/errmsg.txt
/usr/share/tracker/english/errmsg.sys
/usr/share/dbus-1/services/tracker.service
/usr/share/doc/meta-tracker/NEWS.gz
/usr/share/doc/meta-tracker/changelog.Debian.gz
/usr/share/doc/meta-tracker/README.gz
/usr/share/doc/meta-tracker/copyright
/usr/share/doc/meta-tracker/changelog.gz


$ dpkg -c libmetatracker0_0.0.5_i386.deb
/usr/share/doc/libmetatracker0/NEWS.gz
/usr/share/doc/libmetatracker0/changelog.Debian.gz
/usr/share/doc/libmetatracker0/README.gz
/usr/share/doc/libmetatracker0/copyright
/usr/share/doc/libmetatracker0/changelog.gz
/usr/lib/libmetatracker.so.0.0.0
/usr/lib/libtracker.so.0 -> libmetatracker.so.0
/usr/lib/libmetatracker.so.0 -> libmetatracker.so.0.0.0


$ dpkg -c libmetatracker0-dev_0.0.5_i386.deb
/usr/include/tracker.h
/usr/include/tracker-client.h
/usr/share/doc/libmetatracker0-dev/NEWS.gz
/usr/share/doc/libmetatracker0-dev/changelog.Debian.gz
/usr/share/doc/libmetatracker0-dev/README.gz
/usr/share/doc/libmetatracker0-dev/copyright
/usr/share/doc/libmetatracker0-dev/changelog.gz
/usr/lib/pkgconfig/tracker.pc
/usr/lib/libmetatracker.la
/usr/lib/libmetatracker.a
/usr/lib/libtracker.so -> libmetatracker.so
/usr/lib/libmetatracker.so -> libmetatracker.so.0.0.0


$ dpkg -c meta-tracker-utils_0.0.5_i386.deb
/usr/bin/tracker-files
/usr/bin/tracker-stats
/usr/bin/tracker-tag
/usr/bin/tracker-search
/usr/bin/tracker-query
/usr/bin/tracker-meta-folder
/usr/bin/tracker-extract
/usr/share/doc/meta-tracker-utils/NEWS.gz
/usr/share/doc/meta-tracker-utils/changelog.Debian.gz
/usr/share/doc/meta-tracker-utils/README.gz
/usr/share/doc/meta-tracker-utils/copyright
/usr/share/doc/meta-tracker-utils/changelog.gz
/usr/share/doc/meta-tracker-utils/examples/big-documents.rdf
/usr/share/doc/meta-tracker-utils/examples/90s-music.rdf
/usr/share/doc/meta-tracker-utils/examples/80s-music.rdf
/usr/share/doc/meta-tracker-utils/examples/all-documents.rdf
/usr/share/doc/meta-tracker-utils/examples/wallpapers.rdf


To have *.deb of tracker 0.0.5, I updated changelog with your identity
to avoid NMU problems...

And still some problems:

$ lintian tracker_0.0.5_i386.changes
W: meta-tracker-utils: binary-without-manpage tracker-extract
W: meta-tracker-utils: binary-without-manpage tracker-files
W: meta-tracker-utils: binary-without-manpage tracker-meta-folder
W: meta-tracker-utils: binary-without-manpage tracker-query
W: meta-tracker-utils: binary-without-manpage tracker-search
W: meta-tracker-utils: binary-without-manpage tracker-stats
W: meta-tracker-utils: binary-without-manpage tracker-tag
W: meta-tracker: binary-without-manpage htmless
W: meta-tracker: binary-without-manpage o3totxt
W: meta-tracker: binary-without-manpage trackerd

We need to add manpages. ^_^

$ linda tracker_0.0.5_i386.changes
E: meta-tracker; No manual page for binary htmless.
E: meta-tracker; No manual page for binary o3totxt.
E: meta-tracker; No manual page for binary trackerd.
E: meta-tracker; Wrong changelog name for native package.
E: meta-tracker-utils; No manual page for binary tracker-extract.
E: meta-tracker-utils; No manual page for binary tracker-files.
E: meta-tracker-utils; No manual page for binary tracker-meta-folder.
E: meta-tracker-utils; No manual page for binary tracker-query.
E: meta-tracker-utils; No manual page for binary tracker-search.
E: meta-tracker-utils; No manual page for binary tracker-stats.
E: meta-tracker-utils; No manual page for binary tracker-tag.

Same thing but it is also not happy with changelog name! A detailled
output prints:
" This package contains a changelog.Debian.gz, but not a changelog.gz.
 It is fine for both to exist, but changelog.gz should also exist."
which is wrong, meta-tracker contains a changelog.gz file... A linda
bug?!


Thanks for working on this as Im not very knowledgeable about Debs

I'm not an expert too! But I think that these packages are rather good.


Laurent.

Attachment: debian-packaging-patch.diff
Description: Text Data



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