Bug 615824

Summary: Use --no-name by default for reproducibility
Product: [Fedora] Fedora Reporter: Matt McCutchen <matt>
Component: gzipAssignee: Karel Klíč <kklic>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 13CC: kklic, pertusus, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-08-05 05:44:18 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Attachments:
Description Flags
Proposed patch none

Description Matt McCutchen 2010-07-18 21:37:59 EDT
Description of problem:
IMO, embedding the source file name and mtime in the compressed file (--name) is a misfeature.  The extra metadata has never been useful to me, but it broke reproducibility of one of my build processes until I disabled it.  Please consider disabling it (--no-name) by default, or at least when stdin is a pipe.

I realize this request could probably go upstream, but upstream bug tracking is nonexistent.

Version-Release number of selected component (if applicable):
gzip-1.3.13-4.fc13.x86_64

How reproducible:
Always

Steps to Reproduce:
echo foo | gzip | sha1sum; sleep 1; echo foo | gzip | sha1sum
  
Actual results:
Two different values.

Expected results:
The same value twice.
Comment 1 Karel Klíč 2010-07-26 12:05:39 EDT
Created attachment 434453 [details]
Proposed patch

It makes sense to me to disable the file name and mtime by default when reading the input from stdin. Not sure about changing the defaults for files.

I'll ask the upstream author.
Comment 2 Karel Klíč 2010-08-05 05:44:18 EDT
The upstream thinks it's bad to make pipes a special case.
Feel free to make a better proposal there, I should have thought mine more.

http://lists.gnu.org/archive/html/bug-gzip/2010-08/msg00001.html