From dbec6cdb7f83a02e3b599e4d6b5fe9c05c4043478422aedb1c71f1f9c199288e Mon Sep 17 00:00:00 2001 From: OBS User mrdocs Date: Fri, 13 Dec 2013 08:40:34 +0000 Subject: [PATCH] Accepting request 210681 from home:dnh:branches:Base:System - fix the iso9660 some more and fall back from xorriso to isoinfo as xorriso fails on many DVD-iso files (well, that's UDF actually ..) - add mc-extfs-iso9660-xorriso.patch fixing iso9660 extfs directory handling using xorriso see http://www.midnight-commander.org/ticket/3122 OBS-URL: https://build.opensuse.org/request/show/210681 OBS-URL: https://build.opensuse.org/package/show/Base:System/mc?expand=0&rev=80 --- mc-extfs-iso9660-xorriso.patch | 25 +++++++++++++++++++++++++ mc.changes | 13 +++++++++++++ mc.spec | 8 ++++++++ 3 files changed, 46 insertions(+) create mode 100644 mc-extfs-iso9660-xorriso.patch diff --git a/mc-extfs-iso9660-xorriso.patch b/mc-extfs-iso9660-xorriso.patch new file mode 100644 index 0000000..96321fa --- /dev/null +++ b/mc-extfs-iso9660-xorriso.patch @@ -0,0 +1,25 @@ +--- mc-4.8.11/src/vfs/extfs/helpers/iso9660.in.orig 2013-12-12 10:57:16.000000000 +0100 ++++ mc-4.8.11/src/vfs/extfs/helpers/iso9660.in 2013-12-12 13:04:28.000000000 +0100 +@@ -38,13 +38,16 @@ + return 1 + fi + local dir attr ln usr gr sz dt1 dt2 dt3 nm len name +- dir="$2" +- $XORRISO -dev stdio:"$1" -cd "$dir" -lsl 2> /dev/null | @GREP@ "^[-d]" | \ ++ dir="${2:-/}" ++ lsl=$( $XORRISO -abort_on FATAL -dev stdio:"$1" -cd "$dir" -lsl 2> /dev/null ) ++ r=$? ++ test $r -gt 0 && return $r ++ echo "$lsl" | /usr/bin/grep "^[-d]" | \ + while read attr ln usr gr sz dt1 dt2 dt3 nm ; do +- len=$((${#nm} - 2)) +- name=$(printf "$nm" | cut -c2-$len) # remove quotes +- if test $(printf "$nm" | cut -c1-2) != "d"; then +- printf "%s %s %s %s %s %s %s %s %s/%s\n" "$attr" "$ln" "$usr" "$gr" "$sz" "$dt1" "$dt2" "$dt3" "$dir" "$name" ++ len=$((${#nm} - 1)) ++ name=$(printf -- '%s' "$nm" | cut -c2-$len) # remove quotes ++ if test $(printf -- '%s' "$attr" | cut -c1) != "d"; then ++ printf -- "%s %s %s %s %s %s %s %s %s/%s\n" "$attr" "$ln" "$usr" "$gr" "$sz" "$dt1" "$dt2" "$dt3" "$dir" "$name" + else + xorriso_list "$1" "$dir/$name" + fi diff --git a/mc.changes b/mc.changes index 2da6dc5..fdb810b 100644 --- a/mc.changes +++ b/mc.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Thu Dec 12 12:10:32 UTC 2013 - dnh@opensuse.org + +- fix the iso9660 some more and fall back from xorriso to isoinfo as + xorriso fails on many DVD-iso files (well, that's UDF actually ..) + +------------------------------------------------------------------- +Thu Dec 12 10:02:02 UTC 2013 - dnh@opensuse.org + +- add mc-extfs-iso9660-xorriso.patch + fixing iso9660 extfs directory handling using xorriso + see http://www.midnight-commander.org/ticket/3122 + ------------------------------------------------------------------- Thu Nov 28 12:27:16 UTC 2013 - dnh@opensuse.org diff --git a/mc.spec b/mc.spec index 893d788..a15736d 100644 --- a/mc.spec +++ b/mc.spec @@ -47,6 +47,10 @@ Patch21: mc-extfs-helpers-deb.patch # extfs failing on files with spaces (bnc#849082). Forwarded to upstream. # see http://www.midnight-commander.org/ticket/3073 Patch22: mc-extfs-helpers-urar.patch +# add mc-extfs-iso9660-xorriso.patch +# fixing iso9660 extfs directory handling using xorriso +# http://www.midnight-commander.org/ticket/3122 +Patch23: mc-extfs-iso9660-xorriso.patch #debian fixes for vfs Patch24: 02_ignore_ftp_chmod_error.patch @@ -86,6 +90,7 @@ BuildRequires: xorg-x11-devel BuildRequires: xz Requires(pre): permissions Recommends: %{name}-lang = %{version} +Recommends: mkisofs xorriso %description GNU Midnight Commander (also referred to as MC) is a user shell much @@ -97,6 +102,8 @@ GNU Midnight Commander allows you to manage files while making most of your screen and giving you a clear representation of the filesystem, yet it's simple enough to be run over a telnet or ssh session. +MC needs several other programs for its various extfs extensions, e.g. +isoinfo (from mkisofs) or xorriso for the iso:// extension. %lang_package %prep @@ -115,6 +122,7 @@ it's simple enough to be run over a telnet or ssh session. %patch20 %patch21 %patch22 -p1 +%patch23 -p1 %patch24 %patch31 %patch32