start fixing msdosfs for reproducible builds; does not work yet.

This commit is contained in:
christos 2017-02-16 18:50:04 +00:00
parent 297234680c
commit e93222b74e
2 changed files with 19 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: msdos.c,v 1.16 2016/01/30 09:59:27 mlelstv Exp $ */ /* $NetBSD: msdos.c,v 1.17 2017/02/16 18:50:04 christos Exp $ */
/*- /*-
* Copyright (c) 2013 The NetBSD Foundation, Inc. * Copyright (c) 2013 The NetBSD Foundation, Inc.
@ -34,7 +34,7 @@
#include <sys/cdefs.h> #include <sys/cdefs.h>
#if defined(__RCSID) && !defined(__lint) #if defined(__RCSID) && !defined(__lint)
__RCSID("$NetBSD: msdos.c,v 1.16 2016/01/30 09:59:27 mlelstv Exp $"); __RCSID("$NetBSD: msdos.c,v 1.17 2017/02/16 18:50:04 christos Exp $");
#endif /* !__lint */ #endif /* !__lint */
#include <sys/param.h> #include <sys/param.h>
@ -133,6 +133,9 @@ msdos_parse_opts(const char *option, fsinfo_t *fsopts)
msdos_opt->media_descriptor_set = 1; msdos_opt->media_descriptor_set = 1;
else if (strcmp(msdos_options[rv].name, "hidden_sectors") == 0) else if (strcmp(msdos_options[rv].name, "hidden_sectors") == 0)
msdos_opt->hidden_sectors_set = 1; msdos_opt->hidden_sectors_set = 1;
msdos_opt->timestamp = stampst.st_ino ? stampst.st_mtime : 0;
return 1; return 1;
} }

View File

@ -1,4 +1,4 @@
/* $NetBSD: msdosfs_vnops.c,v 1.17 2016/01/30 09:59:27 mlelstv Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.18 2017/02/16 18:50:05 christos Exp $ */
/*- /*-
* Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank. * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@ -51,7 +51,7 @@
#endif #endif
#include <sys/cdefs.h> #include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.17 2016/01/30 09:59:27 mlelstv Exp $"); __KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.18 2017/02/16 18:50:05 christos Exp $");
#include <sys/param.h> #include <sys/param.h>
#include <sys/mman.h> #include <sys/mman.h>
@ -98,12 +98,20 @@ static void
msdosfs_times(struct msdosfsmount *pmp, struct denode *dep, msdosfs_times(struct msdosfsmount *pmp, struct denode *dep,
const struct stat *st) const struct stat *st)
{ {
struct timespec at;
struct timespec mt;
if (stampst.st_ino)
st = &stampst;
#ifndef HAVE_NBTOOL_CONFIG_H #ifndef HAVE_NBTOOL_CONFIG_H
struct timespec at = st->st_atimespec; at = st->st_atimespec;
struct timespec mt = st->st_mtimespec; mt = st->st_mtimespec;
#else #else
struct timespec at = { st->st_atime, 0 }; at.tv_sec = st->st_atime;
struct timespec mt = { st->st_mtime, 0 }; at.tv_nsec = 0;
mt.tv_sec = st->st_mtime;
mt.tv_nsec = 0;
#endif #endif
unix2dostime(&at, pmp->pm_gmtoff, &dep->de_ADate, NULL, NULL); unix2dostime(&at, pmp->pm_gmtoff, &dep->de_ADate, NULL, NULL);
unix2dostime(&mt, pmp->pm_gmtoff, &dep->de_MDate, &dep->de_MTime, NULL); unix2dostime(&mt, pmp->pm_gmtoff, &dep->de_MDate, &dep->de_MTime, NULL);