Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.98k stars 560 forks source link

'make distclean' defect #14108

Closed p5pRT closed 10 years ago

p5pRT commented 10 years ago

Migrated from rt.perl.org#122820 (status was 'resolved')

Searchable as RT122820$

p5pRT commented 10 years ago

From @jkeenan

With this ticket I bring into RT the discussion that began on list starting at​: http​://www.nntp.perl.org/group/perl.perl5.porters/2014/09/msg220237.html

In this post I summarize that discussion\, present current documentation relevant to the problem and describe one policy question which needs to be resolved before a solution can be implemented.

I. Discussion of Problem

Steve Hay initiated the discussion in the context of working on core on Win32​:

##### "I just noticed that after doing a "nmake distclean" there are still many files left lying around that shouldn't be. Exactly which ones is shown by running "git clean -dfx" afterwards​: That should output nothing\, but instead cleaned up all the files below!

"distclean certainly used to work at some time in the (recent?) past." #####

Subsequent posts confirmed that this problem is *not* limited to Win32 and has existed for some time. Some have suggested that 'make distclean' be made an alias for 'git clean -dfx'\, but others have pointed out that you cannot and should not assume that one is always working within a git checkout. 'make distclean' presumably DTRT for Perl 5 core developers before we switched to git as our revision control system. It should not have been allowed to fall into disrepair.

