Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37522061
en ru br
Репозитории ALT
S:4.8.30-alt3
5.1: 4.8.11-alt0.M51.1
4.1: 4.6.2-alt7.pre1
4.0: 4.6.1r-alt9
3.0: 4.6.1r-alt3
www.altlinux.org/Changes

Группа :: Работа с файлами
Пакет: mc

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: mc-4.6.2-alt-extfs-ucab.patch
Скачать


diff -urN mc-orig/mc-4.6.2/lib/mc.ext.in mc-mod/mc-4.6.2/lib/mc.ext.in
--- mc-orig/mc-4.6.2/lib/mc.ext.in	2008-05-11 20:17:26 +0400
+++ mc-mod/mc-4.6.2/lib/mc.ext.in	2008-07-15 12:55:04 +0400
@@ -144,6 +144,11 @@
 	Open=%cd %p#uarj
 	View=%view{ascii} unarj l %f
 
+# cab
+regex/\.([cC][aA][bB])$
+	Open=%cd %p#ucab
+	View=%view{ascii} cabextract -l %f
+
 # ha
 regex/\.([Hh][Aa])$
 	Open=%cd %p#uha
diff -urN mc-orig/mc-4.6.2/vfs/extfs/extfs.ini mc-mod/mc-4.6.2/vfs/extfs/extfs.ini
--- mc-orig/mc-4.6.2/vfs/extfs/extfs.ini	2008-05-11 20:17:26 +0400
+++ mc-mod/mc-4.6.2/vfs/extfs/extfs.ini	2008-07-15 13:21:32 +0400
@@ -12,6 +12,9 @@
 # For arj usage you need a special patch to unarj (see unarj.diff)
 uarj
 
+# For cab files
+ucab
+
 # ar is used for static libraries
 uar
 
diff -urN mc-orig/mc-4.6.2/vfs/extfs/Makefile.am mc-mod/mc-4.6.2/vfs/extfs/Makefile.am
--- mc-orig/mc-4.6.2/vfs/extfs/Makefile.am	2008-05-11 20:17:26 +0400
+++ mc-mod/mc-4.6.2/vfs/extfs/Makefile.am	2008-07-14 17:14:06 +0400
@@ -4,7 +4,7 @@
 EXTFS_MISC  = README extfs.ini sfs.ini
 
 # Scripts hat don't need adaptation to the local system
-EXTFS_CONST = bpp rpm trpm u7z
+EXTFS_CONST = bpp rpm trpm u7z ucab
 
 # Scripts that need adaptation to the local system - source files
 EXTFS_IN    = 			\
@@ -54,6 +54,7 @@
 	uzip			\
 	uzoo
 
+
 if USE_VFS
 extfs_DATA = $(EXTFS_MISC)
 extfs_SCRIPTS = $(EXTFS_CONST) $(EXTFS_OUT)
diff -urN mc-orig/mc-4.6.2/vfs/extfs/Makefile.in mc-mod/mc-4.6.2/vfs/extfs/Makefile.in
--- mc-orig/mc-4.6.2/vfs/extfs/Makefile.in	2008-05-11 20:17:26 +0400
+++ mc-mod/mc-4.6.2/vfs/extfs/Makefile.in	2008-07-14 17:15:58 +0400
@@ -251,7 +251,7 @@
 EXTFS_MISC = README extfs.ini sfs.ini
 
 # Scripts hat don't need adaptation to the local system
-EXTFS_CONST = bpp rpm trpm u7z
+EXTFS_CONST = bpp rpm trpm u7z ucab
 
 # Scripts that need adaptation to the local system - source files
 EXTFS_IN = \
diff -urN mc-orig/mc-4.6.2/vfs/extfs/ucab mc-mod/mc-4.6.2/vfs/extfs/ucab
--- mc-orig/mc-4.6.2/vfs/extfs/ucab     1970-01-01 03:00:00 +0300
+++ mc-mod/mc-4.6.2/vfs/extfs/ucab      2009-01-22 15:21:51 +0300
@@ -0,0 +1,40 @@
+#! /bin/sh
+
+CAB=cabextract
+
+mccabfs_list ()
+{
+    $CAB -l "$1" | gawk -v uid=`id -un` -v gid=`id -gn` '
+BEGIN { flag=0 }
+/^-------/ { flag++; if (flag > 1) exit 0; next }
+{
+if (flag == 0) next
+if (length($6) == 0) next
+pr="-rw-r--r--"
+split($3, a, ".")
+split($4, b, ":")
+printf "%s 1 %s %s %d %02d/%02d/%02d %02d:%02d  %s\n", pr, uid, gid, $1, a[2], a[1], a[3], b[1], b[2], $6
+}'
+
+}
+
+mccabfs_copyout ()
+{
+    $CAB -F "$2" -p "$1" > "$3"
+}
+
+LC_ALL=C
+export LC_ALL
+
+umask 077
+
+cmd="$1"
+
+case "$cmd" in
+  # Workaround for a bug in mc - directories must precede files to
+  # avoid duplicate entries, so we sort output by filenames
+  list)    mccabfs_list    "$2" ;;
+  copyout) mccabfs_copyout "$2" "$3" "$4" ;;
+  *) exit 1 ;;
+esac
+exit 0
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin