bin/53063: [PATCH] Let mtree -U update mtime

Dan Nelson dnelson at allantgroup.com
Thu Oct 30 11:20:08 PST 2003


The following reply was made to PR bin/53063; it has been noted by GNATS.

From: Dan Nelson <dnelson at allantgroup.com>
To: FreeBSD-gnats-submit at FreeBSD.org
Cc:  
Subject: Re: bin/53063: [PATCH] Let mtree -U update mtime
Date: Thu, 30 Oct 2003 13:18:33 -0600

 Updated patch.  The original had an extra fix for a failing readlink
 call, but I cannot remember what would cause the call to fail.
 Something to do with reading links over NFS mounts, maybe.
 
 Index: compare.c
 ===================================================================
 RCS file: /home/ncvs/src/usr.sbin/mtree/compare.c,v
 retrieving revision 1.29
 diff -u -r1.29 compare.c
 --- compare.c	30 Oct 2003 12:03:25 -0000	1.29
 +++ compare.c	30 Oct 2003 19:03:49 -0000
 @@ -184,8 +184,21 @@
  		LABEL;
  		(void)printf("%smodification time expected %.24s ",
  		    tab, ctime(&s->st_mtimespec.tv_sec));
 -		(void)printf("found %.24s\n",
 +		(void)printf("found %.24s",
  		    ctime(&p->fts_statp->st_mtimespec.tv_sec));
 +		if (uflag) {
 +		    struct timeval tv[2];
 +		    tv[0].tv_sec = s->st_mtimespec.tv_sec;
 +		    tv[0].tv_usec = s->st_mtimespec.tv_nsec / 1000;
 +		    tv[1] = tv[0];
 +		    if (utimes(p->fts_accpath, tv))
 +				(void)printf(" not modified: %s\n",
 +				    strerror(errno));
 +			else
 +				(void)printf(" modified\n");
 +        }
 +		else
 +			(void)printf("\n");
  		tab = "\t";
  	}
  	if (s->flags & F_CKSUM) {
 Index: mtree.8
 ===================================================================
 RCS file: /home/ncvs/src/usr.sbin/mtree/mtree.8,v
 retrieving revision 1.40
 diff -u -r1.40 mtree.8
 --- mtree.8	14 Sep 2003 13:41:58 -0000	1.40
 +++ mtree.8	30 Oct 2003 18:46:48 -0000
 @@ -76,8 +76,9 @@
  Don't follow symbolic links in the file hierarchy, instead consider
  the symbolic link itself in any comparisons. This is the default.
  .It Fl U
 -Modify the owner, group and permissions of existing files to match
 -the specification and create any missing directories or symbolic links.
 +Modify the owner, group, permissions, and modification time of existing 
 +files to match the specification and create any missing directories or 
 +symbolic links.
  User, group and permissions must all be specified for missing directories
  to be created.
  Corrected mismatches are not considered errors.


More information about the freebsd-bugs mailing list