ports/106029: USE_DOS2UNIX improvement
Pav Lucistnik
pav at FreeBSD.org
Wed Nov 29 20:00:38 UTC 2006
>Number: 106029
>Category: ports
>Synopsis: USE_DOS2UNIX improvement
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Nov 29 20:00:36 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Pav Lucistnik
>Release: FreeBSD 6.2-PRERELEASE amd64
>Organization:
>Environment:
System: FreeBSD ikaros.oook.cz 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #0: Thu Sep 28 19:10:00 CEST 2006 root at ikaros.oook.cz:/usr/obj/usr/src/sys/SMP amd64
>Description:
Improvements to current feature USE_DOS2UNIX (replace DOS linefeeds with UNIX
ones):
- allows to specify generic file extensions, which will be then searched and
patched in the whole directory tree
USE_DOS2UNIX= *.cpp *.h
- backwards compatible: retains old behaviour if slash is used in the expression
USE_DOS2UNIX= src/config.h
- new variable to specify find(1) iregex argument
USE_DOS2UNIX= yes
DOS2UNIX_REGEX= .*\.(cpp|h)
Superseeds ports/93007.
>How-To-Repeat:
>Fix:
Also available on freefall as ~pav/dos2unix.patch
--- dos2unix.patch begins here ---
Index: bsd.port.mk
===================================================================
RCS file: /home/pcvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.544
diff -a -u -r1.544 bsd.port.mk
--- bsd.port.mk 30 Sep 2006 19:25:45 -0000 1.544
+++ bsd.port.mk 29 Nov 2006 19:51:10 -0000
@@ -299,6 +299,9 @@
# USE_DOS2UNIX - If set to "YES", remove the ^M from all files
# under ${WRKSRC}. If set to a string, remove in all
# files under ${WRKSRC} with one of these names the ^Ms.
+# DOS2UNIX_REGEX
+# - Limit the ^M removal to files which name matches
+# the regular expression.
# USE_GCC - If set, this port requires this version of gcc, either in
# the system or installed from a port.
# USE_GMAKE - If set, this port uses gmake.
@@ -1268,6 +1271,8 @@
.endif
+DOS2UNIX_REGEX?= .*
+
# Start of pre-makefile section.
.if !defined(AFTERPORTMK) && !defined(INOPTIONSMK)
@@ -3480,13 +3485,20 @@
.if defined(USE_DOS2UNIX)
.if ${USE_DOS2UNIX:U}=="YES"
@${ECHO_MSG} "===> Converting DOS text files to UNIX text files"
- @${FIND} ${WRKSRC} -type f -print0 | \
+ @${FIND} -E ${WRKSRC} -type f -iregex '${DOS2UNIX_REGEX}' -print0 | \
${XARGS} -0 ${REINPLACE_CMD} -i '' -e 's/
$$//'
.else
-.for f in ${USE_DOS2UNIX}
@${ECHO_MSG} "===> Converting DOS text file to UNIX text file: ${f}"
+.if ${USE_DOS2UNIX:M*/*}
+.for f in ${USE_DOS2UNIX}
@${REINPLACE_CMD} -i '' -e 's/
$$//' ${WRKSRC}/${f}
.endfor
+.else
+.for f in ${USE_DOS2UNIX}
+ @${FIND} ${WRKSRC} -type f -name '${f}' -print0 | \
+ ${XARGS} -0 ${REINPLACE_CMD} -i '' -e 's/
$$//'
+.endfor
+.endif
.endif
.else
@${DO_NADA}
--- dos2unix.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list