Skip to content

Commit

Permalink
Fixup possible crlf in generated files
Browse files Browse the repository at this point in the history
  • Loading branch information
ribasushi committed Dec 19, 2012
1 parent 331886e commit 204f57d
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 2 deletions.
6 changes: 6 additions & 0 deletions maint/Makefile.PL.inc/12_authordeps.pl
Expand Up @@ -94,6 +94,12 @@ END
Meta->write;
}

# strip possible crlf from META
if ($^O eq 'MSWin32' or $^O eq 'cygwin') {
local $ENV{PERLIO} = 'unix';
system( $^X, qw( -MExtUtils::Command -e dos2unix -- META.yml), );
}

# test that we really took things away (just in case, happened twice somehow)
if (! -f 'META.yml') {
warn "No META.yml generated?! aborting...\n";
Expand Down
25 changes: 25 additions & 0 deletions maint/Makefile.PL.inc/53_autogen_pod.pl
Expand Up @@ -82,6 +82,31 @@
}


# on some OSes generated files may have an incorrect \n - fix it
# so that the xt tests pass on a fresh checkout (also shipping a
# dist with CRLFs is beyond obnoxious)
#
# Ironically EUMM's dos2unix is broken on win32 itself - it does
# not take into account the CRLF layer present on win32
# do the ENV trick again
if ($^O eq 'MSWin32' or $^O eq 'cygwin') {

{
local $ENV{PERLIO} = 'unix';
system( $^X, qw( -MExtUtils::Command -e dos2unix -- ), $pod_dir );
}

postamble <<"EOP";
test_xt : dbic_fixup_generated_pod
dbic_fixup_generated_pod :
\t@{[ $mm_proto->oneliner( qq(\$\$ENV{PERLIO}='unix' and system( \$\$^X, qw( -MExtUtils::Command -e dos2unix -- ), q($pod_dir) ) ) ) ]}
EOP
}


# copy the contents of $pod_dir over to the workdir
# (yes, overwriting is fine, though nothing should reside there)
{
Expand Down
9 changes: 7 additions & 2 deletions maint/Makefile.PL.inc/61_inject_dbicadmin_pod.pl
Expand Up @@ -6,15 +6,20 @@
# will not do what one expects, because on unixy systems the
# target is symlinked to the original

# FIXME also on win32 EU::Command::cat() adds crlf even if the
# source files do not contain any :(
my $crlf_fixup = ($^O eq 'MSWin32' or $^O eq 'cygwin')
? "\t@{[ $mm_proto->oneliner( qq(\$\$ENV{PERLIO}='unix' and system( \$\$^X, qw( -MExtUtils::Command -e dos2unix -- ), q(\$(DISTVNAME)/script/dbicadmin) ) ) ) ]}"
: ''
;
postamble <<"EOP";
create_distdir : dbic_distdir_dbicadmin_pod_inject
dbic_distdir_dbicadmin_pod_inject :
\t\$(RM_F) \$(DISTVNAME)/script/dbicadmin
\t@{[ $mm_proto->oneliner('cat', ['-MExtUtils::Command']) ]} script/dbicadmin maint/.Generated_Pod/dbicadmin.pod > \$(DISTVNAME)/script/dbicadmin
$crlf_fixup
EOP

# keep the Makefile.PL eval happy
Expand Down

0 comments on commit 204f57d

Please sign in to comment.