Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Apr 2020 12:20:13 +0000 (UTC)
From:      =?UTF-8?Q?Stefan_E=c3=9fer?= <se@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r532201 - in head/misc/ctm: . files
Message-ID:  <202004201220.03KCKDkM025702@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: se
Date: Mon Apr 20 12:20:12 2020
New Revision: 532201
URL: https://svnweb.freebsd.org/changeset/ports/532201

Log:
  Make ctm use the file mode listed in the CTM delta.
  
  PR:		245415
  Submitted by:	stephen
  Approved by:	antoine (implicit)

Modified:
  head/misc/ctm/Makefile
  head/misc/ctm/files/patch-ctm_ctm__pass3.c

Modified: head/misc/ctm/Makefile
==============================================================================
--- head/misc/ctm/Makefile	Mon Apr 20 12:18:00 2020	(r532200)
+++ head/misc/ctm/Makefile	Mon Apr 20 12:20:12 2020	(r532201)
@@ -2,7 +2,7 @@
 
 PORTNAME=	ctm
 PORTVERSION=	2.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	misc
 
 MAINTAINER=	se@FreeBSD.org

Modified: head/misc/ctm/files/patch-ctm_ctm__pass3.c
==============================================================================
--- head/misc/ctm/files/patch-ctm_ctm__pass3.c	Mon Apr 20 12:18:00 2020	(r532200)
+++ head/misc/ctm/files/patch-ctm_ctm__pass3.c	Mon Apr 20 12:20:12 2020	(r532201)
@@ -1,6 +1,16 @@
 --- ctm/ctm_pass3.c.orig	2018-10-27 15:56:22 UTC
 +++ ctm/ctm_pass3.c
-@@ -35,10 +35,12 @@ Pass3(FILE *fd)
+@@ -31,14 +31,22 @@ settime(const char *name, const struct timeval *times)
+ }
+ 
+ int
++setmodefromchar(const char *name, const u_char *mode)
++{
++	return chmod(name, strtol(mode, NULL, 8));
++}
++
++int
+ Pass3(FILE *fd)
  {
      u_char *p,*q,buf[BUFSIZ];
      MD5_CTX ctx;
@@ -15,7 +25,7 @@
      struct stat st;
      char md5_1[33];
      int match=0;
-@@ -131,7 +133,7 @@ Pass3(FILE *fd)
+@@ -131,7 +139,7 @@ Pass3(FILE *fd)
  	WRONG
      found:
  	for(i=0;(j = sp->List[i]);i++) {
@@ -24,7 +34,7 @@
  		sep = ' ';
  	    else
  		sep = '\n';
-@@ -149,53 +151,98 @@ Pass3(FILE *fd)
+@@ -149,53 +157,99 @@ Pass3(FILE *fd)
  		    break;
  		case CTM_F_Count: GETBYTECNT(cnt,sep); break;
  		case CTM_F_Bytes: GETDATA(trash,cnt); break;
@@ -140,6 +150,7 @@
 +		    WRONG
 +		}
 +		if (settime(name,times)) WRONG
++		if (setmodefromchar(name,mode)) WRONG
 +		continue;
  	    }
 -	    if(cnt != write(i,trash,cnt)) {
@@ -159,7 +170,31 @@
  	if(!strcmp(sp->Key,"FE")) {
  	    ed = popen("ed","w");
  	    if(!ed) {
-@@ -278,6 +325,8 @@ Pass3(FILE *fd)
+@@ -218,6 +272,7 @@ Pass3(FILE *fd)
+ 		WRONG
+ 	    }
+ 	    if (settime(name,times)) WRONG
++	    if (setmodefromchar(name,mode)) WRONG
+ 	    continue;
+ 	}
+ 	if(!strcmp(sp->Key,"FN")) {
+@@ -237,6 +292,7 @@ Pass3(FILE *fd)
+ 	    if (rename(buf,name) == -1)
+ 		WRONG
+ 	    if (settime(name,times)) WRONG
++	    if (setmodefromchar(name,mode)) WRONG
+ 	    continue;
+ 	}
+ 	if(!strcmp(sp->Key,"DM")) {
+@@ -249,6 +305,7 @@ Pass3(FILE *fd)
+ 		WRONG
+ 	    }
+ 	    if (settime(name,times)) WRONG
++	    if (setmodefromchar(name,mode)) WRONG
+ 	    continue;
+ 	}
+ 	if(!strcmp(sp->Key,"FR")) {
+@@ -278,6 +335,8 @@ Pass3(FILE *fd)
  	    }
  	    continue;
  	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004201220.03KCKDkM025702>