Le 18.10.2006, à 10:51:54, Martin Michlmayr a écrit:
> * Ricardo Mones <[EMAIL PROTECTED]> [2006-10-18 02:09]:
> >   First I would like to point out that bins is not a server, is just a
> > script to generate static web pages. Anyway I have to agree that probably
> > bins-edit-gui is not the main funcitonality of the package, but it's a
> > quarter of the scripts/programs provided.
> > 
> >   My proposal is, instead of providing it broken out of the box, why not 
> > make
> > a separate package with it which would carry also all the required Depends
> > and make bins recomend that new package?
> 
> It's not broken at all.  The main functionality of BINS is a script to
> generate the image gallery and this doesn't need any graphical
> libraries install.  In fact, like I said, you don't want them to be
> installed on a server.  bins-edit-gui is just a minor, not really
> maintained, part of BINS.  Splitting it into another package is not an
> option because the script is simply too small.
> 
> However, I'll add something about this to README.Debian.

We can also add a runtime check a display a more human friendly message.

Would you be happy with a message like:
$ bins-edit-gui
You need to install the Debian package(s): libgtk-perl, libgladexml-perl, 
libgtk-imlib-perl, libgnome-perl
$

I propose the patch:

--- Sources/Debian/bins/bins-1.1.29/bins-edit-gui       2006-06-18 
19:02:14.000000000 +0200
+++ bins-edit-gui       2006-10-18 21:45:39.000000000 +0200
@@ -38,17 +38,39 @@
 
 use Getopt::Long;
 
-use Gtk;
-use Gtk::GladeXML;
+BEGIN {
+       unless (eval "use Gtk; 1;") {
+               push @p, "libgtk-perl";
+               $fail=1
+       }
+
+       unless (eval "use Gtk::GladeXML; 1;") {
+               push @p, "libgladexml-perl";
+               $fail=1
+       }
+
+       unless (eval "use Gtk::Gdk::ImlibImage; 1;") {
+               push @p, "libgtk-imlib-perl";
+               $fail=1
+       }
+
+       unless (eval "use Gnome; 1;") {
+               push @p, "libgnome-perl";
+               $fail=1
+       }
+
+       if ($fail)
+       {
+               print "You need to install the Debian package(s): ", join(", ", 
@p), "\n";
+               exit;
+       }
+}
 
 use XML::DOM;
 use XML::XQL;
 use XML::XQL::DOM;
 use XML::Writer;
 
-use Gtk::Gdk::ImlibImage;
-use Gnome;
-
 use Text::Iconv;
 
 # for localized text

-- 
 Dr. Ludovic Rousseau                        [EMAIL PROTECTED]
 -- Normaliser Unix c'est comme pasteuriser le camembert, L.R. --

Reply via email to