VineSeed ML アーカイブ



[VineSeed:20188] [VineLinux:0938] zdiff が 差分を出力しない

  • From: bts-vinelinux@xxxxxxxxxxxxx
  • Subject: [VineSeed:20188] [VineLinux:0938] zdiff が 差分を出力しない
  • Date: Sat, 27 Feb 2010 14:36:52 +0900
XXXXXXXX@XXXXXXXX wrote: 

zdiff の引数2つの両方に *.gz を指定すると、
異なるファイルでも一致したと判定される(というか、何も出力されない)。


% echo 1>1
% echo 2>2
% diff 1 2
1c1
< 1
---
> 2
% gzip 1
% gzip 2
% zdiff 1.gz 2.gz 
%

本家にも報告されてて、
http://www.mail-archive.com/bug-gzip@xxxxxxx/msg00261.html
テスト版の 1.3.14 では修正されています。
http://alpha.gnu.org/gnu/gzip/gzip-1.3.14.tar.gz
これが 2009年10月。
正式版が早く出るといいのですが。

手元で直したい方は、以下を参考にどうぞ。

--- /usr/bin/zdiff~	2010-01-22 16:53:04.000000000 +0900
+++ /usr/bin/zdiff	2010-02-27 14:33:42.000000000 +0900
@@ -104,12 +104,14 @@
 			  exec 4>&1
 			  (gzip -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- |
 			    ( (gzip -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- </dev/null |
-			       eval "$cmp" /dev/fd/5 -) 5<&0
+			       eval "$cmp" /dev/fd/5 - >&3) 5<&0
 			)
+			cmp_status=$?
 			case $gzip_status in
 			  *[1-9]*) gzip_status=1;;
 			  *) gzip_status=0;;
 			esac
+			(exit $cmp_status)
 		    else
 			F=`expr "/$2" : '.*/\(.*\)[-.][zZtga]*$'` || F=$prog
 			tmp=


== このレポートの詳細は以下の通りです ==

レポート ID  : 938
レポート URL : http://bts.vinelinux.org/guest.cgi?project=VineLinux&action=view_report&id=938

分類           : バグ
Vine ver.      : 5.0
関連パッケージ : gzip-1.3.12-3vl5
arch           : x86
状態           : 新規
優先度         : 中
重大度         : 普通
担当者         : 未定

# あなたが、このようなメッセージに無関係である場合には、
# 管理者 <Vine@xxxxxxxxxxxxx> までご連絡ください。

--
Bug Tracking System 影舞 0.8.8.
http://www.daifukuya.com/kagemai/