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

Re: Q: foo.orig.tar.gz




On 28 May 2001, Alexey Mahotkin wrote:

> >>>>> "NU" == Nefedov U <nefedov@nusun.jinr.ru> writes:
> 
> NU>   Вопрос у меня.
>  
> NU>  Скачал я себе исходники пакета в виде foo.orig.tar.gz и т.д.  и зачем
> NU> то разzipовал этот foo.orig.tar.gz (любопытство подвело).  Как теперь я
> NU> не бьюсь обратно заzipовать с той же длинной и md5sum у меня уже не
> NU> выходит. Соответственно, dpkg-source ругается и работать не
> NU> хочет. Может какие флажки и gzip надо особые выставить?
> 
> From: Hrvoje Niksic <hniksic@arsdigita.com>
> Subject: Re: BAD: Handling of package-index by package release and install system
> To: XEmacs Beta List <xemacs-beta@xemacs.org>
> Date: 26 May 2001 21:41:54 +0200
> 
> Steve Youngs <youngs@xemacs.org> writes:
> 
> > Personally, I blame GNU/tar.  Try doing this:
> > 
> > tar cvzf test.tar.gz /some/directory/
> > md5sum test.tar.gz > test.md5
> > rm test.tar.gz
> > tar cvzf test.tar.gz /some/directory/
> > md5sum test.tar.gz >> test.md5
> > cat test.md5
> 
> The first fault in the reasoning is that you're actually using two
> programs: tar and gzip.  If I try the test like this:
> 
> tar cf x.tar test-dir
> tar cf y.tar test-dir
> 
> ...the resulting files are the same.  However, if I do this:
> 
> tar czf x.tar.gz test-dir
> tar czf y.tar.gz test-dir
> 
> ...they differ.
> 
> The problem is that `gzip' "helpfully" adds a timestamp to the file,
> even it is completely unneeded for TAR files which keep their own
> timestamp information.  Hopefully, there is a flag that removes this.
> So if I try:
> 
> tar cf - test-dir | gzip -cn > x.tar.gz
> tar cf - test-dir | gzip -cn > y.tar.gz
> 
> ...the files are the same.
> 
> Does this work for you?
> 
> 
> --alexm
> 
 Это решило только часть проблемы.
 
 Исходный файл:
 b6149d460b54f4862e001fcba0ac684c 2284366 wmaker_0.65.0.orig.tar.gz
                                  ^^^^^^^
                                  это размер файла
 После того как я попробовал:
   gzip -n9 wmaker_0.65.0.orig.tar

 размер файла наконец то совпал и стал 2284366 однако
 md5sum wmaker_0.65.0.orig.tar.gz 
 d89a773c265ec33ea4ce27a1aa1064c4  wmaker_0.65.0.orig.tar.gz

 интересно то, что 
 cat wmaker_0.65.0.orig.tar | gzip -c9 > wmaker_0.65.0.orig.tar.gz
 то же дает длинну 2284366, но с другим md5sum
 8c03a7a3b3eb461a3932bbf4cf186801  wmaker_0.65.0.orig.tar.gz
 
 Вобщем, после того как я все же скачал "правильный" 
 wmaker_0.65.0.orig.tar.gz и сравнил то что получается у меня
 и исходный файл, различия оказались только в 5-8 битах
 этих файлов:
 
 cmp -cl wmaker_0.65.0.orig.tar.gz
/debian/source/wmaker_0.65.0.orig.tar.gz 
     5   0 ^@   142 b
     6   0 ^@    33 ^[
     7   0 ^@   373 M-{
     8   0 ^@    72 :

 gzip -n действительно пишет в header одни нули (первая колонка),
 а в исходном файле (вторая колонка) все же что-то содержится.
 Видимо это результат взаимодействия tar и gzip :(

 Ю.

 Once you open a can of worms, the only way to recan them 
 is to use a larger can.
           Zymurgy's First Law of Evolving System Dynamics
 



Reply to: