changeset 4:c5749e43b1d7

Adding debian files (to original 1.1.29)
author Peter Gervai <grin@grin.hu>
date Wed, 15 Oct 2008 23:35:35 +0200
parents a84c32f131df
children e8a9408780ff
files debian/README.Debian debian/bins_cleanupgallery.1 debian/changelog debian/compat debian/control debian/copyright debian/dirs debian/docs debian/manpages debian/patches/04_bins-edit-gui debian/patches/05_share-man debian/patches/06_doc_bins.sgml debian/patches/07_fix_share debian/patches/08_fix_bins-edit-gui_encoding debian/patches/09_fix_wrong_relpath debian/patches/10_symlinks_movies debian/patches/11_check_template_style debian/patches/12_optional_xml_elements debian/patches/13_locale_encoding debian/patches/14_bins-edit-gui debian/patches/15_example_css debian/patches/16_examples_html debian/patches/17_bins debian/patches/18_bins-memory-leak debian/patches/19_bins-insert-directory debian/patches/20_bins-syscall debian/patches/21_bins-trim debian/patches/22_bins-hash-ref debian/patches/23_bashism debian/patches/series debian/rules debian/watch
diffstat 32 files changed, 1774 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/README.Debian	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,10 @@
+
+Debian hasn't ever shipped the non-XML version so I'm not including
+the conversion script.  It is available in the source, or if you
+really want, wishlist it.
+
+I also have a conversion script (mine, not upstream) that reads lodju
+XML and converts it into split BINS-style XML.  Available on request,
+it's still too sketchy to include for real.
+
+ -- Mark W. Eichin <eichin@thok.org>, Sun, 21 Apr 2002 23:18:42 -0400
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/bins_cleanupgallery.1	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,18 @@
+.TH bins_cleanupgallery 1
+.SH NAME
+bins_cleanupgallery \- remove any unused file in your HTML galleries
+.SH SYNOPSIS
+.B bins_cleanupgallery
+<Gallery Source Directory> <Destination Directory>
+.SH DESCRIPTION
+.B bins_cleanupgallery
+removes any unused file in your HTML galleries.
+.P
+Run it without argument for usage information.
+.P
+Note that this script is still experimental, so if it performs wrong,
+just re-run bins to recreate erased files.
+.SH AUTHOR
+Jochen Schaeuble <psionic @ psionic.de>.
+.P
+This manpage is written by Ludovic Rousseau for the Debian bins package.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/changelog	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,566 @@
+bins (1.1.29-12) unstable; urgency=low
+
+  * move from dpatch to quilt to manage Debian patches
+  * debian/patches/23_bashism: Closes: #489542 "bins: bashism in /bin/sh
+    script"
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Wed, 06 Aug 2008 21:30:47 +0200
+
+bins (1.1.29-11) unstable; urgency=low
+
+  * debian/patches/22_bins-hash-ref.dpatch: Crashes mid-album
+    (Closes: #481662)
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Thu, 22 May 2008 21:05:41 +0200
+
+bins (1.1.29-10) unstable; urgency=low
+
+  * debian/control:
+   - use the Homepage: field
+   - add Vcs-Svn: and Vcs-Browser: fields
+   - Standards-Version: 3.7.2 -> 3.7.3. no change needed
+  * do not package bins-edit-gui since it depends on Gtk+ 1.x and this is no
+    more available in Debian. Closes: #471949: "bins-edit-gui asks to install
+    non-existing package"
+  * debian/rules: use binary-indep: instead of binary-arch: target to avoid a
+    binary-arch-rules-but-pkg-is-arch-indep lintian warning
+  * debian/patches/21_bins-trim.dpatch: add -trim argument to jpegtran.
+    Closes: #284157: "bins: avoidable jpegtran image corruption"
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Fri, 21 Mar 2008 17:52:15 +0100
+
+bins (1.1.29-9) unstable; urgency=low
+
+  * debian/patches/{18_bins-memory-leak,19_bins-insert-directory,
+    20_bins-syscall}.dpatch: Closes: #395098 "Bins is very slow, eats memory
+    and makes unnecessary system calls"
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Sun, 12 Aug 2007 18:23:53 +0200
+
+bins (1.1.29-8) unstable; urgency=low
+
+  * debian/patches/17_bins.dpatch: use localtime instead of gmtime
+    Closes: #431432
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Wed, 04 Jul 2007 22:26:01 +0200
+
+bins (1.1.29-7) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * debian/copyright: Mention license and copyright of the Debian
+    packaging.
+  * debian/control (Build-Depends-Indep): Move dpatch from here...
+  * debian/control (Build-Depends): ... to here.  Thanks, Pierre Habouzit.
+
+  [ Ludovic Rousseau ]
+  * debian/patches/14_bins-edit-gui.dpatch: Closes: #386423 "bins: Can't
+    locate Gtk/GladeXML.pm"
+  * debian/patches/15_example_css.dpatch: Closes: #392439 "bins/index.html:
+    blue characters upon a blue background"
+  * debian/patches/16_examples_html.dpatch: correct a broken link (use the
+    image from http://bins.sautret.org/ instead of a local copy)
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Tue, 21 Nov 2006 22:22:10 +0100
+
+bins (1.1.29-6) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * debian/patches/13_locale_encoding.dpatch: Remove stray "print" from
+    the copyright statement that is printed when the program is called.
+    Closes: #350074.
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Fri, 27 Jan 2006 13:15:02 +0000
+
+bins (1.1.29-5) unstable; urgency=medium
+
+  [ Martin Michlmayr ]
+  * debian/patches/13_locale_encoding.dpatch: Replace the patch with one
+    from upstream.  The previous one led to broken HTML generation.
+    Closes: #349945.
+  * debian/watch: Fix URL and upgrade to version 3.
+  * debian/compat: Switch to debhelper compat mode 5.
+  * debian/control (Build-Depends): Depend on new debhelper.
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Thu, 26 Jan 2006 16:14:39 +0000
+
+bins (1.1.29-4) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * debian/README.Debian: Remove the paragraph about the situation of
+    bins-edit-gui and "Suggests" since the packages have been upgraded
+    to "Recommends" in 1.1.29-3.
+  * debian/patches/09_fix_wrong_relpath.dpatch: Don't produce broken
+    links with linkRelative when the source and target directories start
+    with the same letter.  Closes: #334088.
+  * debian/patches/10_symlinks_movies.dpatch: Support linkInsteadOfCopy
+    for movie files.  Closes: #334064.
+  * debian/patches/11_check_template_style.dpatch: Check if the specified
+    template style exists before processing images.  Closes: #308114.
+  * debian/patches/12_optional_xml_elements.dpatch: Make XML elements
+    optional and check whether the XML files are valid bins files.
+    Closes: #308338.
+  * debian/patches/13_locale_encoding.dpatch: Don't simply output Latin-1
+    text but convert it to the locale; thanks to Don Armstrong for the
+    patch.  Closes: #308111.
+  * debian/copyright: Convert to UTF-8.
+  * debian/copyright: Various updates.
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Sun, 06 Nov 2005 13:36:24 +0000
+
+bins (1.1.29-3) unstable; urgency=low
+
+  [ Ludovic Rousseau ]
+  * debian/control: Standards-Version: 3.6.1 -> 3.6.2: no changes
+  * debian/patches/08_fix_bins-edit-gui_encoding.dpatch:
+    Closes: #322938 "bins-edit-gui mishandles locale settings"
+    Closes: #334052 "without LC_ALL=C, bins-edit-gui fails"
+  * debian/control: change Suggests in Recommends so that aptitude users will
+    have bins-edit-gui working by default.  Closes: #333937 "libgladexml-perl
+    is only suggests, so bins-edit-gui fails"
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Sat, 15 Oct 2005 16:49:25 +0200
+
+bins (1.1.29-2) unstable; urgency=high
+
+  [ Martin Michlmayr ]
+  * debian/patches/07_fix_share.dpatch: Don't prepend DESTDIR when
+    replacing paths in the binaries.
+  * debian/patches/00list: Add.
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Mon, 12 Sep 2005 17:39:37 +0100
+
+bins (1.1.29-1) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * New upstream release.
+    + Adds a search engine.
+    + New templates "mwolson" and "martin".
+    + Default template renamed to "swigs".
+    + javaScriptPreloadImage preloads the right image now.  Closes: #323631.
+    + Add a directory with various tools.
+  * debian/control (Depends): Add libtext-unaccent-perl (required by
+    the search engine).
+  * debian/patches/05_install.sh.dpatch: Remove, applied upstream.
+  * debian/patches/08_bins.dpatch: Likewise.
+  * debian/patches/10_bins.dpatch: Likewise.
+  * debian/patches/11_bins.dpatch: Likewise.
+  * debian/patches/12_codeset_warning.dpatch: Likewise.
+  * debian/patches/00list: Remove above patches.
+  * debian/rules (install): Install tools in an example directory.
+  * debian/rules (install): Manually install bins_cleanupgallery since
+    this is no longer done by upstream.
+  * debian/patches/05_share-man.dpatch: Install man pages in the correct
+    directory.
+  * debian/patches/00list: List this patch.
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Thu, 25 Aug 2005 19:45:44 +0100
+
+bins (1.1.28-1) unstable; urgency=low
+
+  [ Martin Michlmayr ]
+  * New upstream release.
+    + Replaces parameter "enlarge" with "whenSrcSmaller".
+    + Adds support for customized date strings via the dateString
+      option.  Closes: #308317.
+    + Adds Catalan translation.  Closes: #317731.
+    + Fixes two typos in the German translation.  Closes: #313675.
+    + Lists all template styles in the man page.  Closes: #308115.
+  * debian/control (Depends): Add libtimedate-perl required by the
+    new dateString option.
+  * debian/patches/08_bins.dpatch: Update patch to reflect whitespace
+    changes in the new upstream version.
+  * debian/patches/10_bins.dpatch: Likewise.
+  * debian/patches/11_bins.dpatch: Likewise.
+  * debian/control (Uploaders): Add myself.
+  * debian/control (Depends, Suggests): Downgrade GLADE/GTK+ related
+    packages to Suggests since they are only required by bins-edit-gui,
+    a minor component of this package.  Closes: #251306.
+  * debian/README.Debian: Add a paragraph about the situation of
+    bins-edit-gui.
+  * debian/patches/12_codeset_warning.dpatch: Surpress warnings when
+    the locale name is not numeric.
+  * debian/patches/00list: Add patch.
+
+ -- Martin Michlmayr <tbm@cyrius.com>  Fri, 05 Aug 2005 01:16:58 +0100
+
+bins (1.1.27-2) unstable; urgency=low
+
+  * debian/patches/11_bins.dpatch: Closes: #295716 "bins: consider path/a-b to
+    a subdir of path/a". This should also really close bug #271150
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Fri, 18 Feb 2005 11:05:23 +0100
+
+bins (1.1.27-1) unstable; urgency=low
+
+  * New upstream version
+   - Closes: #273401 "problem with expanding FIELD_TIP in templates"
+  * debian/patches/10_bins.dpatch: Closes: #287768 "support the use of
+    libjpeg-mmx-progs"
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Sun,  2 Jan 2005 22:18:08 +0100
+
+bins (1.1.26-6) unstable; urgency=low
+
+  * 07_bins.dpatch: update the patch to correct the bug "considers
+    "path/to/a-gallery" a subdir of "path/to/a"". Closes: #271150
+  * 09_bins.dpatch: correct bug "perl warnings with -e custum and subalbums".
+    Closes: #269511. Thanks to Adam Lackorzynski for the patch
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Sun, 12 Sep 2004 15:52:30 +0200
+
+bins (1.1.26-5) unstable; urgency=high
+
+  * 08_bins.dpatch: patch for "-f option ignored". Closes: #267757
+  * urgency=high since we want 1.1.26-4 (released yesterday) in sarge
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Sat, 28 Aug 2004 12:51:52 +0200
+
+bins (1.1.26-4) unstable; urgency=high
+
+  * 07_bins.dpatch: my previous patch was too simple and wrong
+  * urgency=high since the previous Debian version is a regression compared to
+    upstream and should not be released with sarge.
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Fri, 27 Aug 2004 21:44:03 +0200
+
+bins (1.1.26-3) unstable; urgency=low
+
+  * 07_bins.dpatch: exit if target_dir is in source_dir since it will generate
+    an infinite recursion. Closes: #239250
+  * debian/rules: backup and restore doc/bins.1 and doc/bins-edit-gui.1 since
+    they are modified by the build process (avoid having the patch in the
+    .diff.gz file)
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Sat, 14 Aug 2004 00:10:57 +0200
+
+bins (1.1.26-2) unstable; urgency=medium
+
+  * 05_install.sh.dpatch: install share files in the correct directory
+    Closes: #263709
+  * urgency medium since it was an RC bug
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Thu,  5 Aug 2004 20:34:36 +0200
+
+bins (1.1.26-1) unstable; urgency=low
+
+  * New upstream release
+   - Closes: #230627 "New upstream 1.1.26 available"
+   - Closes: #189128 "linkInsteadOfCopy and rotateImages fails to work as
+   - Closes: #223727 ""joi" template in wrong directory"
+   advertised"
+   - Closes: #249473 "error creating the <next> <previous> link in the
+   picture's page"
+   - Closes: #195611 "Files in /etc/bins should be in /usr/share/bins/"
+   - Closes: #192175 "Errors in /etc/bins/"
+   - Closes: #230094 "incorrect encoding for " sec." in Russian"
+   - Closes: #185037 "Installation of a default binsrc"
+   - Closes: #185052 "Nautilus script"
+   - Closes: #189215 "new config item: updateOriginalPerms (avoid chmod
+   issues)"
+  * New Debian maintainer
+  * use dpatch to manage Debian specific patches
+  * debian/control: Standards-Version: 3.5.2 -> 3.6.1
+   - always use -g CFLAGS argument
+   - use -O0 instead of -O2 if DEB_BUILD_OPTIONS contains noopt
+   - use Build-Depends-Indep:
+  * install bins_cleanupgallery. Closes: #189244
+  * install HTML documentation. Closes: #165269
+  * debian/patches/06_doc_bins.sgml.dpatch: correct doc/bins.sgml manpage
+    Closes: #203978
+  * remove dependency on libstorable-perl. Closes: #159189
+
+ -- Ludovic Rousseau <rousseau@debian.org>  Sat, 31 Jul 2004 22:37:38 +0200
+
+bins (1.1.21-1.1) unstable; urgency=low
+
+  * NMU 
+  * Fixed error in debian/rules to put templates in their correct places to be
+    found (Closes: #192175) 
+  * Templates are now installed in their correct location /usr/share (Closes: #195611)
+  * Sponsored by aigarius@debian.org at Debcamp, uploaded to 4 days delayed 
+
+ -- Kai Hendry <hendry@cs.helsinki.fi>  Tue, 15 Jul 2003 17:24:55 +0100
+
+bins (1.1.21-1) unstable; urgency=low
+
+  * New upstream release, and lots of patch application
+  * bins (BEGIN): handle quoting better (Closes: #188846)
+  * debian/rules (install): afs deletion artifacts came from running 1.2.5
+    modules, a quick check goes in until I upgrade (Closes: #180913)
+  * binsrc: fix typo (Closes: #185039)
+  * debian/rules (install): install templates.joi (Closes: #183489)
+  * bins (postProcessArgs): allow reverseOrder to be configurable (Closes: #188868)
+
+ -- Mark W. Eichin <eichin@thok.org>  Sun, 13 Apr 2003 19:42:06 -0400
+
+bins (1.1.20-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Mark W. Eichin <eichin@thok.org>  Sat, 11 Jan 2003 00:33:48 -0500
+
+bins (1.1.16-1) unstable; urgency=low
+
+  * New upstream release.  Upstream changes:
+  * There is a new template style (joi) which uses icons, CSS, and
+    Javascript.
+  * A new parameter (homeURL) has been added to link your home page to the
+    Leave button of the new templates. 
+  * A newjavaScriptPreloadImage parameter can now be used to add some
+    Javascript code in image pages to preload the next image of the same
+    size when the current one is loaded, which speeds up album browsing.
+  * A Russian translation was added.
+  
+ -- Mark W. Eichin <eichin@thok.org>  Mon,  2 Sep 2002 19:31:18 -0400
+
+bins (1.1.15-1) unstable; urgency=low
+
+  * New upstream release.  Upstream changes:
+  * A new parameter linkInsteadOfCopy has been added to create a link to
+    the image in the destination directory instead of copying it, when
+    possible.
+  * A bug that crashed bins with Perl 5.8.0 has been corrected.
+  * Movie files are now linked in albums. (doesn't close #147603 because
+    it doesn't work with include_images.txt, and isn't clever enough to
+    lookaside to the .thm file)
+  * The scale method can now be chosen with the new scaleMethod parameter.
+  * Rotation can now be skipped on some files with the new noRotation
+    parameter.
+  * A bad behavior that occurred when scaled sizes uses mixed pixels and
+    percentages has been corrected.
+  * jpegtran can now be used with image names containing spaces. Some
+    other corrections have been made.
+
+ -- Mark W. Eichin <eichin@thok.org>  Mon, 26 Aug 2002 12:32:10 -0400
+
+bins (1.1.14-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Mark W. Eichin <eichin@thok.org>  Mon, 12 Aug 2002 12:05:57 -0400
+
+bins (1.1.13-1) unstable; urgency=low
+
+  * New upstream release
+  * debian/watch: new file. (get lazy.)
+  * debian/dirs, debian/rules: install example binsrc (Closes: #153937)
+  * debian/control: add libhtml-clean-perl.
+
+ -- Mark W. Eichin <eichin@thok.org>  Fri,  9 Aug 2002 00:05:10 -0400
+
+bins (1.1.10-1) unstable; urgency=low
+
+  * New upstream version.
+  * Sneak in bins-edit-gui 0.9.
+
+ -- Mark W. Eichin <eichin@thok.org>  Tue, 11 Jun 2002 05:33:44 -0400
+
+bins (1.1.9-3) unstable; urgency=low
+
+  * Sneak in bins-edit-gui 0.8, as it fixes a server-side memory leak.
+
+ -- Mark W. Eichin <eichin@thok.org>  Fri,  7 Jun 2002 04:35:11 -0400
+
+bins (1.1.9-2) unstable; urgency=low
+
+  * Sneak in bins-edit-gui 0.7.
+
+ -- Mark W. Eichin <eichin@thok.org>  Fri,  7 Jun 2002 04:34:16 -0400
+
+bins (1.1.9-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Mark W. Eichin <eichin@thok.org>  Wed,  5 Jun 2002 05:55:31 -0400
+
+bins (1.1.8-2) unstable; urgency=low
+
+  * bins: fix -v handling.
+  * bins (chooseSampleImage): abuse thumblink so that non-local images
+    work.
+  * debian/control (Depends): add libglade-gnome0.  pbuilder wins again.
+    (Closes: #147926)
+
+ -- Mark W. Eichin <eichin@thok.org>  Tue,  4 Jun 2002 17:48:00 -0400
+
+bins (1.1.8-1) unstable; urgency=low
+
+  * New upstream version.
+  * Sneak in bins-edit-gui 0.7.
+
+ -- Mark W. Eichin <eichin@thok.org>  Thu, 30 May 2002 04:44:17 -0400
+
+bins (1.1.7-6) unstable; urgency=low
+
+  * debian/control: added gettext build-depend. (go go gadget pdebuild!)
+
+ -- Mark W. Eichin <eichin@thok.org>  Sun, 26 May 2002 22:42:47 -0400
+
+bins (1.1.7-5) unstable; urgency=low
+
+  * doc/bins.sgml: update for new arguments (-i, -e, -s); add
+    documentation for *all* binsrc tags and *all* user files that bins
+    uses in the construction of an album.
+  * bins: add explicit chmod to handle rotation of copied read-only
+    images.
+  * bins-edit-gui: 'locale_h' hack that makes other distributions happy.
+  
+ -- Mark W. Eichin <eichin@thok.org>  Sun, 26 May 2002 02:36:07 -0400
+
+bins (1.1.7-4) unstable; urgency=low
+
+  * Sneak in bins-edit-gui 0.6.
+  * delete upstream gui-*.mo, and regenerate (makes slipstreaming easier.)
+
+ -- Mark W. Eichin <eichin@thok.org>  Wed, 22 May 2002 03:50:52 -0400
+
+bins (1.1.7-3) unstable; urgency=low
+
+  * debian/*.sgml: elide in favor of the versions in doc/.
+  * debian/rules: build manpages from doc/ version.
+
+ -- Mark W. Eichin <eichin@thok.org>  Wed, 22 May 2002 03:35:49 -0400
+
+bins (1.1.7-2) unstable; urgency=low
+
+  * debian/control: now uses HTML::Template as well.
+
+ -- Mark W. Eichin <eichin@thok.org>  Mon, 20 May 2002 03:57:10 -0400
+
+bins (1.1.7-1) unstable; urgency=low
+
+  * New upstream version.  Includes gui 0.5 (with i18n support.)
+  * debian/rules: use ??.mo names to guess languages.  Install gui i18n
+    files.
+
+ -- Mark W. Eichin <eichin@thok.org>  Fri, 17 May 2002 01:08:14 -0400
+
+bins (1.1.6-1) unstable; urgency=low
+
+  * New upstream version.  Includes gui 0.4.
+
+ -- Mark W. Eichin <eichin@thok.org>  Tue, 14 May 2002 00:05:46 -0400
+
+bins (1.1.5-6) unstable; urgency=low
+
+  * debian/rules (LFILES, install): install .mo files in the right place,
+    don't copy intl subdir.
+
+ -- Mark W. Eichin <eichin@thok.org>  Mon, 13 May 2002 18:12:27 -0400
+
+bins (1.1.5-5) unstable; urgency=low
+
+  * debian/copyright: fix spelling error (and remember to run lintian more
+    often :)
+  * bins-edit-gui, bins-edit-gui.glade, debian/bins-edit-gui.sgml: update
+    from bins-edit-gui 0.4 release.
+
+ -- Mark W. Eichin <eichin@thok.org>  Sun, 12 May 2002 00:44:42 -0400
+
+bins (1.1.5-4) unstable; urgency=low
+
+  * debian/control: Thanks to Ardo van Rangelrooij for pointing out that
+    libxml-enno-perl is obsolete, and really is replaced by the individual
+    components. (Closes: #146640) for real this time.
+
+ -- Mark W. Eichin <eichin@thok.org>  Sat, 11 May 2002 16:42:00 -0400
+
+bins (1.1.5-3) unstable; urgency=low
+
+  * bins-edit-gui, bins-edit-gui.glade, debian/bins-edit-gui.sgml: update
+    from bins-edit-gui 0.3 release.
+  * debian/copyright: note secondary upstream.
+  * debian/rules: add libxml-enno-perl (for XML::DOM, XML::XQL) which my
+    scary dlocate script did find, but I mistakenly thought was already
+    brought in by something else. (Closes: #146640) 
+    add libxml-writer-perl (same excuse.)
+
+ -- Mark W. Eichin <eichin@thok.org>  Sat, 11 May 2002 12:18:53 -0400
+
+bins (1.1.5-2) unstable; urgency=low
+
+  * debian/control: add missing deps for bins-edit-gui, and mention it in
+    control message.
+  * bins-edit-gui (load_image): fix massive memory leak (fixed upstream.)
+
+ -- Mark W. Eichin <eichin@thok.org>  Thu,  9 May 2002 15:44:56 -0400
+
+bins (1.1.5-1) unstable; urgency=low
+
+  * New upstream release.  All local cosmetic fixes have been integrated
+    upstream.
+  * debian/rules (install): patch locale paths in-place, to avoid
+    outstanding diff content.
+    (build-stamp, clean, binary-arch): handle bins-edit-gui man page.
+  * debian/dirs, debian/rules: install new bins-edit-gui and make the
+    .glade file available.
+  * debian/copyright: note new bins-edit-gui (different author)
+  * debian/bins-edit-gui.sgml: new file, simple refentry manpage.
+  * bins-edit-gui: put in stubs for unimplemented functions, developer
+    fallback for glade source (all upstream already.) Fix a spurious
+    focus-related debugging message.
+
+ -- Mark W. Eichin <eichin@thok.org>  Thu,  9 May 2002 15:03:45 -0400
+
+bins (1.1.4-2) unstable; urgency=low
+
+  * bins: fix typo patching $localePath.
+
+ -- Mark W. Eichin <eichin@thok.org>  Tue,  7 May 2002 01:14:26 -0400
+
+bins (1.1.4-1) unstable; urgency=low
+
+  * New upstream release.  (Closes: #144836)
+  * debian/control: punctuation fixes, from Meinolf Sander. (Closes: #144992)
+
+ -- Mark W. Eichin <eichin@thok.org>  Tue, 30 Apr 2002 23:57:55 -0400
+
+bins (1.1.3-2) unstable; urgency=low
+
+  * debian/control: add missing depends on libstorable-perl. 
+    (Closes: #144844)
+
+ -- Mark W. Eichin <eichin@thok.org>  Sun, 28 Apr 2002 12:00:12 -0400
+
+bins (1.1.3-1) unstable; urgency=low
+
+  * New upstream release.  Includes patches from Rene Weber 
+    (Closes: #144433, #144436, #144437, #144438)
+  * debian/rules, debian/dirs: /etc/bins/templates.default instead of
+    /etc/bins, to allow --style option.
+
+ -- Mark W. Eichin <eichin@thok.org>  Sat, 27 Apr 2002 10:20:48 -0400
+
+bins (1.1.2-1) unstable; urgency=low
+
+  * New upstream release.  (not actually released, to avoid /etc/bins
+    -> /etc/bins/templates.default renaming issue)
+  * bins, debian/bins.sgml: fix wording of -p description.
+  * bins, debian/rules, debian/bins.sgml, debian/dirs: move from
+    /usr/share/bins to /etc/bins (upstream change, allows site-wide
+    customization of templates.) Also falls back per-file instead of whole
+    directory.
+
+ -- Mark W. Eichin <eichin@thok.org>  Thu, 25 Apr 2002 21:54:39 -0400
+
+bins (1.1.1-2) unstable; urgency=low
+
+  * debian/rules (install): oops, no need for second copy of bins_edit.
+    (binary-arch): tell it where the man pages are, it isn't quite that
+    magic.
+
+ -- Mark W. Eichin <eichin@thok.org>  Tue, 23 Apr 2002 03:02:07 -0400
+
+bins (1.1.1-1) unstable; urgency=low
+
+  * Initial Release.
+  * bins, intl/messages.po: fix some typos (already reported upstream.)
+  * bins: change localePath to real one.
+  * bins: set up /usr/share/bins/template as fallback; fail if -t arg
+    missing.  Document in -h.
+  * debian/bins.sgml: new file, simple manpage.
+  * debian/bins_edit.sgml: new file, simple manpage.
+  * bins_edit: fix typo in -h output.
+
+ -- Mark W. Eichin <eichin@thok.org>  Tue, 23 Apr 2002 01:15:54 -0400
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/compat	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,1 @@
+5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/control	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,25 @@
+Source: bins
+Section: web
+Priority: optional
+Maintainer: Ludovic Rousseau <rousseau@debian.org>
+Uploaders: Martin Michlmayr <tbm@cyrius.com>
+Build-Depends: debhelper (>> 5.0.0), quilt
+Build-Depends-Indep: docbook-to-man, gettext
+Standards-Version: 3.7.3
+Vcs-Svn: svn://svn.debian.org/svn/pkg-bins/trunk
+Vcs-Browser: http://svn.debian.org/viewsvn/pkg-bins/trunk/
+Homepage: http://bins.sautret.org/
+
+Package: bins
+Architecture: all
+Depends: libio-string-perl, libimage-size-perl, libimage-info-perl, perlmagick, libhtml-parser-perl, libhtml-template-perl, liburi-perl, libxml-perl, libxml-grove-perl, libxml-handler-yawriter-perl, libtext-iconv-perl, liblocale-gettext-perl, libjpeg-progs, libxml-writer-perl, libxml-xql-perl, libhtml-clean-perl, libtimedate-perl, libtext-unaccent-perl
+Description: Generate static HTML photo albums using XML and EXIF tags
+ BINS generates a complete static gallery (images and HTML) with
+ thumbnails and image lists, using XML files to hold information about
+ each image.  Includes bins_edit tool for adding
+ information to the XML files.  Interprets EXIF and JFIF tags (and
+ Canon extensions) in the jpeg directly.  Gallery appearance
+ customizable through HTML templates; gallery can be generated in
+ different languages.
+ .
+ Based on SWIGS (Structured Web Image Gallery System).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/copyright	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,46 @@
+This package was debianized by Mark W. Eichin <eichin@thok.org> on
+Sun, 21 Apr 2002 23:18:42 -0400.  Ludovic Rousseau <rousseau@debian.org>
+took over maintenance in July 2004, and Martin Michlmayr <tbm@cyrius.com>
+joined as a co-maintainer in August 2005.
+
+It was downloaded from http://bins.sautret.org/
+
+Upstream Authors: Jérôme Sautret <Jerome@Sautret.org>
+
+Copyright:
+
+Copyright (C) 2001-2005  Jérôme Sautret <Jerome@Sautret.org>
+
+Original SWIGS code:
+Copyright (C) 2000  Brendan McMahan <mcmahahb@whitman.edu>
+Initial code based on IDS 0.21:
+Copyright (C)  John Moose <moosejc@muohio.edu>
+
+BINS is released under the terms of the GNU General Public Licence
+(GPL), version 2:
+
+    This program is free software; you can redistribute it and/or
+    modify it under the terms of the GNU General Public License
+    as published by the Free Software Foundation; either version 2
+    of the License, or (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA
+    02110-1301, USA.
+
+The complete text of the GNU General Public License, version 2, can be
+found in /usr/share/common-licenses/GPL-2
+
+The Debian packaging is licensed under the GPL, see above, and has
+the following copyright:
+
+Copyright (C) 2002-2003  Mark W. Eichin <eichin@thok.org>
+Copyright (C) 2004-2005  Ludovic Rousseau <rousseau@debian.org>
+Copyright (C) 2005-2008  Martin Michlmayr <tbm@cyrius.com>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/dirs	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,5 @@
+usr/bin
+etc/bins
+etc/bash_completion.d
+usr/share/bins
+usr/share/doc/bins/examples
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/docs	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,6 @@
+README
+TODO
+CREDITS
+doc/index.html
+doc/index_fr.html
+doc/example.css
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/manpages	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,3 @@
+doc/bins.1
+doc/bins_edit.1
+debian/bins_cleanupgallery.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/04_bins-edit-gui	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,18 @@
+#!/bin/sh -e
+## bins-edit-gui by Ludovic Rousseau <rousseau@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: bins-edit-gui.glade is in /usr/share/bins/ instead of
+## DP: /usr/local/share/bins/
+
+--- bins-1.1.29.orig/bins-edit-gui
++++ bins-1.1.29/bins-edit-gui
+@@ -138,7 +138,7 @@
+ Gnome->init("bins-edit-gui", $version);
+ Gtk->init;
+ 
+-$glade = "/usr/local/share/bins/bins-edit-gui.glade";
++$glade = "/usr/share/bins/bins-edit-gui.glade";
+ if (! -r $glade) {
+     $glade = "bins-edit-gui.glade" ; # developer hack
+     print "DEVELOPER HACK\n";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/05_share-man	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+## 05-share-man by Martin Michlmayr <tbm@cyrius.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Install man pages in the right directory
+
+--- bins-1.1.29.orig/install.sh
++++ bins-1.1.29/install.sh
+@@ -36,7 +36,7 @@
+ DATA="$SHARE/bins"
+ GLADE="$DATA"
+ LOCALE="$SHARE/locale"
+-MAN="$PREFIX/man/man1"
++MAN="$SHARE/man/man1"
+ 
+ cd `dirname $0`
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/06_doc_bins.sgml	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,19 @@
+#!/bin/sh -e
+## doc/bins.sgml by Ludovic Rousseau <rousseau@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: the template are not in the upstream defined directory (/etc/bins)
+## DP: but in /usr/share/bins/
+
+@DPATCH@
+--- bins-1.1.29.orig/doc/bins.sgml
++++ bins-1.1.29/doc/bins.sgml
+@@ -188,7 +188,7 @@
+ 	  <para>Specify location of html templates.</para>
+ 	  <para>Default is <filename>~/.bins</filename>, falling back
+ 	    to default versions in
+-	    <filename>/etc/bins/templates.<replaceable>style</replaceable></filename>.</para>
++	    <filename>/usr/share/bins/templates.<replaceable>style</replaceable></filename>.</para>
+ 	</listitem>
+       </varlistentry>
+       <varlistentry>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/07_fix_share	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,28 @@
+#!/bin/sh -e
+## 07_fix_share.dpatch by Martin Michlmayr <tbm@cyrius.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: use correct dir for share, Bug#327797
+
+--- bins-1.1.29.orig/install.sh
++++ bins-1.1.29/install.sh
+@@ -24,8 +24,9 @@
+ GLOBAL_RC="$RC"
+ 
+ DESTDIR=`echo "$DESTDIR"|sed 's%/$%%'`
+-PREFIX=$DESTDIR/`echo "$PREFIX"|sed 's%^/%%'`
+ PREFIX=`echo "$PREFIX"|sed 's%/$%%'`
++GLOBAL_SHARE="$PREFIX/share"
++PREFIX=$DESTDIR/`echo "$PREFIX"|sed 's%^/%%'`
+ ETC=$DESTDIR/`echo "$ETC"|sed 's%^/%%'`
+ ETC=`echo "$ETC"|sed 's%/$%%'`
+ RC=$DESTDIR/`echo "$RC"|sed 's%^/%%'`
+@@ -227,7 +228,7 @@
+ do
+   echo -n " $FILE"
+   ed "$FILE" <<EoF 2>/dev/null
+-1,\$s%/usr/local/share%$SHARE%g
++1,\$s%/usr/local/share%$GLOBAL_SHARE%g
+ 1,\$s%/etc/bins%$GLOBAL_RC%g
+ wq
+ EoF
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/08_fix_bins-edit-gui_encoding	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,22 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 08_fix_bins-edit-gui_encoding.dpatch by  <rousseau@acer.maison.bogus>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- bins-1.1.29.orig/bins-edit-gui
++++ bins-1.1.29/bins-edit-gui
+@@ -121,10 +121,10 @@
+ # Solaris refers to ISO 646 as "646" but that is not a valid codeset
+ if (!$@ && $codeset && $codeset ne "ANSI_X3.4-1968" && $codeset ne "646") {
+   $localEncoding = $codeset;
+-  print "Forcing encoding to $codeset";
++  print "Forcing encoding to $codeset\n";
+ }
+ 
+-chop($localEncoding);
++chomp($localEncoding);
+ if (! $localEncoding) {
+   $localEncoding = "LATIN1";
+ }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/09_fix_wrong_relpath	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,17 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 09_fix_wrong_relpath.dpatch by Martin Michlmayr <tbm@cyrius.com>
+##
+## DP: Fix a off by one in relpath() [#334088]
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -1151,7 +1151,7 @@
+     my $l2 = length($p2);
+ 
+     my $cl = cls($p1, $p2);
+-
++    $cl-- if (substr($p2, $cl-1, 1) ne "/");
+     my $p2r = substr( $p2, $cl, $l2);
+ 
+     my $p1dc = 0;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/10_symlinks_movies	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,30 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 10_symlinks_movies.dpatch by Martin Michlmayr <tbm@cyrius.com>
+##
+## DP: Support linkInsteadOfCopy for movies [#334064]
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -1849,7 +1849,20 @@
+                     my $from="$picdir$album$fileInAlbum";
+                     my $to="$albumdir$album$fileInAlbum";
+                     if ( ! -f $to ) {
+-                        `cp -p "$from" "$to"`;
++                        if ($configHash->{linkInsteadOfCopy}) {
++                            my $newpath;
++                            if ($configHash->{linkRelative}) {
++                                $newpath = relpath($to, $from);
++                            } else {
++                                $newpath = $from;
++                            }
++                            beVerboseN("Linking from $to to $newpath...", 2);
++                            system("ln", "-sf", $newpath, $to) == 0
++                                or die("\nCannot link $to to $newpath: $?");
++                        } else {
++                            beVerboseN("Copying from $from to $to...", 2);
++                            `cp -p "$from" "$to"`;
++                        }
+                     }
+                 }
+             }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/11_check_template_style	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 11_check_template_style.dpatch by Martin Michlmayr <tbm@cyrius.com>
+##
+## DP: Check if template style exists before processing images [#308114]
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -1092,6 +1092,11 @@
+         exit 1;
+     }
+ 
++    if (! scalar templateDirs($configHash)) {
++        print "Cannot find template style '", $configHash->{templateStyle}, "'\n";
++        exit 1;
++    }
++
+     $picdir = $ARGV[0];
+     $albumdir = $ARGV[1];
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/12_optional_xml_elements	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,107 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 12_optional_xml_elements.dpatch  by Martin Michlmayr <tbm@cyrius.com>
+##
+## DP: Make XML elements optional and check whether the XML files are
+## DP: valid bins files [#308338]
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -3899,10 +3899,14 @@
+     if (-e $descFile) {
+         beVerboseN("  Reading desc file $descFile.", 3);
+         $document = getXMLAsGrove($descFile);
+-        %descHash   = getDescXML($document, $configHash);
+-        #$descHash{descFileName} =  uri_escape($descFile, '^-A-Za-z0-9/_\.');
+-        $configHash = getConfigXML($document, '/image/bins', $configHash);
+-        %exifHash   = getExifXML($document, \@priorityList);
++        if (! $document->at_path("/image")) {
++            beVerboseN("Description file $descFile has no <image> element, ignoring.", 1);
++        } else {
++            %descHash   = getDescXML($document, $configHash) if $document->at_path("/image/description");
++            #$descHash{descFileName} =  uri_escape($descFile, '^-A-Za-z0-9/_\.');
++            $configHash = getConfigXML($document, '/image/bins', $configHash) if $document->at_path("/image/bins");
++            %exifHash   = getExifXML($document, \@priorityList) if $document->at_path("/image/exif");
++        }
+     } else {
+         $descHash{descFileName} =  "";
+     }
+@@ -4541,6 +4545,10 @@
+     beVerboseN("Reading album description file '$descFile'...", 3);
+ 
+     my $document = getXMLAsGrove($descFile);
++    if (! $document->at_path("/album")) {
++        beVerboseN("Description file $descFile has no <album> element, ignoring.", 1);
++        return $configHash;
++    }
+     # I have to do that, don't ask me why...
+ 
+     #$XML::UM::ENCDIR="/usr/lib/perl5/XML/Parser/";
+@@ -4548,37 +4556,40 @@
+     #             Encoding => 'ISO-8859-9',
+     #             EncodeUnmapped => \&XML::UM::encode_unmapped_dec);
+ 
+-    $configHash = getConfigXML($document, "/album/bins", $configHash);
++    $configHash = getConfigXML($document, "/album/bins", $configHash) if
++        $document->at_path("/album/bins");
+ 
+-    foreach my $element
+-        (@{$document->at_path('/album/description')->{Contents}}) {
+-            if (UNIVERSAL::isa($element, 'XML::Grove::Element') && $element->{Name} eq "field") {
+-                $fieldName = $element->{Attributes}{'name'};
+-                $fieldValue = "";
+-                if (grep (/^$fieldName$/, @AlbumFieldNames)) {
+-                    beVerbose("    Reading field '$fieldName':", 3);
+-                    foreach my $characters (@{$element->{Contents}}) {
+-                        $fieldValue .= $characters->as_canon_xml();
+-                    }
+-                    #if ($fieldName ne "shortdesc" && $fieldName ne "longdesc"){
+-                    #  $fieldValue = decode_entities($fieldValue);
+-                    #}
+-                    if ($fieldName eq "sampleimage"){
+-                        $fieldValue =
+-                            trimWhiteSpace(decode_entities($fieldValue));
+-                        beVerbose("'".$fieldValue."'\n", 3);
+-                    }else{
+-                        $fieldValue =
+-                            trimWhiteSpace(decode_entities(xml2html($fieldValue)));
+-                        beVerbose("'".$fieldValue."'\n", 3);
++    if ($document->at_path("/album/description")) {
++        foreach my $element
++            (@{$document->at_path('/album/description')->{Contents}}) {
++                if (UNIVERSAL::isa($element, 'XML::Grove::Element') && $element->{Name} eq "field") {
++                    $fieldName = $element->{Attributes}{'name'};
++                    $fieldValue = "";
++                    if (grep (/^$fieldName$/, @AlbumFieldNames)) {
++                        beVerbose("    Reading field '$fieldName':", 3);
++                        foreach my $characters (@{$element->{Contents}}) {
++                            $fieldValue .= $characters->as_canon_xml();
++                        }
++                        #if ($fieldName ne "shortdesc" && $fieldName ne "longdesc"){
++                        #  $fieldValue = decode_entities($fieldValue);
++                        #}
++                        if ($fieldName eq "sampleimage"){
++                            $fieldValue =
++                                trimWhiteSpace(decode_entities($fieldValue));
++                            beVerbose("'".$fieldValue."'\n", 3);
++                        }else{
++                            $fieldValue =
++                                trimWhiteSpace(decode_entities(xml2html($fieldValue)));
++                            beVerbose("'".$fieldValue."'\n", 3);
++                        }
++                        #       $fieldValue = $encode->(trimWhiteSpace($fieldValue));
++                        $hash->{$fieldName} = $fieldValue;
++                    } else {
++                        beVerboseN("    Ignoring unknown field '$fieldName'.", 3);
+                     }
+-                    #       $fieldValue = $encode->(trimWhiteSpace($fieldValue));
+-                    $hash->{$fieldName} = $fieldValue;
+-                } else {
+-                    beVerboseN("    Ignoring unknown field '$fieldName'.", 3);
+                 }
+             }
+-        }
++    }
+     return $configHash;
+ }
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/13_locale_encoding	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,40 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 13_locale_encoding.dpatch by Jérôme Sautret
+##
+## DP: convert latin-1 output to locale [#308111]
+
+@DPATCH@
+
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -952,13 +952,23 @@
+ 
+ sub write_htaccess;
+ 
+-print "\nBINS Photo Album 1.1.29 (http://bins.sautret.org/)\n";
+-print "Copyright © 2001-2004 Jérôme Sautret (Jerome\@Sautret.org)\n";
+-print "Some parts of code:\n";
+-print "Copyright © 2000 Brendan McMahan (mcmahahb\@whitman.edu)\n";
+-print "Copyright ©      John Moose (moosejc\@muohio.edu)\n\n";
+-print "This is free software with ABSOLUTELY NO WARRANTY.\n";
+-print "See COPYING file for details.\n\n";
++my $copyright=<<END;
++BINS Photo Album 1.1.29 (http://bins.sautret.org/)
++Copyright © 2001-2004 Jérôme Sautret (Jerome\@Sautret.org)
++Some parts of code:
++Copyright © 2000 Brendan McMahan (mcmahahb\@whitman.edu)
++Copyright ©      John Moose (moosejc\@muohio.edu)
++
++This is free software with ABSOLUTELY NO WARRANTY.
++See COPYING file for details.
++
++END
++
++my $latin2localConverter;
++$latin2localConverter = Text::Iconv->new('latin1',
++$defaultConfig{defaultEncoding});
++$copyright = $latin2localConverter->convert($copyright);
++print $copyright;
+ 
+ # EVG (Evil Global Variables)
+ # Some on them should be moved to the config hash so they can be
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/14_bins-edit-gui	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 14_bins-edit-gui.dpatch by  <rousseau@macbox.maison.bogus>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- bins-1.1.29.orig/bins-edit-gui
++++ bins-1.1.29/bins-edit-gui
+@@ -38,8 +38,33 @@
+ 
+ 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;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/15_example_css	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,90 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 15_example_css.dpatch by  <rousseau@macbox.maison.bogus>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- /dev/null
++++ bins-1.1.29/doc/example.css
+@@ -0,0 +1,80 @@
++body               {
++                   }
++
++.navhomehead       { padding-top: 0; 
++                     margin-bottom: 0;
++                     padding-bottom: 0;
++                     font-size: 80%
++                   }
++
++.navhomehead           { color: black; }
++.navhomehead a:link    { color: black; }
++.navhomehead a:visited { color: black; }
++
++.navhead           { padding-top: 0; 
++                     margin-bottom: 0;
++                     padding-bottom: 0;
++                     font-size: 80%
++                   }
++
++.navhead           { color: black; }
++.navhead a:link    { color: black; }
++.navhead a:visited { color: black; }
++
++.navfoot           { color: black;
++                     font-size: 70%;
++                   }
++
++.navfoot a:link    { color: black; }
++.navfoot a:visited { color: black; }
++
++pre.programlisting { font-size: 80%;
++                   }
++
++span.footdate      { color: black;
++                     font-size: 70%;
++                     font-family: Arial, sans-serif;
++                   }
++
++span.foothome      { color: black;
++                     font-size: 70%;
++                     font-family: Arial, sans-serif;
++                   }
++
++span.footfeed      { color: black;
++                     font-size: 70%;
++                     font-family: Arial, sans-serif;
++                   }
++
++span.footcopy      { color: black;
++                     font-size: 70%;
++                     font-family: Arial, sans-serif;
++                   }
++
++SPAN.curpage           { color: yellow;
++                         font-style: italic; }
++SPAN.curpage A         { color: white; }
++SPAN.curpage A:link    { color: white; }
++SPAN.curpage A:visited { color: white; }
++
++SPAN.toplevel A          { color: white; }
++SPAN.toplevel A:link     { color: white; }
++SPAN.toplevel A:visited  { color: white; }
++
++SPAN.otherpage           { color: white; }
++SPAN.otherpage A         { color: white; }
++SPAN.otherpage A:link    { color: white; }
++SPAN.otherpage A:visited { color: white; }
++
++SPAN.descendant A         { color: white; }
++SPAN.descendant A:link    { color: white; }
++SPAN.descendant A:visited { color: white; }
++
++SPAN.ancestor A         { color: white; }
++SPAN.ancestor A:link    { color: white; }
++SPAN.ancestor A:visited { color: white; }
++
++SPAN.shrink1           { font-size: 80%; }
++SPAN.shrink2           { font-size: 70%; }
++SPAN.shrink3           { font-size: 70%; }
++
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/16_examples_html	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,17 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 16_examples_html.dpatch by  <rousseau@macbox.maison.bogus>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- bins-1.1.29.orig/doc/examples.html
++++ bins-1.1.29/doc/examples.html
+@@ -92,6 +92,6 @@
+   </div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2469829"></a>Screenshots</h2></div></div></div>
+      
+ 
+-    <p>Here is a <a href="bins-edit-gui.jpg" target="_top">screenshot</a>
++    <p>Here is a <a href="http://bins.sautret.org/bins-edit-gui.jpg" target="_top">screenshot</a>
+     of bins-edit-gui, the gnome interface.</p>
+   </div><br></td></tr></table><div class="navfoot"><hr><table width="100%" border="0" summary="Footer navigation"><tr><td width="33%" align="left"><span class="footdate">$Date: 2005/08/08 20:35:08 $</span></td><td width="34%" align="center"><span class="foothome"><a href="index.html">Home</a></span></td><td width="33%" align="right"> </td></tr><tr><td colspan="3" align="right"><span class="footcopy"><span class="copyright">Copyright © 2001, 2005,  Jérôme SAUTRET. </span></span></td></tr></table></div></div></body></html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/17_bins	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,18 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 17_bin.dpatch by  <rousseau@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -547,7 +547,7 @@
+          "date" =>
+          { Name => _("Date"),
+            EXIF => "DateTimeOriginal",
+-           Transform => '$_ = local2html(strftime $configHash->{dateString}, gmtime str2time "$_") if str2time "$_"',
++           Transform => '$_ = local2html(strftime $configHash->{dateString}, localtime str2time "$_") if str2time "$_"',
+            # Alternatively, you could use regex substitution:
+            # English version is yyyy:mm:dd hh:mm:ss to yyyy/mm/dd hh:mm:ss :
+            # Transform => 's%^(\\d+):(\\d+):(\\d+) (.*)$%\$1/\$2/\$3 \$4%',
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/18_bins-memory-leak	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,214 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 18_bins-1.1.29-memory-leak.dpatch by  <rousseau@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -449,13 +449,13 @@
+ $defaultConfig{fileActiveSizeNames} = \@fileActiveSizeNames;
+ 
+ # Fields to display (in the list order) under the picture. These
+-# fields are defined in the getFields function below.
++# fields are defined in the %fields hash below.
+ my @mainFields = ("description", "people", "location", "date",
+                                   "event", "comment");
+ 
+ 
+ # Fields to display (in the list order) in the details page. These
+-# fields are in the getFields function below.
++# fields are in the %fields hash below.
+ my @secondaryFields = (
+                        # DigiCam
+                        _("BINS-SECTION DigiCam Info"),
+@@ -519,7 +519,6 @@
+                        "BINS-SECTION end", # close the last section
+                        );
+ 
+-sub getFields {
+     # The key is the string used as the name in the picture
+     #   description file.
+     # Name corresponds to the string displayed under the picture.
+@@ -527,9 +526,8 @@
+     #   found in some JPEG images.
+     # The value of the EXIF structure is only used if no value
+     #   is present in the picture description file.
+-    # Transform is a Perl operator used to convert an exif value
+-    #   to the desired format to display.  It is evaluated as
+-    #   normal Perl code and the result has to be in $_.
++    # Note: See also postProcessHashArrays() for dateString related
++    # items
+     my %fields =
+           (
+          "title" =>
+@@ -547,12 +545,6 @@
+          "date" =>
+          { Name => _("Date"),
+            EXIF => "DateTimeOriginal",
+-           Transform => '$_ = local2html(strftime $configHash->{dateString}, localtime str2time "$_") if str2time "$_"',
+-           # Alternatively, you could use regex substitution:
+-           # English version is yyyy:mm:dd hh:mm:ss to yyyy/mm/dd hh:mm:ss :
+-           # Transform => 's%^(\\d+):(\\d+):(\\d+) (.*)$%\$1/\$2/\$3 \$4%',
+-           # French version is yyyy:mm:dd hh:mm:ss to dd/mm/yyyy hh:mm:ss :
+-           # Transform => 's%^(\d+):(\d+):(\d+) (.*)$%$3/$2/$1 $4%',
+                  },
+ 
+              "event" =>
+@@ -822,8 +814,6 @@
+            Tip => _("Indicates the image sensor type on the camera or input device."),
+        },
+          );
+-    return \%fields;
+-}
+ 
+ my @priorityExifTags = ();  # the field in this list are taken from
+ # the desc file, even if they are present
+@@ -847,10 +837,10 @@
+                 });
+ $defaultConfig{colorsSubs} = \%colorsSubs;
+ 
+-sub getIntlSubs{
+-    my $configHash = shift;
+-    # Strings to translate in the HTML template pages (if I18N is used)
+-    my %intlSubs = (  STRING_THUMBNAILS   => _("thumbnails"),
++# Strings to translate in the HTML template pages (if I18N is used)
++# Note: See also postProcessHashArrays() for dateString related
++# items
++my %intlSubs = (  STRING_THUMBNAILS   => _("thumbnails"),
+                       STRING_IMAGELIST    => _("Image List"),
+                       STRING_HOME => _("Home"),
+                       STRING_ALBUM => _("Album"),
+@@ -882,13 +872,11 @@
+                       BINS_VERSION             => "1.1.29",
+                       ENCODING                 => $defaultConfig{htmlEncoding},
+                       GENERATED_DATE       => _("on ").
+-                      local2html(strftime($configHash->{dateString},
++                      local2html(strftime($defaultConfig{dateString},
+                                           localtime)),
+                       BINS_ID =>
+                       '<!--$Id: bins,v 1.182 2005/08/22 23:52:33 jerome Exp $-->',
+                       );
+-    return \%intlSubs;
+-}
+ 
+ # @knownImageExtentions defines file extensions that BINS can handle as
+ # input image. BINS _should_ handle all input format of ImageMagick
+@@ -925,6 +913,7 @@
+ sub beVerboseN;
+ sub min;
+ sub readConfigFile;
++sub postProcessHashArrays;
+ sub fileSize;
+ sub generateAlbumPages;
+ sub filenameToPreviewName;
+@@ -942,8 +931,6 @@
+ sub trimWhiteSpace;
+ sub stringToBool;
+ sub ignoreSet;
+-sub getFields;
+-sub getIntlSubs;
+ 
+ sub generateThumbnailPages;
+ sub generateThumbEntry;
+@@ -1015,6 +1002,27 @@
+     return \%option;
+ }
+ 
++# process hash arrays after reading config file
++# a non-default value of dateString might have been read from the
++# configuration file, so the proper values must be inserted into the
++# %fields and %intlSubs hash arrays
++sub postProcessHashArrays {
++    my $configHash = shift;
++
++    # Transform is a Perl operator used to convert an exif value
++    #   to the desired format to display.  It is evaluated as
++    #   normal Perl code and the result has to be in $_.
++    $fields{date}{Transform} =
++        '$_ = local2html(strftime $configHash->{dateString}, localtime str2time "$_")';
++           # Alternatively, you could use regex substitution:
++           # English version is yyyy:mm:dd hh:mm:ss to yyyy/mm/dd hh:mm:ss :
++           # Transform => 's%^(\\d+):(\\d+):(\\d+) (.*)$%\$1/\$2/\$3 \$4%',
++           # French version is yyyy:mm:dd hh:mm:ss to dd/mm/yyyy hh:mm:ss :
++           # Transform => 's%^(\d+):(\d+):(\d+) (.*)$%$3/$2/$1 $4%',
++    $intlSubs{GENERATED_DATE} = _("on ").
++            local2html(strftime($configHash->{dateString}, localtime)),
++}
++
+ # process command line arguments after reading config file
+ sub postProcessArgs {
+     my $option = shift;
+@@ -1272,6 +1280,9 @@
+     # read configurations files
+     my $defaultConfig = readConfigFile(\%defaultConfig);
+ 
++    # post process %fields and %intlSubs hash arrays
++    postProcessHashArrays($defaultConfig);
++
+     # post process command line args after reading config files
+     postProcessArgs($options, $defaultConfig);
+ 
+@@ -2962,7 +2973,7 @@
+             $sectionTitle = $tagName;
+             $sectionTitle =~ s/^BINS-SECTION //;
+         }else{
+-            $tagValue = getFields($configHash)->{$tagName};
++            $tagValue = $fields{$tagName};
+             if ($imageInfo->{$tagName}) {
+                 my %row = (FIELD_NAME => $tagValue->{'Name'},
+                            FIELD_VALUE => local2html($imageInfo->{$tagName})
+@@ -3017,7 +3028,7 @@
+     $subs_hash{CUSTOM_CSS} = $configHash->{customStyleSheet};
+ 
+     my @array;
+-    push @array, {NAV_NAME => getIntlSubs($configHash)->{STRING_BACKTOTHEIMAGE},
++    push @array, {NAV_NAME => $intlSubs{STRING_BACKTOTHEIMAGE},
+                   NAV_LINK => "javascript:history.back();",
+                   NAV_ICON => "back.png",
+                   NAV_ID => "back"};
+@@ -3674,7 +3685,7 @@
+         if (${%$hashref}{$tagName}) {
+             my $value=${%$hashref}{$tagName};
+             $value =~ s/'/&#39;/g  ; # in case it's used in javascript code
+-            push @descTable, {DESC_FIELD_NAME => getFields($configHash)->{$tagName}->{'Name'},
++            push @descTable, {DESC_FIELD_NAME => $fields{$tagName}->{'Name'},
+                               DESC_FIELD_VALUE => $value,
+                           };
+         }
+@@ -3819,7 +3830,7 @@
+     %{$templateParameters} =
+         (%{$templateParameters},
+          %{$configHash->{colorsSubs}{$configHash->{colorStyle}}},
+-         %{getIntlSubs($configHash)},
++         %intlSubs,
+          );
+ 
+     # open the html template
+@@ -3951,7 +3962,7 @@
+                 && $element->{Name} eq "field") {
+                 $fieldName = $element->{Attributes}{'name'};
+                 $fieldValue = "";
+-                if (grep (/^$fieldName$/, keys(%{getFields($configHash)}))) {
++                if (grep (/^$fieldName$/, keys(%fields))) {
+                     beVerbose("    Reading field '$fieldName':", 3);
+                     foreach my $characters (@{$element->{Contents}}) {
+                         #if (UNIVERSAL::isa($characters, 'XML::Grove::Characters')) {
+@@ -4377,13 +4388,13 @@
+     }
+ 
+     # add value to desc Hash if field is void
+-    foreach my $field (keys(%{getFields($configHash)})) {
+-        my $fieldExif = getFields($configHash)->{$field}->{'EXIF'};
++    foreach my $field (keys(%fields)) {
++        my $fieldExif = $fields{$field}->{'EXIF'};
+         if ((! $descHash->{$field}) && $fieldExif && $exifHash->{$fieldExif}) {
+             beVerboseN("  Using '$field' from EXIF data: ".
+                        $exifHash->{$fieldExif}, 3);
+ 
+-            my $func = getFields($configHash)->{$field}->{'Transform'};
++            my $func = $fields{$field}->{'Transform'};
+             if ($func) {
+                 $_ = $exifHash->{$fieldExif};
+                 beVerbose("  Evaluating '$func' from '$_'", 4);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/19_bins-insert-directory	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,147 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 19_bins-1.1.29-insert-directory.dpatch by  <rousseau@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -399,6 +399,10 @@
+                                            # strings on console and to
+                                            # convert strings from .po
+                                            # files.
++
++     injectDir      => '',                  # directory to be injected
++                                            # without rebuilding complete
++                                            # album
+      );
+ 
+ my $codeset;
+@@ -985,7 +989,7 @@
+     Getopt::Long::Configure("bundling");
+     die "Invalid options\n"
+         if (!GetOptions(\%option, "h", "p", "r:s", "e", "o:s", "t=s", "d=s", "s=s",
+-                        "c=s", "v:i", "i=s", "n=s", "f=s"));
++                        "c=s", "v:i", "i=s", "n=s", "f=s", "j=s"));
+ 
+     if (defined($option{v})) {
+         $verbose = $option{v};
+@@ -1146,6 +1150,25 @@
+ 
+         die "albumdir_dir ($albumdir) can't be a subdirectory of picdir_dir ($picdir)"
+             if ($albumdir2 =~ m/^$picdir2\//);
++
++        if( defined $option{j} ) {
++            my $injectDir = $option{j};
++            my $injectExists = 1;
++
++            chdir $injectDir or warn "Can't chdir $injectDir: $!" and $injectExists = 0;
++
++            if( $injectExists ) {
++                $injectDir = File::Spec->rel2abs(".") unless -l $option{j};
++                chdir $pwd;
++            }
++
++            die "inject_dir (specified via -j parameter) $option{j} must be a subdirectory of pic_dir ($picdir)"
++                unless $injectDir =~ m#^$picdir2/.*#;
++
++            $configHash->{injectDir}
++                = File::Spec->rel2abs(File::Spec->canonpath($injectDir));
++            $configHash->{injectDir} .= '/';        # add trailing slash
++        }
+     }
+ 
+     $picdir = File::Spec->rel2abs(File::Spec->canonpath($picdir));
+@@ -2190,6 +2213,16 @@
+ 
+ sub generateImageListPage{
+     my ($album, $albumHashRef, $imageDataRef, $xlinksRef, $configHash) = @_;
++    if( $configHash->{injectDir} ne '' ) {
++        my $injectDir = $configHash->{injectDir};
++        my $oneDirUp;
++        # drop the last subdirectory
++        ( $oneDirUp = $configHash->{injectDir} ) =~ s#(.*/).*?/$#$1#o;
++        my $dir = $picdir . $album;
++        # Only generate imagelist page during injection
++        # for 1-level-up or injected album itself
++        return unless $dir =~ m#($oneDirUp|$injectDir)$#;
++    }
+     my %albumHash = %{$albumHashRef};
+     my @imageData = @{$imageDataRef};
+     my $pwd;
+@@ -2400,6 +2433,18 @@
+ 
+ sub generateLongSubAlbumPage{
+     my ($album, $albumHashRef, $configHash) = @_;
++    if( $configHash->{injectDir} ne '' ) {
++        my $injectDir = $configHash->{injectDir};
++        my( $oneDirUp, $twoDirUp );
++        # drop the last subdirectory
++        ( $oneDirUp = $configHash->{injectDir} ) =~ s#(.*/).*?/$#$1#o;
++        # drop the last subdirectory
++        ( $twoDirUp = $oneDirUp ) =~ s#(.*/).*?/$#$1#o;
++        my $dir = $picdir . $album;
++        # Only generate subalbum page during injection for
++        # 1-level-up or 2-level-up or injected album itself
++        return unless $dir =~ m#($oneDirUp|$twoDirUp|$injectDir)$#;
++    }
+     my %albumHash = %{$albumHashRef};
+ 
+     # hash for final subsitutions
+@@ -2680,6 +2725,18 @@
+     my ($album, $albumHashRef, $firstIsIndex, $configHash,
+         $xlinkListRef,
+         @imageData) = @_;
++
++    if( $configHash->{injectDir} ne '' ) {
++        my $injectDir = $configHash->{injectDir};
++        my $oneDirUp;
++        # drop the last subdirectory
++        ( $oneDirUp = $configHash->{injectDir} ) =~ s#(.*/).*?/$#$1#o;
++        my $dir = $picdir . $album;
++        # Only generate thumbnail page during injection for
++        # 1-level-up or injected album itself
++        return unless $dir =~ m#($oneDirUp|$injectDir)$#;
++    }
++
+     my @xlinkList=@$xlinkListRef;
+     my %albumHash = %{$albumHashRef};
+     my $numImages = scalar(@imageData); #element count
+@@ -3095,6 +3152,13 @@
+     my ($album, $albumHashRef, $firstIsIndex,
+         $configHash, @imagesToDisplay) = @_;
+ 
++    my $skipDueToInjection = 0;
++
++    if( $configHash->{injectDir} ne '' ) {
++        # skip processing of images unless processing injected directory
++        $skipDueToInjection = 1 unless $picdir . $album eq $configHash->{injectDir};
++    }
++
+     # an array of references to hashes storing information about each image
+     my @imageData;
+ 
+@@ -3350,10 +3414,12 @@
+         $imageData[$i]{'detailsLink'} =
+             generateSecondaryFieldsPage($imageData[$i], $album, $albumHashRef,
+                                         $crntImageBase.$crntImageType,
+-                                        $configHash);
++                                        $configHash)
++                unless $skipDueToInjection;
+         if ( $configHash->{searchEngine}) {
+             writeSearchString($imageData[$i], $configHash, $albumHashRef,
+-                              $album);
++                              $album)
++                unless $skipDueToInjection;
+         }
+     }
+ 
+@@ -3361,6 +3427,7 @@
+ 
+     # now generate html
+     for ($i=0; $i<$numImages; $i++) {
++        last if $skipDueToInjection;
+         for (my $j=0; $j <= $imageData[$i]->{maxSize}; $j++) {
+             my $lastImageURL = getHTMLImagePageLink($imageData[$numImages-1],
+                                                     $j, $numImages-1);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/20_bins-syscall	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,35 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_bins-1.1.29-syscall.dpatch by  <rousseau@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -3546,13 +3546,14 @@
+                     $newpath = "$picdir$origName";
+                 }
+                 beVerboseN("Linking from $albumdir$newName to $newpath... ", 2);
+-                system("ln", "-sf", $newpath, "$albumdir$newName") == 0
++                unlink("$albumdir$newName");
++                symlink($newpath, "$albumdir$newName") == 1
+                     or die("\nCannot link $albumdir$newName to $newpath: $?");
+                 # the original file may be r/o but we don't have to modify it
+                 # but it must be readable by the http deamon
+                 if ($configHash->{updateOriginalPerms})
+                 {
+-                    system("chmod", "a+r", "$picdir$origName") == 0
++                    chmod(0644, "$picdir$origName") == 1
+                         or die("\nCannot set read permission on $albumdir$newName: $?");
+                 }
+                 beVerboseN("done.", 2);
+@@ -3563,7 +3564,7 @@
+                 system("cp", "-p", "$picdir$origName", "$albumdir$newName") == 0
+                     or die("\nCannot copy $picdir$origName to $albumdir$newName: $?");
+                 # make it writable in case $origName was r/o
+-                system("chmod", "u+w,a+r", "$albumdir$newName") == 0
++                chmod(0644, "$albumdir$newName") == 1
+                     or die("\nCannot set write permission on $albumdir$newName: $?");
+                 beVerboseN("done.", 2);
+                 return 1;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/21_bins-trim	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 21_bins-trim.dpatch by  <rousseau@imac.maison.bogus>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: add -trim argument to jpegtran.
+## DP: Closes: #284157: bins: avoidable jpegtran image corruption
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -4894,7 +4894,7 @@
+         if ($rotateJPEG eq "none") {
+             beVerbose("\n  Looking for a JPEG rotation utility (jpegtran)... ", 3);
+             if (commandAvailable("jpegtran")) {
+-                $rotateJPEG = 'jpegtran -copy all -rotate %s -outfile "%s.tmp" "%s" && mv "%s.tmp" "%s"';
++                $rotateJPEG = 'jpegtran -trim -copy all -rotate %s -outfile "%s.tmp" "%s" && mv "%s.tmp" "%s"';
+                 beVerboseN(" found jpegtran.", 3);
+             } elsif (commandAvailable("jpegtran-mmx")) {
+                 $rotateJPEG = 'jpegtran-mmx -copy all -rotate %s -outfile "%s.tmp" "%s" && mv "%s.tmp" "%s"';
+@@ -5001,7 +5001,7 @@
+         if ($progressifyJPEG eq "none") {
+             beVerbose("\n  Looking for a progressive JPEG utility (jpegtran)... ", 3);
+             if (commandAvailable("jpegtran")) {
+-                $progressifyJPEG = 'jpegtran -copy all -progressive -outfile "%s" "%s"';
++                $progressifyJPEG = 'jpegtran -trim -copy all -progressive -outfile "%s" "%s"';
+                 beVerboseN(" found jpegtran.", 3);
+             } else {
+                 $progressifyJPEG = "";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/22_bins-hash-ref	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 22_hash_ref.dpatch by  <rousseau@imac.maison.bogus>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Closes: #481662 bins: Crashes mid-album
+
+@DPATCH@
+--- bins-1.1.29.orig/bins
++++ bins-1.1.29/bins
+@@ -3750,8 +3750,8 @@
+ 
+     my @descTable;
+     foreach my $tagName (@mainFields) {
+-        if (${%$hashref}{$tagName}) {
+-            my $value=${%$hashref}{$tagName};
++        if (${$hashref}{$tagName}) {
++            my $value=${$hashref}{$tagName};
+             $value =~ s/'/&#39;/g  ; # in case it's used in javascript code
+             push @descTable, {DESC_FIELD_NAME => $fields{$tagName}->{'Name'},
+                               DESC_FIELD_VALUE => $value,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/23_bashism	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,19 @@
+--- bins-1.1.29.orig/tools/anti_bins
++++ bins-1.1.29/tools/anti_bins
+@@ -47,7 +47,7 @@
+     exit 2
+ fi
+ 
+-if [[ $CONFIGURATION_IS_OK == 0 ]] ; then
++if [ $CONFIGURATION_IS_OK = 0 ] ; then
+     echo "Edit this script to set configuration variables."
+     exit 1
+ fi
+--- bins-1.1.29.orig/tools/add_num_prefix
++++ bins-1.1.29/tools/add_num_prefix
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+ 
+ # Add a numeric prefix starting at $1, incrementing by $2 on $3..$n files
+ 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/patches/series	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,20 @@
+23_bashism
+04_bins-edit-gui
+05_share-man
+06_doc_bins.sgml
+07_fix_share
+08_fix_bins-edit-gui_encoding
+09_fix_wrong_relpath
+10_symlinks_movies
+11_check_template_style
+12_optional_xml_elements
+13_locale_encoding
+14_bins-edit-gui
+15_example_css
+16_examples_html
+17_bins
+18_bins-memory-leak
+19_bins-insert-directory
+20_bins-syscall
+21_bins-trim
+22_bins-hash-ref
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/rules	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,119 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+#LANGS=de fr pl
+
+LFILES=$(subst intl/,,$(wildcard intl/??.mo))
+LANGS=$(LFILES:.mo=)
+GUILFILES=$(subst intl/gui-,,$(wildcard intl/gui-??.mo))
+GUILANGS=$(GUILFILES:.mo=)
+
+CFLAGS += -g
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O2
+endif
+
+
+version := $(shell dpkg-parsechangelog | \
+	sed -ne 's/^Version: *\([0-9]\+:\)*//p')
+
+tag:
+	cvs tag -c -F $(subst .,_,debian_version_$(version))
+
+include /usr/share/quilt/quilt.make
+
+configure: configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+
+	touch configure-stamp
+
+build: build-stamp
+build-stamp: patch configure-stamp 
+	dh_testdir
+
+	touch build-stamp
+
+clean: unpatch
+	dh_testdir
+	dh_testroot
+
+	if [ -f doc/bins.1.bak ]; then \
+		mv doc/bins.1.bak doc/bins.1; fi
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+
+	# backup original manpages
+	mv doc/bins.1 doc/bins.1.bak
+
+	# regeneate modified manpages
+	docbook-to-man doc/bins.sgml > doc/bins.1
+
+	# Add here commands to install the package into debian/bins.
+	echo | ( DESTDIR=`pwd`/debian/bins PREFIX=/usr ./install.sh )
+	install -m 0755 tools/bins_cleanupgallery debian/bins/usr/bin/
+
+	install -m 0755 tools/add_num_prefix debian/bins/usr/share/doc/bins/examples/
+	install -m 0755 tools/anti_bins debian/bins/usr/share/doc/bins/examples/
+	install -m 0755 tools/bins_addtext debian/bins/usr/share/doc/bins/examples/
+	install -m 0755 tools/bins_txt2xml debian/bins/usr/share/doc/bins/examples/
+	install -m 0755 tools/remove_num_prefix debian/bins/usr/share/doc/bins/examples/
+
+	# install HTML documentation
+	cp doc/*html debian/bins/usr/share/doc/bins/
+
+	# remove bins-edit-gui since it depends on Gtk+ 1.x
+	find debian -name "bins-edit-gui*" -exec rm {} \;
+
+# Build architecture-independent files here.
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+#	dh_installdebconf	
+	dh_installdocs
+	dh_installexamples
+#	dh_installmenu
+#	dh_installlogrotate
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_installinit
+#	dh_installcron
+	dh_installman
+#	dh_installinfo
+#	dh_undocumented
+	dh_installchangelogs ChangeLog
+#	dh_link
+#	dh_strip
+	dh_compress
+	dh_fixperms
+#	dh_makeshlibs
+	dh_installdeb
+#	dh_perl
+#	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+# Build architecture-dependent files here.
+binary-arch: build install
+# We have nothing to do
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/watch	Wed Oct 15 23:35:35 2008 +0200
@@ -0,0 +1,4 @@
+version=3
+
+http://download.gna.org/bins/ \
+    bins-(.*)\.tar\.gz