[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#603963: marked as done (Patch: addaptation of fimgs script, zgs, that uses zgv instead to view pdf etc.)



Your message dated Mon, 03 Jun 2013 11:37:23 +0000
with message-id <[🔎] E1UjT4l-0007ID-Ty@franck.debian.org>
and subject line Bug#710825: Removed package(s) from unstable
has caused the Debian Bug report #603963,
regarding Patch: addaptation of fimgs script, zgs, that uses zgv instead to view pdf etc.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
603963: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603963
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: zgv
Version: 5.9-2+b1
Severity: wishlist

Below is an adaptation of the fimgs script, zgs, to use zgv in compliment 
of fim/fbi to view pdf, ps etc., allowing use of unique zgv features such
as generation/viewing/selection via thumbnails.
The script is not perfect right now, could use a bit of cleanup,
but is usable.  Thanks for any feedback/consideration.
--

#!/bin/bash

VERSION="$Id: zgs,v 1.1 2010/11/16 07:20:00 dallas Exp dallas $"  ;

# (c) 2010 Dallas Legan

# This is a modified version of the original fimgs script,by Michele Matone
# and is capable of displaying pdf, eps, ps, and dvi files.
# Now enhanced for viewing .cbr and .cbz files :)!
#
# Note : it won't probably work on bash, version < 3.0 because of regular expressions.

# this script wants a temporary directory to stores rendered/wget'ed files
# this directory is named after the process ID


# #######################################################################
# ######## Start: Functions, Variables, etc. #################################
# #######################################################################

USAGE="${0##*/} [ -h | -v ] [ -T ] [ -s ] [ -p PDF-PASSWORD] [ -c PRE-COMMANDS ] [ -F FINAL-COMMANDS ] FILES"

DIR="${TMPDIR-/var/tmp}/fbps-$$"

# we must have write permissions in that directory
mkdir -p $DIR	|| exit 1

# we want that directory clean after this script execution, no matter what happens
trap "rm -rf $DIR" EXIT

# as advised in man which, for mysterious reasons ( C compatible )
which ()
{
	( alias; declare -f ; ) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}

#export -f which

# checks if the first supplied argument is in the current $PATH
function check_in_path()
{
	local cmd="$1";
	[[ -z "$cmd" ]] && return 0
	[[ -z $(which "$cmd" 2>/dev/null) ]] && return -1
	return 0
}

function help_message ()
{

cat <<EOHELP

${USAGE}

 -T  - Pass tagged files to FINAL_COMMANDS
 -s  - Pass dimensions of last displayed file to FINAL_COMMANDS

Note that FILE can be a (correctly named) :"
 PDF (.pdf) file"
 Postscript (.ps) file"
 TAR (.tar) archive"
 BZ2 (.bz2) archive"
 GZIP (.gz) archive"
 https://  resource (web resource)"
 http://  resource (web resource)"

Note that you cannot view files names like the options (no -- meta-option)."

 `man zgs`   will give you more info."

EOHELP
}

# output functions
function info()  { echo '  [+]' "$@" 1>&2 ;  }
function einfo() { echo '  [-]' "$@" 1>&2 ;  }
function die() { einfo "ERROR : "$@ 1>&2 ; exit -1 ; }


# #######################################################################
# ######## End: Functions, Variables, etc. #################################
# #######################################################################

# our favourite framebuffer viewing program :)
#  FBI=fim
ZGV=zgv

check_in_path $ZGV  || die "no zgv in \$PATH"
#  check_in_path sort  || die "no sort in \$PATH"
check_in_path echo  || die "no echo in \$PATH"
#  check_in_path find  || die "no find in \$PATH"
check_in_path wget  || die "no wget in \$PATH"
check_in_path gs    || die "no gs (ghostscript) in \$PATH"
check_in_path tar   || die "no tar in \$PATH"
check_in_path basename   || die "no basename in \$PATH"
check_in_path md5sum   || die "no md5sum in \$PATH"
#check_in_path rar   || die "no rar in \$PATH"
#check_in_path unzip || die "no unzip in \$PATH"
#check_in_path scp  || die "no scp in \$PATH"


# parse options
#  fbiopts="-w"
zgvopts="-j   --reload-delay 1000000 "
#      -j  apparently needed for framebuffer svgalib driver
gsopts="-q"
passwd=""
opt=1



# in this way odd filenames are kept intact, be WARNED
while test "$opt" = "1"
#set -- `getopt "" "$@"`
#while [ ! -z "$1" ]
do
	case "$1" in
#		-l)	gsopts="$gsopts -r100x100"
#			shift
#			;;
#		-xl)	gsopts="$gsopts -r120x120"
#			shift
#			;;
#		-xxl)	gsopts="$gsopts -r150x150"
#			shift
#			;;
#		-q | -a)
#			fbiopts="$fbiopts $1"
#			shift
#			;;
#		-d | -m | -t | -g | -f)
#			fbiopts="$fbiopts $1 $2"
#			shift; shift
#			;;
		# explicit option passing
		# -t)	fbiopts="$fbiopts --no-framebuffer"
		#	shift
		#	;;
                -s | --show-dimensions )
                        zgvopts="${zgvopts}  --show-dimensions "  ;
			shift  ;
			;;
                -T | --show-tagged )
                        zgvopts="${zgvopts}  --show-tagged "  ;
			shift  ;
			;;
		-c)	zgvpre="$2"
			shift 2  ;
			;;
		-F)	zgvpost="$2"
			shift 2  ;
			;;
		-p)	password="$2"
			shift 2  ;
			;;
                [-/][hH?]* | --[hH]* )
			#help text
                        help_message  ;
			exit 1 ;
			;;
             

                [-/][vV]* | --[vV]* )
                        echo ${VERSION}  ;
                        exit 1  ;
                        ;;

	        *)	
			[[ "$1" =~ '^-.*' ]] && zgvopts="$zgvopts $1";
			break;;