[My editorial comments​: There is no guarantee that git will be the last revision control system Perl will ever use\, so we shouldn't tie ourselves too closely to it. TMTOWTDI encourages this and prudence recommends this. 'git clean -dfx' may DTRT for *many* Perl 5 core developers *much* of the time\, the mere fact that we are having this discussion indicates that it does not DTRT for all core developers all of the time.]

II. Documentation of Current Functionality

A. 'make distclean'

'make distclean' is documented in INSTALL under the heading "Starting all over again"​:

##### If you wish to rebuild perl from the same build directory\, you should clean it out with the command 'make distclean' or 'make realclean'[.] The only difference between the two is that 'make distclean' also removes your old config.sh and Policy.sh files. [Some paragraph reformatting -- jk.] #####

B. 'git clean -dfx'

From 'man git-clean' for Git 1.9.l​:

##### Cleans the working tree by recursively removing files that are not under version control\, starting from the current directory.

Normally\, only files unknown to Git are removed\, but if the -x option is specified\, ignored files are also removed. This can\, for example\, be useful to remove all build products. #####

Here is what I believe to be the most relevant parts of the documentation of the three options​:

##### -d​: Remove untracked directories in addition to untracked files.

-f​: If the Git configuration variable clean.requireForce is not set to false\, git clean will refuse to run unless given -f\, -n or -i.

-x​: This allows removing all untracked files\, including build products. This can be used (possibly in conjunction with git reset) to create a pristine working directory to test a clean build. #####

C. Attachments

Attached are three files derived from a perl built on Linux x86_64 in blead. 'git clean -dfx' was run before a fetch from origin and rebase\, then perl was configured only with '-des -Dusedevel'\, then perl was built and tested.

* Output from 'git clean -dfx' after from-scratch build​: git.clean.dfx.txt

* Output from 'make distclean' after from-scratch build​: make.distclean.txt

* Output from 'git clean -dfx' after 'make distclean' has been run​: activated.after.make.distclean.git.clean.dfx.txt

Examination of the latter suggests that almost all of the files and directories which 'make distclean' is failing to remove and which we would presumably expect it to remove are found under 'lib/'.

III. Policy Issues

A. Scope of Defect

Are we in agreement that\, given an otherwise pristine working directory\, 'make distclean' should remove the same directories and files as 'git clean -dfx'? In other words\, after running 'make distclean' should a file like attachment activated.after.make.distclean.git.clean.dfx.txt be empty?

B. Scope of 'make distclean' relative to 'git clean -dfx'

'make distclean' does not rely on the revision control system for the list of files to be removed. It relies on MANIFEST\, Makefile and its predecessors\, etc. As such\, it is not documented to remove any files the user may have in the working directory which are not under revision control or are not build artifacts.

Suppose I had in my working directory a little shell script to configure a DEBUGGING build.

##### $ cat mydebugconfigure.sh

#/bin/sh ./Configure -des -Dusedevel -DDEBUGGING #####

'make distclean' would presumably *not* remove that shell script as it is neither under revision control nor a build artifact.

'git clean'\, however\, treats the working directory primarily as a git checkout and -- particularly with '-dfx' -- aims to get that checkout back to a pristine state from git's point of view. git's point of view is not necessarily perl's or the developer's point of view. 'git clean -dfx' would nuke that shell script wrapping around Configure.

Once we have corrected the defect in III.A. above\, are we happy with the fact that 'make distclean' and 'git clean -dfx' have somewhat different objectives and hence achieve different results?

IV. Summary

Once we've resolved III.A. and III.B.\, patches welcome!

Thank you very much. Jim Keenan

-- James E Keenan (jkeenan@​cpan.org)

p5pRT commented 10 years ago

From @jkeenan

Removing lib/Attribute/ Removing lib/AutoLoader.pm Removing lib/AutoSplit.pm Removing lib/B/Debug.pm Removing lib/CPAN/ Removing lib/Carp.pm Removing lib/Carp/ Removing lib/Config/Perl/ Removing lib/Devel/ Removing lib/Digest.pm Removing lib/Digest/ Removing lib/Dumpvalue.pm Removing lib/Env.pm Removing lib/Exporter.pm Removing lib/Exporter/ Removing lib/ExtUtils/CBuilder.pm Removing lib/ExtUtils/CBuilder/ Removing lib/ExtUtils/Command.pm Removing lib/ExtUtils/Constant.pm Removing lib/ExtUtils/Constant/ Removing lib/ExtUtils/Install.pm Removing lib/ExtUtils/Installed.pm Removing lib/ExtUtils/Miniperl.pm Removing lib/ExtUtils/Packlist.pm Removing lib/Fatal.pm Removing lib/File/Fetch.pm Removing lib/File/Find.pm Removing lib/File/Path.pm Removing lib/File/Temp.pm Removing lib/FileCache.pm Removing lib/Filter/ Removing lib/Getopt/Long.pm Removing lib/HTTP/ Removing lib/I18N/ Removing lib/IO/ Removing lib/IPC/ Removing lib/Locale/ Removing lib/Math/ Removing lib/Memoize.pm Removing lib/Memoize/ Removing lib/Module/ Removing lib/NEXT.pm Removing lib/Net/Ping.pm Removing lib/Params/ Removing lib/Parse/ Removing lib/Perl/ Removing lib/PerlIO/ Removing lib/Pod/Escapes.pm Removing lib/Pod/Simple.pm Removing lib/Pod/Simple.pod Removing lib/Pod/Simple/ Removing lib/Safe.pm Removing lib/Search/ Removing lib/SelfLoader.pm Removing lib/Term/ Removing lib/Test.pm Removing lib/Test/ Removing lib/Text/ Removing lib/Thread/ Removing lib/Tie/File.pm Removing lib/Tie/Memoize.pm Removing lib/Tie/RefHash.pm Removing lib/Time/Local.pm Removing lib/autodie.pm Removing lib/autodie/ Removing lib/autouse.pm Removing lib/base.pm Removing lib/bigint.pm Removing lib/bignum.pm Removing lib/bigrat.pm Removing lib/constant.pm Removing lib/encoding/ Removing lib/experimental.pm Removing lib/fields.pm Removing lib/if.pm Removing lib/parent.pm Removing lib/perlfaq.pm Removing lib/perlfaq.pod Removing lib/perlfaq1.pod Removing lib/perlfaq2.pod Removing lib/perlfaq3.pod Removing lib/perlfaq4.pod Removing lib/perlfaq5.pod Removing lib/perlfaq6.pod Removing lib/perlfaq7.pod Removing lib/perlfaq8.pod Removing lib/perlfaq9.pod Removing lib/perlglossary.pod Removing lib/version.pm Removing lib/version.pod Removing lib/version/ Removing tclean veryclean _verycleaner Removing tclean' or 'veryclean' targets are run.

p5pRT commented 10 years ago

From @jkeenan

Would remove .config/ Would remove DynaLoader.o Would remove Makefile Would remove Policy.sh Would remove av.o Would remove bitcount.h Would remove caretx.o Would remove cflags Would remove config.h Would remove config.sh Would remove cpan/Archive-Tar/Makefile Would remove cpan/Archive-Tar/Makefile.PL Would remove cpan/Archive-Tar/blib/ Would remove cpan/Archive-Tar/pm_to_blib Would remove cpan/AutoLoader/pm_to_blib Would remove cpan/B-Debug/pm_to_blib Would remove cpan/CPAN-Meta-Requirements/pm_to_blib Would remove cpan/CPAN-Meta-YAML/pm_to_blib Would remove cpan/CPAN-Meta/pm_to_blib Would remove cpan/CPAN/Makefile Would remove cpan/CPAN/Makefile.PL Would remove cpan/CPAN/blib/ Would remove cpan/CPAN/pm_to_blib Would remove cpan/Compress-Raw-Bzip2/Bzip2.bs Would remove cpan/Compress-Raw-Bzip2/Bzip2.c Would remove cpan/Compress-Raw-Bzip2/Bzip2.o Would remove cpan/Compress-Raw-Bzip2/Makefile Would remove cpan/Compress-Raw-Bzip2/blib/ Would remove cpan/Compress-Raw-Bzip2/blocksort.c Would remove cpan/Compress-Raw-Bzip2/blocksort.o Would remove cpan/Compress-Raw-Bzip2/bzlib.c Would remove cpan/Compress-Raw-Bzip2/bzlib.h Would remove cpan/Compress-Raw-Bzip2/bzlib.o Would remove cpan/Compress-Raw-Bzip2/bzlib_private.h Would remove cpan/Compress-Raw-Bzip2/compress.c Would remove cpan/Compress-Raw-Bzip2/compress.o Would remove cpan/Compress-Raw-Bzip2/constants.h Would remove cpan/Compress-Raw-Bzip2/constants.xs Would remove cpan/Compress-Raw-Bzip2/crctable.c Would remove cpan/Compress-Raw-Bzip2/crctable.o Would remove cpan/Compress-Raw-Bzip2/decompress.c Would remove cpan/Compress-Raw-Bzip2/decompress.o Would remove cpan/Compress-Raw-Bzip2/huffman.c Would remove cpan/Compress-Raw-Bzip2/huffman.o Would remove cpan/Compress-Raw-Bzip2/pm_to_blib Would remove cpan/Compress-Raw-Bzip2/randtable.c Would remove cpan/Compress-Raw-Bzip2/randtable.o Would remove cpan/Compress-Raw-Zlib/Makefile Would remove cpan/Compress-Raw-Zlib/Zlib.bs Would remove cpan/Compress-Raw-Zlib/Zlib.c Would remove cpan/Compress-Raw-Zlib/Zlib.o Would remove cpan/Compress-Raw-Zlib/adler32.c Would remove cpan/Compress-Raw-Zlib/adler32.o Would remove cpan/Compress-Raw-Zlib/blib/ Would remove cpan/Compress-Raw-Zlib/compress.c Would remove cpan/Compress-Raw-Zlib/compress.o Would remove cpan/Compress-Raw-Zlib/constants.h Would remove cpan/Compress-Raw-Zlib/constants.xs Would remove cpan/Compress-Raw-Zlib/crc32.c Would remove cpan/Compress-Raw-Zlib/crc32.o Would remove cpan/Compress-Raw-Zlib/deflate.c Would remove cpan/Compress-Raw-Zlib/deflate.o Would remove cpan/Compress-Raw-Zlib/infback.c Would remove cpan/Compress-Raw-Zlib/infback.o Would remove cpan/Compress-Raw-Zlib/inffast.c Would remove cpan/Compress-Raw-Zlib/inffast.o Would remove cpan/Compress-Raw-Zlib/inflate.c Would remove cpan/Compress-Raw-Zlib/inflate.o Would remove cpan/Compress-Raw-Zlib/inftrees.c Would remove cpan/Compress-Raw-Zlib/inftrees.o Would remove cpan/Compress-Raw-Zlib/pm_to_blib Would remove cpan/Compress-Raw-Zlib/trees.c Would remove cpan/Compress-Raw-Zlib/trees.o Would remove cpan/Compress-Raw-Zlib/uncompr.c Would remove cpan/Compress-Raw-Zlib/uncompr.o Would remove cpan/Compress-Raw-Zlib/zutil.c Would remove cpan/Compress-Raw-Zlib/zutil.o Would remove cpan/Config-Perl-V/pm_to_blib Would remove cpan/DB_File/ppport.h Would remove cpan/Devel-PPPort/Makefile Would remove cpan/Devel-PPPort/PPPort.bs Would remove cpan/Devel-PPPort/PPPort.pm Would remove cpan/Devel-PPPort/RealPPPort.c Would remove cpan/Devel-PPPort/RealPPPort.o Would remove cpan/Devel-PPPort/RealPPPort.xs Would remove cpan/Devel-PPPort/blib/ Would remove cpan/Devel-PPPort/module2.o Would remove cpan/Devel-PPPort/module3.o Would remove cpan/Devel-PPPort/pm_to_blib Would remove cpan/Devel-PPPort/ppport.h Would remove cpan/Digest-MD5/MD5.bs Would remove cpan/Digest-MD5/MD5.c Would remove cpan/Digest-MD5/MD5.o Would remove cpan/Digest-MD5/Makefile Would remove cpan/Digest-MD5/blib/ Would remove cpan/Digest-MD5/pm_to_blib Would remove cpan/Digest-SHA/Makefile Would remove cpan/Digest-SHA/SHA.bs Would remove cpan/Digest-SHA/SHA.c Would remove cpan/Digest-SHA/SHA.o Would remove cpan/Digest-SHA/blib/ Would remove cpan/Digest-SHA/pm_to_blib Would remove cpan/Digest/pm_to_blib Would remove cpan/Encode/Byte/Byte.bs Would remove cpan/Encode/Byte/Byte.c Would remove cpan/Encode/Byte/Byte.o Would remove cpan/Encode/Byte/Byte.xs Would remove cpan/Encode/Byte/Makefile Would remove cpan/Encode/Byte/byte_t.c Would remove cpan/Encode/Byte/byte_t.exh Would remove cpan/Encode/Byte/byte_t.fnm Would remove cpan/Encode/Byte/byte_t.h Would remove cpan/Encode/Byte/byte_t.o Would remove cpan/Encode/Byte/pm_to_blib Would remove cpan/Encode/CN/CN.bs Would remove cpan/Encode/CN/CN.c Would remove cpan/Encode/CN/CN.o Would remove cpan/Encode/CN/CN.xs Would remove cpan/Encode/CN/Makefile Would remove cpan/Encode/CN/cp_00_t.c Would remove cpan/Encode/CN/cp_00_t.exh Would remove cpan/Encode/CN/cp_00_t.fnm Would remove cpan/Encode/CN/cp_00_t.h Would remove cpan/Encode/CN/cp_00_t.o Would remove cpan/Encode/CN/eu_01_t.c Would remove cpan/Encode/CN/eu_01_t.exh Would remove cpan/Encode/CN/eu_01_t.fnm Would remove cpan/Encode/CN/eu_01_t.h Would remove cpan/Encode/CN/eu_01_t.o Would remove cpan/Encode/CN/gb_02_t.c Would remove cpan/Encode/CN/gb_02_t.exh Would remove cpan/Encode/CN/gb_02_t.fnm Would remove cpan/Encode/CN/gb_02_t.h Would remove cpan/Encode/CN/gb_02_t.o Would remove cpan/Encode/CN/gb_03_t.c Would remove cpan/Encode/CN/gb_03_t.exh Would remove cpan/Encode/CN/gb_03_t.fnm Would remove cpan/Encode/CN/gb_03_t.h Would remove cpan/Encode/CN/gb_03_t.o Would remove cpan/Encode/CN/ir_04_t.c Would remove cpan/Encode/CN/ir_04_t.exh Would remove cpan/Encode/CN/ir_04_t.fnm Would remove cpan/Encode/CN/ir_04_t.h Would remove cpan/Encode/CN/ir_04_t.o Would remove cpan/Encode/CN/ma_05_t.c Would remove cpan/Encode/CN/ma_05_t.exh Would remove cpan/Encode/CN/ma_05_t.fnm Would remove cpan/Encode/CN/ma_05_t.h Would remove cpan/Encode/CN/ma_05_t.o Would remove cpan/Encode/CN/pm_to_blib Would remove cpan/Encode/EBCDIC/EBCDIC.bs Would remove cpan/Encode/EBCDIC/EBCDIC.c Would remove cpan/Encode/EBCDIC/EBCDIC.o Would remove cpan/Encode/EBCDIC/EBCDIC.xs Would remove cpan/Encode/EBCDIC/Makefile Would remove cpan/Encode/EBCDIC/ebcdic_t.c Would remove cpan/Encode/EBCDIC/ebcdic_t.exh Would remove cpan/Encode/EBCDIC/ebcdic_t.fnm Would remove cpan/Encode/EBCDIC/ebcdic_t.h Would remove cpan/Encode/EBCDIC/ebcdic_t.o Would remove cpan/Encode/EBCDIC/pm_to_blib Would remove cpan/Encode/Encode.bs Would remove cpan/Encode/Encode.c Would remove cpan/Encode/Encode.o Would remove cpan/Encode/JP/JP.bs Would remove cpan/Encode/JP/JP.c Would remove cpan/Encode/JP/JP.o Would remove cpan/Encode/JP/JP.xs Would remove cpan/Encode/JP/Makefile Would remove cpan/Encode/JP/cp_00_t.c Would remove cpan/Encode/JP/cp_00_t.exh Would remove cpan/Encode/JP/cp_00_t.fnm Would remove cpan/Encode/JP/cp_00_t.h Would remove cpan/Encode/JP/cp_00_t.o Would remove cpan/Encode/JP/eu_01_t.c Would remove cpan/Encode/JP/eu_01_t.exh Would remove cpan/Encode/JP/eu_01_t.fnm Would remove cpan/Encode/JP/eu_01_t.h Would remove cpan/Encode/JP/eu_01_t.o Would remove cpan/Encode/JP/ji_02_t.c Would remove cpan/Encode/JP/ji_02_t.exh Would remove cpan/Encode/JP/ji_02_t.fnm Would remove cpan/Encode/JP/ji_02_t.h Would remove cpan/Encode/JP/ji_02_t.o Would remove cpan/Encode/JP/ji_03_t.c Would remove cpan/Encode/JP/ji_03_t.exh Would remove cpan/Encode/JP/ji_03_t.fnm Would remove cpan/Encode/JP/ji_03_t.h Would remove cpan/Encode/JP/ji_03_t.o Would remove cpan/Encode/JP/ji_04_t.c Would remove cpan/Encode/JP/ji_04_t.exh Would remove cpan/Encode/JP/ji_04_t.fnm Would remove cpan/Encode/JP/ji_04_t.h Would remove cpan/Encode/JP/ji_04_t.o Would remove cpan/Encode/JP/ma_05_t.c Would remove cpan/Encode/JP/ma_05_t.exh Would remove cpan/Encode/JP/ma_05_t.fnm Would remove cpan/Encode/JP/ma_05_t.h Would remove cpan/Encode/JP/ma_05_t.o Would remove cpan/Encode/JP/pm_to_blib Would remove cpan/Encode/JP/sh_06_t.c Would remove cpan/Encode/JP/sh_06_t.exh Would remove cpan/Encode/JP/sh_06_t.fnm Would remove cpan/Encode/JP/sh_06_t.h Would remove cpan/Encode/JP/sh_06_t.o Would remove cpan/Encode/KR/KR.bs Would remove cpan/Encode/KR/KR.c Would remove cpan/Encode/KR/KR.o Would remove cpan/Encode/KR/KR.xs Would remove cpan/Encode/KR/Makefile Would remove cpan/Encode/KR/cp_00_t.c Would remove cpan/Encode/KR/cp_00_t.exh Would remove cpan/Encode/KR/cp_00_t.fnm Would remove cpan/Encode/KR/cp_00_t.h Would remove cpan/Encode/KR/cp_00_t.o Would remove cpan/Encode/KR/eu_01_t.c Would remove cpan/Encode/KR/eu_01_t.exh Would remove cpan/Encode/KR/eu_01_t.fnm Would remove cpan/Encode/KR/eu_01_t.h Would remove cpan/Encode/KR/eu_01_t.o Would remove cpan/Encode/KR/jo_02_t.c Would remove cpan/Encode/KR/jo_02_t.exh Would remove cpan/Encode/KR/jo_02_t.fnm Would remove cpan/Encode/KR/jo_02_t.h Would remove cpan/Encode/KR/jo_02_t.o Would remove cpan/Encode/KR/ks_03_t.c Would remove cpan/Encode/KR/ks_03_t.exh Would remove cpan/Encode/KR/ks_03_t.fnm Would remove cpan/Encode/KR/ks_03_t.h Would remove cpan/Encode/KR/ks_03_t.o Would remove cpan/Encode/KR/ma_04_t.c Would remove cpan/Encode/KR/ma_04_t.exh Would remove cpan/Encode/KR/ma_04_t.fnm Would remove cpan/Encode/KR/ma_04_t.h Would remove cpan/Encode/KR/ma_04_t.o Would remove cpan/Encode/KR/pm_to_blib Would remove cpan/Encode/Makefile Would remove cpan/Encode/Symbol/Makefile Would remove cpan/Encode/Symbol/Symbol.bs Would remove cpan/Encode/Symbol/Symbol.c Would remove cpan/Encode/Symbol/Symbol.o Would remove cpan/Encode/Symbol/Symbol.xs Would remove cpan/Encode/Symbol/pm_to_blib Would remove cpan/Encode/Symbol/symbol_t.c Would remove cpan/Encode/Symbol/symbol_t.exh Would remove cpan/Encode/Symbol/symbol_t.fnm Would remove cpan/Encode/Symbol/symbol_t.h Would remove cpan/Encode/Symbol/symbol_t.o Would remove cpan/Encode/TW/Makefile Would remove cpan/Encode/TW/TW.bs Would remove cpan/Encode/TW/TW.c Would remove cpan/Encode/TW/TW.o Would remove cpan/Encode/TW/TW.xs Would remove cpan/Encode/TW/bi_00_t.c Would remove cpan/Encode/TW/bi_00_t.exh Would remove cpan/Encode/TW/bi_00_t.fnm Would remove cpan/Encode/TW/bi_00_t.h Would remove cpan/Encode/TW/bi_00_t.o Would remove cpan/Encode/TW/bi_01_t.c Would remove cpan/Encode/TW/bi_01_t.exh Would remove cpan/Encode/TW/bi_01_t.fnm Would remove cpan/Encode/TW/bi_01_t.h Would remove cpan/Encode/TW/bi_01_t.o Would remove cpan/Encode/TW/cp_02_t.c Would remove cpan/Encode/TW/cp_02_t.exh Would remove cpan/Encode/TW/cp_02_t.fnm Would remove cpan/Encode/TW/cp_02_t.h Would remove cpan/Encode/TW/cp_02_t.o Would remove cpan/Encode/TW/ma_03_t.c Would remove cpan/Encode/TW/ma_03_t.exh Would remove cpan/Encode/TW/ma_03_t.fnm Would remove cpan/Encode/TW/ma_03_t.h Would remove cpan/Encode/TW/ma_03_t.o Would remove cpan/Encode/TW/pm_to_blib Would remove cpan/Encode/Unicode/Makefile Would remove cpan/Encode/Unicode/Unicode.bs Would remove cpan/Encode/Unicode/Unicode.c Would remove cpan/Encode/Unicode/Unicode.o Would remove cpan/Encode/Unicode/pm_to_blib Would remove cpan/Encode/blib/ Would remove cpan/Encode/def_t.c Would remove cpan/Encode/def_t.exh Would remove cpan/Encode/def_t.fnm Would remove cpan/Encode/def_t.h Would remove cpan/Encode/def_t.o Would remove cpan/Encode/encengine.o Would remove cpan/Encode/pm_to_blib Would remove cpan/ExtUtils-Command/pm_to_blib Would remove cpan/ExtUtils-Constant/pm_to_blib Would remove cpan/ExtUtils-Install/pm_to_blib Would remove cpan/ExtUtils-MakeMaker/Makefile Would remove cpan/ExtUtils-MakeMaker/Makefile.PL Would remove cpan/ExtUtils-MakeMaker/blib/ Would remove cpan/ExtUtils-MakeMaker/pm_to_blib Would remove cpan/ExtUtils-Manifest/Makefile Would remove cpan/ExtUtils-Manifest/Makefile.PL Would remove cpan/ExtUtils-Manifest/blib/ Would remove cpan/ExtUtils-Manifest/pm_to_blib Would remove cpan/File-Fetch/pm_to_blib Would remove cpan/File-Path/pm_to_blib Would remove cpan/File-Temp/pm_to_blib Would remove cpan/Filter-Util-Call/Call.bs Would remove cpan/Filter-Util-Call/Call.c Would remove cpan/Filter-Util-Call/Call.o Would remove cpan/Filter-Util-Call/Makefile Would remove cpan/Filter-Util-Call/Makefile.PL Would remove cpan/Filter-Util-Call/blib/ Would remove cpan/Filter-Util-Call/pm_to_blib Would remove cpan/Getopt-Long/pm_to_blib Would remove cpan/HTTP-Tiny/pm_to_blib Would remove cpan/IO-Compress/Makefile Would remove cpan/IO-Compress/Makefile.PL Would remove cpan/IO-Compress/blib/ Would remove cpan/IO-Compress/pm_to_blib Would remove cpan/IO-Socket-IP/pm_to_blib Would remove cpan/IO-Zlib/pm_to_blib Would remove cpan/IPC-Cmd/pm_to_blib Would remove cpan/IPC-SysV/Makefile Would remove cpan/IPC-SysV/SysV.bs Would remove cpan/IPC-SysV/SysV.c Would remove cpan/IPC-SysV/SysV.o Would remove cpan/IPC-SysV/blib/ Would remove cpan/IPC-SysV/const-c.inc Would remove cpan/IPC-SysV/const-xs.inc Would remove cpan/IPC-SysV/pm_to_blib Would remove cpan/IPC-SysV/ppport.h Would remove cpan/JSON-PP/Makefile Would remove cpan/JSON-PP/Makefile.PL Would remove cpan/JSON-PP/blib/ Would remove cpan/JSON-PP/pm_to_blib Would remove cpan/Locale-Codes/pm_to_blib Would remove cpan/Locale-Maketext-Simple/pm_to_blib Would remove cpan/MIME-Base64/Base64.bs Would remove cpan/MIME-Base64/Base64.c Would remove cpan/MIME-Base64/Base64.o Would remove cpan/MIME-Base64/Makefile Would remove cpan/MIME-Base64/Makefile.PL Would remove cpan/MIME-Base64/blib/ Would remove cpan/MIME-Base64/pm_to_blib Would remove cpan/Math-Complex/pm_to_blib Would remove cpan/Memoize/pm_to_blib Would remove cpan/Module-Load-Conditional/pm_to_blib Would remove cpan/Module-Load/pm_to_blib Would remove cpan/Module-Loaded/pm_to_blib Would remove cpan/Module-Metadata/Makefile Would remove cpan/Module-Metadata/Makefile.PL Would remove cpan/Module-Metadata/blib/ Would remove cpan/Module-Metadata/pm_to_blib Would remove cpan/NEXT/pm_to_blib Would remove cpan/Params-Check/pm_to_blib Would remove cpan/Parse-CPAN-Meta/pm_to_blib Would remove cpan/Perl-OSType/pm_to_blib Would remove cpan/PerlIO-via-QuotedPrint/pm_to_blib Would remove cpan/Pod-Checker/Makefile Would remove cpan/Pod-Checker/Makefile.PL Would remove cpan/Pod-Checker/blib/ Would remove cpan/Pod-Checker/pm_to_blib Would remove cpan/Pod-Checker/podchecker Would remove cpan/Pod-Checker/podchecker.PL Would remove cpan/Pod-Escapes/pm_to_blib Would remove cpan/Pod-Parser/Makefile Would remove cpan/Pod-Parser/Makefile.PL Would remove cpan/Pod-Parser/blib/ Would remove cpan/Pod-Parser/pm_to_blib Would remove cpan/Pod-Parser/podselect Would remove cpan/Pod-Parser/podselect.PL Would remove cpan/Pod-Perldoc/Makefile Would remove cpan/Pod-Perldoc/blib/ Would remove cpan/Pod-Perldoc/pm_to_blib Would remove cpan/Pod-Simple/pm_to_blib Would remove cpan/Pod-Usage/Makefile Would remove cpan/Pod-Usage/Makefile.PL Would remove cpan/Pod-Usage/blib/ Would remove cpan/Pod-Usage/pm_to_blib Would remove cpan/Pod-Usage/pod2usage Would remove cpan/Pod-Usage/pod2usage.PL Would remove cpan/Scalar-List-Utils/ListUtil.c Would remove cpan/Scalar-List-Utils/ListUtil.o Would remove cpan/Scalar-List-Utils/Makefile Would remove cpan/Scalar-List-Utils/Util.bs Would remove cpan/Scalar-List-Utils/blib/ Would remove cpan/Scalar-List-Utils/pm_to_blib Would remove cpan/Scalar-List-Utils/ppport.h Would remove cpan/Socket/Makefile Would remove cpan/Socket/Socket.bs Would remove cpan/Socket/Socket.c Would remove cpan/Socket/Socket.o Would remove cpan/Socket/blib/ Would remove cpan/Socket/const-c.inc Would remove cpan/Socket/const-xs.inc Would remove cpan/Socket/pm_to_blib Would remove cpan/Sys-Syslog/Makefile Would remove cpan/Sys-Syslog/Syslog.bs Would remove cpan/Sys-Syslog/Syslog.c Would remove cpan/Sys-Syslog/Syslog.o Would remove cpan/Sys-Syslog/blib/ Would remove cpan/Sys-Syslog/const-c.inc Would remove cpan/Sys-Syslog/const-xs.inc Would remove cpan/Sys-Syslog/lib/ Would remove cpan/Sys-Syslog/macros.all Would remove cpan/Sys-Syslog/pm_to_blib Would remove cpan/Term-ANSIColor/pm_to_blib Would remove cpan/Term-Cap/Makefile Would remove cpan/Term-Cap/Makefile.PL Would remove cpan/Term-Cap/blib/ Would remove cpan/Term-Cap/pm_to_blib Would remove cpan/Test-Harness/Makefile Would remove cpan/Test-Harness/Makefile.PL Would remove cpan/Test-Harness/blib/ Would remove cpan/Test-Harness/pm_to_blib Would remove cpan/Test-Simple/pm_to_blib Would remove cpan/Test/pm_to_blib Would remove cpan/Text-Balanced/pm_to_blib Would remove cpan/Text-ParseWords/pm_to_blib Would remove cpan/Text-Tabs/pm_to_blib Would remove cpan/Tie-RefHash/pm_to_blib Would remove cpan/Time-HiRes/HiRes.bs Would remove cpan/Time-HiRes/HiRes.c Would remove cpan/Time-HiRes/HiRes.o Would remove cpan/Time-HiRes/Makefile Would remove cpan/Time-HiRes/blib/ Would remove cpan/Time-HiRes/const-c.inc Would remove cpan/Time-HiRes/const-xs.inc Would remove cpan/Time-HiRes/pm_to_blib Would remove cpan/Time-HiRes/ppport.h Would remove cpan/Time-HiRes/xdefine Would remove cpan/Time-Local/pm_to_blib Would remove cpan/Time-Piece/Makefile Would remove cpan/Time-Piece/Makefile.PL Would remove cpan/Time-Piece/Piece.bs Would remove cpan/Time-Piece/Piece.c Would remove cpan/Time-Piece/Piece.o Would remove cpan/Time-Piece/blib/ Would remove cpan/Time-Piece/pm_to_blib Would remove cpan/Unicode-Collate/Collate.bs Would remove cpan/Unicode-Collate/Collate.c Would remove cpan/Unicode-Collate/Collate.o Would remove cpan/Unicode-Collate/Makefile Would remove cpan/Unicode-Collate/blib/ Would remove cpan/Unicode-Collate/pm_to_blib Would remove cpan/Unicode-Collate/ucatbl.h Would remove cpan/Unicode-Normalize/Makefile Would remove cpan/Unicode-Normalize/blib/ Would remove cpan/Unicode-Normalize/pm_to_blib Would remove cpan/Win32API-File/ppport.h Would remove cpan/autodie/pm_to_blib Would remove cpan/encoding-warnings/pm_to_blib Would remove cpan/experimental/pm_to_blib Would remove cpan/libnet/Makefile Would remove cpan/libnet/blib/ Would remove cpan/libnet/pm_to_blib Would remove cpan/parent/pm_to_blib Would remove cpan/perlfaq/pm_to_blib Would remove cpan/podlators/Makefile Would remove cpan/podlators/Makefile.PL Would remove cpan/podlators/blib/ Would remove cpan/podlators/pm_to_blib Would remove cpan/podlators/pod2man Would remove cpan/podlators/pod2man.PL Would remove cpan/podlators/pod2text Would remove cpan/podlators/pod2text.PL Would remove cpan/version/pm_to_blib Would remove deb.o Would remove dist/Attribute-Handlers/pm_to_blib Would remove dist/Carp/pm_to_blib Would remove dist/Data-Dumper/Dumper.bs Would remove dist/Data-Dumper/Dumper.c Would remove dist/Data-Dumper/Dumper.o Would remove dist/Data-Dumper/Makefile Would remove dist/Data-Dumper/Makefile.PL Would remove dist/Data-Dumper/blib/ Would remove dist/Data-Dumper/pm_to_blib Would remove dist/Devel-SelfStubber/pm_to_blib Would remove dist/Dumpvalue/pm_to_blib Would remove dist/Env/pm_to_blib Would remove dist/Exporter/pm_to_blib Would remove dist/ExtUtils-CBuilder/pm_to_blib Would remove dist/ExtUtils-ParseXS/Makefile Would remove dist/ExtUtils-ParseXS/Makefile.PL Would remove dist/ExtUtils-ParseXS/blib/ Would remove dist/ExtUtils-ParseXS/pm_to_blib Would remove dist/Filter-Simple/pm_to_blib Would remove dist/I18N-Collate/pm_to_blib Would remove dist/I18N-LangTags/pm_to_blib Would remove dist/IO/IO.bs Would remove dist/IO/IO.c Would remove dist/IO/IO.o Would remove dist/IO/Makefile Would remove dist/IO/blib/ Would remove dist/IO/pm_to_blib Would remove dist/IO/poll.o Would remove dist/Locale-Maketext/pm_to_blib Would remove dist/Math-BigInt-FastCalc/FastCalc.bs Would remove dist/Math-BigInt-FastCalc/FastCalc.c Would remove dist/Math-BigInt-FastCalc/FastCalc.o Would remove dist/Math-BigInt-FastCalc/Makefile Would remove dist/Math-BigInt-FastCalc/Makefile.PL Would remove dist/Math-BigInt-FastCalc/blib/ Would remove dist/Math-BigInt-FastCalc/pm_to_blib Would remove dist/Math-BigInt/pm_to_blib Would remove dist/Math-BigRat/pm_to_blib Would remove dist/Module-CoreList/Makefile Would remove dist/Module-CoreList/blib/ Would remove dist/Module-CoreList/pm_to_blib Would remove dist/Net-Ping/pm_to_blib Would remove dist/PathTools/Cwd.bs Would remove dist/PathTools/Cwd.c Would remove dist/PathTools/Cwd.o Would remove dist/PathTools/Makefile Would remove dist/PathTools/blib/ Would remove dist/PathTools/pm_to_blib Would remove dist/PathTools/ppport.h Would remove dist/Safe/pm_to_blib Would remove dist/Search-Dict/pm_to_blib Would remove dist/SelfLoader/pm_to_blib Would remove dist/Storable/Makefile Would remove dist/Storable/Storable.bs Would remove dist/Storable/Storable.c Would remove dist/Storable/Storable.o Would remove dist/Storable/blib/ Would remove dist/Storable/pm_to_blib Would remove dist/Term-Complete/pm_to_blib Would remove dist/Term-ReadLine/pm_to_blib Would remove dist/Text-Abbrev/pm_to_blib Would remove dist/Thread-Queue/pm_to_blib Would remove dist/Thread-Semaphore/pm_to_blib Would remove dist/Tie-File/pm_to_blib Would remove dist/XSLoader/Makefile Would remove dist/XSLoader/XSLoader.pm Would remove dist/XSLoader/blib/ Would remove dist/XSLoader/pm_to_blib Would remove dist/autouse/pm_to_blib Would remove dist/base/pm_to_blib Would remove dist/bignum/pm_to_blib Would remove dist/constant/pm_to_blib Would remove dist/if/pm_to_blib Would remove dist/lib/Makefile Would remove dist/lib/blib/ Would remove dist/lib/lib.pm Would remove dist/lib/pm_to_blib Would remove dist/threads-shared/Makefile Would remove dist/threads-shared/Makefile.PL Would remove dist/threads-shared/blib/ Would remove dist/threads-shared/pm_to_blib Would remove dist/threads-shared/shared.bs Would remove dist/threads-shared/shared.c Would remove dist/threads-shared/shared.o Would remove dist/threads/Makefile Would remove dist/threads/Makefile.PL Would remove dist/threads/blib/ Would remove dist/threads/pm_to_blib Would remove dist/threads/threads.bs Would remove dist/threads/threads.c Would remove dist/threads/threads.o Would remove doio.o Would remove doop.o Would remove dump.o Would remove ext.libs Would remove ext/B/B.bs Would remove ext/B/B.c Would remove ext/B/B.o Would remove ext/B/Makefile Would remove ext/B/blib/ Would remove ext/B/const-c.inc Would remove ext/B/const-xs.inc Would remove ext/B/lib/ Would remove ext/B/pm_to_blib Would remove ext/Devel-Peek/Makefile Would remove ext/Devel-Peek/Makefile.PL Would remove ext/Devel-Peek/Peek.bs Would remove ext/Devel-Peek/Peek.c Would remove ext/Devel-Peek/Peek.o Would remove ext/Devel-Peek/blib/ Would remove ext/Devel-Peek/pm_to_blib Would remove ext/DynaLoader/DynaLoader.c Would remove ext/DynaLoader/DynaLoader.o Would remove ext/DynaLoader/DynaLoader.pm Would remove ext/DynaLoader/DynaLoader.xs Would remove ext/DynaLoader/Makefile Would remove ext/DynaLoader/blib/ Would remove ext/DynaLoader/pm_to_blib Would remove ext/Errno/Errno.pm Would remove ext/Errno/Makefile Would remove ext/Errno/arch.txt Would remove ext/Errno/blib/ Would remove ext/Errno/pm_to_blib Would remove ext/ExtUtils-Miniperl/pm_to_blib Would remove ext/Fcntl/Fcntl.bs Would remove ext/Fcntl/Fcntl.c Would remove ext/Fcntl/Fcntl.o Would remove ext/Fcntl/Makefile Would remove ext/Fcntl/blib/ Would remove ext/Fcntl/const-c.inc Would remove ext/Fcntl/const-xs.inc Would remove ext/Fcntl/pm_to_blib Would remove ext/File-DosGlob/DosGlob.bs Would remove ext/File-DosGlob/DosGlob.c Would remove ext/File-DosGlob/DosGlob.o Would remove ext/File-DosGlob/Makefile Would remove ext/File-DosGlob/Makefile.PL Would remove ext/File-DosGlob/blib/ Would remove ext/File-DosGlob/pm_to_blib Would remove ext/File-Find/pm_to_blib Would remove ext/File-Glob/Glob.bs Would remove ext/File-Glob/Glob.c Would remove ext/File-Glob/Glob.o Would remove ext/File-Glob/Makefile Would remove ext/File-Glob/blib/ Would remove ext/File-Glob/bsd_glob.o Would remove ext/File-Glob/const-c.inc Would remove ext/File-Glob/const-xs.inc Would remove ext/File-Glob/pm_to_blib Would remove ext/FileCache/pm_to_blib Would remove ext/Hash-Util-FieldHash/FieldHash.bs Would remove ext/Hash-Util-FieldHash/FieldHash.c Would remove ext/Hash-Util-FieldHash/FieldHash.o Would remove ext/Hash-Util-FieldHash/Makefile Would remove ext/Hash-Util-FieldHash/Makefile.PL Would remove ext/Hash-Util-FieldHash/blib/ Would remove ext/Hash-Util-FieldHash/pm_to_blib Would remove ext/Hash-Util/Makefile Would remove ext/Hash-Util/Util.bs Would remove ext/Hash-Util/Util.c Would remove ext/Hash-Util/Util.o Would remove ext/Hash-Util/blib/ Would remove ext/Hash-Util/pm_to_blib Would remove ext/I18N-Langinfo/Langinfo.bs Would remove ext/I18N-Langinfo/Langinfo.c Would remove ext/I18N-Langinfo/Langinfo.o Would remove ext/I18N-Langinfo/Makefile Would remove ext/I18N-Langinfo/blib/ Would remove ext/I18N-Langinfo/const-c.inc Would remove ext/I18N-Langinfo/const-xs.inc Would remove ext/I18N-Langinfo/pm_to_blib Would remove ext/IPC-Open3/pm_to_blib Would remove ext/Opcode/Makefile Would remove ext/Opcode/Makefile.PL Would remove ext/Opcode/Opcode.bs Would remove ext/Opcode/Opcode.c Would remove ext/Opcode/Opcode.o Would remove ext/Opcode/blib/ Would remove ext/Opcode/pm_to_blib Would remove ext/POSIX/Makefile Would remove ext/POSIX/POSIX.bs Would remove ext/POSIX/POSIX.c Would remove ext/POSIX/POSIX.o Would remove ext/POSIX/blib/ Would remove ext/POSIX/const-c.inc Would remove ext/POSIX/const-xs.inc Would remove ext/POSIX/pm_to_blib Would remove ext/PerlIO-encoding/Makefile Would remove ext/PerlIO-encoding/Makefile.PL Would remove ext/PerlIO-encoding/blib/ Would remove ext/PerlIO-encoding/encoding.bs Would remove ext/PerlIO-encoding/encoding.c Would remove ext/PerlIO-encoding/encoding.o Would remove ext/PerlIO-encoding/pm_to_blib Would remove ext/PerlIO-mmap/Makefile Would remove ext/PerlIO-mmap/Makefile.PL Would remove ext/PerlIO-mmap/blib/ Would remove ext/PerlIO-mmap/mmap.bs Would remove ext/PerlIO-mmap/mmap.c Would remove ext/PerlIO-mmap/mmap.o Would remove ext/PerlIO-mmap/pm_to_blib Would remove ext/PerlIO-scalar/Makefile Would remove ext/PerlIO-scalar/Makefile.PL Would remove ext/PerlIO-scalar/blib/ Would remove ext/PerlIO-scalar/pm_to_blib Would remove ext/PerlIO-scalar/scalar.bs Would remove ext/PerlIO-scalar/scalar.c Would remove ext/PerlIO-scalar/scalar.o Would remove ext/PerlIO-via/Makefile Would remove ext/PerlIO-via/Makefile.PL Would remove ext/PerlIO-via/blib/ Would remove ext/PerlIO-via/pm_to_blib Would remove ext/PerlIO-via/via.bs Would remove ext/PerlIO-via/via.c Would remove ext/PerlIO-via/via.o Would remove ext/Pod-Functions/Functions.pm Would remove ext/Pod-Functions/Makefile Would remove ext/Pod-Functions/blib/ Would remove ext/Pod-Functions/pm_to_blib Would remove ext/Pod-Html/Makefile Would remove ext/Pod-Html/Makefile.PL Would remove ext/Pod-Html/blib/ Would remove ext/Pod-Html/pm_to_blib Would remove ext/SDBM_File/Makefile Would remove ext/SDBM_File/SDBM_File.bs Would remove ext/SDBM_File/SDBM_File.c Would remove ext/SDBM_File/SDBM_File.o Would remove ext/SDBM_File/blib/ Would remove ext/SDBM_File/pm_to_blib Would remove ext/SDBM_File/sdbm/Makefile Would remove ext/SDBM_File/sdbm/hash.o Would remove ext/SDBM_File/sdbm/libsdbm.a Would remove ext/SDBM_File/sdbm/pair.o Would remove ext/SDBM_File/sdbm/sdbm.o Would remove ext/Sys-Hostname/Hostname.bs Would remove ext/Sys-Hostname/Hostname.c Would remove ext/Sys-Hostname/Hostname.o Would remove ext/Sys-Hostname/Makefile Would remove ext/Sys-Hostname/Makefile.PL Would remove ext/Sys-Hostname/blib/ Would remove ext/Sys-Hostname/pm_to_blib Would remove ext/Tie-Hash-NamedCapture/Makefile Would remove ext/Tie-Hash-NamedCapture/Makefile.PL Would remove ext/Tie-Hash-NamedCapture/NamedCapture.bs Would remove ext/Tie-Hash-NamedCapture/NamedCapture.c Would remove ext/Tie-Hash-NamedCapture/NamedCapture.o Would remove ext/Tie-Hash-NamedCapture/blib/ Would remove ext/Tie-Hash-NamedCapture/pm_to_blib Would remove ext/Tie-Memoize/pm_to_blib Would remove ext/XS-APItest/APItest.bs Would remove ext/XS-APItest/APItest.c Would remove ext/XS-APItest/APItest.o Would remove ext/XS-APItest/Makefile Would remove ext/XS-APItest/XSUB-redefined-macros.c Would remove ext/XS-APItest/XSUB-redefined-macros.o Would remove ext/XS-APItest/XSUB-undef-XS_VERSION.c Would remove ext/XS-APItest/XSUB-undef-XS_VERSION.o Would remove ext/XS-APItest/blib/ Would remove ext/XS-APItest/const-c.inc Would remove ext/XS-APItest/const-xs.inc Would remove ext/XS-APItest/core.o Would remove ext/XS-APItest/exception.o Would remove ext/XS-APItest/notcore.o Would remove ext/XS-APItest/pm_to_blib Would remove ext/XS-Typemap/Makefile Would remove ext/XS-Typemap/Typemap.bs Would remove ext/XS-Typemap/Typemap.c Would remove ext/XS-Typemap/Typemap.o Would remove ext/XS-Typemap/blib/ Would remove ext/XS-Typemap/pm_to_blib Would remove ext/XS-Typemap/stdio.o Would remove ext/arybase/Makefile Would remove ext/arybase/Makefile.PL Would remove ext/arybase/arybase.bs Would remove ext/arybase/arybase.c Would remove ext/arybase/arybase.o Would remove ext/arybase/blib/ Would remove ext/arybase/pm_to_blib Would remove ext/attributes/Makefile Would remove ext/attributes/Makefile.PL Would remove ext/attributes/attributes.bs Would remove ext/attributes/attributes.c Would remove ext/attributes/attributes.o Would remove ext/attributes/blib/ Would remove ext/attributes/pm_to_blib Would remove ext/mro/Makefile Would remove ext/mro/Makefile.PL Would remove ext/mro/blib/ Would remove ext/mro/mro.bs Would remove ext/mro/mro.c Would remove ext/mro/mro.o Would remove ext/mro/pm_to_blib Would remove ext/re/Makefile Would remove ext/re/blib/ Would remove ext/re/dquote_static.c Would remove ext/re/inline_invlist.c Would remove ext/re/pm_to_blib Would remove ext/re/re.bs Would remove ext/re/re.c Would remove ext/re/re.o Would remove ext/re/re_comp.c Would remove ext/re/re_comp.o Would remove ext/re/re_exec.c Would remove ext/re/re_exec.o Would remove extra.pods Would remove generate_uudmap Would remove generate_uudmap.o Would remove git_version.h Would remove globals.o Would remove gv.o Would remove hv.o Would remove keywords.o Would remove lib/.exists Would remove lib/App/ Would remove lib/Archive/ Would remove lib/Attribute/ Would remove lib/AutoLoader.pm Would remove lib/AutoSplit.pm Would remove lib/B.pm Would remove lib/B/Concise.pm Would remove lib/B/Debug.pm Would remove lib/B/Showlex.pm Would remove lib/B/Terse.pm Would remove lib/B/Xref.pm Would remove lib/CPAN.pm Would remove lib/CPAN/ Would remove lib/Carp.pm Would remove lib/Carp/ Would remove lib/Compress/ Would remove lib/Config.pm Would remove lib/Config.pod Would remove lib/Config/Perl/ Would remove lib/Config_git.pl Would remove lib/Config_heavy.pl Would remove lib/Cwd.pm Would remove lib/Data/ Would remove lib/Devel/ Would remove lib/Digest.pm Would remove lib/Digest/ Would remove lib/Dumpvalue.pm Would remove lib/DynaLoader.pm Would remove lib/Encode.pm Would remove lib/Encode/ Would remove lib/Env.pm Would remove lib/Errno.pm Would remove lib/Exporter.pm Would remove lib/Exporter/ Would remove lib/ExtUtils/.exists Would remove lib/ExtUtils/CBuilder.pm Would remove lib/ExtUtils/CBuilder/ Would remove lib/ExtUtils/Command.pm Would remove lib/ExtUtils/Command/ Would remove lib/ExtUtils/Constant.pm Would remove lib/ExtUtils/Constant/ Would remove lib/ExtUtils/Install.pm Would remove lib/ExtUtils/Installed.pm Would remove lib/ExtUtils/Liblist.pm Would remove lib/ExtUtils/Liblist/ Would remove lib/ExtUtils/MANIFEST.SKIP Would remove lib/ExtUtils/MM.pm Would remove lib/ExtUtils/MM_AIX.pm Would remove lib/ExtUtils/MM_Any.pm Would remove lib/ExtUtils/MM_BeOS.pm Would remove lib/ExtUtils/MM_Cygwin.pm Would remove lib/ExtUtils/MM_DOS.pm Would remove lib/ExtUtils/MM_Darwin.pm Would remove lib/ExtUtils/MM_MacOS.pm Would remove lib/ExtUtils/MM_NW5.pm Would remove lib/ExtUtils/MM_OS2.pm Would remove lib/ExtUtils/MM_QNX.pm Would remove lib/ExtUtils/MM_UWIN.pm Would remove lib/ExtUtils/MM_Unix.pm Would remove lib/ExtUtils/MM_VMS.pm Would remove lib/ExtUtils/MM_VOS.pm Would remove lib/ExtUtils/MM_Win32.pm Would remove lib/ExtUtils/MM_Win95.pm Would remove lib/ExtUtils/MY.pm Would remove lib/ExtUtils/MakeMaker.pm Would remove lib/ExtUtils/MakeMaker/ Would remove lib/ExtUtils/Manifest.pm Would remove lib/ExtUtils/Miniperl.pm Would remove lib/ExtUtils/Mkbootstrap.pm Would remove lib/ExtUtils/Mksymlists.pm Would remove lib/ExtUtils/Packlist.pm Would remove lib/ExtUtils/ParseXS.pm Would remove lib/ExtUtils/ParseXS.pod Would remove lib/ExtUtils/ParseXS/ Would remove lib/ExtUtils/Typemaps.pm Would remove lib/ExtUtils/Typemaps/ Would remove lib/ExtUtils/testlib.pm Would remove lib/ExtUtils/xsubpp Would remove lib/Fatal.pm Would remove lib/Fcntl.pm Would remove lib/File/.exists Would remove lib/File/DosGlob.pm Would remove lib/File/Fetch.pm Would remove lib/File/Find.pm Would remove lib/File/Glob.pm Would remove lib/File/GlobMapper.pm Would remove lib/File/Path.pm Would remove lib/File/Spec.pm Would remove lib/File/Spec/ Would remove lib/File/Temp.pm Would remove lib/FileCache.pm Would remove lib/Filter/ Would remove lib/Getopt/Long.pm Would remove lib/HTTP/ Would remove lib/Hash/ Would remove lib/I18N/ Would remove lib/IO.pm Would remove lib/IO/ Would remove lib/IPC/ Would remove lib/JSON/ Would remove lib/List/ Would remove lib/Locale/ Would remove lib/MIME/ Would remove lib/Math/ Would remove lib/Memoize.pm Would remove lib/Memoize/ Would remove lib/Module/ Would remove lib/NEXT.pm Would remove lib/Net/Cmd.pm Would remove lib/Net/Config.pm Would remove lib/Net/Domain.pm Would remove lib/Net/FTP.pm Would remove lib/Net/FTP/ Would remove lib/Net/NNTP.pm Would remove lib/Net/Netrc.pm Would remove lib/Net/POP3.pm Would remove lib/Net/Ping.pm Would remove lib/Net/SMTP.pm Would remove lib/Net/Time.pm Would remove lib/Net/libnetFAQ.pod Would remove lib/O.pm Would remove lib/Opcode.pm Would remove lib/POSIX.pm Would remove lib/POSIX.pod Would remove lib/Params/ Would remove lib/Parse/ Would remove lib/Perl/ Would remove lib/PerlIO/ Would remove lib/Pod/.exists Would remove lib/Pod/Checker.pm Would remove lib/Pod/Escapes.pm Would remove lib/Pod/Find.pm Would remove lib/Pod/Functions.pm Would remove lib/Pod/Html.pm Would remove lib/Pod/InputObjects.pm Would remove lib/Pod/Man.pm Would remove lib/Pod/ParseLink.pm Would remove lib/Pod/ParseUtils.pm Would remove lib/Pod/Parser.pm Would remove lib/Pod/Perldoc.pm Would remove lib/Pod/Perldoc/ Would remove lib/Pod/PlainText.pm Would remove lib/Pod/Select.pm Would remove lib/Pod/Simple.pm Would remove lib/Pod/Simple.pod Would remove lib/Pod/Simple/ Would remove lib/Pod/Text.pm Would remove lib/Pod/Text/ Would remove lib/Pod/Usage.pm Would remove lib/SDBM_File.pm Would remove lib/Safe.pm Would remove lib/Scalar/ Would remove lib/Search/ Would remove lib/SelfLoader.pm Would remove lib/Socket.pm Would remove lib/Storable.pm Would remove lib/Sub/ Would remove lib/Sys/ Would remove lib/TAP/ Would remove lib/Term/ Would remove lib/Test.pm Would remove lib/Test/ Would remove lib/Text/ Would remove lib/Thread/ Would remove lib/Tie/File.pm Would remove lib/Tie/Hash/ Would remove lib/Tie/Memoize.pm Would remove lib/Tie/RefHash.pm Would remove lib/Time/.exists Would remove lib/Time/HiRes.pm Would remove lib/Time/Local.pm Would remove lib/Time/Piece.pm Would remove lib/Time/Seconds.pm Would remove lib/Unicode/.exists Would remove lib/Unicode/Collate.pm Would remove lib/Unicode/Collate/ Would remove lib/Unicode/Normalize.pm Would remove lib/XS/ Would remove lib/XSLoader.pm Would remove lib/arybase.pm Would remove lib/attributes.pm Would remove lib/auto/ Would remove lib/autodie.pm Would remove lib/autodie/ Would remove lib/autouse.pm Would remove lib/base.pm Would remove lib/bigint.pm Would remove lib/bignum.pm Would remove lib/bigrat.pm Would remove lib/buildcustomize.pl Would remove lib/constant.pm Would remove lib/encoding.pm Would remove lib/encoding/ Would remove lib/experimental.pm Would remove lib/fields.pm Would remove lib/if.pm Would remove lib/lib.pm Would remove lib/mro.pm Would remove lib/ops.pm Would remove lib/parent.pm Would remove lib/perldoc.pod Would remove lib/perlfaq.pm Would remove lib/perlfaq.pod Would remove lib/perlfaq1.pod Would remove lib/perlfaq2.pod Would remove lib/perlfaq3.pod Would remove lib/perlfaq4.pod Would remove lib/perlfaq5.pod Would remove lib/perlfaq6.pod Would remove lib/perlfaq7.pod Would remove lib/perlfaq8.pod Would remove lib/perlfaq9.pod Would remove lib/perlglossary.pod Would remove lib/perlxs.pod Would remove lib/perlxstut.pod Would remove lib/perlxstypemap.pod Would remove lib/re.pm Would remove lib/threads.pm Would remove lib/threads/ Would remove lib/unicore/CombiningClass.pl Would remove lib/unicore/Decomposition.pl Would remove lib/unicore/Heavy.pl Would remove lib/unicore/Name.pl Would remove lib/unicore/Name.pm Would remove lib/unicore/TestProp.pl Would remove lib/unicore/To/ Would remove lib/unicore/UCD.pl Would remove lib/unicore/lib/ Would remove lib/unicore/mktables.lst Would remove lib/version.pm Would remove lib/version.pod Would remove lib/version/ Would remove libperl.a Would remove locale.o Would remove makedepend Would remove makefile Would remove makefile.old Would remove mathoms.o Would remove mg.o Would remove mg_data.h Would remove miniperl Would remove miniperlmain.o Would remove mro.o Would remove myconfig Would remove numeric.o Would remove op.o Would remove opmini.c Would remove opmini.o Would remove pad.o Would remove perl Would remove perl.o Would remove perlapi.o Would remove perlio.o Would remove perlmain.c Would remove perlmain.o Would remove perlmini.c Would remove perlmini.o Would remove perly.o Would remove pod/Makefile Would remove pod/perl5215delta.pod Would remove pod/perlaix.pod Would remove pod/perlamiga.pod Would remove pod/perlandroid.pod Would remove pod/perlapi.pod Would remove pod/perlbs2000.pod Would remove pod/perlce.pod Would remove pod/perlcn.pod Would remove pod/perlcygwin.pod Would remove pod/perldos.pod Would remove pod/perlfreebsd.pod Would remove pod/perlhaiku.pod Would remove pod/perlhpux.pod Would remove pod/perlhurd.pod Would remove pod/perlintern.pod Would remove pod/perlirix.pod Would remove pod/perljp.pod Would remove pod/perlko.pod Would remove pod/perllinux.pod Would remove pod/perlmacos.pod Would remove pod/perlmacosx.pod Would remove pod/perlmodlib.pod Would remove pod/perlnetware.pod Would remove pod/perlopenbsd.pod Would remove pod/perlos2.pod Would remove pod/perlos390.pod Would remove pod/perlos400.pod Would remove pod/perlplan9.pod Would remove pod/perlqnx.pod Would remove pod/perlriscos.pod Would remove pod/perlsolaris.pod Would remove pod/perlsymbian.pod Would remove pod/perlsynology.pod Would remove pod/perltoc.pod Would remove pod/perltru64.pod Would remove pod/perltw.pod Would remove pod/perluniprops.pod Would remove pod/perlvos.pod Would remove pod/perlwin32.pod Would remove pod/roffitall Would remove pp.o Would remove pp_ctl.o Would remove pp_hot.o Would remove pp_pack.o Would remove pp_sort.o Would remove pp_sys.o Would remove realclean.sh Would remove reentr.o Would remove regcomp.o Would remove regexec.o Would remove run.o Would remove runtests Would remove scope.o Would remove sv.o Would remove t/perl Would remove t/rantests Would remove t/test_state Would remove taint.o Would remove tclean veryclean _verycleaner Would remove tclean' or 'veryclean' targets are run. Would remove toke.o Would remove universal.o Would remove utf8.o Would remove util.o Would remove utils/Makefile Would remove utils/c2ph Would remove utils/corelist Would remove utils/cpan Would remove utils/enc2xs Would remove utils/h2ph Would remove utils/h2xs Would remove utils/instmodsh Would remove utils/json_pp Would remove utils/libnetcfg Would remove utils/perlbug Would remove utils/perldoc Would remove utils/perlivp Would remove utils/piconv Would remove utils/pl2pm Would remove utils/pod2html Would remove utils/prove Would remove utils/pstruct Would remove utils/ptar Would remove utils/ptardiff Would remove utils/ptargrep Would remove utils/shasum Would remove utils/splain Would remove utils/xsubpp Would remove utils/zipdetails Would remove uudmap.h Would remove veryclean.sh

p5pRT commented 10 years ago

From @jkeenan

make.distclean.txt

p5pRT commented 10 years ago

From @jkeenan

Summary of my perl5 (revision 5 version 21 subversion 5) configuration​:   Commit id​: e96513a272994fa40337538729c370cb2b01f9fd   Platform​:   osname=linux\, osvers=3.13.0-35-generic\, archname=x86_64-linux   uname='linux zareason 3.13.0-35-generic #62-ubuntu smp fri aug 15 01​:58​:42 utc 2014 x86_64 x86_64 x86_64 gnulinux '   config_args='-des -Dusedevel -DDEBUGGING'   hint=recommended\, useposix=true\, d_sigaction=define   useithreads=undef\, usemultiplicity=undef   use64bitint=define\, use64bitall=define\, uselongdouble=undef   usemymalloc=n\, bincompat5005=undef   Compiler​:   cc='cc'\, ccflags ='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\,   optimize='-O2 -g'\,   cppflags='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'   ccversion=''\, gccversion='4.8.2'\, gccosandvers=''   intsize=4\, longsize=8\, ptrsize=8\, doublesize=8\, byteorder=12345678   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16\, longdblkind=3   ivtype='long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=8\, prototype=define   Linker and Libraries​:   ld='cc'\, ldflags =' -fstack-protector -L/usr/local/lib'   libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib   libs=-lnsl -ldl -lm -lcrypt -lutil -lc   perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc   libc=libc-2.19.so\, so=so\, useshrplib=false\, libperl=libperl.a   gnulibc_version='2.19'   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags='-Wl\,-E'   cccdlflags='-fPIC'\, lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'

Characteristics of this binary (from libperl)​:   Compile-time options​: DEBUGGING HAS_TIMES PERLIO_LAYERS   PERL_DONT_CREATE_GVSV   PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP   PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV   PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT   USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE   USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME   USE_PERLIO USE_PERL_ATOF   Built under linux   Compiled at Sep 21 2014 09​:47​:45   %ENV​:   PERL5LIB="/home/jkeenan/perl5/lib/perl5"   PERLBREW_BASHRC_VERSION="0.67"   PERLBREW_HOME="/home/jkeenan/.perlbrew"   PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.20.0/man"   PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin​:/home/jkeenan/perl5/perlbrew/perls/perl-5.20.0/bin"   PERLBREW_PERL="perl-5.20.0"   PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew"   PERLBREW_VERSION="0.67"   PERL_LOCAL_LIB_ROOT="/home/jkeenan/perl5"   PERL_MB_OPT="--install_base "/home/jkeenan/perl5""   PERL_MM_OPT="INSTALL_BASE=/home/jkeenan/perl5"   PERL_WORKDIR="gitwork/perl"   @​INC​:   lib   /home/jkeenan/perl5/lib/perl5/x86_64-linux   /home/jkeenan/perl5/lib/perl5   /usr/local/lib/perl5/site_perl/5.21.5/x86_64-linux   /usr/local/lib/perl5/site_perl/5.21.5   /usr/local/lib/perl5/5.21.5/x86_64-linux   /usr/local/lib/perl5/5.21.5   .

p5pRT commented 10 years ago

From [Unknown Contact. See original ticket]

Summary of my perl5 (revision 5 version 21 subversion 5) configuration​:   Commit id​: e96513a272994fa40337538729c370cb2b01f9fd   Platform​:   osname=linux\, osvers=3.13.0-35-generic\, archname=x86_64-linux   uname='linux zareason 3.13.0-35-generic #62-ubuntu smp fri aug 15 01​:58​:42 utc 2014 x86_64 x86_64 x86_64 gnulinux '   config_args='-des -Dusedevel -DDEBUGGING'   hint=recommended\, useposix=true\, d_sigaction=define   useithreads=undef\, usemultiplicity=undef   use64bitint=define\, use64bitall=define\, uselongdouble=undef   usemymalloc=n\, bincompat5005=undef   Compiler​:   cc='cc'\, ccflags ='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\,   optimize='-O2 -g'\,   cppflags='-fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'   ccversion=''\, gccversion='4.8.2'\, gccosandvers=''   intsize=4\, longsize=8\, ptrsize=8\, doublesize=8\, byteorder=12345678   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16\, longdblkind=3   ivtype='long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=8\, prototype=define   Linker and Libraries​:   ld='cc'\, ldflags =' -fstack-protector -L/usr/local/lib'   libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib   libs=-lnsl -ldl -lm -lcrypt -lutil -lc   perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc   libc=libc-2.19.so\, so=so\, useshrplib=false\, libperl=libperl.a   gnulibc_version='2.19'   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags='-Wl\,-E'   cccdlflags='-fPIC'\, lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'

Characteristics of this binary (from libperl)​:   Compile-time options​: DEBUGGING HAS_TIMES PERLIO_LAYERS   PERL_DONT_CREATE_GVSV   PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP   PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV   PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT   USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE   USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME   USE_PERLIO USE_PERL_ATOF   Built under linux   Compiled at Sep 21 2014 09​:47​:45   %ENV​:   PERL5LIB="/home/jkeenan/perl5/lib/perl5"   PERLBREW_BASHRC_VERSION="0.67"   PERLBREW_HOME="/home/jkeenan/.perlbrew"   PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.20.0/man"   PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin​:/home/jkeenan/perl5/perlbrew/perls/perl-5.20.0/bin"   PERLBREW_PERL="perl-5.20.0"   PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew"   PERLBREW_VERSION="0.67"   PERL_LOCAL_LIB_ROOT="/home/jkeenan/perl5"   PERL_MB_OPT="--install_base "/home/jkeenan/perl5""   PERL_MM_OPT="INSTALL_BASE=/home/jkeenan/perl5"   PERL_WORKDIR="gitwork/perl"   @​INC​:   lib   /home/jkeenan/perl5/lib/perl5/x86_64-linux   /home/jkeenan/perl5/lib/perl5   /usr/local/lib/perl5/site_perl/5.21.5/x86_64-linux   /usr/local/lib/perl5/site_perl/5.21.5   /usr/local/lib/perl5/5.21.5/x86_64-linux   /usr/local/lib/perl5/5.21.5   .

p5pRT commented 10 years ago

From @craigberry

distclean also fails to clean up entirely with v5.20.1-3-g479259f and what's left looks pretty much the same as what's left in blead.

v5.18.3-RC1-2-g77d4f3e distclean leaves some things behind but all of them are directories under lib/ (no .pm files) plus some DB_File test detritus.

So I think both John and Steve are right. I think what John saw a couple of years ago was fixed by 727d4ce653261272b. I think what we're seeing now and what Steve reported appeared in the 5.19.x timeframe. Haven't narrowed it down further.

p5pRT commented 10 years ago

From @craigberry

The problem could be readily reduced to​:

$ ./miniperl -Ilib make_ext.pl --target=all Exporter MAKE="make" $ ./miniperl -Ilib make_ext.pl --target=distclean Exporter MAKE="make" $ ls lib/Exporter.pm

and observing that lib/Exporter.pm was still there after it was created by the first command and should have been (but wasn't) cleaned up by the second command.

Fixed in 9fa5aa91434.

Side note​: "make clean" is even more seriously broken -- it removes "Config_git.pl" which it then depends on for nearly everything it does. But that's a different bug\, and was the same before and after fixing this one.

p5pRT commented 10 years ago

@jkeenan - Status changed from 'new' to 'open'

p5pRT commented 10 years ago

From @jkeenan

On Sun Sep 21 18​:40​:52 2014\, craig.a.berry@​gmail.com wrote​:

The problem could be readily reduced to​:

$ ./miniperl -Ilib make_ext.pl --target=all Exporter MAKE="make" $ ./miniperl -Ilib make_ext.pl --target=distclean Exporter MAKE="make" $ ls lib/Exporter.pm

and observing that lib/Exporter.pm was still there after it was created by the first command and should have been (but wasn't) cleaned up by the second command.

Fixed in 9fa5aa91434.

I'm amazed that Craig solved this so quickly.

Craig's patch assumes -- correctly\, IMO -- that 'make distclean' and 'git clean -dfx' have slightly different objectives. Going back to the example I provided in section III.B above\, I​:

* Placed in my working directory a small shell script\, mydebugconfigure.sh\, wrapping around Configure. * Configured with this script\, built and test perl at blead (9fa5aa9143). * Said​: 'make distclean'. * Then said​: 'git clean -dfxn' to perform a dry-run of what 'git clean -dfx' would still deem needing removal to keep git happy​: ##### $ git clean -dfxn Would remove mydebugconfigure.sh #####

This DWIMs for me.

Thank you very much. -- James E Keenan (jkeenan@​cpan.org)

p5pRT commented 10 years ago

From @steve-m-hay

On Sun Sep 21 18​:40​:52 2014\, craig.a.berry@​gmail.com wrote​:

The problem could be readily reduced to​:

$ ./miniperl -Ilib make_ext.pl --target=all Exporter MAKE="make" $ ./miniperl -Ilib make_ext.pl --target=distclean Exporter MAKE="make" $ ls lib/Exporter.pm

and observing that lib/Exporter.pm was still there after it was created by the first command and should have been (but wasn't) cleaned up by the second command.

Fixed in 9fa5aa91434.

Excellent! Thanks for the fix. Closing ticket now.

p5pRT commented 10 years ago

@steve-m-hay - Status changed from 'open' to 'resolved'