PageRenderTime 26ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/lib/MySmokeToolbox/MakeDistList.pm

http://github.com/tsee/cpan_perl_branch_smoke
Perl | 285 lines | 273 code | 11 blank | 1 comment | 11 complexity | 53bce5c63624b6a835d7bc984ab605d5 MD5 | raw file
  1. package # hide from PAUSE
  2. MySmokeToolbox::MakeDistList;
  3. use strict;
  4. use warnings;
  5. my $blacklist;
  6. sub make_dist_list {
  7. my $class = shift;
  8. my $cpanmirror = shift;
  9. my $outfile = shift;
  10. die "Only local CPAN mirrors supported for now"
  11. unless $cpanmirror =~ s/^file:\/\///;
  12. my $packages_file = File::Spec->catfile($cpanmirror, 'modules', '02packages.details.txt.gz');
  13. open my $fh, 'gzip -d -c ' . $packages_file . ' |' or die $!;
  14. my %dists;
  15. while (1) {
  16. last if <$fh> =~ /^\s*$/;
  17. }
  18. if (not defined $blacklist) {
  19. my @bl = <DATA>;
  20. my @regexp = map {s/^REGEXP:\s*//; s/#.*$//; s/\s+$//; $_} grep /^REGEXP:/, @bl;
  21. $blacklist = '(?:\b'
  22. . join('|', map { chomp; s/^\s+//; s/#.*$//; s/\s+$//; /\S/ ? "(?:" . $_ . ")" : () } grep !/^REGEXP:/, @bl)
  23. . '-[v0-9])|'
  24. . join('|', map "(?:$_)", @regexp);
  25. }
  26. my %bl_seen;
  27. while (<$fh>) {
  28. chomp;
  29. /^\S+\s+\S+\s+(.*)$/ or next;
  30. my $d = $1;
  31. if ($d =~ $blacklist) {
  32. warn("Blacklisted: $d\n") if not $bl_seen{$d}++;
  33. next;
  34. }
  35. $dists{$d}++;
  36. }
  37. close $fh;
  38. if (defined $outfile) {
  39. open my $ofh, ">", $outfile or die $!;
  40. print $ofh "$_\n" for sort keys %dists;
  41. }
  42. else {
  43. print "$_\n" for sort keys %dists;
  44. }
  45. return 1;
  46. }
  47. 1;
  48. __DATA__
  49. #Most of these are from Andreas Koenig's smoker.
  50. Inline-Octave # reads from STDIN during Makefile.PL
  51. Net-CLI-Interact # hangs
  52. Net-Whois-IANA # endless loop in testing
  53. REGEXP: \bLingua-PT-Speaker-0\.10\.tar\.gz$ # does not use prompt() and no $|
  54. Acme-Mom-Yours # blocks the smoker for too long
  55. Perl-Dist # Andreas says: probably removed all my Config.pms (?)
  56. ThreatNet-IRC # RT 33544
  57. Test-MockDBI # asks for DSN, user, etc.
  58. OpenResty # 0.3.8 hangs after 'cp etc/openresty.conf etc/site-openresty.conf'
  59. Dir-ListFilesRecursive # Deep recursion with high memory consumption
  60. Geo-Raster # requires Raster Algebra Library, no debian package (?)
  61. PerlCryptLib # hangs when searching header files
  62. REGEXP: \bTemplate-Plugin-Latex-3.*\.tar\.gz$ # hangs with 3.02
  63. WWW-Patent-Page # downloads something largish
  64. Bundle-POE-All # broken idea of what a bundle is
  65. ASNMTAP # switches to cpanplus and then hangs
  66. REGEXP: \bDBD-SQLite-Amalgamation-3\.5\.8\.tar\.gz$ # test t/08create_functionhangs with 33430
  67. Sendmail-PMilter # asks questions
  68. App-Control # endless loop
  69. sitemapper # questions
  70. FlatFile-DataStore # hangs after t/FlatFile-DataStore-Toc.t
  71. Device-RFXCOM # spits out EV: error in callback (ignoring): closed at t/01-rx.t line 116
  72. MojoX-Run # hangs with 5.14.0-382
  73. Module-Install-AutoLicense # hangs with 5.14.0-357
  74. POE-Component-SmokeBox # hangs
  75. DBIx-Perform # curses login (?)
  76. XSDSQL_ # hangs with high memory usage
  77. Catalyst-Authentication-Store-LDAP # hangs
  78. REGEXP: \bNet-Proxy-0\.12\.tar\.gz$ # hangs quite often, not always
  79. Audio-Ecasound # hangs very early: RT 32101
  80. parrot
  81. PPerl # Zombie galore?
  82. REGEXP: \bIPC-Shareable-0\.60\.tar\.gz$ # hangs
  83. REGEXP: \bWWW-Blog-Metadata-0\.02\.tar\.gz$ # ExtUtils::AutoInstall 0.56 http://rt.cpan.org/Ticket/Display.html?id=40601
  84. Chart-Graph # hangs Makefile.PL: RT 33541
  85. REGEXP: \bWWW-Salesforce # demands username and passwd
  86. Task-BeLike-Cebjyre # hangs somewhere
  87. Games-Sudoku-SudokuTk # hangs: seen with 0.07 and 0.09
  88. BioPerl # asks questions
  89. AxKit-XSP # looped in a readline
  90. Net-FTPSSL # asks questions during test without prompt()
  91. MozRepl-RemoteObject # hangs after 01-array.t
  92. REGEXP: \bWWW-Mechanize-Shell-0\.[45]\.tar\.gz$ # hangs every so often in t/13-command-au.t
  93. CursesForms
  94. CursesWidgets
  95. REGEXP: \bTest-Perl-Dist-0\.300\.tar\.gz # tells me that Win32 is missing and then stands still
  96. REGEXP: \bTie-Quicksort-Lazy-0\.02\.tar\.gz # endless loop
  97. Business-Shipping # asks questions
  98. REGEXP: \bTk-ObjEditor-2\.004\.tar\.gz$ # http://rt.cpan.org/Ticket/Display.html?id=29559
  99. Text-MeCab # hangs asking questions
  100. CGI-Wiki # asks database questions
  101. WWW-BBB-API # asks questions
  102. REGEXP: \bProc-PID-File-1\.24\.tar\.gz$ # hangs during test.pl
  103. REGEXP: \bText-GenderFromName-0\.32\.tar\.gz$ # bad prompt
  104. REGEXP: \bMARC-Errorchecks-1\.13\.tar\.gz$ # complicated interactivity in make test
  105. XUL-Node # asks for port -- 8077?
  106. REGEXP: (?:^|/)MOBY-.*\.gz$ # hangs
  107. XML-SAX-RTF # harmful: http://rt.cpan.org/Public/Bug/Display.html?id=5943
  108. REGEXP: \bHTTP-Server-Simple-Er-v0\.0\.3\.tar\.gz$ # hangs on some perls
  109. PNI-Node-Tk # hangs after t/PNI-Node-Tk.t
  110. threads-emulate # hangs in 00-load.t on 32642
  111. REGEXP: \bAlien-SDL-1\.418\.tar\.gz$ # questions
  112. FreeHAL # David Cantrell warns that it is a 137 MB thingy
  113. Net-SNMP-Mixin # asks questions about SNMP server
  114. WebService-Upcoming # for members only
  115. REGEXP: \bOcsinventory-Agent-0\.0\.8\.tar\.gz$ # hangs
  116. Ocsinventory-Agent # hanger
  117. DBIx-Recordset # hangs
  118. POE-Component-DirWatch # the 03editedfile or so seems to take forever
  119. Net-Server-Mail # hangs
  120. POE-Quickie # test hangs
  121. REGEXP: \bBot-Net-0\.1\.0\.tar\.gz$ # hangs during test t/TestNet/t/atoz-peer.t
  122. Mail-Salsa # hangs/asks for installation directory
  123. Catalyst-Example-InstantCRUDStylish # uninterruptible and demanding but maybe not his fault
  124. LedgerSMB-API # 0.04a nearly unstoppable endless loop
  125. POE-Filter-Hessian # hangs
  126. REGEXP: \bCatalyst-Log-Log4perl-1\.00\.tar\.gz$ # endless loop with deep recursion
  127. X3D # hangs at t/nodefield_sfdouble_06 on perl-5.10.0 at 33955
  128. Nagios-WebTransact # asks for a server and port
  129. DbFramework # asks questions but I have not time
  130. REGEXP: \barclog-3\.\d # one test (01-exhaust) hangs with several perls
  131. PPM-Make # asks questions
  132. Module-New # hangs after 00_load.t
  133. Business-OnlinePayment-eSelectPlus # hangs with 5.14.0-357
  134. REGEXP: \bNet-Server-0\.99\.6\.1\.tar\.gz$ # hangs
  135. Font-TFM # asks for path to tfm files
  136. REGEXP: \bData-Faker-0\.07\.tar\.gz # t/Data-Faker-DateTime.t runs forever
  137. REGEXP: \bCrypt-RandPasswd-0\.02\.tar\.gz$ # hangs *sometimes*
  138. REGEXP: \bHTTP-Server-Simple-Recorder-0\.03\.tar\.gz$ # hangs *sometimes*, even on perls that have previously succeeded
  139. Net-RabbitMQ # hangs
  140. REGEXP: \bApp-MrShell-2\.0207\.tar\.gz$ # hangs with v5.15.0-2-g1162210/2b65
  141. Net-Pcap-Easy # asks questions
  142. Net-IMAP-Simple # questions
  143. Finance-TickerSymbols # talks endlessly with some ticker sites
  144. Enbugger # steps into the debugger
  145. REGEXP: \bNet-Link-0\.01\.tar\.gz$ # hangs in t/00_link on 33955
  146. Xen-Control # calls sudo
  147. MP3-Podcast # hangs in test
  148. App-Nopaste-Service-AnyPastebin # hangs due Module::Install
  149. WWW-DaysOfWonder-Memoir44 # hangs
  150. AnyEvent-Retry # hangs after release-pod-syntax.t
  151. Term-Screen # automated testing impossible
  152. REGEXP: \bCPANPLUS-0\.8(5_08|6|601)\.tar\.gz$ # hangs
  153. Catalyst-Authentication-Store-LDAP # hangs
  154. REGEXP: \bParallel-Prefork-0\.02\.tar\.gz$ # hangs
  155. REGEXP: \bServer-Starter-0\.11\.tar\.gz$ # hangs
  156. REGEXP: \bPOE-Component-Client-Stomp-0\.05\.tar\.gz$ # hangs in t/02_basic.t with 5.10 proper
  157. REGEXP: \bXML-Grove-0\.46alpha\.tar\.gz$ # (1999) seems to be unmaintained
  158. REGEXP: \bMail-SpamAssassin-3\.3\.2\.tar\.gz$ # asks a new question
  159. Alien-IUP # not analysed slowness and CPU hog; then again questions being asked
  160. IPC-MPS # asks questions
  161. REGEXP: \bXiaoI-0\.01\.tar\.gz$ # hung
  162. REGEXP: \bXiaoI-0\.03\.tar\.gz$ # hung
  163. WebService-ScormCloud # asks for an ID
  164. Devel-ebug-HTTP # http://rt.cpan.org/Ticket/Display.html?id=40599
  165. Bio-SamTools # requires non-CPAN prereq
  166. Audio-Play-MPlayer # hangs
  167. Filesys-SamFS # have no SamFS
  168. Egg-Release-DBI # brings laptop to its knees RT #39239
  169. CGI-CMS # asks questions about paths
  170. RadiusPerl # hangs in test.pl
  171. Flickr-Embed # hangs in test basic.t
  172. Data-Transform-SSL # memory accident?
  173. WWW-Mechanize-Pluggable # killed the cpan shell with kill(); I don't understand how
  174. Dist-Zilla-Plugin-RequiresExternal # endless loop if JSON::PP missing???
  175. Authen-TacacsPlus # seems to hang
  176. Mail-SpamCannibal # IIUC it insists on answering aquestion with yes or no
  177. Net-LDAPapi # gives gooood advice and stops
  178. SQL-Tree # hangs before the first test
  179. REGEXP: \bAnyEvent-4\.232\.tar\.gz$ # hangs after "t/06_socket.....ok"
  180. Deliantra # looks complicated and not using CheckLib
  181. REGEXP: \bPApp-1\.42\.tar\.gz$ # the autoconfiguration gets it wrong
  182. App-Staticperl # highly dangerous stuff rewrites ~/.cpan/CPAN/MyConfig.pm
  183. Mojolicious-Plugin-OAuth2 # hangs
  184. Forks-Super # too demanding
  185. REGEXP: \bDevice-Blkid-E2fsprogs-0\.2[24]\d*\.tar # asks question without EUMM
  186. GitMeta # all Git stuff seems to hang my v5.15 smoker
  187. LWP-UserAgent-POE # seems to hang
  188. REGEXP: \bTest-Fork-0\.01_01\.tar\.gz$ # test hangs
  189. REGEXP: \bXML-miniXQL-0\.04\.tar\.gz$ # rest in peace: missing dependency decl on XML::Parser but so old (1999) that I do not want to RT it
  190. CGI-Test # asks if it should strip Carp::Datum calls
  191. Db-Documentum # press return to continue...
  192. Net-Address-Ethernet # interactive questions that we cannot answer as a bot
  193. WWW-Search-Yahoo # hangs in t/china.t
  194. ResourcePool-Resource-SOAP-Lite # asks questions
  195. CGI-Application-Plugin-DebugScreen # hangs on some perls (5.10.1 I think)
  196. REGEXP: \bReflexive-Stream-Filtering-1\.103\.tar\.gz$ # hangs
  197. REGEXP: \bPOE-Component-Supervisor-0.0[12]\.tar\.gz$ # hangs during t/04_global_restart_policy.
  198. perl # pumpkin
  199. App-Unix-RPasswd # takes too much time, no idea what it does
  200. REGEXP: \bURI-ParseSearchString-More-0\.04\.tar\.gz$
  201. Git-Wrapper # some huge kill triggered?
  202. CatalystX-ExtJS-Direct #
  203. Test-WWW-Mechanize # hangs
  204. IPC-PerlSSH-Async # asks for a password during testing
  205. IPC-PerlSSH # asks for a password during testing
  206. Net-SMS-Clickatell-SOAP
  207. DBIx-MyParse # too complicated to set up (mysql source etc.)
  208. Bundle-DBD-DBM # takes too many hours
  209. Template-Alloy-XS # very hungry for memory, made amd64 unuseable
  210. HTTP-Lite # asks for a URL
  211. REGEXP: \bmod_perl-2\.0\.5\.tar\.gz$ # endless loop
  212. REGEXP: \bCatalyst-Controller-WrapCGI-0\.0030\.tar\.gz$ # hangs
  213. Schedule-Cron # hangs after load_crontab.t
  214. jmx4perl # asks questions
  215. Device-Velleman-K8055-Fuse # asks for a hadness (don't know what that is)
  216. REGEXP: \bData-Session-1\.03.tgz$ # hangs during basic.t with all CPU consumed
  217. REGEXP: \bB-C-1\.34\.t # hangs with v5.15-135
  218. REGEXP: \bB-Debugger-0\.01_03\.tar\.gz$ # hangs with perl-5.8.8 at 33430 during test.pl
  219. REGEXP: \bC-DynaLib-0\.58\.t # hangs with 27040 (=5.8.8) on t/01test.t but not with others
  220. Bio-Phylo # hangs after 03-node.t with v5.15.0-241-g0a044a7/2b65/
  221. REGEXP: \bforks-0\.25\.t
  222. Net-OpenSSH # asks for a password during test
  223. Lingua-Translate # hangs often
  224. Alien-FLTK # downloads with waiting time risk
  225. REGEXP: \bCPAN-Dependency-0\.1[25]\d*\.t # hangs in t/02internals: strace select(16, [4 8], NULL, NULL, NULL <unfinished ...>
  226. REGEXP: \bAttribute-Persistent-1\.1\.tar\.gz$ # fails with out of memory and blocks the box for quite a while
  227. REGEXP: \bXML-Grammar-Screenplay # t/to-xhtml.t took ~17 minutes
  228. X11-Protocol # hangs after ok 2, uses only a test.pl
  229. P4 # asks for Perforce api paths
  230. Alien-ROOT # hangs (Note from Steffen: Curious. It should just exit(0) for automated smokers)
  231. REGEXP: \bCatalyst-Plugin-HTML-Widget-1\.1\.tar\.gz$ # Module::Install 0.54 http://rt.cpan.org/Ticket/Display.html?id=40618
  232. P4-Server # or maybe it was this one?
  233. REGEXP: \bStem-0\.12\.tar\.gz$ # hangs
  234. Cvs-Simple # asks for CVS paths
  235. FCGI-Engine # 0.04 hangs on t/002_basic_with_listen
  236. WWW-Myspace # tests take too long
  237. REGEXP: \bPluceneSimple-1\.04\.tar\.gz$ # seems to be abandoned
  238. Device-Davis # asks me for a tty to use
  239. Net-INET6Glue # asks questions
  240. Net-SSLGlue # asks questions
  241. REGEXP: \bEzmlm-0\.08\.2\.t # questions
  242. Acme-RPC # hangs
  243. REGEXP: \bDebug-Client-0\.11\.tar\.gz$ # hangs
  244. REGEXP: \bNet-RabbitMQ-Simple-0\.0004\.t$ # hangs
  245. Amon2 # test hangs with some perls
  246. Moxy # test hangs (maybe during a prereq?)
  247. Quota # 1.5.2 and 1.6.0 hang during test.pl
  248. POE-XS-Loop-EPoll # asks questions
  249. kurila # asks too many questions
  250. HTML-WikiConverter-DokuWikiFCK # hangs very early
  251. DBD-Pg # asks for pg_config
  252. Stem # asks questions about conf directories
  253. REGEXP: \bNet-SNMPTrapd-0\.04\.t # asks question
  254. REGEXP: \bNet-Syslogd-0\.04\.t # asks question
  255. REGEXP: \bMail-MboxParser-0\.55\.tar\.gz$ # hangs during some test
  256. IPC-MorseSignals # hangs too often (see Todo)
  257. CGI-Application-Dispatch # endless loop
  258. RPC-Oracle # asks username for Oracle
  259. Email-Folder-Exchange # asks questions
  260. Astro-SIMBAD-Client # asks questions
  261. Astro-satpass # asks sth (maybe without flush)
  262. Games-Sudoku-General # asks whether I want to install sudokug
  263. Module-Install-ExtendsMakeTest # hangs (0.0{2,3})
  264. Module-Install-TestTarget # hangs
  265. REGEXP: \bMojoX-AIO-0\.02\.tar\.gz$ # hangs
  266. CGI-QuickApp # hangs immediately
  267. REGEXP: HTTP-Engine # hangs in various versions
  268. WWW-Patent-Page # downloads something largish
  269. PDE # probably a broken Makefile.PL that tries to install Module::Build even if it is installed and calls CPAN recursively; in any case an endless loop
  270. POE-Component-WWW-Google-PageRank # hangs in 00-load with 34437
  271. POE-Component-WebService-HtmlKitCom-FavIconFromImage # hangs
  272. Alien-ActiveMQ # downloads 50MB and leaves them in /tmp/
  273. Fax-HylaFax-Client # 'make test' requires input and a working fax server.
  274. Geo-Coder-Google # network connection