aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2011-03-11 10:08:49 -0500
committerRuss Cox <rsc@golang.org>2011-03-11 10:08:49 -0500
commite6c9bccd33581bbe8ec291f6c9a7ef608e5e0861 (patch)
treeba96464a4c6760306b624b9e541be485c6b3625d
parent08ceb870f2eef31fb75059e2553c1e9ae2fa2708 (diff)
downloadgo-e6c9bccd33581bbe8ec291f6c9a7ef608e5e0861.tar.gz
go-e6c9bccd33581bbe8ec291f6c9a7ef608e5e0861.zip
gopack: omit time stamps
This makes it possible to build a package twice and get the same bytes both times. R=r, dsymonds, r2 CC=golang-dev https://golang.org/cl/4248077
-rw-r--r--src/cmd/gopack/ar.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/gopack/ar.c b/src/cmd/gopack/ar.c
index a7e2c41afd..4c241358d4 100644
--- a/src/cmd/gopack/ar.c
+++ b/src/cmd/gopack/ar.c
@@ -430,7 +430,7 @@ xcmd(char *arname, int count, char **files)
arcopy(&bar, 0, bp);
if (write(f, bp->member, bp->size) < 0)
wrerr();
- if(oflag) {
+ if(oflag && bp->date != 0) {
nulldir(&dx);
dx.atime = bp->date;
dx.mtime = bp->date;
@@ -1022,7 +1022,7 @@ armove(Biobuf *b, Arfile *ap, Armember *bp)
for (cp = strchr(bp->hdr.name, 0); /* blank pad on right */
cp < bp->hdr.name+sizeof(bp->hdr.name); cp++)
*cp = ' ';
- sprint(bp->hdr.date, "%-12ld", d->mtime);
+ sprint(bp->hdr.date, "%-12ld", 0); // was d->mtime but removed for idempotent builds
sprint(bp->hdr.uid, "%-6d", 0);
sprint(bp->hdr.gid, "%-6d", 0);
sprint(bp->hdr.mode, "%-8lo", d->mode);
@@ -1125,7 +1125,7 @@ rl(int fd)
len = symdefsize;
if(len&01)
len++;
- sprint(a.date, "%-12ld", time(0));
+ sprint(a.date, "%-12ld", 0); // time(0)
sprint(a.uid, "%-6d", 0);
sprint(a.gid, "%-6d", 0);
sprint(a.mode, "%-8lo", 0644L);
@@ -1162,7 +1162,7 @@ rl(int fd)
if (gflag) {
len = pkgdefsize;
- sprint(a.date, "%-12ld", time(0));
+ sprint(a.date, "%-12ld", 0); // time(0)
sprint(a.uid, "%-6d", 0);
sprint(a.gid, "%-6d", 0);
sprint(a.mode, "%-8lo", 0644L);