Discussion:
packaging emel for ubuntu
Liviu Andronic
2012-02-10 18:26:16 UTC
Permalink
Hello
I'm currently working on packaging emel for Ubuntu and sofar it works
fine [1] but I'd like to get all the dependencies and build options in
order.

I'm using the following deps at build time:
Build-Depends: libglib2.0-dev, libgtk2.0-dev (>= 2.6), debhelper (>=
7), quilt (>= 0.46-7~), imagemagick, libmagic-dev, libgtkspell-dev
(>=2.0.14), udisks | devicekit-disks (>= 009), libdbus-glib-1-dev,
libacl1-dev, libpolkit-gobject-1-dev

Are any optional deps missing? Are there any deps that shouldn't be
there (I'm specifically thinking of imagemagick, udisks |
devicekit-disks (>= 009)? Is libpolkit-gobject-1-dev [2] the
appropriate package for POLKIT=1? I've inspected closely the home
page, the INSTALL file and the Makefile.config, but I'd like to make
sure that I'm not overthinking anything.

As for run-time deps, in addition to the above, I also have:
Recommends: libmagic1, libbz2-1.0 | liblzo2-2 | , file (>= 4), grep
(>= 2.5.3), sed (>= 4.1.5), xdg-utils, udisks | devicekit-disks (>=
009)

Should any of the above be part of 'Depends' (instaed of
'Recommends')? Moreover, I have the following package suggested:
Suggests: tracker-utils

Is this OK? Are 'tracker-utils' (or anything else related) needed at
build time?

Please let me know if I'm getting the deps right. Thanks
Liviu

[1] https://launchpad.net/~landronimirc/+archive/experimental/+packages
[2] http://packages.ubuntu.com/search?keywords=libpolkit-gobject-1-dev&searchon=names&suite=all&section=all
--
Do you know how to read?
http://www.alienetworks.com/srtest.cfm
http://goodies.xfce.org/projects/applications/xfce4-dict#speed-reader
Do you know how to write?
http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail
t***@onepost.net
2012-02-10 21:18:47 UTC
Permalink
On Fri, 10 Feb 2012 19:26:16 +0100
Post by Liviu Andronic
Hello
I'm currently working on packaging emel for Ubuntu and sofar it works
fine [1] but I'd like to get all the dependencies and build options in
order.
Build-Depends: libglib2.0-dev, libgtk2.0-dev (>= 2.6), debhelper (>=
7), quilt (>= 0.46-7~), imagemagick, libmagic-dev, libgtkspell-dev
(>=2.0.14), udisks | devicekit-disks (>= 009), libdbus-glib-1-dev,
libacl1-dev, libpolkit-gobject-1-dev
Are any optional deps missing? Are there any deps that shouldn't be
there (I'm specifically thinking of imagemagick, udisks |
devicekit-disks (>= 009)? Is libpolkit-gobject-1-dev [2] the
appropriate package for POLKIT=1? I've inspected closely the home
page, the INSTALL file and the Makefile.config, but I'd like to make
sure that I'm not overthinking anything.
no 'internal' use of imagemagick, maybe for icon resizing?
udisks for WITH_UDISKS=1
WITH_DEVKIT is deprecated
libdbus-glib-1-dev is needed only for glib < 2.26
libacl1-dev is needed only for WITH_ACL=1
libgtkspell-dev is needed only for EDITOR_SPELLCHECK=1
Post by Liviu Andronic
Recommends: libmagic1, libbz2-1.0 | liblzo2-2 | , file (>= 4), grep
(>= 2.5.3), sed (>= 4.1.5), xdg-utils, udisks | devicekit-disks (>=
009)
file command not used now (libmagic instead)
can't think of any use for xdg-utils
Post by Liviu Andronic
Should any of the above be part of 'Depends' (instaed of
Suggests: tracker-utils
Is this OK? Are 'tracker-utils' (or anything else related) needed at
build time?
No.
Several commands used at runtime when WITH_TRACKER=1
Post by Liviu Andronic
Please let me know if I'm getting the deps right. Thanks
Liviu
Liviu Andronic
2012-02-11 22:44:00 UTC
Permalink
Post by t***@onepost.net
no 'internal' use of imagemagick, maybe for icon resizing?
Seems so. I tried to remove imagemagick from the build deps, and the
build process failed right towards the end:

make[1]: Leaving directory `/build/buildd/emelfm2-0.8.0'
convert icons/emelfm2_32.png debian/emelfm2.xpm
make: convert: Command not found
make: *** [build-stamp] Error 127
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Post by t***@onepost.net
udisks for WITH_UDISKS=1
WITH_DEVKIT is deprecated
libdbus-glib-1-dev is needed only for glib < 2.26
It is a bit complicated to specify conditional dependencies in
'debian/control', so I was wondering whether it was an issue if both
libdbus-glib-1-dev and glib >= 2.26 are available at build time? (Both
libdbus-glib-1-dev and glib < 2.26 are present on Lucid, but
libdbus-glib-1-dev and glib >= 2.26 would be available on Maverick and
later.)

As for WITH_POLKIT=1, what build-/run-time dependencies are expected?
In Makefile.config I see "Requires polkit, which in turn seems to need
gio >= 2.22." However, I removed all libpolkit-related development
files and emel still compiled just fine with WITH_POLKIT=1. Am I doing
something wrong?
Post by t***@onepost.net
file command not used now (libmagic instead)
can't think of any use for xdg-utils
I removed both then.

Regards
Liviu
t***@onepost.net
2012-02-12 01:33:32 UTC
Permalink
On Sat, 11 Feb 2012 23:44:00 +0100
Post by Liviu Andronic
Post by t***@onepost.net
no 'internal' use of imagemagick, maybe for icon resizing?
Seems so. I tried to remove imagemagick from the build deps, and the
make[1]: Leaving directory `/build/buildd/emelfm2-0.8.0'
convert icons/emelfm2_32.png debian/emelfm2.xpm
make: convert: Command not found
make: *** [build-stamp] Error 127
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Post by t***@onepost.net
udisks for WITH_UDISKS=1
WITH_DEVKIT is deprecated
libdbus-glib-1-dev is needed only for glib < 2.26
It is a bit complicated to specify conditional dependencies in
'debian/control', so I was wondering whether it was an issue if both
libdbus-glib-1-dev and glib >= 2.26 are available at build time?
No. libdbus-glib is simply irrelevant.


(Both
Post by Liviu Andronic
libdbus-glib-1-dev and glib < 2.26 are present on Lucid, but
libdbus-glib-1-dev and glib >= 2.26 would be available on Maverick and
later.)
As for WITH_POLKIT=1, what build-
None

/run-time

Default command for "run command as root" becomes pkexec

dependencies are expected?
Post by Liviu Andronic
In Makefile.config I see "Requires polkit, which in turn seems to need
gio >= 2.22." However, I removed all libpolkit-related development
files and emel still compiled just fine with WITH_POLKIT=1. Am I doing
something wrong?
No

Regards
Tom
Liviu Andronic
2012-02-12 13:14:55 UTC
Permalink
Hello Tom
Almost there..
Post by t***@onepost.net
Post by Liviu Andronic
As for WITH_POLKIT=1, what build-
[..]
Post by t***@onepost.net
Default command for "run command as root" becomes pkexec
Then I have to provide 'policykit-1' at run-time. Now fixed.


I ended up with the following build-time deps:
Build-Depends: libglib2.0-dev, libgtk2.0-dev (>= 2.6), imagemagick,
debhelper (>= 7), quilt (>= 0.46-7~), libmagic-dev, libgtkspell-dev
(>= 2.0.14), udisks, libdbus-glib-1-dev, libacl1-dev

Does anything look strange to you? I'm also hesitating: is 'udisks' a
build-time requirement, or is it only needed at run-time?


As for the run-time deps, here's the resulting list (when built against Lucid):
Depends: libacl1 (>= 2.2.11-1), libc6 (>= 2.4), libcairo2 (>= 1.2.4),
libdbus-glib-1-2 (>= 0.78), libglib2.0-0 (>= 2.23.5), libgtk2.0-0 (>=
2.20.0), libgtkspell0 (>= 2.0.15), libpango1.0-0 (>= 1.18.0),
libmagic1
Recommends: libbz2-1.0 | liblzo2-2, grep (>= 2.5.3), sed (>= 4.1.5),
udisks, policykit-1
Suggests: tracker-utils

Again, does anything seem queer to you? I'm specifically thinking of
'tracker-utils': even though it's not needed at build-time, does emel
still interact with it at run-time? Should I Suggest or Recommend
'tracker-utils' when building with WITH_TRACKER=1?


Last, below are the Makefile.config options that I'm tweaking at build-time:
MAKEOPTS = \
WITH_KERNELFAM=1 \
NEW_COMMAND=1 \
EDITOR_SPELLCHECK=1 \
WITH_LATEST=1 \
WITH_THUMBS=1 WITH_THUMBLIB=0 \
WITH_TRACKER=1 \
WITH_ACL=1 \
WITH_POLKIT=1 \
WITH_UDISKS=1

Are these sensible default for a modern Linux distro? Specifically,
Is WITH_KERNELFAM=1 and USE_INOTIFY=1 the preferred file polling method?
Is WITH_UDISKS=1 preferred over WITH_HAL=1?

Thanks
Liviu
t***@onepost.net
2012-02-12 20:26:13 UTC
Permalink
On Sun, 12 Feb 2012 14:14:55 +0100
Post by Liviu Andronic
Build-Depends: libglib2.0-dev, libgtk2.0-dev (>= 2.6), imagemagick,
debhelper (>= 7), quilt (>= 0.46-7~), libmagic-dev, libgtkspell-dev
(>= 2.0.14), udisks, libdbus-glib-1-dev, libacl1-dev
Does anything look strange to you? I'm also hesitating: is 'udisks' a
build-time requirement, or is it only needed at run-time?
Runtime only.
Post by Liviu Andronic
Depends: libacl1 (>= 2.2.11-1), libc6 (>= 2.4), libcairo2 (>= 1.2.4),
libdbus-glib-1-2 (>= 0.78), libglib2.0-0 (>= 2.23.5), libgtk2.0-0 (>=
2.20.0), libgtkspell0 (>= 2.0.15), libpango1.0-0 (>= 1.18.0),
libmagic1
Recommends: libbz2-1.0 | liblzo2-2, grep (>= 2.5.3), sed (>= 4.1.5),
udisks, policykit-1
Suggests: tracker-utils
Again, does anything seem queer to you? I'm specifically thinking of
'tracker-utils': even though it's not needed at build-time, does emel
still interact with it at run-time? Should I Suggest or Recommend
'tracker-utils' when building with WITH_TRACKER=1?
Yes to both.
Post by Liviu Andronic
MAKEOPTS = \
WITH_KERNELFAM=1 \
NEW_COMMAND=1 \
EDITOR_SPELLCHECK=1 \
WITH_LATEST=1 \
WITH_THUMBS=1 WITH_THUMBLIB=0 \
WITH_TRACKER=1 \
WITH_ACL=1 \
WITH_POLKIT=1 \
WITH_UDISKS=1
Are these sensible default for a modern Linux distro? Specifically,
Is WITH_KERNELFAM=1 and USE_INOTIFY=1 the preferred file polling method?
Yes
Post by Liviu Andronic
Is WITH_UDISKS=1 preferred over WITH_HAL=1?
Yes. HAL is deprecated, sooner or later distros will omit it.

Regards
Tom

Loading...