diff options
author | David Golden <dagolden@cpan.org> | 2010-07-24 00:44:40 -0700 |
---|---|---|
committer | David Golden <dagolden@cpan.org> | 2010-07-24 01:54:33 -0700 |
commit | ff906f87ce1519416ddfff76ae8e1d8fa42ed082 (patch) | |
tree | 2a65f8a9197fb1f04777cc1f63b0f21379d67662 /Porting | |
parent | 2a6dc37471bea77f0c24fd1fe90c598a270c9968 (diff) | |
download | perl-ff906f87ce1519416ddfff76ae8e1d8fa42ed082.tar.gz |
Global executable bit cleanup
When porting/makerel runs, all files copied into the directory for the
tarball have the executable bit stripped and then only a specific set of
files have the executable bit restored.
There are many files in the repo that have the executable bit set in the
repo that will be stripped. So that the state of files in the repo is
as close as possible to the state of files in the release tarball, the
executable bit has been stripped from such files.
In one recent case, a file added from a dual-life module needed the
executable bit set. Because it had the bit in the repo but was
not listed in makerel to get an executable bit, tests using it
passed in the repo and failed in the tarball.
This commit refactors the list into a new file, Porting/exec-bit.txt
and add tests to detect a mismatch between files listed there
and actual executable bits in the repo.
Diffstat (limited to 'Porting')
-rw-r--r--[-rwxr-xr-x] | Porting/GitUtils.pm | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/Maintainers.pl | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/bump-perl-version | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/cherrymaint | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/config_h.pl | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/core-cpan-diff | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/corelist-perldelta.pl | 0 | ||||
-rw-r--r-- | Porting/exec-bit.txt | 26 | ||||
-rwxr-xr-x[-rw-r--r--] | Porting/findrfuncs | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/findvars | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/fixCORE | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/fixvars | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/git-deltatool | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/git-find-p4-change | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/make_dot_patch.pl | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/make_snapshot.pl | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | Porting/makerel | 28 | ||||
-rw-r--r--[-rwxr-xr-x] | Porting/rt_list_patches | 0 |
18 files changed, 31 insertions, 23 deletions
diff --git a/Porting/GitUtils.pm b/Porting/GitUtils.pm index 9ee6ca58e3..9ee6ca58e3 100755..100644 --- a/Porting/GitUtils.pm +++ b/Porting/GitUtils.pm diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 09a2408738..09a2408738 100755..100644 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl diff --git a/Porting/bump-perl-version b/Porting/bump-perl-version index d7aabbab06..d7aabbab06 100755..100644 --- a/Porting/bump-perl-version +++ b/Porting/bump-perl-version diff --git a/Porting/cherrymaint b/Porting/cherrymaint index d1df73c0e0..d1df73c0e0 100755..100644 --- a/Porting/cherrymaint +++ b/Porting/cherrymaint diff --git a/Porting/config_h.pl b/Porting/config_h.pl index cf69b2ad32..cf69b2ad32 100755..100644 --- a/Porting/config_h.pl +++ b/Porting/config_h.pl diff --git a/Porting/core-cpan-diff b/Porting/core-cpan-diff index 75946185bb..75946185bb 100755..100644 --- a/Porting/core-cpan-diff +++ b/Porting/core-cpan-diff diff --git a/Porting/corelist-perldelta.pl b/Porting/corelist-perldelta.pl index d7bcd2ad61..d7bcd2ad61 100755..100644 --- a/Porting/corelist-perldelta.pl +++ b/Porting/corelist-perldelta.pl diff --git a/Porting/exec-bit.txt b/Porting/exec-bit.txt new file mode 100644 index 0000000000..b50517dd33 --- /dev/null +++ b/Porting/exec-bit.txt @@ -0,0 +1,26 @@ +# This file contains a list of files that makerel will +# ensure get an executable bit +# +# List files (or glob patterns) one per line relative to the repo root +# Lines starting with a pound and empty lines will be ignored +Configure +configpm +configure.gnu +cpan/Test-Harness/t/source_tests/source.sh +embed.pl +installperl +installman +keywords.pl +opcode.pl +t/TEST +*.SH +vms/ext/filespec.t +x2p/*.SH +Porting/findrfuncs +Porting/genlog +Porting/makerel +Porting/*.pl +mpeix/nm +mpeix/relink +Cross/generate_config_sh +Cross/warp diff --git a/Porting/findrfuncs b/Porting/findrfuncs index c9a7ff80a7..c9a7ff80a7 100644..100755 --- a/Porting/findrfuncs +++ b/Porting/findrfuncs diff --git a/Porting/findvars b/Porting/findvars index b2914f5652..b2914f5652 100755..100644 --- a/Porting/findvars +++ b/Porting/findvars diff --git a/Porting/fixCORE b/Porting/fixCORE index f7f4539fd6..f7f4539fd6 100755..100644 --- a/Porting/fixCORE +++ b/Porting/fixCORE diff --git a/Porting/fixvars b/Porting/fixvars index 201c37f3ad..201c37f3ad 100755..100644 --- a/Porting/fixvars +++ b/Porting/fixvars diff --git a/Porting/git-deltatool b/Porting/git-deltatool index c3946eeb12..c3946eeb12 100755..100644 --- a/Porting/git-deltatool +++ b/Porting/git-deltatool diff --git a/Porting/git-find-p4-change b/Porting/git-find-p4-change index 6363ae29ad..6363ae29ad 100755..100644 --- a/Porting/git-find-p4-change +++ b/Porting/git-find-p4-change diff --git a/Porting/make_dot_patch.pl b/Porting/make_dot_patch.pl index b50fd85a48..b50fd85a48 100755..100644 --- a/Porting/make_dot_patch.pl +++ b/Porting/make_dot_patch.pl diff --git a/Porting/make_snapshot.pl b/Porting/make_snapshot.pl index 70a4c3d66d..70a4c3d66d 100755..100644 --- a/Porting/make_snapshot.pl +++ b/Porting/make_snapshot.pl diff --git a/Porting/makerel b/Porting/makerel index a0ce67beeb..41e757bb56 100644..100755 --- a/Porting/makerel +++ b/Porting/makerel @@ -124,29 +124,11 @@ system("find . -type f -print | xargs chmod 0444"); system("find . -type d -print | xargs chmod 0755"); system("find $SEARCH_ROOTS -name '*.t' -print | xargs chmod +x"); system("find $SEARCH_ROOTS -name 'test.pl' -print | xargs chmod +x"); -my @exe = qw( - Configure - configpm - configure.gnu - cpan/Test-Harness/t/source_tests/source.sh - embed.pl - installperl - installman - keywords.pl - opcode.pl - t/TEST - *.SH - vms/ext/filespec.t - x2p/*.SH - Porting/findrfuncs - Porting/genlog - Porting/makerel - Porting/*.pl - mpeix/nm - mpeix/relink - Cross/generate_config_sh - Cross/warp -); +my @exe = map { my ($f) = split; glob($f) } + grep { $_ !~ /\A#/ && $_ !~ /\A\s*\z/ } + map { split "\n" } + do { local (@ARGV, $/) = 'Porting/exec-bit.txt'; <> }; + system("chmod +x @exe") == 0 or die "system: $!"; diff --git a/Porting/rt_list_patches b/Porting/rt_list_patches index 71145d4f6f..71145d4f6f 100755..100644 --- a/Porting/rt_list_patches +++ b/Porting/rt_list_patches |