#		-*)	echo "unknown option: $1"
#			exit 1
#			;;
#		*)	opt=0
#			;;
	esac
#	shift
done



cat <<ZGVSUMMARY

zgv image viewer command summary:

(Generally vi / lynx - vi mode cursor controls)
Alt-u    -  generate/update thumbnail images
             (Suggested for tiled overview of document)
?        -  help
/        -  help for video modes available
v        -  toggle file selector mode between graphical or text
ESC      -  return to previous mode (eventually exiting)
Enter    -  go to the next image
:        -  display file information
;        -  reset brightness/contract/etc. to default
Ctrl-I   -  start a slide show of files tagged in file selector mode.
Ctrl-R   -  refresh view/directory
Ctrl-L   -  refresh view/directory
Right Mouse button  -  context sensitive menu
Left  Mouse button  -  select an image or directory in file selector/directory
view mode

ZGVSUMMARY


###############################################################################
##		HANDLING OF CBR AND CBZ ARCHIVES
###############################################################################
UNCBZ="unzip" ; ZOPT="-x '*/*'" # suits for Info-ZIP implementation
UNCBR="rar x"                   # suits for Alexander Roshal's RAR 3.51
UNTAR="tar xf"
UNTGZ="tar xzf"
UNBZ="tar xjf"
#while [[ "$1" != "" ]]
#while [[ "$#" -gt "0" ]]
while test "$opt" = "1"
#while shift
do
	f="$1";
	shift 1  ;
	[[ "$f" =~ 'https://' ]] && { fn="$DIR"/"`basename $f`" && wget "$f" -O "$fn" && trap "rm $fn" EXIT ; f="$fn"; }
	[[ "$f" =~ 'http://' ]] && { fn="$DIR"/"`basename $f`" && wget "$f" -O "$fn" && trap "rm $fn" EXIT ; f="$fn"; }
	[[ "$f" =~ 'ssh:' ]] && { bfn="`basename ${f/#ssh:/}`" && fn="$DIR"/"`echo $bfn | sed s/^.*://`" && scp "${f/ssh:/}" "$fn" && trap "rm $fn" EXIT ; f="$fn"; }
	[[ -z "$f" ]] && break ;
	#while [[ ! -f "$f" ]] ; do shift ; [[ "$#" -lt 0 ]] && break 2 ; done
