docs/69086: Porters Handbook: How to convert from CR/LF to LF using REINPLACE_CMD
Giorgos Keramidas
keramida at ceid.upatras.gr
Fri Aug 6 23:29:42 UTC 2004
Nice :)
xargs is one of my favorite UNIX tools too. If this builds fine
(I haven't tested it, just gave it a quick look), then please commit it.
On 2004-08-06 15:50, Peter Pentchev <roam at ringlet.net> wrote:
> Or how about the following, which uses the &windows; entity properly? :)
>
> G'luck,
> Peter
>
> Index: doc/en_US.ISO8859-1/books/porters-handbook/book.sgml
> ===================================================================
> RCS file: /home/ncvs/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v
> retrieving revision 1.470
> diff -u -r1.470 book.sgml
> --- doc/en_US.ISO8859-1/books/porters-handbook/book.sgml 5 Aug 2004 10:04:30 -0000 1.470
> +++ doc/en_US.ISO8859-1/books/porters-handbook/book.sgml 6 Aug 2004 15:40:46 -0000
> @@ -18,6 +18,8 @@
> %mailing-lists;
> <!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
> %freebsd;
> +<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
> +%trademarks;
> <!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN">
> %urls;
> ]>
> @@ -682,6 +684,25 @@
> lines!); define <literal>USE_AUTOCONF_VER=213</literal> and take the
> diffs of <filename>configure.in</filename>.</para>
>
> + <para>Quite often, there is a situation when the software being
> + ported, especially if it is primarily developed on &windows;, uses
> + the CR/LF convention for most of its source files. This may cause
> + problems with further patching, compiler warnings, scripts
> + execution (<command>/bin/sh^M</command> not found), etc. To
> + quickly convert those files from CR/LF to just LF, you can do
> + something like this:</para>
> +
> + <programlisting>USE_REINPLACE= yes
> +
> +post-extract:
> + @${FIND} -E ${WRKDIR} -type f -iregex ".*\.(c|cpp|h|txt)" -print0 | \
> + ${XARGS} -0 ${REINPLACE_CMD} -e 's/[[:cntrl:]]*$$//' '{}' \;</programlisting>
> +
> + <para>Of course, if you need to process each and every file,
> + <option>-iregex</option> above can be omitted. Be aware that this
> + piece of code will strip all trailing control characters from each
> + line of processed file (except <literal>\n</literal>).</para>
> +
> <para>Also, if you had to delete a file, then you can do it in the
> <maketarget>post-extract</maketarget> target rather than as part of
> the patch. Once you are happy with the resulting diff, please split
More information about the freebsd-doc
mailing list