From 1da46be57223340c07ea8505d485ec4397a4e484 Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Wed, 3 Jul 2013 11:43:05 -0700 Subject: [PATCH] [master] added todos.pl for win32 build 3608. [port] win32: added todos.pl script to ensure all text files the win32 build depends on are converted to DOS newline format. [RT #22067] --- CHANGES | 4 ++++ win32utils/BuildSetup.bat | 3 +++ win32utils/todos.pl | 39 ++++++++++++++++++++++++++++++++++++++ win32utils/win32-build.txt | 7 ++++++- 4 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 win32utils/todos.pl diff --git a/CHANGES b/CHANGES index 97c55be41c..9fcb86bb58 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +3608. [port] win32: added todos.pl script to ensure all text files + the win32 build depends on are converted to DOS + newline format. [RT #22067] + 3607. [bug] dnssec-keygen had broken 'Invalid keyfile' error message. [RT #34045] diff --git a/win32utils/BuildSetup.bat b/win32utils/BuildSetup.bat index 21f198caca..f0b907d807 100644 --- a/win32utils/BuildSetup.bat +++ b/win32utils/BuildSetup.bat @@ -24,6 +24,9 @@ cd .. copy config.h.win32 config.h cd win32utils +rem Make sure all the files that need to be in DOS format really are +perl todos.pl + rem Get and update for the latest build of the openssl and libxml libraries perl updateopenssl.pl perl updatelibxml2.pl diff --git a/win32utils/todos.pl b/win32utils/todos.pl new file mode 100644 index 0000000000..a149465ca5 --- /dev/null +++ b/win32utils/todos.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl +# +# Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC") +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# PERFORMANCE OF THIS SOFTWARE. + +# todos.pl +# This script performs the equivalent of unix2dos on all the files in +# the BIND 9 source tree that require DOS-style newlines when building +# for win32. +# +# Path and directory +use strict; +use File::Find; + +sub todos { + local ($^I, @ARGV) = (defined, @_); + while (<>) { + s/[\r\n]+$/\r\n/; + print; + } +} + +sub wanted { + return unless -f && $_ =~ qr/\.(mak|dsp|dsw|txt|bat)$/; + todos $File::Find::dir . "/" . $_; +} + +finddepth(\&wanted, ".."); diff --git a/win32utils/win32-build.txt b/win32utils/win32-build.txt index fa4939ad2a..c03ab3f4a1 100644 --- a/win32utils/win32-build.txt +++ b/win32utils/win32-build.txt @@ -104,11 +104,16 @@ the BIND9 root: cd bind-9.10.0\win32utils +Text files used by the Windows build should be in DOS format. +If for some reason they aren't, this can be corrected by running: + + perl todos.pl + If you wish to use PKCS #11 to control a cryptographic hardware service module, set the path to the PKCS #11 provider library: perl setpk11provider.pl - + If using VC++ 6.0, run the BuildAll.bat file: BuildAll