diff options
Diffstat (limited to 'media-gfx/aview/files')
4 files changed, 186 insertions, 0 deletions
diff --git a/media-gfx/aview/files/aview-1.3.0_rc1-asciiview.patch b/media-gfx/aview/files/aview-1.3.0_rc1-asciiview.patch new file mode 100644 index 000000000000..6d71bbb967b1 --- /dev/null +++ b/media-gfx/aview/files/aview-1.3.0_rc1-asciiview.patch @@ -0,0 +1,76 @@ +Support spaces in filenames (bug #39207) based on a patch from +kyberneticist AT yahoo DOT com with additional fixes to address bug +#293654 by Kevin McCarthy <signals@gentoo.org> + +Fix insecure temporary file permissions (bug #235808) based on a patch from +Robert Buchholz <rbu@gentoo.org> + +Fix ignored interactive keyboard commands when aview is called from the +asciiview script (bug #293654) by Kevin McCarthy <signals@gentoo.org> + +Rollup patch created by Kevin McCarthy <signals@gentoo.org> + +--- asciiview ++++ asciiview +@@ -3,13 +3,13 @@ + clear() + { + kill $! 2>/dev/null +- rm -f /tmp/aview$$.pgm 2>/dev/null ++ rm -rf $tmpdir 2>/dev/null + } + myconvert() + { +- if anytopnm $1 >/tmp/aview$$.pgm 2>/dev/null ; then ++ if anytopnm "$1" >"$2" 2>/dev/null ; then + exit +- elif convert -colorspace gray $1 pgm:- 2>/dev/null ; then ++ elif convert -colorspace gray "$1" pgm:- 2>/dev/null ; then + exit + fi + echo "Failed to convert file format to PNM by both convert and anytopnm" >&2 +@@ -44,27 +44,34 @@ + options="$options $1" + shift + ;; +- *) +- filenames="$filenames $1" ++ *) ++ if [ "$filenames" = "" ] ++ then ++ filenames=$1 #avoid leading null ++ else ++ filenames=$(echo -e "$filenames\n$1") ++ fi + shift + ;; + esac + done + trap clear 0 +-mkfifo /tmp/aview$$.pgm +-outfile=/tmp/aview$$.pgm +-for name in $filenames ; do +-if test -r $name ; then +-case $name in ++tmpdir=`mktemp -t -d` ++outfile=$tmpdir/aview.pgm ++mkfifo $outfile ++exec 3<&0 ++echo "$filenames" | while read name; do ++if test -r "$name" ; then ++case "$name" in + *.fli | *.lfc | *.flic ) + PATH="$PATH:." +- aaflip $options $name ++ aaflip $options "$name" + ;; + *) +- myconvert $name >/tmp/aview$$.pgm & ++ myconvert "$name" "$outfile" >"$outfile" & + pid=$! + PATH="$PATH:." +- aview $options /tmp/aview$$.pgm ++ aview $options $outfile <&3 + kill $pid 2>/dev/null + esac + else diff --git a/media-gfx/aview/files/aview-1.3.0_rc1-filename-spaces.patch b/media-gfx/aview/files/aview-1.3.0_rc1-filename-spaces.patch new file mode 100644 index 000000000000..e42ed0d5c583 --- /dev/null +++ b/media-gfx/aview/files/aview-1.3.0_rc1-filename-spaces.patch @@ -0,0 +1,53 @@ +diff -ur aview-1.3.0-orig/asciiview aview-1.3.0/asciiview +--- aview-1.3.0-orig/asciiview 2005-08-15 21:20:16.000000000 -0400 ++++ aview-1.3.0/asciiview 2005-08-15 21:20:19.000000000 -0400 +@@ -7,9 +7,9 @@ + } + myconvert() + { +- if anytopnm $1 >/tmp/aview$$.pgm 2>/dev/null ; then ++ if anytopnm "$1" >/tmp/aview$$.pgm 2>/dev/null ; then + exit +- elif convert -colorspace gray $1 pgm:- 2>/dev/null ; then ++ elif convert -colorspace gray "$1" pgm:- 2>/dev/null ; then + exit + fi + echo "Failed to convert file format to PNM by both convert and anytopnm" >&2 +@@ -44,8 +44,13 @@ + options="$options $1" + shift + ;; +- *) +- filenames="$filenames $1" ++ *) ++ if [ "$filenames" = "" ] ++ then ++ filenames=$1 #avoid leading null ++ else ++ filenames=$(echo -e "$filenames\000$1") ++ fi + shift + ;; + esac +@@ -53,15 +58,16 @@ + trap clear 0 + mkfifo /tmp/aview$$.pgm + outfile=/tmp/aview$$.pgm +-for name in $filenames ; do +-if test -r $name ; then +-case $name in ++IFS=$(echo -e "\000") ++echo $filenames | while read name; do ++if test -r "$name" ; then ++case "$name" in + *.fli | *.lfc | *.flic ) + PATH="$PATH:." +- aaflip $options $name ++ aaflip $options "$name" + ;; + *) +- myconvert $name >/tmp/aview$$.pgm & ++ myconvert "$name" >/tmp/aview$$.pgm & + pid=$! + PATH="$PATH:." + aview $options /tmp/aview$$.pgm diff --git a/media-gfx/aview/files/aview-1.3.0_rc1-includes.patch b/media-gfx/aview/files/aview-1.3.0_rc1-includes.patch new file mode 100644 index 000000000000..3e5006b4c549 --- /dev/null +++ b/media-gfx/aview/files/aview-1.3.0_rc1-includes.patch @@ -0,0 +1,11 @@ +Index: aview-1.3.0/main.c +=================================================================== +--- aview-1.3.0.orig/main.c ++++ aview-1.3.0/main.c +@@ -1,4 +1,6 @@ + #include <aalib.h> ++#include <string.h> ++#include <stdlib.h> + #include "image.h" + #include "ui.h" + #include "config.h" diff --git a/media-gfx/aview/files/aview-1.3.0_rc1-tmp_creation.patch b/media-gfx/aview/files/aview-1.3.0_rc1-tmp_creation.patch new file mode 100644 index 000000000000..f792e8bfebbb --- /dev/null +++ b/media-gfx/aview/files/aview-1.3.0_rc1-tmp_creation.patch @@ -0,0 +1,46 @@ +Fix insecure temporary file creation, see: +https://bugs.gentoo.org/show_bug.cgi?id=235808 + +Index: aview-1.3.0/asciiview +=================================================================== +--- aview-1.3.0.orig/asciiview ++++ aview-1.3.0/asciiview +@@ -3,11 +3,11 @@ + clear() + { + kill $! 2>/dev/null +- rm -f /tmp/aview$$.pgm 2>/dev/null ++ rm -rf $tmpdir 2>/dev/null + } + myconvert() + { +- if anytopnm "$1" >/tmp/aview$$.pgm 2>/dev/null ; then ++ if anytopnm "$1" >"$2" 2>/dev/null ; then + exit + elif convert -colorspace gray "$1" pgm:- 2>/dev/null ; then + exit +@@ -56,8 +56,9 @@ while [ "$1" != "" ]; do + esac + done + trap clear 0 +-mkfifo /tmp/aview$$.pgm +-outfile=/tmp/aview$$.pgm ++tmpdir=`mktemp -t -d` ++outfile=$tmpdir/aview.pgm ++mkfifo $outfile + IFS=$(echo -e "\000") + echo $filenames | while read name; do + if test -r "$name" ; then +@@ -67,10 +68,10 @@ case "$name" in + aaflip $options "$name" + ;; + *) +- myconvert "$name" >/tmp/aview$$.pgm & ++ myconvert "$name" "$outfile" >"$outfile" & + pid=$! + PATH="$PATH:." +- aview $options /tmp/aview$$.pgm ++ aview $options $outfile + kill $pid 2>/dev/null + esac + else |