Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package gscan2pdf v1.6.0-5 fixes bugs 854956 and 854957 (normal severity) debdiff attached unblock gscan2pdf/1.6.0-5 -- System Information: Debian Release: 9.0 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
diff -Nru gscan2pdf-1.6.0/debian/changelog gscan2pdf-1.6.0/debian/changelog --- gscan2pdf-1.6.0/debian/changelog 2017-01-15 15:52:43.000000000 +0100 +++ gscan2pdf-1.6.0/debian/changelog 2017-02-12 16:01:45.000000000 +0100 @@ -1,3 +1,10 @@ +gscan2pdf (1.6.0-5) unstable; urgency=low + + * Closes: #854956 (fails to reload settings after scanning for devices) + * Closes: #854957 (rounding error from scanimage causes device to be rejected) + + -- Jeffrey Ratcliffe <j...@debian.org> Sun, 12 Feb 2017 16:01:45 +0100 + gscan2pdf (1.6.0-4) unstable; urgency=low * + patch to fix bug attaching PDF to email diff -Nru gscan2pdf-1.6.0/debian/patches/0001-Suppress-errors-from-CLI-frontends-caused-by-roundin.patch gscan2pdf-1.6.0/debian/patches/0001-Suppress-errors-from-CLI-frontends-caused-by-roundin.patch --- gscan2pdf-1.6.0/debian/patches/0001-Suppress-errors-from-CLI-frontends-caused-by-roundin.patch 1970-01-01 01:00:00.000000000 +0100 +++ gscan2pdf-1.6.0/debian/patches/0001-Suppress-errors-from-CLI-frontends-caused-by-roundin.patch 2017-02-12 15:57:17.000000000 +0100 @@ -0,0 +1,204 @@ +From 09e3583ba0a88e70b2925c46497baee231687ac3 Mon Sep 17 00:00:00 2001 +From: Jeffrey Ratcliffe <jeffrey.ratcli...@gmail.com> +Date: Mon, 30 Jan 2017 20:35:50 +0100 +Subject: [PATCH 1/2] Suppress errors from CLI frontends caused by rounding + +--- + History | 5 ++ + MANIFEST | 1 + + lib/Gscan2pdf/Frontend/CLI.pm | 17 +++-- + t/06293_Dialog_Scan_CLI.t | 151 ++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 169 insertions(+), 5 deletions(-) + create mode 100644 t/06293_Dialog_Scan_CLI.t + +--- a/MANIFEST ++++ b/MANIFEST +@@ -176,6 +176,7 @@ + t/06290_Dialog_Scan_CLI.t + t/06291_Dialog_Scan_CLI.t + t/06292_Dialog_Scan_CLI.t ++t/06293_Dialog_Scan_CLI.t + t/06295_Dialog_Scan_CLI.t + t/07_Dialog_Renumber.t + t/081_Frontend_CLI.t +--- a/lib/Gscan2pdf/Frontend/CLI.pm ++++ b/lib/Gscan2pdf/Frontend/CLI.pm +@@ -108,12 +108,19 @@ + running_callback => $options{running_callback}, + finished_callback => sub { + my ( $output, $error ) = @_; +- if ( defined $error and $error =~ /^$options{frontend}:[ ](.*)/xsm ) +- { +- $error = $1; +- } + if ( defined $error and defined $options{error_callback} ) { +- $options{error_callback}->($error); ++ while ( $error =~ /([\r\n])/xsm ) { ++ my $le = $1; ++ my $line = substr $error, 0, index $error, $le; ++ $error = substr $error, index( $error, $le ) + 1, ++ length $error; ++ if ( $line =~ /^$options{frontend}:[ ](.*)/xsm ) { ++ my $msg = $1; ++ if ( $msg !~ /rounded/xsm ) { ++ $options{error_callback}->($msg); ++ } ++ } ++ } + } + my $options = Gscan2pdf::Scanner::Options->new_from_data($output); + $_self->{device_name} = Gscan2pdf::Scanner::Options->device; +--- /dev/null ++++ b/t/06293_Dialog_Scan_CLI.t +@@ -0,0 +1,151 @@ ++use warnings; ++use strict; ++use Test::More tests => 1; ++use Glib qw(TRUE FALSE); # To get TRUE and FALSE ++use Gtk2 -init; # Could just call init separately ++use Sane 0.05; # To get SANE_* enums ++use Sub::Override; # Override Frontend::CLI to test functionality that ++ # we can't with the test backend ++ ++BEGIN { ++ use Gscan2pdf::Dialog::Scan::CLI; ++} ++ ++######################### ++ ++my $window = Gtk2::Window->new; ++ ++Glib::set_application_name('gscan2pdf'); ++use Log::Log4perl qw(:easy); ++Log::Log4perl->easy_init($FATAL); ++my $logger = Log::Log4perl::get_logger; ++ ++my $help_out = <<'EOS'; ++Usage: scanimage [OPTION]... ++ ++Start image acquisition on a scanner device and write PNM image data to standard output. ++ ++-d, --device-name=DEVICE use a given scanner device (e.g. hp:/dev/scanner) ++ --format=pnm|tiff file format of output file ++-i, --icc-profile=PROFILE include this ICC profile into TIFF file ++-L, --list-devices show available scanner devices ++-f, --formatted-device-list=FORMAT similar to -L, but the FORMAT of the output ++ can be specified: %d (device name), %v (vendor), ++ %m (model), %t (type), and %i (index number) ++-b, --batch[=FORMAT] working in batch mode, FORMAT is `out%d.pnm' or ++ `out%d.tif' by default depending on --format ++ --batch-start=# page number to start naming files with ++ --batch-count=# how many pages to scan in batch mode ++ --batch-increment=# increase number in filename by an amount of # ++ --batch-double increment page number by two for 2sided originals ++ being scanned in a single sided scanner ++ --batch-prompt ask for pressing a key before scanning a page ++ --accept-md5-only only accept authorization requests using md5 ++-p, --progress print progress messages ++-n, --dont-scan only set options, don't actually scan ++-T, --test test backend thoroughly ++-h, --help display this help message and exit ++-v, --verbose give even more status messages ++-B, --buffer-size change default input buffersize ++-V, --version print version information ++ ++Options specific to device `fujitsu:libusb:002:004': ++ Scan Mode: ++ --source ADF Front|ADF Back|ADF Duplex [ADF Front] ++ Selects the scan source (such as a document-feeder). ++ --mode Gray|Color [Gray] ++ Selects the scan mode (e.g., lineart, monochrome, or color). ++ --resolution 100..600dpi (in steps of 1) [600] ++ Sets the horizontal resolution of the scanned image. ++ --y-resolution 50..600dpi (in steps of 1) [600] ++ Sets the vertical resolution of the scanned image. ++ Geometry: ++ -l 0..224.846mm (in steps of 0.0211639) [0] ++ Top-left x position of scan area. ++ -t 0..863.489mm (in steps of 0.0211639) [0] ++ Top-left y position of scan area. ++ -x 0..224.846mm (in steps of 0.0211639) [215.872] ++ Width of scan-area. ++ -y 0..863.489mm (in steps of 0.0211639) [279.364] ++ Height of scan-area. ++ --pagewidth 0..224.846mm (in steps of 0.0211639) [215.872] ++ Must be set properly to align scanning window ++ --pageheight 0..863.489mm (in steps of 0.0211639) [279.364] ++ Must be set properly to eject pages ++ Enhancement: ++ --rif[=(yes|no)] [no] ++ Reverse image format ++ Advanced: ++ --dropoutcolor Default|Red|Green|Blue [Default] ++ One-pass scanners use only one color during gray or binary scanning, ++ useful for colored paper or ink ++ --sleeptimer 0..60 (in steps of 1) [0] ++ Time in minutes until the internal power supply switches to sleep mode ++ Sensors and Buttons: ++ ++Type ``scanimage --help -d DEVICE'' to get list of all options for DEVICE. ++ ++List of available devices: ++ fujitsu:libusb:002:004 ++EOS ++ ++my $help_err = <<'EOS'; ++scanimage: rounded value of br-x from 215.872 to 215.872 ++scanimage: big ugly error ++EOS ++ ++my $override = Sub::Override->new; ++$override->replace( ++ 'Gscan2pdf::Frontend::CLI::_watch_cmd' => sub { ++ my (%options) = @_; ++ $options{started_callback}->(); ++ $options{finished_callback}->( $help_out, $help_err ); ++ } ++); ++ ++Gscan2pdf::Frontend::CLI->setup($logger); ++ ++my $dialog = Gscan2pdf::Dialog::Scan::CLI->new( ++ title => 'title', ++ 'transient-for' => $window, ++ 'logger' => $logger ++); ++$dialog->signal_connect( ++ 'process-error' => sub { ++ my ( $widget, $process, $msg, $signal ) = @_; ++ $logger->debug( 'process-error', $widget, $process, $msg, $signal ); ++ is( $msg, 'big ugly error', 'process-error ignored rounding' ); ++ } ++); ++ ++$dialog->signal_connect( ++ 'reloaded-scan-options' => sub { ++ Gtk2->main_quit; ++ } ++); ++ ++my $signal = $dialog->signal_connect( ++ 'changed-device-list' => sub { ++ ++ my $signal; ++ $signal = $dialog->signal_connect( ++ 'changed-device' => sub { ++ my ( $widget, $name ) = @_; ++ $dialog->signal_handler_disconnect($signal); ++ } ++ ); ++ $dialog->set( 'device', 'fujitsu:libusb:002:004' ); ++ } ++); ++ ++# give gtk a chance to hit the main loop before starting ++Glib::Idle->add( ++ sub { ++ $dialog->set( 'device-list', ++ [ { 'name' => 'fujitsu:libusb:002:004' } ] ); ++ } ++); ++ ++Gtk2->main; ++ ++__END__ diff -Nru gscan2pdf-1.6.0/debian/patches/0002-Reload-default-scan-settings-after-rescanning-for-de.patch gscan2pdf-1.6.0/debian/patches/0002-Reload-default-scan-settings-after-rescanning-for-de.patch --- gscan2pdf-1.6.0/debian/patches/0002-Reload-default-scan-settings-after-rescanning-for-de.patch 1970-01-01 01:00:00.000000000 +0100 +++ gscan2pdf-1.6.0/debian/patches/0002-Reload-default-scan-settings-after-rescanning-for-de.patch 2017-02-12 15:58:28.000000000 +0100 @@ -0,0 +1,35 @@ +From 61cdfba68ecfa7849939defe7b4acfe706853790 Mon Sep 17 00:00:00 2001 +From: Jeffrey Ratcliffe <jeffrey.ratcli...@gmail.com> +Date: Wed, 1 Feb 2017 20:24:04 +0100 +Subject: [PATCH 2/2] Reload default scan settings after rescanning for devices + +--- + History | 1 + + bin/gscan2pdf | 9 +++++---- + 2 files changed, 6 insertions(+), 4 deletions(-) + +--- a/bin/gscan2pdf ++++ b/bin/gscan2pdf +@@ -3582,10 +3582,6 @@ + } + ); + +- # Can't set the profile until the options have been loaded +- $windows->{reloaded_signal} = $windows->signal_connect( +- 'reloaded-scan-options' => \&reloaded_scan_options_callback ); +- + $windows->signal_connect( + 'changed-paper-formats' => sub { + my ( $widget, $formats ) = @_; +@@ -3621,6 +3617,11 @@ + else { + $logger->info("signal 'changed-device' emitted with data: undef"); + } ++ ++ # Can't set the profile until the options have been loaded. This ++ # should only be called the first time after loading the available options ++ $windows->{reloaded_signal} = $windows->signal_connect( ++ 'reloaded-scan-options' => \&reloaded_scan_options_callback ); + return; + } + diff -Nru gscan2pdf-1.6.0/debian/patches/series gscan2pdf-1.6.0/debian/patches/series --- gscan2pdf-1.6.0/debian/patches/series 2017-01-11 21:09:25.000000000 +0100 +++ gscan2pdf-1.6.0/debian/patches/series 2017-02-12 15:58:12.000000000 +0100 @@ -2,3 +2,5 @@ 0002-Catch-error-setting-timestamp-for-dates-prior-to-197.patch 0001-Fix-saving-TIFF-with-compression.patch 0001-Fixed-bug-attaching-PDF-to-email.patch +0001-Suppress-errors-from-CLI-frontends-caused-by-roundin.patch +0002-Reload-default-scan-settings-after-rescanning-for-de.patch