#!/usr/bin/env perl use strict; use warnings FATAL => 'all'; use ExtUtils::Manifest qw(filecheck maniread maniskip manicheck mkmanifest); { local $ExtUtils::Manifest::Quiet = 1; my $manimiss = ! -e 'MANIFEST'; if (-e 'MANIFEST') { my @extra = manicheck; if (@extra) { die "Files in MANIFEST are missing from file system:\n" . join('', map " $_\n", @extra); } my $read = maniread; my @files = sort keys %$read; my %lc; for my $file (@files) { if (my $other = $lc{lc $file}) { die "ERROR: Multiple files only differing by case:\n\t$file\n\t$other\n"; } $lc{lc $file} = $file; } my @missing = filecheck; my $skip = maniskip; my @remove = grep $skip->($_), @files; exit 0 if !(@missing || @remove); } } warn "Updating MANIFEST:\n"; mkmanifest; warn "Go check it and retry.\n"; exit 1;