X7ROOT File Manager
Current Path:
/usr/bin
usr
/
bin
/
ðŸ“
..
📄
7za
(46 B)
📄
GET
(15.84 KB)
📄
Mail
(408.89 KB)
📄
[
(53.67 KB)
📄
aclocal
(35.62 KB)
📄
aclocal-1.16
(35.62 KB)
📄
addr2line
(33.41 KB)
📄
animate
(11.84 KB)
📄
ar
(61.96 KB)
📄
arch
(37.41 KB)
📄
arpaname
(11.82 KB)
📄
as
(889.91 KB)
📄
aspell
(159.5 KB)
📄
at
(1.01 KB)
📄
atq
(1.01 KB)
📄
atrm
(1.02 KB)
📄
autoconf
(14.42 KB)
📄
autoheader
(8.33 KB)
📄
autom4te
(31.43 KB)
📄
automake
(251.9 KB)
📄
automake-1.16
(251.9 KB)
📄
autoreconf
(20.57 KB)
📄
autoscan
(16.72 KB)
📄
autoupdate
(33.08 KB)
📄
awk
(669.77 KB)
📄
b2sum
(57.76 KB)
📄
base32
(41.55 KB)
📄
base64
(41.56 KB)
📄
basename
(37.49 KB)
📄
bash
(1.1 MB)
📄
bashbug-64
(7.18 KB)
📄
batch
(137 B)
📄
bison
(437.72 KB)
📄
bunzip2
(36.86 KB)
📄
bzcat
(36.86 KB)
📄
bzcmp
(2.08 KB)
📄
bzdiff
(2.08 KB)
📄
bzgrep
(1.64 KB)
📄
bzip2
(36.86 KB)
📄
bzip2recover
(16.44 KB)
📄
bzless
(1.23 KB)
📄
bzmore
(1.23 KB)
📄
c++
(1.21 MB)
📄
c++filt
(28.89 KB)
📄
c89
(224 B)
📄
c99
(215 B)
📄
cagefs_enter.proxied
(1.03 KB)
📄
cal
(65.98 KB)
📄
captoinfo
(85.31 KB)
📄
cat
(37.54 KB)
📄
catchsegv
(3.21 KB)
📄
cc
(1.21 MB)
📄
chcon
(70.43 KB)
📄
chgrp
(66.35 KB)
📄
chmod
(62.29 KB)
📄
chown
(70.39 KB)
📄
chrt
(37.18 KB)
📄
cksum
(37.46 KB)
📄
cldetect
(10.35 KB)
📄
clear
(12.54 KB)
📄
clusterdb
(70.23 KB)
📄
cmp
(103.76 KB)
📄
col
(29 KB)
📄
colcrt
(16.48 KB)
📄
colrm
(24.88 KB)
📄
column
(49.47 KB)
📄
comm
(41.63 KB)
📄
compare
(11.85 KB)
📄
composite
(11.84 KB)
📄
conjure
(11.84 KB)
📄
convert
(11.84 KB)
📄
cp
(148.05 KB)
📄
cpan
(8.17 KB)
📄
cpp
(1.21 MB)
📄
createdb
(70.22 KB)
📄
createuser
(74.63 KB)
📄
crontab
(1.36 KB)
📄
crontab.cagefs
(54.16 KB)
📄
csplit
(53.76 KB)
📄
curl
(230.09 KB)
📄
cut
(49.59 KB)
📄
date
(106.03 KB)
📄
dbiprof
(6.06 KB)
📄
dd
(78.05 KB)
📄
delv
(42.46 KB)
📄
df
(91.16 KB)
📄
diff
(268.01 KB)
📄
diff3
(128.6 KB)
📄
dig
(162.19 KB)
📄
dir
(139.97 KB)
📄
dircolors
(49.63 KB)
📄
dirname
(33.44 KB)
📄
display
(11.84 KB)
📄
dnstap-read
(20.43 KB)
📄
dropdb
(66.02 KB)
📄
dropuser
(65.99 KB)
📄
du
(107.1 KB)
📄
easy_install-3
(0 B)
📄
echo
(37.43 KB)
📄
egrep
(28 B)
📄
enc2xs
(40.97 KB)
📄
enchant
(21.08 KB)
📄
enchant-lsmod
(13.09 KB)
📄
env
(41.43 KB)
📄
eps2eps
(639 B)
📄
eqn
(232.16 KB)
📄
ex
(1.13 MB)
📄
expand
(41.66 KB)
📄
expr
(49.65 KB)
📄
factor
(86.05 KB)
📄
false
(33.39 KB)
📄
fc-cache
(132 B)
📄
fc-cache-64
(20.35 KB)
📄
fc-cat
(16.35 KB)
📄
fc-conflist
(12.25 KB)
📄
fc-list
(12.25 KB)
📄
fc-match
(16.26 KB)
📄
fc-pattern
(12.26 KB)
📄
fc-query
(12.24 KB)
📄
fc-scan
(12.26 KB)
📄
fc-validate
(16.26 KB)
📄
fgrep
(28 B)
📄
file
(24.68 KB)
📄
find
(223.3 KB)
📄
flex
(428.45 KB)
📄
flex++
(428.45 KB)
📄
flock
(33.2 KB)
📄
fmt
(45.57 KB)
📄
fold
(41.48 KB)
📄
free
(20.79 KB)
📄
freetype-config
(4.31 KB)
📄
funzip
(36.63 KB)
📄
g++
(1.21 MB)
📄
gawk
(669.77 KB)
📄
gcc
(1.21 MB)
📄
gcc-ar
(36.66 KB)
📄
gcc-nm
(36.66 KB)
📄
gcc-ranlib
(36.66 KB)
📄
gcov
(1.31 MB)
📄
gcov-dump
(570.88 KB)
📄
gcov-tool
(607.75 KB)
📄
gem
(542 B)
📄
gencat
(24.84 KB)
📄
geoiplookup
(21.89 KB)
📄
geoiplookup6
(21.65 KB)
📄
geqn
(232.16 KB)
📄
getconf
(32.46 KB)
📄
getent
(33.13 KB)
📄
getopt
(20.52 KB)
📄
ghostscript
(12.35 KB)
📄
git
(3.67 MB)
📄
git-receive-pack
(3.67 MB)
📄
git-shell
(2.13 MB)
📄
git-upload-archive
(3.67 MB)
📄
git-upload-pack
(3.67 MB)
📄
gm
(7.82 KB)
📄
gmake
(235.32 KB)
📄
gneqn
(908 B)
📄
gnroff
(3.23 KB)
📄
gpg
(1.04 MB)
📄
gpg-agent
(419.29 KB)
📄
gpg-error
(34.16 KB)
📄
gpg-zip
(3.44 KB)
📄
gpgsplit
(87.02 KB)
📄
gpgv
(451.58 KB)
📄
gpic
(293.84 KB)
📄
gprof
(103.36 KB)
📄
grep
(193.63 KB)
📄
groff
(124.92 KB)
📄
grops
(191.14 KB)
📄
grotty
(141.9 KB)
📄
groups
(37.47 KB)
📄
gs
(12.35 KB)
📄
gsnd
(277 B)
📄
gsoelim
(42.55 KB)
📄
gtar
(448.99 KB)
📄
gtbl
(154.61 KB)
📄
gtroff
(805.02 KB)
📄
gunzip
(2.29 KB)
📄
gzexe
(6.23 KB)
📄
gzip
(94.67 KB)
📄
h2ph
(28.69 KB)
📄
h2xs
(59.44 KB)
📄
head
(45.58 KB)
📄
hexdump
(57.5 KB)
📄
host
(142.3 KB)
📄
hostid
(33.41 KB)
📄
hostname
(21.16 KB)
📄
hunspell
(144.7 KB)
📄
iconv
(61.44 KB)
📄
id
(45.52 KB)
📄
identify
(11.84 KB)
📄
idn
(39.41 KB)
📄
ifnames
(4.03 KB)
📄
import
(11.84 KB)
📄
infocmp
(61.05 KB)
📄
infotocap
(85.31 KB)
📄
install
(156.25 KB)
📄
instmodsh
(4.1 KB)
📄
ionice
(28.98 KB)
📄
ipcrm
(28.99 KB)
📄
ipcs
(53.39 KB)
📄
isosize
(24.88 KB)
📄
ispell
(988 B)
📄
join
(53.77 KB)
📄
kill
(37.27 KB)
📄
ld
(1.71 MB)
📄
ld.bfd
(1.71 MB)
📄
ldd
(5.31 KB)
📄
less
(173.76 KB)
📄
lessecho
(12.4 KB)
📄
lesskey
(21.99 KB)
📄
lesspipe.sh
(3.07 KB)
📄
lex
(428.45 KB)
📄
libnetcfg
(15.41 KB)
📄
libtool
(359.11 KB)
📄
libtoolize
(126.17 KB)
📄
link
(33.41 KB)
📄
ln
(70.57 KB)
📄
locale
(56.45 KB)
📄
localedef
(307.47 KB)
📄
logger
(49.98 KB)
📄
login
(40.96 KB)
📄
logname
(33.42 KB)
📄
look
(16.45 KB)
📄
ls
(139.97 KB)
📄
lynx
(1.84 MB)
📄
m4
(185.56 KB)
📄
mail
(408.89 KB)
📄
mailx
(408.89 KB)
📄
make
(235.32 KB)
📄
make-dummy-cert
(610 B)
📄
mariadb
(4.34 MB)
📄
mariadb-access
(109.34 KB)
📄
mariadb-admin
(3.88 MB)
📄
mariadb-binlog
(4.14 MB)
📄
mariadb-check
(3.88 MB)
📄
mariadb-dump
(3.96 MB)
📄
mariadb-find-rows
(3.21 KB)
📄
mariadb-import
(3.87 MB)
📄
mariadb-show
(3.87 MB)
📄
mariadb-waitpid
(3.56 MB)
📄
mc
(1.3 MB)
📄
mcdiff
(1.3 MB)
📄
mcedit
(1.3 MB)
📄
mcookie
(33.26 KB)
📄
mcview
(1.3 MB)
📄
md5sum
(45.62 KB)
📄
mesg
(16.36 KB)
📄
mkdir
(82.79 KB)
📄
mkfifo
(66.56 KB)
📄
mknod
(70.55 KB)
📄
mktemp
(45.73 KB)
📄
mogrify
(11.84 KB)
📄
montage
(11.84 KB)
📄
more
(44.94 KB)
📄
msql2mysql
(1.41 KB)
📄
mv
(144.03 KB)
📄
my_print_defaults
(3.56 MB)
📄
mysql
(4.34 MB)
📄
mysql_config
(4.6 KB)
📄
mysql_find_rows
(3.21 KB)
📄
mysql_waitpid
(3.56 MB)
📄
mysqlaccess
(109.34 KB)
📄
mysqladmin
(3.88 MB)
📄
mysqlbinlog
(4.14 MB)
📄
mysqlcheck
(3.88 MB)
📄
mysqldump
(3.96 MB)
📄
mysqlimport
(3.87 MB)
📄
mysqlshow
(3.87 MB)
📄
namei
(33.1 KB)
📄
nano
(247.94 KB)
📄
neqn
(908 B)
📄
nice
(37.41 KB)
📄
nl
(45.63 KB)
📄
nm
(50.38 KB)
📄
nohup
(37.48 KB)
📄
nproc
(37.48 KB)
📄
nroff
(3.23 KB)
📄
nslookup
(146.26 KB)
📄
nsupdate
(73.05 KB)
📄
numfmt
(65.71 KB)
📄
objcopy
(240.07 KB)
📄
objdump
(419.76 KB)
📄
od
(73.88 KB)
📄
openssl
(745.95 KB)
📄
pango-list
(11.88 KB)
📄
pango-view
(57.44 KB)
📄
passwd
(1.02 KB)
📄
paste
(37.46 KB)
📄
patch
(206.46 KB)
📄
pathchk
(37.41 KB)
📄
pdf2dsc
(698 B)
📄
pdf2ps
(909 B)
📄
perl
(12.44 KB)
📄
perl5.26.3
(12.44 KB)
📄
perlbug
(44.39 KB)
📄
perldoc
(118 B)
📄
perlivp
(10.56 KB)
📄
perlml
(6.86 KB)
📄
perlthanks
(44.39 KB)
📄
pg_dump
(399.43 KB)
📄
pg_dumpall
(107.11 KB)
📄
pg_restore
(173.34 KB)
📄
pgrep
(28.84 KB)
📄
php
(937 B)
📄
pic
(293.84 KB)
📄
piconv
(8.08 KB)
📄
pinentry
(2.35 KB)
📄
pinentry-curses
(77.89 KB)
📄
ping
(66.13 KB)
📄
pinky
(41.53 KB)
📄
pip-3
(0 B)
📄
pip3
(0 B)
📄
pkg-config
(40.04 KB)
📄
pkgconf
(40.04 KB)
📄
pkill
(28.84 KB)
📄
pl2pm
(4.43 KB)
📄
pmap
(32.78 KB)
📄
pod2html
(4.04 KB)
📄
pod2man
(14.68 KB)
📄
pod2text
(10.55 KB)
📄
pod2usage
(3.86 KB)
📄
podchecker
(3.57 KB)
📄
podselect
(2.47 KB)
📄
post-grohtml
(238.73 KB)
📄
pr
(82.23 KB)
📄
pre-grohtml
(130.55 KB)
📄
precat
(5.52 KB)
📄
preunzip
(5.52 KB)
📄
prezip
(5.52 KB)
📄
prezip-bin
(11.98 KB)
📄
printenv
(33.4 KB)
📄
printf
(53.64 KB)
📄
prove
(13.24 KB)
📄
ps
(134.75 KB)
📄
ps2ascii
(631 B)
📄
ps2epsi
(2.69 KB)
📄
ps2pdf
(272 B)
📄
ps2pdf12
(215 B)
📄
ps2pdf13
(215 B)
📄
ps2pdf14
(215 B)
📄
ps2pdfwr
(1.07 KB)
📄
ps2ps
(647 B)
📄
ps2ps2
(669 B)
📄
psql
(644.33 KB)
📄
ptx
(78.07 KB)
📄
pwd
(37.5 KB)
📄
pwdx
(12.68 KB)
📄
pydoc-3
(0 B)
📄
pydoc3
(0 B)
📄
python2
(7.84 KB)
📄
python2.7
(7.84 KB)
📄
python3
(11.59 KB)
📄
python3.6
(11.59 KB)
📄
python3.6m
(11.59 KB)
📄
pyvenv-3
(0 B)
📄
ranlib
(61.98 KB)
📄
raw
(16.49 KB)
📄
readelf
(624.54 KB)
📄
readlink
(45.96 KB)
📄
realpath
(50.02 KB)
📄
recode
(47.03 KB)
📄
reindexdb
(70.32 KB)
📄
rename
(16.5 KB)
📄
renew-dummy-cert
(725 B)
📄
renice
(16.46 KB)
📄
reset
(24.76 KB)
📄
rev
(12.45 KB)
📄
rm
(70.47 KB)
📄
rmdir
(45.54 KB)
📄
rnano
(247.94 KB)
📄
rsync
(510.15 KB)
📄
ruby
(11.84 KB)
📄
run-with-aspell
(85 B)
📄
runcon
(37.45 KB)
📄
rvi
(1.13 MB)
📄
rview
(1.13 MB)
📄
rvim
(2.93 MB)
📄
scalar
(2.18 MB)
📄
scl
(36.87 KB)
📄
scl_enabled
(258 B)
📄
scl_source
(1.82 KB)
📄
scp
(102.85 KB)
📄
screen
(482.46 KB)
📄
script
(36.79 KB)
📄
sdiff
(105.33 KB)
📄
sed
(115.48 KB)
📄
selectorctl
(7.63 KB)
📄
seq
(53.52 KB)
📄
setsid
(16.38 KB)
📄
setterm
(45.12 KB)
📄
sftp
(159.74 KB)
📄
sh
(1.1 MB)
📄
sha1sum
(45.63 KB)
📄
sha224sum
(45.66 KB)
📄
sha256sum
(45.66 KB)
📄
sha384sum
(45.66 KB)
📄
sha512sum
(45.66 KB)
📄
shred
(61.94 KB)
📄
shuf
(58.16 KB)
📄
size
(33.25 KB)
📄
skill
(28.8 KB)
📄
slabtop
(20.84 KB)
📄
sleep
(37.47 KB)
📄
snice
(28.8 KB)
📄
soelim
(42.55 KB)
📄
sort
(123.55 KB)
📄
spell
(122 B)
📄
splain
(18.7 KB)
📄
split
(58.13 KB)
📄
sprof
(28.67 KB)
📄
sqlite3
(1.28 MB)
📄
ssh
(757.54 KB)
📄
ssh-add
(346.13 KB)
📄
ssh-agent
(325.58 KB)
📄
ssh-copy-id
(10.44 KB)
📄
ssh-keygen
(427.16 KB)
📄
ssh-keyscan
(428.57 KB)
📄
stat
(86.23 KB)
📄
stdbuf
(49.58 KB)
📄
strace
(1.94 MB)
📄
stream
(11.83 KB)
📄
strings
(37.43 KB)
📄
strip
(240.09 KB)
📄
stty
(77.68 KB)
📄
sum
(45.61 KB)
📄
sync
(37.43 KB)
📄
tabs
(16.55 KB)
📄
tac
(41.57 KB)
📄
tail
(74.2 KB)
📄
tar
(448.99 KB)
📄
taskset
(37.25 KB)
📄
tbl
(154.61 KB)
📄
tclsh
(9.04 KB)
📄
tclsh8.6
(9.04 KB)
📄
tee
(41.55 KB)
📄
test
(53.63 KB)
📄
tic
(85.31 KB)
📄
timeout
(41.93 KB)
📄
tload
(16.76 KB)
📄
tmpwatch
(35.47 KB)
📄
toe
(16.45 KB)
📄
top
(121.7 KB)
📄
touch
(94.02 KB)
📄
tput
(24.8 KB)
📄
tr
(49.7 KB)
📄
traceroute
(70.97 KB)
📄
troff
(805.02 KB)
📄
true
(33.4 KB)
📄
truncate
(41.44 KB)
📄
tset
(24.76 KB)
📄
tsort
(41.57 KB)
📄
tty
(33.39 KB)
📄
tzselect
(15.01 KB)
📄
uapi
(1.02 KB)
📄
ul
(20.58 KB)
📄
uname
(37.41 KB)
📄
unexpand
(45.68 KB)
📄
uniq
(49.72 KB)
📄
unlink
(33.41 KB)
📄
unversioned-python
(0 B)
📄
unzip
(201.88 KB)
📄
unzipsfx
(101.48 KB)
📄
uptime
(12.59 KB)
📄
users
(37.47 KB)
📄
utmpdump
(28.66 KB)
📄
vacuumdb
(78.46 KB)
📄
vdir
(139.97 KB)
📄
vi
(1.13 MB)
📄
view
(1.13 MB)
📄
vim
(2.93 MB)
📄
vimdiff
(2.93 MB)
📄
vimtutor
(2.07 KB)
📄
vmstat
(36.79 KB)
📄
watch
(29.19 KB)
📄
wc
(49.72 KB)
📄
wget
(521.41 KB)
📄
whereis
(29.27 KB)
📄
which
(29.44 KB)
📄
who
(53.68 KB)
📄
whoami
(33.41 KB)
📄
word-list-compress
(11.99 KB)
📄
x86_64-redhat-linux-c++
(1.21 MB)
📄
x86_64-redhat-linux-g++
(1.21 MB)
📄
x86_64-redhat-linux-gcc
(1.21 MB)
📄
x86_64-redhat-linux-gcc-8
(1.21 MB)
📄
xargs
(74.11 KB)
📄
xmlcatalog
(20.38 KB)
📄
xmllint
(73.37 KB)
📄
xmlwf
(32.96 KB)
📄
xsltproc
(28.47 KB)
📄
xsubpp
(4.96 KB)
📄
xxd
(20.52 KB)
📄
yes
(33.45 KB)
📄
zcat
(1.94 KB)
📄
zcmp
(1.64 KB)
📄
zdiff
(5.74 KB)
📄
zegrep
(29 B)
📄
zfgrep
(29 B)
📄
zforce
(2.03 KB)
📄
zgrep
(7.4 KB)
📄
zip
(229 KB)
📄
zipcloak
(102.91 KB)
📄
zipgrep
(2.88 KB)
📄
zipinfo
(201.88 KB)
📄
zipnote
(97.76 KB)
📄
zipsplit
(97.76 KB)
📄
zless
(2.15 KB)
📄
zmore
(1.8 KB)
📄
znew
(4.45 KB)
📄
zsoelim
(42.55 KB)
Editing: perlivp
#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; # perlivp v5.26.3 BEGIN { pop @INC if $INC[-1] eq '.' } sub usage { warn "@_\n" if @_; print << " EOUSAGE"; Usage: $0 [-p] [-v] | [-h] -p Print a preface before each test telling what it will test. -v Verbose mode in which extra information about test results is printed. Test failures always print out some extra information regardless of whether or not this switch is set. -h Prints this help message. EOUSAGE exit; } use vars qw(%opt); # allow testing with older versions (do not use our) @opt{ qw/? H h P p V v/ } = qw(0 0 0 0 0 0 0); while ($ARGV[0] =~ /^-/) { $ARGV[0] =~ s/^-//; for my $flag (split(//,$ARGV[0])) { usage() if '?' =~ /\Q$flag/; usage() if 'h' =~ /\Q$flag/; usage() if 'H' =~ /\Q$flag/; usage("unknown flag: '$flag'") unless 'HhPpVv' =~ /\Q$flag/; warn "$0: '$flag' flag already set\n" if $opt{$flag}++; } shift; } $opt{p}++ if $opt{P}; $opt{v}++ if $opt{V}; my $pass__total = 0; my $error_total = 0; my $tests_total = 0; my $perlpath = '/usr/bin/perl'; my $useithreads = 'define'; print "## Checking Perl binary via variable '\$perlpath' = $perlpath.\n" if $opt{'p'}; my $label = 'Executable perl binary'; if (-x $perlpath) { print "## Perl binary '$perlpath' appears executable.\n" if $opt{'v'}; print "ok 1 $label\n"; $pass__total++; } else { print "# Perl binary '$perlpath' does not appear executable.\n"; print "not ok 1 $label\n"; $error_total++; } $tests_total++; print "## Checking Perl version via variable '\$]'.\n" if $opt{'p'}; my $ivp_VERSION = "5.026003"; $label = 'Perl version correct'; if ($ivp_VERSION eq $]) { print "## Perl version '$]' appears installed as expected.\n" if $opt{'v'}; print "ok 2 $label\n"; $pass__total++; } else { print "# Perl version '$]' installed, expected $ivp_VERSION.\n"; print "not ok 2 $label\n"; $error_total++; } $tests_total++; # We have the right perl and version, so now reset @INC so we ignore # PERL5LIB and '.' { local $ENV{PERL5LIB}; my $perl_V = qx($perlpath -V); $perl_V =~ s{.*\@INC:\n}{}ms; @INC = grep { length && $_ ne '.' } split ' ', $perl_V; } print "## Checking roots of the Perl library directory tree via variable '\@INC'.\n" if $opt{'p'}; my $INC_total = 0; my $INC_there = 0; foreach (@INC) { next if $_ eq '.'; # skip -d test here if (-d $_) { print "## Perl \@INC directory '$_' exists.\n" if $opt{'v'}; $INC_there++; } else { print "# Perl \@INC directory '$_' does not appear to exist.\n"; } $INC_total++; } $label = '@INC directoreis exist'; if ($INC_total == $INC_there) { print "ok 3 $label\n"; $pass__total++; } else { print "not ok 3 $label\n"; $error_total++; } $tests_total++; print "## Checking installations of modules necessary for ivp.\n" if $opt{'p'}; my $needed_total = 0; my $needed_there = 0; foreach (qw(Config.pm ExtUtils/Installed.pm)) { $@ = undef; $needed_total++; eval "require \"$_\";"; if (!$@) { print "## Module '$_' appears to be installed.\n" if $opt{'v'}; $needed_there++; } else { print "# Needed module '$_' does not appear to be properly installed.\n"; } $@ = undef; } $label = 'Modules needed for rest of perlivp exist'; if ($needed_total == $needed_there) { print "ok 4 $label\n"; $pass__total++; } else { print "not ok 4 $label\n"; $error_total++; } $tests_total++; print "## Checking installations of extensions built with perl.\n" if $opt{'p'}; use Config; my $extensions_total = 0; my $extensions_there = 0; if (defined($Config{'extensions'})) { my @extensions = split(/\s+/,$Config{'extensions'}); foreach (@extensions) { next if ($_ eq ''); if ( $useithreads !~ /define/i ) { next if ($_ eq 'threads'); next if ($_ eq 'threads/shared'); } # that's a distribution name, not a module name next if $_ eq 'IO/Compress'; next if $_ eq 'Devel/DProf'; next if $_ eq 'libnet'; next if $_ eq 'Locale/Codes'; next if $_ eq 'podlators'; next if $_ eq 'perlfaq'; # test modules next if $_ eq 'XS/APItest'; next if $_ eq 'XS/Typemap'; # VMS$ perl -e "eval ""require \""Devel/DProf.pm\"";"" print $@" # \NT> perl -e "eval \"require './Devel/DProf.pm'\"; print $@" # DProf: run perl with -d to use DProf. # Compilation failed in require at (eval 1) line 1. eval " require \"$_.pm\"; "; if (!$@) { print "## Module '$_' appears to be installed.\n" if $opt{'v'}; $extensions_there++; } else { print "# Required module '$_' does not appear to be properly installed.\n"; $@ = undef; } $extensions_total++; } # A silly name for a module (that hopefully won't ever exist). # Note that this test serves more as a check of the validity of the # actual required module tests above. my $unnecessary = 'bLuRfle'; if (!grep(/$unnecessary/, @extensions)) { $@ = undef; eval " require \"$unnecessary.pm\"; "; if ($@) { print "## Unnecessary module '$unnecessary' does not appear to be installed.\n" if $opt{'v'}; } else { print "# Unnecessary module '$unnecessary' appears to be installed.\n"; $extensions_there++; } } $@ = undef; } $label = 'All (and only) expected extensions installed'; if ($extensions_total == $extensions_there) { print "ok 5 $label\n"; $pass__total++; } else { print "not ok 5 $label\n"; $error_total++; } $tests_total++; print "## Checking installations of later additional extensions.\n" if $opt{'p'}; use ExtUtils::Installed; my $installed_total = 0; my $installed_there = 0; my $version_check = 0; my $installed = ExtUtils::Installed -> new(); my @modules = $installed -> modules(); my @missing = (); my $version = undef; for (@modules) { $installed_total++; # Consider it there if it contains one or more files, # and has zero missing files, # and has a defined version $version = undef; $version = $installed -> version($_); if ($version) { print "## $_; $version\n" if $opt{'v'}; $version_check++; } else { print "# $_; NO VERSION\n" if $opt{'v'}; } $version = undef; @missing = (); @missing = $installed -> validate($_); # .bs files are optional @missing = grep { ! /\.bs$/ } @missing; # man files are often compressed @missing = grep { ! ( -s "$_.gz" || -s "$_.bz2" ) } @missing; if ($#missing >= 0) { print "# file",+($#missing == 0) ? '' : 's'," missing from installation:\n"; print '# ',join(' ',@missing),"\n"; } elsif ($#missing == -1) { $installed_there++; } @missing = (); } $label = 'Module files correctly installed'; if (($installed_total == $installed_there) && ($installed_total == $version_check)) { print "ok 6 $label\n"; $pass__total++; } else { print "not ok 6 $label\n"; $error_total++; } $tests_total++; # Final report (rather than feed ousrselves to Test::Harness::runtests() # we simply format some output on our own to keep things simple and # easier to "fix" - at least for now. if ($error_total == 0 && $tests_total) { print "All tests successful.\n"; } elsif ($tests_total==0){ die "FAILED--no tests were run for some reason.\n"; } else { my $rate = 0.0; if ($tests_total > 0) { $rate = sprintf "%.2f", 100.0 * ($pass__total / $tests_total); } printf " %d/%d subtests failed, %.2f%% okay.\n", $error_total, $tests_total, $rate; } =head1 NAME perlivp - Perl Installation Verification Procedure =head1 SYNOPSIS B<perlivp> [B<-p>] [B<-v>] [B<-h>] =head1 DESCRIPTION The B<perlivp> program is set up at Perl source code build time to test the Perl version it was built under. It can be used after running: make install (or your platform's equivalent procedure) to verify that B<perl> and its libraries have been installed correctly. A correct installation is verified by output that looks like: ok 1 ok 2 etc. =head1 OPTIONS =over 5 =item B<-h> help Prints out a brief help message. =item B<-p> print preface Gives a description of each test prior to performing it. =item B<-v> verbose Gives more detailed information about each test, after it has been performed. Note that any failed tests ought to print out some extra information whether or not -v is thrown. =back =head1 DIAGNOSTICS =over 4 =item * print "# Perl binary '$perlpath' does not appear executable.\n"; Likely to occur for a perl binary that was not properly installed. Correct by conducting a proper installation. =item * print "# Perl version '$]' installed, expected $ivp_VERSION.\n"; Likely to occur for a perl that was not properly installed. Correct by conducting a proper installation. =item * print "# Perl \@INC directory '$_' does not appear to exist.\n"; Likely to occur for a perl library tree that was not properly installed. Correct by conducting a proper installation. =item * print "# Needed module '$_' does not appear to be properly installed.\n"; One of the two modules that is used by perlivp was not present in the installation. This is a serious error since it adversely affects perlivp's ability to function. You may be able to correct this by performing a proper perl installation. =item * print "# Required module '$_' does not appear to be properly installed.\n"; An attempt to C<eval "require $module"> failed, even though the list of extensions indicated that it should succeed. Correct by conducting a proper installation. =item * print "# Unnecessary module 'bLuRfle' appears to be installed.\n"; This test not coming out ok could indicate that you have in fact installed a bLuRfle.pm module or that the C<eval " require \"$module_name.pm\"; "> test may give misleading results with your installation of perl. If yours is the latter case then please let the author know. =item * print "# file",+($#missing == 0) ? '' : 's'," missing from installation:\n"; One or more files turned up missing according to a run of C<ExtUtils::Installed -E<gt> validate()> over your installation. Correct by conducting a proper installation. =back For further information on how to conduct a proper installation consult the INSTALL file that comes with the perl source and the README file for your platform. =head1 AUTHOR Peter Prymmer =cut
Upload File
Create Folder