###############################################################################
##		HANDLING OF DVI,PS AND PDF FILES
###############################################################################
#[[ "$f" =~ .dvi$ ]] && f="/tmp/$$.ps" && dvips -q "$f" -o "$f" &&  trap "rm $f ; rm -fRd $DIR" EXIT
#[[ -f "$f" ]] || { echo "an option!" ;  fbiopts="$fbiopts $f" ; break ; } # not a file, but an option


#d.e.l.  [[ "$f" =~ .dvi$ ]] && fbiopts=" -P $fbiopts"
#d.e.l.  [[ "$f" =~ .pdf$ ]] && fbiopts=" -P $fbiopts"
#d.e.l.  [[ "$f" =~ .ps$  ]] && fbiopts=" -P $fbiopts"
#d.e.l.  [[ "$f" =~ .eps$  ]] && fbiopts=" -P $fbiopts"

if ( [[ "$f" =~ .ps$  ]] || [[ "$f" =~ .pdf$  ]] ) || ( [[ "$f" =~ .eps$  ]] || [[ "$f" =~ .dvi$  ]] )
then 

BDIR=''
if check_in_path md5sum
then
	DIRS=$(echo "$f" | md5sum )
	DIRS=${DIRS// /}
	DIRS=${DIRS//-/}
	BDIR="$DIR/$DIRS"
	# this means that giving duplicate input files will overwrite the original render directory...
else
	BDIR="$DIR/"$(basename "$f")
fi
mkdir -p $BDIR  	|| die "failed mkdir $BDIR"
info "rendering $f to $BDIR.."

#this is a workaround for gs's .. bug ..

[[ "$f" =~ "^\.\."  ]] && f="$PWD/$f"

# note : we cannot render gs renderable documents with more than 1000 pages...
gs	-dSAFER -dNOPAUSE -dBATCH			\
	-sPDFPassword="$password"			\
	-sDEVICE=png256 -r240x240 -sOutputFile=$BDIR/ps%03d.png	\
	$gsopts						\
	"$f" || die "ghostscript failed rendering!"
# still unused options :
#	-sDEVICE=tiffpack				\
#	-sOutputFile=$DIR/ps%03d.tiff

# tell the user we are done :-)
#echo -ne "\\007"
#echo stuff : `ls -l $DIR`
#echo "contents of $DIR:"
#$FBI $fbiopts -P $DIR/ps*.png
#$FBI $fbiopts -P $DIR/ps*.png 2>/dev/null
#fbi $fbiopts -P $DIR/ps*.tiff
# sanity check
#pages=`ls $DIR/ 2>/dev/null | wc -l`
#if test "$pages" -eq "0"; then
#	echo
#	echo "Oops: ghostscript wrote no pages ($pages)?"
#	echo
#	exit 1
#elif ( ( [[ "$f" =~ \\.cbr$  ]] || [[ "$f" =~ \\.cbz$  ]] ) || ( [[ "$f" =~ \\.rar$  ]] || [[ "$f" =~ \\.zip$  ]] ) || ( [[ "$f" =~ \\.tgz$  ]] || [[ "$f" =~ \\.tar.gz$  ]] ) || ( [[ "$f" =~ \\.tar$  ]] || [[ "$f" =~ \\.tar.bz2$  ]] ) )  && ! [[ "$f" =~ '^http://' ]]
elif ( ( [[ "$f" =~ .CBR$  ]] || [[ "$f" =~ .CBZ$  ]] || [[ "$f" =~ .cbr$  ]] || [[ "$f" =~ .cbz$  ]] ) || ( [[ "$f" =~ .rar$  ]] || [[ "$f" =~ .zip$  ]] ) || ( [[ "$f" =~ .tgz$  ]] || [[ "$f" =~ .tar.gz$  ]] ) || ( [[ "$f" =~ .tar$  ]] || [[ "$f" =~ .tar.bz2$  ]] ) )  && ! [[ "$f" =~ 'http://' ]] && ! [[ "$f" =~ 'https://' ]]
then
# in the case of an archive ...
# an ideal fimgs script would unpack recursively in search for interesting files..


# 20070925 there were problems with '\\.' so i put '.' only :/
[[ "$f" =~ .cbr$    ]] && ( $UNCBR "$f"    "$DIR"  ) 
[[ "$f" =~ .CBR$    ]] && ( $UNCBR "$f"    "$DIR"  ) 
[[ "$f" =~ .rar$    ]] && ( $UNCBR "$f"    "$DIR"  ) 
[[ "$f" =~ .cbz$    ]] && ( $UNCBZ "$f" $ZOPT -d "$DIR" ) 
[[ "$f" =~ .CBZ$    ]] && ( $UNCBZ "$f" $ZOPT -d "$DIR" ) 
[[ "$f" =~ .zip$    ]] && ( $UNCBZ "$f" $ZOPT -d "$DIR" ) 
[[ "$f" =~ .tgz$    ]] && ( $UNTGZ "$f" -C "$DIR" ) 
[[ "$f" =~ .tar.gz$ ]] && ( $UNTGZ "$f" -C "$DIR" ) 
[[ "$f" =~ .tar$    ]] && ( $UNTAR "$f" -C "$DIR" ) 
[[ "$f" =~ .tar.bz2$ ]] && ( $UNBZ "$f" -C "$DIR" ) 

# ... but this fimgs script is lazy and it gets satisfied with a bare decompress !

# lone file handling..
#[[ "$?" == 0 ]] || echo "this script is not suited for file $f" 
else
	[[ -f "$DIR/`basename $f`" ]] || cp -- "$f" "$DIR" || die "problems copying $f to $DIR"
fi
#fi
done
# show pages
#fbiopts=
#$FBI $fbiopts -P -- $DIR/* $DIR/*/* $DIR/*/*/* $DIR/*/*/*/* $DIR/*/*/*/*/* $DIR/*/*/*/*/*/* $DIR/*/*/*/*/*/*/*
#echo "options are $fbiopts"

# there should be some filter to avoid feed garbage to fim ... 
#  find $DIR/ -type f -iname '*.jpg' -or -iname '*.jpeg' -or -iname '*.png' -or -iname '*.gif' -or -iname '*.bmp' -or -iname '*.tiff' | sort -n | $FBI $fbiopts  -- -

cd ${DIR}/*  ;
${zgvpre:=:}  ;
${zgvpost:=:}  $( sudo $ZGV $zgvopts )   ;
sudo /bin/rm  -fr .xvpics/*; sudo /bin/rmdir  .xvpics 

# when no framebuffer device is available, we could invoke another console viewer, couldn't we ?
# cacaview $DIR/*

# the old syntax
# $FBI $fbiopts -P  `find $DIR -iname '*.png' -or -iname '*.jpg' -or -iname '*.gif' -or -iname '*.jpeg' -or -iname '*.tiff' -or -iname '*.bmp'`

# or the older one ..
#$FBI $fbiopts -P -- $files

# or the ancient one
#fbi $fbiopts -P $DIR/ps*.tiff




-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-2-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages zgv depends on:
ii  libc6                  2.11.2-6          Embedded GNU C Library: Shared lib
ii  libjpeg62              6b1-1             The Independent JPEG Group's JPEG 
ii  libpng12-0             1.2.41-1          PNG library - runtime
ii  libsvga1               1:1.4.3-29        console SVGA display libraries
ii  libtiff4               3.9.2-1           Tag Image File Format (TIFF) libra
ii  zlib1g                 1:1.2.3.3.dfsg-15 compression library - runtime

zgv recommends no packages.

zgv suggests no packages.

-- no debconf information



--- End Message ---
--- Begin Message ---
Version: 5.9-6+rm

Dear submitter,

as the package zgv has just been removed from the Debian archive
unstable we hereby close the associated bug reports.  We are sorry
that we couldn't deal with your issue properly.

For details on the removal, please see http://bugs.debian.org/710825

The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.

This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
ftpmaster@ftp-master.debian.org.

Debian distribution maintenance software
pp.
Luca Falavigna (the ftpmaster behind the curtain)

--- End Message ---

Reply to: