--- mapivi-0.9.7.orig/debian/README.Debian +++ mapivi-0.9.7/debian/README.Debian @@ -0,0 +1,8 @@ +mapivi for Debian +----------------- + +In order to use the "make HTML..." feature, you'll have to manually choose +and then copy one of the HTML templates in to +<~/.mapivi/mapivi/pagetemplate.html>. + + -- Rene Weber Mon, 31 Dec 2007 10:57:53 -0500 --- mapivi-0.9.7.orig/debian/changelog +++ mapivi-0.9.7/debian/changelog @@ -0,0 +1,56 @@ +mapivi (0.9.7-1.3) unstable; urgency=low + + * Non-maintainer upload. + * debian/compat: 5 -> 7. (Closes: #965716) + * debian/rules: Add build-{arch,indep}. (Closes: #999232) + + -- Adrian Bunk Mon, 27 Dec 2021 22:05:51 +0200 + +mapivi (0.9.7-1.2) unstable; urgency=medium + + * Non maintainer upload by the Reproducible Builds team. + * No source change upload to rebuild on buildd with .buildinfo files. + + -- Holger Levsen Sun, 03 Jan 2021 17:30:57 +0100 + +mapivi (0.9.7-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "Program does not start by too may errors": + add patch 09_qw_parentheses: + qw() lists don't magically add parentheses anymore since Perl 5.18. + (Closes: #723969) + + -- gregor herrmann Tue, 22 Oct 2013 18:42:35 +0200 + +mapivi (0.9.7-1) unstable; urgency=low + + * New upstream release + * Main upstream changes from 0.9.1 to 0.9.7 + - May now browse pictures by location (from IPTC data) + - Improved the Crop, EXIF date, Search-duplicate and the import dialog + - IPTC caption is now editable in main window + - Some XMP operations are now available (needs ExifTool) + - Added support for RAW, XMP and WAV files (files are moved, copied and + renamed along with their JPEG file) + - Added several lossless JPEG operations, like add border and add + watermark + - Several other improvements and bugfixes + * Removed Debian patch for timezone fix as it is now in upstream + * Added watchfile + * Added icons to /usr/share/mapivi + * Modified mapivi to read from /usr/share rather than copy to user's + homedir, per agreement with upstream + * Removed POD block that appears to have been a comment, not actual POD + + -- Rene Weber Fri, 03 Apr 2009 17:41:58 +0200 + +mapivi (0.9.1-1) unstable; urgency=low + + * Initial release (Closes: #458460) + * Modified mapivi program to read from . + * Modified mapivi program for correct timezone information (across a 24 + hour barrier) + + -- Rene Weber Mon, 31 Dec 2007 10:57:53 -0500 + --- mapivi-0.9.7.orig/debian/compat +++ mapivi-0.9.7/debian/compat @@ -0,0 +1 @@ +7 --- mapivi-0.9.7.orig/debian/control +++ mapivi-0.9.7/debian/control @@ -0,0 +1,33 @@ +Source: mapivi +Section: perl +Priority: optional +Maintainer: Rene Weber +Build-Depends: debhelper (>= 5) +Standards-Version: 3.8.1 + +Package: mapivi +Architecture: all +Depends: ${perl:Depends}, perl-tk (>= 1:804.027-7), libimage-metadata-jpeg-perl (>= 0.15-1), libimage-info-perl (>= 1.23-2) +Recommends: libjpeg-progs, imagemagick, jhead, libimage-exiftool-perl +Suggests: jpegpixi +Homepage: http://mapivi.sourceforge.net/mapivi.shtml +Description: Photo viewer and organizer with emphasis on IPTC fields + Cross-platform (UNIX, Mac OS X, and Windows) picture manager and organizer, + Mapivi is a stand alone tool, there is no need for a web server, online + access or a database. + . + Deals with EXIF data (like timestamp, camera model, focal length, exposure + time, aperture, etc.), and is able to rename the pictures according to their + internal date/time, to display and modify JPEG comments and to do lossless + rotation. + . + The idea of using Mapivi as an picture organizer is to keep user, EXIF, and + IPTC information where it belongs -- in the pictures -- as well in a + searchable Mapivi database. + . + Mapivi is also able to do image processing. Mapivi serves here as a + frontend (GUI) for many proven command line tools, like the Image Magick + tools. + . + Home page: or or + --- mapivi-0.9.7.orig/debian/copyright +++ mapivi-0.9.7/debian/copyright @@ -0,0 +1,30 @@ +This package was debianized by Rene Weber on +Mon, 31 Dec 2007 10:57:53 -0500. + +It was downloaded from http://sourceforge.net/projects/mapivi + +Upstream Author: Martin Herrmann + +Copyright: 2002, 2003, 2004, 2005, 2006, 2007, 2008 Martin Herrmann + +License: + + This package 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 package 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + +The Debian packaging is (C) 2009, Rene Weber and +is licensed under the GPL, see above. --- mapivi-0.9.7.orig/debian/dirs +++ mapivi-0.9.7/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/share/mapivi --- mapivi-0.9.7.orig/debian/docs +++ mapivi-0.9.7/debian/docs @@ -0,0 +1,5 @@ +Changes.txt +FAQ +License.txt +README +Tips.txt --- mapivi-0.9.7.orig/debian/manpages +++ mapivi-0.9.7/debian/manpages @@ -0,0 +1 @@ +mapivi.1 --- mapivi-0.9.7.orig/debian/menu +++ mapivi-0.9.7/debian/menu @@ -0,0 +1,2 @@ +?package(mapivi):needs="X11" section="Applications/Graphics"\ + title="mapivi" command="/usr/bin/mapivi" --- mapivi-0.9.7.orig/debian/patches/07_usrShareMapivi +++ mapivi-0.9.7/debian/patches/07_usrShareMapivi @@ -0,0 +1,160 @@ +--- mapivi.orig 2008-02-21 21:53:44.000000000 +0100 ++++ mapivi 2009-03-16 16:50:53.000000000 +0100 +@@ -147,12 +147,13 @@ + } + # for windows we use this path + $maprogsdir = $ENV{APPDATA}."/maprogs" if defined $ENV{APPDATA}; ++my $usrshare = "/usr/share/mapivi"; # where static data is held + my $configdir = "$maprogsdir/mapivi"; # the configuration dir +-my $icon_path = "$configdir/icons"; # the icon dir ++my $icon_path = "$usrshare/icons"; # the icon dir + + my $splashAvail = (eval "require Tk::Splash") ? 1 : 0 ; + my $splash; +-my $logo = "$configdir/logo.jpg"; ++my $logo = "$usrshare/pics/logo.jpg"; + if ($splashAvail and -f $logo) { + # Splash->Show parameters: $image, $width, $height, $title, $overrideredirect + $splash = Tk::Splash->Show($logo, 844, 259, "", 1); +@@ -360,14 +361,14 @@ + my $maxCommentLength = 2**16 - 3; # a comment block may have max 64kB + + my $trashdir = "$configdir/trash"; # the trashcan +-my $plugindir = "$configdir/PlugIns"; # the mapivi plugin dir ++my $plugindir = "$usrshare/PlugIns"; # the mapivi plugin dir + my $iptcdir = "$configdir/IPTC_templates"; # the IPTC templates folder + my $configFile = "$configdir/mapivirc"; # the configuration file + my $file_Entry_values = "$configdir/Entry_values"; + my $exifdirname = ".exif"; # the subdir to store exif infos + my $thumbdirname = ".thumbs"; # the subdir to store thumbnails + my $xvpicsdirname = ".xvpics"; # a subdir from GIMP we usualy ignore +-my $thumbExample = "$configdir/thumbExample.jpg"; ++my $thumbExample = "$usrshare/pics/thumbExample.jpg"; + my $nonJPEGsuffixes = "gif|png|tif|tiff|bmp|ppm|ps"; # xcf works, but makes problems with layers + my $cameraJunkSuffixes = "ctg"; # uninteresting files created by cameras + my $copyright_year = (localtime(time()))[5] + 1900; # the actual year, for the copyright notice +@@ -544,7 +545,7 @@ + "ColorThumbBG" => "azure3", + "ColorProgress" => "#106dba", + "ColorPicker" => "#efefef", # last color selected with color picker +- "DefaultThumb" => "$configdir/EmptyThumb.jpg", ++ "DefaultThumb" => "$usrshare/pics/EmptyThumb.jpg", + "Copyright" => "copyright (c) $copyright_year Herrmann", + "Comment" => "This picture was taken in south africa ...", + "MaxProcs" => 1, +@@ -677,7 +678,7 @@ + "CopyFontColFG" => "white", # foreground color of the embedded copyright info font + "CopyFontColBG" => "black", # background color of the embedded copyright info font + "CopyFontShadow" => 1, # bool - add a shadow to the copyright text +- "CopyrightLogo" => "$configdir/MapiviIcon.gif", ++ "CopyrightLogo" => "$usrshare/pics/MapiviIcon.gif", + "CopyTextOrLogo" => "text", + "BorderWidth1x" => 10, # border 1 width in x direction + "BorderWidth1y" => 10, # border 1 width in y direction +@@ -845,7 +846,7 @@ + 'AutoImport' => 1, # boolean = 1 start import at Mapivi wizard if memory card is inserted (ImportSource) + 'llWatermarkX' => 16, # lossless watermark x position + 'llWatermarkY' => -16, # lossless watermark y position +- 'llWatermarkFile' => "$configdir/EmptyThumb.jpg", # lossless watermark file name ++ 'llWatermarkFile' => "$usrshare/pics/EmptyThumb.jpg", # lossless watermark file name + 'AspectBorderN' => 3, # lossless aspect ratio border + 'AspectBorderM' => 2, # lossless aspect ratio border + 'RelativeBorderX' => 10, # lossless relative border +@@ -1083,14 +1084,14 @@ + dKyyLnF00kjQlkTSR9GqxBKzyS6bEbY0EestAAEBADs= + EOF + my $mapiviicon = $top->Photo(-data => $icon_data); +-my $mapiviiconfile = "$configdir/MapiviIcon.gif"; +-$mapiviiconfile = "$configdir/MapiviIcon32.gif" if $EvilOS; ++my $mapiviiconfile = "$usrshare/pics/MapiviIcon.gif"; ++$mapiviiconfile = "$usrshare/pics/MapiviIcon32.gif" if $EvilOS; + #my $mapiviicon = $top->Photo(-file => $mapiviiconfile) if (-f $mapiviiconfile); + $top->idletasks if $EvilOS; # this line is crucial (at least on windows) + $top->iconimage($mapiviicon) if $mapiviicon; + +-my $dragAndDrop1 = "$configdir/MiniPic.jpg"; +-my $dragAndDrop2 = "$configdir/MiniPicMulti.jpg"; ++my $dragAndDrop1 = "$usrshare/pics/MiniPic.jpg"; ++my $dragAndDrop2 = "$usrshare/pics/MiniPicMulti.jpg"; + my $dragAndDropIcon1 = $top->Photo(-file => $dragAndDrop1) if (-f $dragAndDrop1); + my $dragAndDropIcon2 = $top->Photo(-file => $dragAndDrop2) if (-f $dragAndDrop2); + +@@ -13682,10 +13683,10 @@ + $help_menu->command(-image => compound_menu($top, 'About', 'dialog-information.png'), -command => \&about); + $help_menu->command(-image => compound_menu($top, 'Keys', 'input-keyboard.png'), -command => \&showkeys); + $help_menu->command(-image => compound_menu($top, 'System information', 'utilities-system-monitor.png'), -command => \&systemInfo); +- $help_menu->command(-image => compound_menu($top, 'License', ''), -command => [\&showFile, "$configdir/License.txt"]) if (-f "$configdir/License.txt"); +- $help_menu->command(-image => compound_menu($top, 'History', ''), -command => [\&showFile, "$configdir/Changes.txt"]) if (-f "$configdir/Changes.txt"); +- $help_menu->command(-image => compound_menu($top, 'Tips', 'help-browser.png'), -command => sub { showFile("$configdir/Tips.txt") }) if (-f "$configdir/Tips.txt"); +- $help_menu->command(-image => compound_menu($top, 'FAQ', 'help-browser.png'), -command => [\&showFile, "$configdir/FAQ"]) if (-f "$configdir/FAQ"); ++ $help_menu->command(-image => compound_menu($top, 'License', ''), -command => [\&showFile, "$usrshare/License.txt"]) if (-f "$usrshare/License.txt"); ++ $help_menu->command(-image => compound_menu($top, 'History', ''), -command => [\&showFile, "$usrshare/Changes.txt"]) if (-f "$usrshare/Changes.txt"); ++ $help_menu->command(-image => compound_menu($top, 'Tips', 'help-browser.png'), -command => sub { showFile("$usrshare/Tips.txt") }) if (-f "$usrshare/Tips.txt"); ++ $help_menu->command(-image => compound_menu($top, 'FAQ', 'help-browser.png'), -command => [\&showFile, "$usrshare/FAQ"]) if (-f "$usrshare/FAQ"); + + $top->configure(-menu => $menubar) if $config{ShowMenu}; + } +@@ -16381,7 +16382,7 @@ + my $picName = shift; + my $func = shift; + +- my $pic = "$configdir/$picName"; ++ my $pic = "$usrshare/pics/$picName"; + my $image = $parentWidget->Photo(-file => $pic) if -f $pic; + + if ($image) { +@@ -20396,7 +20397,7 @@ + if (!-d $configdir) { + # ask the user for permission to create a configdir + my $rc = $top->messageBox(-icon => 'question', +- -message => "MaPiVi would like to create a folder \"$configdir\" in your home folder to store the configuration of Mapivi and some button and background pictures.", ++ -message => "MaPiVi would like to create a folder \"$configdir\" in your home folder to store the configuration of Mapivi.", + -title => "Mapivi installation", -type => 'OKCancel'); + return if ($rc !~ m/Ok/i); + } +@@ -20436,7 +20437,9 @@ + + if (!-d $plugindir) { + if ( !mkdir "$plugindir", 0755 ) { +- $top->messageBox(-icon => 'warning', -message => "Error making PlugIn dir $plugindir: $!", ++ # RJW: This will likely not work if $usrshare is /usr/share/mapivi ++ # and the user is not root. ++ $top->messageBox(-icon => 'warning', -message => "Error making PlugIn dir $plugindir (should be created by installer?): $!", + -title => "Mapivi installation", -type => 'OK'); + return; + } +@@ -23741,7 +23744,7 @@ + my $stopB = $subF->Button(-text => "Stop", + -command => sub { $stop = 1; } + )->pack(-side => 'left', -anchor => 'w', -expand => 0,-padx => 1,-pady => 1); +- my $stopImg = $top->Photo(-file => "$configdir/StopPic.gif") if (-f "$configdir/StopPic.gif"); ++ my $stopImg = $top->Photo(-file => "$usrshare/pics/StopPic.gif") if (-f "$usrshare/pics/StopPic.gif"); + $stopB->configure(-image => $stopImg, -borderwidth => 0) if $stopImg; + $stopB->configure(-state => "disabled"); + +@@ -24896,7 +24899,7 @@ + $stopB = $SButF->Button(-text => "Stop", + -command => sub { $stop = 1; } + )->pack(-side => 'left', -anchor => 'w', -expand => 0,-padx => 1,-pady => 1); +- my $stopImg = $top->Photo(-file => "$configdir/StopPic.gif") if (-f "$configdir/StopPic.gif"); ++ my $stopImg = $top->Photo(-file => "$usrshare/pics/StopPic.gif") if (-f "$usrshare/pics/StopPic.gif"); + $stopB->configure(-image => $stopImg, -borderwidth => 0) if $stopImg; + $stopB->configure(-state => "disabled"); + +@@ -28742,7 +28745,7 @@ + my $stopB = $butF->Button(-text => "Stop", + -command => sub { $stop = 1; } + )->pack(-side => 'left', -anchor => 'w', -expand => 0,-padx => 1,-pady => 1); +- my $stopImg = $top->Photo(-file => "$configdir/StopPic.gif") if (-f "$configdir/StopPic.gif"); ++ my $stopImg = $top->Photo(-file => "$usrshare/pics/StopPic.gif") if (-f "$usrshare/pics/StopPic.gif"); + $stopB->configure(-image => $stopImg, -borderwidth => 0) if $stopImg; + $stopB->configure(-state => "disabled"); + +@@ -29425,6 +29428,7 @@ + + my $string = << "EOA"; + Mapivi config dir: $configdir ++ Mapivi static dir: $usrshare + + Perl version: $perlversion + Perl/Tk version: $Tk::VERSION --- mapivi-0.9.7.orig/debian/patches/08_removeMousePod +++ mapivi-0.9.7/debian/patches/08_removeMousePod @@ -0,0 +1,40 @@ +--- mapivi.orig 2008-02-21 21:53:44.000000000 +0100 ++++ mapivi 2009-04-03 17:41:00.000000000 +0200 +@@ -8110,37 +8110,6 @@ + } )->pack(-side => 'left', -expand => 0, -fill => 'x', -padx => 1, -pady => 1); + $balloon->attach($addB, -msg => "Add the selected keywords to the selected pictures"); + +-=pod +- +- my $rmB = +- $af->Button(-text => "remove", +- -command => sub { +- my @keys = $keytree->info('selection'); +- return unless checkSelection($keycw, 1, 0, \@keys); +- my @sellist = $lb->info('selection'); +- return unless checkSelection($top, 1, 0, \@sellist); +- my $pw = progressWinInit($keycw, "Remove keyword"); +- my $i = 0; +- my $sum = @sellist; +- foreach my $dpic (@sellist) { +- last if progressWinCheck($pw); +- $i++; +- progressWinUpdate($pw, "removing keyword ($i/$sum) ...", $i, $sum); +- foreach my $key (@keys) { +- last if progressWinCheck($pw); +- progressWinUpdate($pw, "removing keyword $key ($i/$sum) ...", $i, $sum); +- my $name = getLastItem($key); +- print "remove key $name ($key) from $dpic\n" if $verbose; +- removeIPTCItem($dpic, 'Keywords', $name); +- updateOneRow($dpic, $lb); +- } +- } +- progressWinEnd($pw); +- })->pack(-side => 'left', -expand => 0, -fill => 'x', -padx => 1, -pady => 1); +- $balloon->attach($rmB, -msg => "Remove the selected keywords from the selected pictures"); +- +-=cut +- + $keytree = $keycw->Scrolled('Tree', + -separator => '/', + -scrollbars => 'osoe', --- mapivi-0.9.7.orig/debian/patches/09_qw_parentheses +++ mapivi-0.9.7/debian/patches/09_qw_parentheses @@ -0,0 +1,38 @@ +--- mapivi.orig 2009-04-03 17:44:30.000000000 +0200 ++++ mapivi 2013-10-22 18:30:56.925667829 +0200 +@@ -10123,11 +10123,11 @@ + my $pf = $pfa->Frame(-bd => $config{Borderwidth}, -relief => 'groove')->pack(-side => "left"); + my $pfn = $pf->Frame()->pack(); + my $pfs = $pf->Frame()->pack(); +- foreach my $gravity qw(NorthWest North NorthEast) { ++ foreach my $gravity (qw(NorthWest North NorthEast)) { + my $but = $pfn->Radiobutton(-text => "", -variable => \$config{CopyPosition}, -value => $gravity)->pack(-side => 'left'); + $balloon->attach($but, -msg => "Align the copyright text or logo in $gravity position"); + } +- foreach my $gravity qw(SouthWest South SouthEast) { ++ foreach my $gravity (qw(SouthWest South SouthEast)) { + my $but = $pfs->Radiobutton(-text => "", -variable => \$config{CopyPosition}, -value => $gravity)->pack(-side => 'left'); + $balloon->attach($but, -msg => "Align the copyright text or logo in $gravity position"); + } +@@ -19972,7 +19972,7 @@ + ############################################################## + sub normalizeCoords { + my $canvas = shift; +- foreach my $coord qw(m_x1 m_x2 m_y1 m_y2) { ++ foreach my $coord (qw(m_x1 m_x2 m_y1 m_y2)) { + # assign it to the step width + $canvas->{$coord} = sprintf "%.0f", ($canvas->{$coord}/$canvas->{m_step}); + $canvas->{$coord} *= $canvas->{m_step}; +@@ -19981,10 +19981,10 @@ + } + + # check upper bound +- foreach my $coord qw(m_x1 m_x2) { ++ foreach my $coord (qw(m_x1 m_x2)) { + $canvas->{$coord} = $canvas->{m_wo} if ($canvas->{$coord} > $canvas->{m_wo}); + } +- foreach my $coord qw(m_y1 m_y2) { ++ foreach my $coord (qw(m_y1 m_y2)) { + $canvas->{$coord} = $canvas->{m_ho} if ($canvas->{$coord} > $canvas->{m_ho}); + } + } --- mapivi-0.9.7.orig/debian/patches/DISABLED.01_usrShareMapivi +++ mapivi-0.9.7/debian/patches/DISABLED.01_usrShareMapivi @@ -0,0 +1,44 @@ +--- mapivi.orig 2008-02-21 21:53:44.000000000 +0100 ++++ mapivi 2009-03-15 13:32:19.000000000 +0100 +@@ -118,6 +118,9 @@ + + =cut + ++# DEBIAN ADDITIONS ++my $usr_datafiles="/usr/share/mapivi"; ++ + # boolean, if we run on Windows this variable is set to 1 + my $EvilOS = 0; $EvilOS = 1 if ($^O =~ m/win/i); + my $MacOSX = 0; # boolean, if we run on Mac OS X this is 1 +@@ -20455,7 +20458,7 @@ + # try to find the pictures in the actual dir and in the dir where mapivi is located + my $searchdir; + my @pics; +- my @searchDirList = ("$actdir/pics", dirname($0)."/pics"); ++ my @searchDirList = ("$actdir/pics", "${usr_datafiles}/pics", dirname($0)."/pics"); + foreach $searchdir (@searchDirList) { + print "searching $searchdir ...\n" if $verbose; + next if (!-d $searchdir); +@@ -20495,7 +20498,8 @@ + return if (!-d $configdir); + + my @files = qw/Changes.txt License.txt Tips.txt FAQ/; +- my $dir = dirname($0); ++ # Below was dirname($0), but in Debian, it'll always be in $usr_datafiles ++ my $dir = $usr_datafiles; + + # copy the files to the config dir + foreach (@files) { +@@ -20513,9 +20517,10 @@ + return if (!-d $plugindir); + + # try to find the PlugIns in the actual dir and in the dir where mapivi is located +- my $searchdir = dirname($0)."/PlugIns"; ++ # Below was dirname($0)/PlugIns, but in Debian, it'll always be $usr_datafiles ++ my $searchdir = "${usr_datafiles}/PlugIns"; + my @plugs; +- my @searchDirList = ("$actdir/PlugIns", dirname($0)."/PlugIns"); ++ my @searchDirList = ("$actdir/PlugIns", "${usr_datafiles}/PlugIns", dirname($0)."/PlugIns"); + foreach $searchdir (@searchDirList) { + print "searching $searchdir ...\n" if $verbose; + next if (!-d $searchdir); --- mapivi-0.9.7.orig/debian/patches/DISABLED.02_whereIsPerl +++ mapivi-0.9.7/debian/patches/DISABLED.02_whereIsPerl @@ -0,0 +1,13 @@ +--- mapivi.orig 2005-03-20 14:19:55.000000000 -0500 ++++ mapivi 2005-12-24 08:09:30.000000000 -0500 +@@ -2050,6 +2053,10 @@ + ############################################################## + sub whereIsPerl { + ++ # For this copy of mapivi, you don't need to do any processing under ++ # Debian, /usr/bin/perl is always correct. ++ return if ( -f "/etc/debian_version" ); ++ + return if $EvilOS; + + # look for perl --- mapivi-0.9.7.orig/debian/patches/DISABLED.03_fileCopyPermissions +++ mapivi-0.9.7/debian/patches/DISABLED.03_fileCopyPermissions @@ -0,0 +1,17 @@ +--- mapivi.orig 2005-03-20 14:19:55.000000000 -0500 ++++ mapivi 2005-12-24 08:09:30.000000000 -0500 +@@ -17107,6 +17114,14 @@ + $top->messageBox(-icon => 'warning', -message => "Could not copy $_ to $plugindir: $!", + -title => "Mapivi installation", -type => 'OK'); + } ++ # DEBIAN addition -- plugins must be executable but File::Copy does not ++ # preserve permissions. Should consider using File::NCopy everywhere ++ # anyways. Here I do the stupid thing and just blindly set the ++ # permissions (rather than copying from the source file). ++ if (!chmod(0755, "$plugindir/$_")) { ++ $top->messageBox(-icon => "warning", -message => "Could not chmod $plugindir/$_: $!", ++ -title => "Mapivi installation", -type => "OK"); ++ } + } + } + --- mapivi-0.9.7.orig/debian/patches/DISABLED.04_tzCorrectGMT +++ mapivi-0.9.7/debian/patches/DISABLED.04_tzCorrectGMT @@ -0,0 +1,16 @@ +--- mapivi.orig 2005-12-26 16:17:45.805810000 -0500 ++++ mapivi 2005-12-26 16:23:09.516022970 -0500 +@@ -8240,6 +8240,13 @@ + if (my ($y, $M, $d, $h, $m, $s) = $date =~ m/(\d\d\d\d):(\d\d):(\d\d) (\d\d):(\d\d):(\d\d)/) { + my $time = timelocal($s,$m,$h,$d,($M-1),($y-1900)); + my $diff = ((localtime($time))[2] - (gmtime($time))[2]); ++ # RJW: Correct timezone calculation in case of migration over ++ # 24 hour border ++ if ( $diff > 12 ) { ++ $diff -= 24; ++ } elsif ( $diff < -12 ) { ++ $diff += 24; ++ } + my $GMToffset = sprintf("%+03d00", $diff); + my $IPTCdate = $y.$M.$d; + my $IPTCtime = $h.$m.$s.$GMToffset; --- mapivi-0.9.7.orig/debian/patches/DISABLED.05_iptcNoCategory +++ mapivi-0.9.7/debian/patches/DISABLED.05_iptcNoCategory @@ -0,0 +1,19 @@ +--- mapivi.orig 2007-07-01 19:23:10.000000000 +0200 ++++ mapivi 2007-07-01 19:58:57.307296000 +0200 +@@ -10637,7 +10637,7 @@ + + ####### Categories ########## + my $category_frame; +- if ($config{IPTCProfessional}) { ++ if ($config{IPTCProfessional} == 1) { + $category_frame = $bF->Frame(-bd => 0)->pack(-expand => 1, -fill => 'both', -padx => 0, -pady => 0); + $ent = labeledEntry($category_frame,'top',$w,'Category',\${$iptc->{Category}}[0]); + if (defined $iptcHelp{Category}) { +@@ -10693,6 +10693,7 @@ + $optF->Label(-text => 'IPTC dialog layout')->pack(-side => 'left', -anchor => 'w'); + $optF->Radiobutton(-text => 'Simple', -variable => \$config{IPTCProfessional}, -value => 0)->pack(-side => 'left', -anchor => 'w'); + $optF->Radiobutton(-text => 'Professional', -variable => \$config{IPTCProfessional}, -value => 1)->pack(-side => 'left', -anchor => 'w'); ++ $optF->Radiobutton(-text => 'Professional without Category', -variable => \$config{IPTCProfessional}, -value => 2)->pack(-side => 'left', -anchor => 'w'); + $cN->Label(-text => 'Please choose IPTC dialog layout, close dialog and open it again to see changes.')->pack(); + + my $f = $t->Frame()->pack(-anchor=>'w',-fill => 'x', -expand => 0); --- mapivi-0.9.7.orig/debian/patches/DISABLED.06_iptcExpandKeywords +++ mapivi-0.9.7/debian/patches/DISABLED.06_iptcExpandKeywords @@ -0,0 +1,20 @@ +--- mapivi.orig 2007-07-01 19:58:57.000000000 +0200 ++++ mapivi 2007-07-01 20:15:51.603300178 +0200 +@@ -10813,7 +10813,7 @@ + -scrollbars => 'osoe', + -selectmode => 'extended', + -exportselection => 0, +- -width => 16, ++ -width => 26, + -height => 14, + )->pack(-expand => 1, -fill => 'both', -padx => 2, -pady => 2); + $widget->{m_tree} = $tree; +@@ -10914,7 +10914,7 @@ + -scrollbars => 'osoe', + -selectmode => 'extended', + -exportselection => 0, +- -width => 25, ++ -width => 15, + -height => 14, + )->pack(-expand => 1, -fill =>'both', -padx => 2, -pady => 2); + bindMouseWheel($catLB2->Subwidget("scrolled")); --- mapivi-0.9.7.orig/debian/patches/OLD.01_usrShareMapivi +++ mapivi-0.9.7/debian/patches/OLD.01_usrShareMapivi @@ -0,0 +1,45 @@ +--- mapivi.orig 2005-03-20 14:19:55.000000000 -0500 ++++ mapivi 2005-12-24 08:09:30.000000000 -0500 +@@ -110,6 +110,9 @@ + + =cut + ++# DEBIAN ADDITIONS ++my $usr_datafiles="/usr/share/mapivi"; ++ + my $EvilOS = 0; # boolean, if we run on Windows this is 1 + my $MacOSX = 0; # boolean, if we run on Mac OS X this is 1 + if ($^O =~ m/win/i) { +@@ -17015,9 +17022,9 @@ + return if (!-d $configdir); + + # try to find the pictures in the actual dir and in the dir where mapivi is located +- my $searchdir = dirname($0)."/pics"; ++ my $searchdir = "${usr_datafiles}/pics"; + my @pics; +- my @searchDirList = ("$actdir/pics", dirname($0)."/pics"); ++ my @searchDirList = ("$actdir/pics", "${usr_datafiles}/pics"); + foreach $searchdir (@searchDirList) { + print "searching $searchdir ...\n" if $verbose; + next if (!-d $searchdir); +@@ -17058,7 +17065,7 @@ + return if (!-d $configdir); + + my @files = qw/Changes.txt License.txt Tips.txt FAQ/; +- my $dir = dirname($0); ++ my $dir = $usr_datafiles; + + # copy the files to the config dir + foreach (@files) { +@@ -17076,9 +17083,9 @@ + return if (!-d $plugindir); + + # try to find the PlugIns in the actual dir and in the dir where mapivi is located +- my $searchdir = dirname($0)."/PlugIns"; ++ my $searchdir = "${usr_datafiles}/PlugIns"; + my @plugs; +- my @searchDirList = ("$actdir/PlugIns", dirname($0)."/PlugIns"); ++ my @searchDirList = ("$actdir/PlugIns", "${usr_datafiles}/PlugIns"); + foreach $searchdir (@searchDirList) { + print "searching $searchdir ...\n" if $verbose; + next if (!-d $searchdir); --- mapivi-0.9.7.orig/debian/postinst +++ mapivi-0.9.7/debian/postinst @@ -0,0 +1,41 @@ +#!/bin/sh +# postinst script for mapivi +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- mapivi-0.9.7.orig/debian/postrm +++ mapivi-0.9.7/debian/postrm @@ -0,0 +1,39 @@ +#!/bin/sh +# postrm script for mapivi +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- mapivi-0.9.7.orig/debian/preinst +++ mapivi-0.9.7/debian/preinst @@ -0,0 +1,37 @@ +#!/bin/sh +# preinst script for mapivi +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- mapivi-0.9.7.orig/debian/prerm +++ mapivi-0.9.7/debian/prerm @@ -0,0 +1,40 @@ +#!/bin/sh +# prerm script for mapivi +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- mapivi-0.9.7.orig/debian/rules +++ mapivi-0.9.7/debian/rules @@ -0,0 +1,121 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + + + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Apply patches + for PATCHF in debian/patches/[0-9]*; do patch -p 0 < $${PATCHF}; done + #rm mapivi.orig + + # Add here commands to compile the package. + #$(MAKE) + #docbook-to-man debian/mapivi.sgml > mapivi.1 + /usr/bin/pod2man mapivi > mapivi.1 + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + #-$(MAKE) clean + rm -f mapivi.1 + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/mapivi. + #$(MAKE) DESTDIR=$(CURDIR)/debian/mapivi install + + # We need the license file in /usr/share/mapivi because mapivi + # copies it to the user's config dir for later programmatic + # reading/displaying. + install -p -m 644 Changes.txt Tips.txt FAQ License.txt ${CURDIR}/debian/mapivi/usr/share/mapivi + #ln -sv /usr/share/common-licenses/GPL-2 ${CURDIR}/debian/mapivi/usr/share/mapivi/License.txt + cp -rp icons pics PlugIns html ${CURDIR}/debian/mapivi/usr/share/mapivi/ + # Correct permissions (previously executeable) + chmod 644 ${CURDIR}/debian/mapivi/usr/share/mapivi/icons/* + chmod 644 ${CURDIR}/debian/mapivi/usr/share/mapivi/pics/* + chmod 644 ${CURDIR}/debian/mapivi/usr/share/mapivi/html/* + cp -p mapivi ${CURDIR}/debian/mapivi/usr/bin + + # Undo patches + for PATCHF in debian/patches/[0-9]*; do patch -R -p 0 < $${PATCHF}; done + #rm mapivi.orig + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + dh_installchangelogs Changes.txt + dh_installdocs + dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_perl +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-dependent files here. +binary-arch: build install +# We have nothing to do as this is an "Architecture: all" package + +build-arch: build +build-indep: build +binary: binary-indep binary-arch +.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install configure --- mapivi-0.9.7.orig/debian/watch +++ mapivi-0.9.7/debian/watch @@ -0,0 +1,4 @@ +version=3 + +# watch control file for mapivi +http://sf.net/mapivi/mapivi(\d)(\d)(\d)\.tar\.gz