/
usr
/
bin
/
/usr/bin
mkdir
upload
Name
Size
Mode
Actions
2to3
106
0755
edit
dl
rm
2to3-3.6
106
0755
edit
dl
rm
ab
74368
0755
edit
dl
rm
aclocal
36478
0755
edit
dl
rm
aclocal-1.16
36478
0755
edit
dl
rm
acyclic
12712
0755
edit
dl
rm
addr2line
34224
0755
edit
dl
rm
alias
29
0755
edit
dl
rm
animate
12128
0755
edit
dl
rm
apropos
55336
0755
edit
dl
rm
ar
63448
0755
edit
dl
rm
arch
38232
0755
edit
dl
rm
aria_chk
5637232
0755
edit
dl
rm
aria_dump_log
5431864
0755
edit
dl
rm
aria_ftdump
5444432
0755
edit
dl
rm
aria_pack
5470864
0755
edit
dl
rm
aria_read_log
5591384
0755
edit
dl
rm
arpaname
12104
0755
edit
dl
rm
as
911264
0755
edit
dl
rm
aspell
163328
0755
edit
dl
rm
at
58704
0755
edit
dl
rm
atq
58704
0755
edit
dl
rm
atrm
58704
0755
edit
dl
rm
aulast
21072
0755
edit
dl
rm
aulastlog
12736
0755
edit
dl
rm
ausyscall
12568
0755
edit
dl
rm
authselect
42112
0755
edit
dl
rm
autoconf
14768
0755
edit
dl
rm
autoheader
8534
0755
edit
dl
rm
autom4te
32181
0755
edit
dl
rm
automake
257949
0755
edit
dl
rm
automake-1.16
257949
0755
edit
dl
rm
autopoint
26572
0755
edit
dl
rm
autoreconf
21066
0755
edit
dl
rm
autoscan
17124
0755
edit
dl
rm
autoupdate
33872
0755
edit
dl
rm
auvirt
33512
0755
edit
dl
rm
awk
685848
0755
edit
dl
rm
b2sum
59072
0755
edit
dl
rm
base32
42464
0755
edit
dl
rm
base64
42480
0755
edit
dl
rm
basename
38312
0755
edit
dl
rm
bash
1154680
0755
edit
dl
rm
bashbug
7348
0755
edit
dl
rm
bashbug-64
7348
0755
edit
dl
rm
batch
137
0755
edit
dl
rm
bc
97256
0755
edit
dl
rm
bcomps
21112
0755
edit
dl
rm
bdftopcf
46488
0755
edit
dl
rm
bg
26
0755
edit
dl
rm
bind9-config
3416
0755
edit
dl
rm
bison
448224
0755
edit
dl
rm
bluemoon
100048
0755
edit
dl
rm
bluetoothctl
294120
0755
edit
dl
rm
bond2team
23289
0755
edit
dl
rm
bootctl
46232
0755
edit
dl
rm
brotli
756944
0755
edit
dl
rm
btattach
91688
0755
edit
dl
rm
btmon
966736
0755
edit
dl
rm
bunzip2
37744
0755
edit
dl
rm
busctl
79120
0755
edit
dl
rm
bwrap
71296
0755
edit
dl
rm
bzcat
37744
0755
edit
dl
rm
bzcmp
2128
0755
edit
dl
rm
bzdiff
2128
0755
edit
dl
rm
bzegrep
1677
0755
edit
dl
rm
bzfgrep
1677
0755
edit
dl
rm
bzgrep
1677
0755
edit
dl
rm
bzip2
37744
0755
edit
dl
rm
bzip2recover
16832
0755
edit
dl
rm
bzless
1259
0755
edit
dl
rm
bzmore
1259
0755
edit
dl
rm
c++
1266616
0755
edit
dl
rm
c++filt
29584
0755
edit
dl
rm
c89
224
0755
edit
dl
rm
c99
215
0755
edit
dl
rm
ca-legacy
1644
0755
edit
dl
rm
cairo-sphinx
71384
0755
edit
dl
rm
cal
67560
0755
edit
dl
rm
captoinfo
87360
0755
edit
dl
rm
cat
38360
0755
edit
dl
rm
catchsegv
3283
0755
edit
dl
rm
catman
42448
0755
edit
dl
rm
cc
1266576
0755
edit
dl
rm
ccomps
25312
0755
edit
dl
rm
cd
26
0755
edit
dl
rm
centrino-decode
11536
0755
edit
dl
rm
certutil
203928
0755
edit
dl
rm
chacl
16768
0755
edit
dl
rm
chage
79544
0755
edit
dl
rm
chardetect
400
0755
edit
dl
rm
chattr
16800
0755
edit
dl
rm
chcon
72024
0755
edit
dl
rm
checkmodule
437256
0755
edit
dl
rm
checkpolicy
500368
0755
edit
dl
rm
chfn
33688
0711
edit
dl
rm
chgrp
67864
0755
edit
dl
rm
chmem
46560
0755
edit
dl
rm
chmod
63688
0755
edit
dl
rm
chown
71976
0755
edit
dl
rm
chronyc
130664
0755
edit
dl
rm
chrt
38080
0755
edit
dl
rm
chsh
25312
0711
edit
dl
rm
chvt
12832
0755
edit
dl
rm
cifsiostat
42344
0755
edit
dl
rm
ciptool
215816
0755
edit
dl
rm
circo
12552
0755
edit
dl
rm
cksum
38288
0755
edit
dl
rm
clear
12840
0755
edit
dl
rm
cloud-id
402
0755
edit
dl
rm
cloud-init
406
0755
edit
dl
rm
cloud-init-per
2108
0755
edit
dl
rm
cluster
530768
0755
edit
dl
rm
cmp
106248
0755
edit
dl
rm
cmsutil
125400
0755
edit
dl
rm
col
29704
0755
edit
dl
rm
colcrt
16872
0755
edit
dl
rm
colrm
25480
0755
edit
dl
rm
column
50656
0755
edit
dl
rm
comm
42560
0755
edit
dl
rm
command
31
0755
edit
dl
rm
compare
12136
0755
edit
dl
rm
compile_et
1342
0755
edit
dl
rm
composite
12120
0755
edit
dl
rm
config_data
7138
0755
edit
dl
rm
conjure
12120
0755
edit
dl
rm
convert
12120
0755
edit
dl
rm
coredumpctl
45992
0755
edit
dl
rm
corelist
14995
0755
edit
dl
rm
cp
151528
0755
edit
dl
rm
cpan
8370
0755
edit
dl
rm
cpan-mirrors
4288
0755
edit
dl
rm
cpapi1
3496912
0755
edit
dl
rm
cpapi2
3496912
0755
edit
dl
rm
cpapi3
3496912
0755
edit
dl
rm
cpio
163640
0755
edit
dl
rm
cpp
1266552
0755
edit
dl
rm
cpupower
68512
0755
edit
dl
rm
crb
2644
0744
edit
dl
rm
crc32
1043
0755
edit
dl
rm
crlutil
138184
0755
edit
dl
rm
cronnext
51000
0755
edit
dl
rm
crontab
63152
4755
edit
dl
rm
csplit
54968
0755
edit
dl
rm
csslint-0.6
25152
0755
edit
dl
rm
curl
235600
0755
edit
dl
rm
cut
50704
0755
edit
dl
rm
cvtsudoers
291032
0755
edit
dl
rm
cxpm
29808
0755
edit
dl
rm
date
108496
0755
edit
dl
rm
dbilogstrip
1380
0755
edit
dl
rm
dbiprof
6206
0755
edit
dl
rm
dbus-binding-tool
113080
0755
edit
dl
rm
dbus-cleanup-sockets
16784
0755
edit
dl
rm
dbus-daemon
245448
0755
edit
dl
rm
dbus-monitor
29264
0755
edit
dl
rm
dbus-run-session
16264
0755
edit
dl
rm
dbus-send
29224
0755
edit
dl
rm
dbus-test-tool
25192
0755
edit
dl
rm
dbus-update-activation-environment
16808
0755
edit
dl
rm
dbus-uuidgen
12672
0755
edit
dl
rm
dbxtool
25240
0755
edit
dl
rm
db_archive
12752
0755
edit
dl
rm
db_checkpoint
16872
0755
edit
dl
rm
db_deadlock
16872
0755
edit
dl
rm
db_dump
16904
0755
edit
dl
rm
db_dump185
71224
0755
edit
dl
rm
db_hotbackup
20984
0755
edit
dl
rm
db_load
29296
0755
edit
dl
rm
db_log_verify
16912
0755
edit
dl
rm
db_printlog
34200
0755
edit
dl
rm
db_recover
16904
0755
edit
dl
rm
db_replicate
16888
0755
edit
dl
rm
db_stat
16872
0755
edit
dl
rm
db_tuner
25144
0755
edit
dl
rm
db_upgrade
12752
0755
edit
dl
rm
db_verify
16856
0755
edit
dl
rm
dc
54296
0755
edit
dl
rm
dd
79840
0755
edit
dl
rm
deallocvt
12840
0755
edit
dl
rm
debuginfo-install
3702
0755
edit
dl
rm
debuginfod-find
16864
0755
edit
dl
rm
delv
43480
0755
edit
dl
rm
df
93272
0755
edit
dl
rm
diff
274440
0755
edit
dl
rm
diff3
131688
0755
edit
dl
rm
diffimg
12568
0755
edit
dl
rm
dig
166064
0755
edit
dl
rm
dijkstra
17112
0755
edit
dl
rm
dir
143248
0755
edit
dl
rm
dircolors
50744
0755
edit
dl
rm
dirmngr
593808
0755
edit
dl
rm
dirmngr-client
123000
0755
edit
dl
rm
dirname
34160
0755
edit
dl
rm
display
12128
0755
edit
dl
rm
dltest
12152
0755
edit
dl
rm
dmesg
79744
0755
edit
dl
rm
dnf
2104
0755
edit
dl
rm
dnf-3
2104
0755
edit
dl
rm
dnsdomainname
21664
0755
edit
dl
rm
dnstap-read
20920
0755
edit
dl
rm
domainname
21664
0755
edit
dl
rm
dot
12552
0755
edit
dl
rm
dot2gxl
42288
0755
edit
dl
rm
dotty
2085
0755
edit
dl
rm
doveadm
973504
0755
edit
dl
rm
doveconf
397848
0755
edit
dl
rm
dovecot-sysreport
6431
0755
edit
dl
rm
dpkg
323760
0755
edit
dl
rm
dpkg-deb
169472
0755
edit
dl
rm
dpkg-divert
161536
0755
edit
dl
rm
dpkg-maintscript-helper
21162
0755
edit
dl
rm
dpkg-query
169824
0755
edit
dl
rm
dpkg-realpath
4149
0755
edit
dl
rm
dpkg-split
135568
0755
edit
dl
rm
dpkg-statoverride
68008
0755
edit
dl
rm
dpkg-trigger
89768
0755
edit
dl
rm
dracut
69182
0755
edit
dl
rm
dtrace
17808
0755
edit
dl
rm
du
109568
0755
edit
dl
rm
dumpkeys
173952
0755
edit
dl
rm
dumpsexp
16832
0755
edit
dl
rm
dwp
2233440
0755
edit
dl
rm
dwz
171664
0755
edit
dl
rm
ea-php74
6382784
0755
edit
dl
rm
ea-php74-pear
383
0755
edit
dl
rm
ea-php74-pecl
299
0755
edit
dl
rm
ea-php82
8147128
0755
edit
dl
rm
ea-php82-pear
383
0755
edit
dl
rm
ea-php82-pecl
299
0755
edit
dl
rm
ea-php83
8175776
0755
edit
dl
rm
ea-php83-pear
383
0755
edit
dl
rm
ea-php83-pecl
299
0755
edit
dl
rm
ea-wappspector
100
0755
edit
dl
rm
easy_install-3
246
0755
edit
dl
rm
easy_install-3.6
246
0755
edit
dl
rm
echo
38248
0755
edit
dl
rm
edgepaint
430888
0755
edit
dl
rm
egrep
28
0755
edit
dl
rm
eject
59168
0755
edit
dl
rm
elfedit
34080
0755
edit
dl
rm
enc2xs
41958
0755
edit
dl
rm
encguess
2980
0755
edit
dl
rm
env
42352
0755
edit
dl
rm
envml
4197
0755
edit
dl
rm
envsubst
50168
0755
edit
dl
rm
eps2eps
639
0755
edit
dl
rm
eqn
237728
0755
edit
dl
rm
event_rpcgen.py
55559
0755
edit
dl
rm
evmctl
64040
0755
edit
dl
rm
ex
1180560
0755
edit
dl
rm
expand
42592
0755
edit
dl
rm
expr
50752
0755
edit
dl
rm
factor
88032
0755
edit
dl
rm
fallocate
29656
0755
edit
dl
rm
false
34120
0755
edit
dl
rm
fc
26
0755
edit
dl
rm
fc-cache
132
0755
edit
dl
rm
fc-cache-64
20840
0755
edit
dl
rm
fc-cat
16744
0755
edit
dl
rm
fc-conflist
12544
0755
edit
dl
rm
fc-list
12544
0755
edit
dl
rm
fc-match
16648
0755
edit
dl
rm
fc-pattern
12552
0755
edit
dl
rm
fc-query
12536
0755
edit
dl
rm
fc-scan
12552
0755
edit
dl
rm
fc-validate
16648
0755
edit
dl
rm
fdp
12552
0755
edit
dl
rm
fg
26
0755
edit
dl
rm
fgconsole
12848
0755
edit
dl
rm
fgrep
28
0755
edit
dl
rm
filan
96992
0755
edit
dl
rm
file
25280
0755
edit
dl
rm
fincore
33832
0755
edit
dl
rm
find
228632
0755
edit
dl
rm
find-repos-of-install
3702
0755
edit
dl
rm
findmnt
72304
0755
edit
dl
rm
fips-finish-install
1323
0755
edit
dl
rm
fips-mode-setup
4007
0755
edit
dl
rm
firewall-cmd
142955
0755
edit
dl
rm
firewall-offline-cmd
123624
0755
edit
dl
rm
flex
438728
0755
edit
dl
rm
flex++
438728
0755
edit
dl
rm
flock
33992
0755
edit
dl
rm
fmt
46584
0755
edit
dl
rm
fold
42416
0755
edit
dl
rm
fonttosfnt
42168
0755
edit
dl
rm
free
21288
0755
edit
dl
rm
freetype-config
4416
0755
edit
dl
rm
fribidi
21648
0755
edit
dl
rm
ftp
103632
0755
edit
dl
rm
funzip
37504
0755
edit
dl
rm
fwupdmgr
162080
0755
edit
dl
rm
fwupdtool
211848
0755
edit
dl
rm
g++
1266616
0755
edit
dl
rm
g13
217064
0755
edit
dl
rm
galera_new_cluster
1268
0755
edit
dl
rm
galera_recovery
3366
0755
edit
dl
rm
gapplication
20936
0755
edit
dl
rm
garb-systemd
1345
0755
edit
dl
rm
garbd
1735304
0755
edit
dl
rm
gatttool
380176
0755
edit
dl
rm
gawk
685848
0755
edit
dl
rm
gc
17040
0755
edit
dl
rm
gcc
1266576
0755
edit
dl
rm
gcc-ar
37536
0755
edit
dl
rm
gcc-nm
37536
0755
edit
dl
rm
gcc-ranlib
37536
0755
edit
dl
rm
gcov
1377408
0755
edit
dl
rm
gcov-dump
584664
0755
edit
dl
rm
gcov-tool
622360
0755
edit
dl
rm
gdbmtool
114248
0755
edit
dl
rm
gdbm_dump
21560
0755
edit
dl
rm
gdbm_load
25920
0755
edit
dl
rm
gdbus
49888
0755
edit
dl
rm
gdk-pixbuf-query-loaders-64
16312
0755
edit
dl
rm
gdk-pixbuf-thumbnailer
20944
0755
edit
dl
rm
gdlib-config
2861
0755
edit
dl
rm
gencat
25432
0755
edit
dl
rm
genl-ctrl-list
12328
0755
edit
dl
rm
geqn
237728
0755
edit
dl
rm
GET
16217
0755
edit
dl
rm
getconf
33240
0755
edit
dl
rm
getent
33920
0755
edit
dl
rm
getfacl
29384
0755
edit
dl
rm
getkeycodes
12840
0755
edit
dl
rm
getopt
21024
0755
edit
dl
rm
getopts
31
0755
edit
dl
rm
gettext
50144
0755
edit
dl
rm
gettext.sh
4629
0755
edit
dl
rm
gettextize
43718
0755
edit
dl
rm
ghostscript
12648
0755
edit
dl
rm
gio
87264
0755
edit
dl
rm
gio-querymodules-64
16696
0755
edit
dl
rm
git
27665816
0755
edit
dl
rm
git-receive-pack
27665816
0755
edit
dl
rm
git-shell
16553768
0755
edit
dl
rm
git-upload-archive
27665816
0755
edit
dl
rm
git-upload-pack
27665816
0755
edit
dl
rm
glib-compile-schemas
50024
0755
edit
dl
rm
gmake
240968
0755
edit
dl
rm
gml2gv
42216
0755
edit
dl
rm
gneqn
908
0755
edit
dl
rm
gnroff
3312
0755
edit
dl
rm
gpasswd
84144
4755
edit
dl
rm
gpg
1090344
0755
edit
dl
rm
gpg-agent
429360
0755
edit
dl
rm
gpg-connect-agent
169272
0755
edit
dl
rm
gpg-error
34976
0755
edit
dl
rm
gpg-error-config
2318
0755
edit
dl
rm
gpg-wks-server
211672
0755
edit
dl
rm
gpg-zip
3525
0755
edit
dl
rm
gpg2
1090344
0755
edit
dl
rm
gpgconf
180328
0755
edit
dl
rm
gpgme-json
87736
0755
edit
dl
rm
gpgparsemail
29432
0755
edit
dl
rm
gpgrt-config
2318
0755
edit
dl
rm
gpgsm
526808
0755
edit
dl
rm
gpgsplit
89112
0755
edit
dl
rm
gpgv
462344
0755
edit
dl
rm
gpgv2
462344
0755
edit
dl
rm
gpic
300896
0755
edit
dl
rm
gpio-event-mon
15320
0755
edit
dl
rm
gpio-hammer
15320
0755
edit
dl
rm
gprof
105832
0755
edit
dl
rm
gr2fonttest
30672
0755
edit
dl
rm
graphml2gv
21144
0755
edit
dl
rm
grep
198280
0755
edit
dl
rm
groff
127920
0755
edit
dl
rm
grops
195728
0755
edit
dl
rm
grotty
145304
0755
edit
dl
rm
groups
38288
0755
edit
dl
rm
growpart
29895
0755
edit
dl
rm
grub2-editenv
458848
0755
edit
dl
rm
grub2-file
950832
0755
edit
dl
rm
grub2-fstest
1210456
0755
edit
dl
rm
grub2-glue-efi
286120
0755
edit
dl
rm
grub2-kbdcomp
1668
0755
edit
dl
rm
grub2-menulst2cfg
268960
0755
edit
dl
rm
grub2-mkfont
319616
0755
edit
dl
rm
grub2-mkimage
441760
0755
edit
dl
rm
grub2-mklayout
296432
0755
edit
dl
rm
grub2-mknetdir
497488
0755
edit
dl
rm
grub2-mkpasswd-pbkdf2
298888
0755
edit
dl
rm
grub2-mkrelpath
285968
0755
edit
dl
rm
grub2-mkrescue
1170208
0755
edit
dl
rm
grub2-mkstandalone
608560
0755
edit
dl
rm
grub2-render-label
959576
0755
edit
dl
rm
grub2-script-check
323584
0755
edit
dl
rm
grub2-syslinux2cfg
882288
0755
edit
dl
rm
gs
12648
0755
edit
dl
rm
gsettings
29296
0755
edit
dl
rm
gsnd
277
0755
edit
dl
rm
gsoelim
43576
0755
edit
dl
rm
gss-client
25152
0755
edit
dl
rm
gtar
459768
0755
edit
dl
rm
gtbl
158320
0755
edit
dl
rm
gtk-query-immodules-2.0-64
16680
0755
edit
dl
rm
gtk-update-icon-cache
33824
0755
edit
dl
rm
gtroff
824344
0755
edit
dl
rm
gunzip
2345
0755
edit
dl
rm
gv2gml
25288
0755
edit
dl
rm
gv2gxl
42288
0755
edit
dl
rm
gvcolor
48024
0755
edit
dl
rm
gvgen
25392
0755
edit
dl
rm
gvmap
538944
0755
edit
dl
rm
gvmap.sh
2190
0755
edit
dl
rm
gvpack
471640
0755
edit
dl
rm
gvpr
8016
0755
edit
dl
rm
gxl2dot
42288
0755
edit
dl
rm
gxl2gv
42288
0755
edit
dl
rm
gzexe
6375
0755
edit
dl
rm
gzip
96944
0755
edit
dl
rm
h2ph
29382
0755
edit
dl
rm
h2xs
60866
0755
edit
dl
rm
hash
28
0755
edit
dl
rm
hciattach
207328
0755
edit
dl
rm
hciconfig
200984
0755
edit
dl
rm
hcidump
493240
0755
edit
dl
rm
hcitool
216984
0755
edit
dl
rm
HEAD
16217
0755
edit
dl
rm
head
46600
0755
edit
dl
rm
hex2hcd
16776
0755
edit
dl
rm
hexdump
58888
0755
edit
dl
rm
hmac256
17272
0755
edit
dl
rm
host
145712
0755
edit
dl
rm
hostid
34136
0755
edit
dl
rm
hostname
21664
0755
edit
dl
rm
hostnamectl
21328
0755
edit
dl
rm
htdbm
32480
0755
edit
dl
rm
htdigest
22232
0755
edit
dl
rm
html2text
406
0755
edit
dl
rm
htpasswd
32304
0755
edit
dl
rm
httxt2dbm
21608
0755
edit
dl
rm
hunspell
148168
0755
edit
dl
rm
i386
21256
0755
edit
dl
rm
iceauth
42872
0755
edit
dl
rm
iconv
62904
0755
edit
dl
rm
id
46528
0755
edit
dl
rm
identify
12128
0755
edit
dl
rm
idiag-socket-details
12376
0755
edit
dl
rm
idn
40352
0755
edit
dl
rm
ifnames
4128
0755
edit
dl
rm
iio_event_monitor
23528
0755
edit
dl
rm
iio_generic_buffer
27624
0755
edit
dl
rm
import
12120
0755
edit
dl
rm
imunify-agent-proxy
13781922
0755
edit
dl
rm
imunify-antivirus
1024
0755
edit
dl
rm
imunify-fgw-dump
8183000
0755
edit
dl
rm
imunify-service
1020
0755
edit
dl
rm
imunify360-agent
1024
0755
edit
dl
rm
imunify360-command-wrapper
12210
0755
edit
dl
rm
info
255888
0755
edit
dl
rm
infocmp
62512
0755
edit
dl
rm
infotocap
87360
0755
edit
dl
rm
innochecksum
4765296
0755
edit
dl
rm
install
159888
0755
edit
dl
rm
install-tools
4158
0755
edit
dl
rm
instmodsh
4194
0755
edit
dl
rm
intel-speed-select
95256
0755
edit
dl
rm
ionice
29680
0755
edit
dl
rm
iostat
59072
0755
edit
dl
rm
ipcalc
47184
0755
edit
dl
rm
ipcmk
29840
0755
edit
dl
rm
ipcrm
29688
0755
edit
dl
rm
ipcs
54680
0755
edit
dl
rm
isc-config.sh
3416
0755
edit
dl
rm
isosize
25480
0755
edit
dl
rm
ispell
988
0755
edit
dl
rm
isql
37456
0755
edit
dl
rm
iusql
29344
0755
edit
dl
rm
jcat-tool
41912
0755
edit
dl
rm
jobs
28
0755
edit
dl
rm
join
54984
0755
edit
dl
rm
journalctl
78840
0755
edit
dl
rm
jq
29096
0755
edit
dl
rm
jsondiff
1033
0755
edit
dl
rm
jsondiff-3
1033
0755
edit
dl
rm
jsondiff-3.6
1033
0755
edit
dl
rm
jsonpatch
3676
0755
edit
dl
rm
jsonpatch-3
3676
0755
edit
dl
rm
jsonpatch-3.6
3676
0755
edit
dl
rm
jsonpointer
1356
0755
edit
dl
rm
jsonpointer-3
1356
0755
edit
dl
rm
jsonpointer-3.6
1356
0755
edit
dl
rm
jsonschema-3
409
0755
edit
dl
rm
json_pp
4286
0755
edit
dl
rm
json_reformat
16952
0755
edit
dl
rm
json_verify
12568
0755
edit
dl
rm
json_xs
7002
0755
edit
dl
rm
kbdinfo
16960
0755
edit
dl
rm
kbdrate
16840
0755
edit
dl
rm
kbd_mode
12856
0755
edit
dl
rm
kbxutil
181608
0755
edit
dl
rm
kdumpctl
33722
0755
edit
dl
rm
kernel-install
4511
0755
edit
dl
rm
keyctl
37704
0755
edit
dl
rm
kill
38176
0755
edit
dl
rm
killall
30480
0755
edit
dl
rm
kmod
163784
0755
edit
dl
rm
krb5-config
7144
0755
edit
dl
rm
kvm_stat
62307
0755
edit
dl
rm
l2ping
167688
0755
edit
dl
rm
l2test
184496
0755
edit
dl
rm
last
50416
0755
edit
dl
rm
lastb
50416
0755
edit
dl
rm
lastlog
21120
0755
edit
dl
rm
lchfn
20840
0755
edit
dl
rm
lchsh
16744
0755
edit
dl
rm
ld
1789080
0755
edit
dl
rm
ld.bfd
1789080
0755
edit
dl
rm
ld.gold
2467656
0755
edit
dl
rm
ld.so
1104064
0755
edit
dl
rm
ldd
5441
0755
edit
dl
rm
lefty
311832
0755
edit
dl
rm
less
177928
0755
edit
dl
rm
lessecho
12696
0755
edit
dl
rm
lesskey
22520
0755
edit
dl
rm
lesspipe.sh
3143
0755
edit
dl
rm
lex
438728
0755
edit
dl
rm
lexgrog
95952
0755
edit
dl
rm
libgcrypt-config
3931
0755
edit
dl
rm
libnetcfg
15775
0755
edit
dl
rm
libpng-config
2382
0755
edit
dl
rm
libpng16-config
2382
0755
edit
dl
rm
libtool
367724
0755
edit
dl
rm
libtoolize
129197
0755
edit
dl
rm
libwmf-fontmap
13340
0755
edit
dl
rm
link
34136
0755
edit
dl
rm
linux-boot-prober
5993
0755
edit
dl
rm
linux32
21256
0755
edit
dl
rm
linux64
21256
0755
edit
dl
rm
ln
72192
0755
edit
dl
rm
lneato
1547
0755
edit
dl
rm
loadkeys
215584
0755
edit
dl
rm
loadunimap
29728
0755
edit
dl
rm
locale
57792
0755
edit
dl
rm
localectl
29552
0755
edit
dl
rm
localedef
314848
0755
edit
dl
rm
logger
51184
0755
edit
dl
rm
login
41944
0755
edit
dl
rm
loginctl
58656
0755
edit
dl
rm
logname
34144
0755
edit
dl
rm
logresolve
21968
0755
edit
dl
rm
look
16856
0755
edit
dl
rm
ls
143248
0755
edit
dl
rm
lsattr
12216
0755
edit
dl
rm
lsblk
92304
0755
edit
dl
rm
lscpu
83656
0755
edit
dl
rm
lsgpio
15424
0755
edit
dl
rm
lsiio
23528
0755
edit
dl
rm
lsinitrd
8886
0755
edit
dl
rm
lsipc
75512
0755
edit
dl
rm
lslocks
38432
0755
edit
dl
rm
lslogins
67192
0755
edit
dl
rm
lsmem
46424
0755
edit
dl
rm
lsns
50472
0755
edit
dl
rm
lsof
179608
0755
edit
dl
rm
lsphp
937
0755
edit
dl
rm
lsscsi
88072
0755
edit
dl
rm
lua
20944
0755
edit
dl
rm
luac
156440
0755
edit
dl
rm
lwp-download
10292
0755
edit
dl
rm
lwp-dump
2711
0755
edit
dl
rm
lwp-mirror
2413
0755
edit
dl
rm
lwp-request
16217
0755
edit
dl
rm
m4
190016
0755
edit
dl
rm
Mail
418704
0755
edit
dl
rm
mail
418704
0755
edit
dl
rm
mailx
418704
0755
edit
dl
rm
make
240968
0755
edit
dl
rm
make-dummy-cert
610
0755
edit
dl
rm
makedb
25432
0755
edit
dl
rm
man
115224
0755
edit
dl
rm
mandb
137744
0755
edit
dl
rm
manpath
34224
0755
edit
dl
rm
mapscrn
25440
0755
edit
dl
rm
mariadb
5501488
0755
edit
dl
rm
mariadb-access
111961
0755
edit
dl
rm
mariadb-admin
5042656
0755
edit
dl
rm
mariadb-binlog
5328504
0755
edit
dl
rm
mariadb-check
5035576
0755
edit
dl
rm
mariadb-config
12488
0755
edit
dl
rm
mariadb-conv
4756104
0755
edit
dl
rm
mariadb-convert-table-format
4220
0755
edit
dl
rm
mariadb-dump
5128224
0755
edit
dl
rm
mariadb-dumpslow
8242
0755
edit
dl
rm
mariadb-embedded
24911320
0755
edit
dl
rm
mariadb-find-rows
3290
0755
edit
dl
rm
mariadb-fix-extensions
1250
0755
edit
dl
rm
mariadb-hotcopy
35359
0755
edit
dl
rm
mariadb-import
5030448
0755
edit
dl
rm
mariadb-install-db
22692
0755
edit
dl
rm
mariadb-plugin
4734912
0755
edit
dl
rm
mariadb-secure-installation
13799
0755
edit
dl
rm
mariadb-service-convert
2506
0755
edit
dl
rm
mariadb-setpermission
17977
0755
edit
dl
rm
mariadb-show
5024736
0755
edit
dl
rm
mariadb-slap
5044280
0755
edit
dl
rm
mariadb-tzinfo-to-sql
4734336
0755
edit
dl
rm
mariadb-upgrade
5185856
0755
edit
dl
rm
mariadb-waitpid
4721616
0755
edit
dl
rm
mariadbd-multi
27425
0755
edit
dl
rm
mariadbd-safe
31214
0755
edit
dl
rm
mariadbd-safe-helper
4691792
0755
edit
dl
rm
mariadb_config
12488
0755
edit
dl
rm
mcookie
34064
0755
edit
dl
rm
mcpp
9232
0755
edit
dl
rm
md5sum
46640
0755
edit
dl
rm
mdig
49680
0755
edit
dl
rm
memstrack
85792
0755
edit
dl
rm
mesg
16752
0755
edit
dl
rm
miniterm-3.6.py
33887
0755
edit
dl
rm
miniterm-3.py
33887
0755
edit
dl
rm
mkdir
84680
0755
edit
dl
rm
mkfifo
68056
0755
edit
dl
rm
mkfontdir
65
0755
edit
dl
rm
mkfontscale
42592
0755
edit
dl
rm
mkinitrd
6585
0755
edit
dl
rm
mknod
72160
0755
edit
dl
rm
mktemp
46760
0755
edit
dl
rm
mm2gv
92704
0755
edit
dl
rm
mmdblookup
17144
0755
edit
dl
rm
modulecmd
393980
0755
edit
dl
rm
modulemd-validator
25560
0755
edit
dl
rm
modutil
181688
0755
edit
dl
rm
mogrify
12120
0755
edit
dl
rm
mokutil
51184
0755
edit
dl
rm
montage
12120
0755
edit
dl
rm
more
46016
0755
edit
dl
rm
mount
50328
0755
edit
dl
rm
mountpoint
16880
0755
edit
dl
rm
mpicalc
20872
0755
edit
dl
rm
mpris-proxy
101368
0755
edit
dl
rm
mpstat
54792
0755
edit
dl
rm
msgattrib
26192
0755
edit
dl
rm
msgcat
26168
0755
edit
dl
rm
msgcmp
26744
0755
edit
dl
rm
msgcomm
26168
0755
edit
dl
rm
msgconv
22072
0755
edit
dl
rm
msgen
22064
0755
edit
dl
rm
msgexec
22072
0755
edit
dl
rm
msgfilter
35360
0755
edit
dl
rm
msgfmt
92464
0755
edit
dl
rm
msggrep
44648
0755
edit
dl
rm
msginit
69480
0755
edit
dl
rm
msgmerge
73200
0755
edit
dl
rm
msgunfmt
36664
0755
edit
dl
rm
msguniq
26176
0755
edit
dl
rm
msql2mysql
1446
0755
edit
dl
rm
mv
147408
0755
edit
dl
rm
myisamchk
5145136
0755
edit
dl
rm
myisamlog
5002416
0755
edit
dl
rm
myisampack
5041600
0755
edit
dl
rm
myisam_ftdump
5020312
0755
edit
dl
rm
mysql
5501488
0755
edit
dl
rm
mysqlaccess
111961
0755
edit
dl
rm
mysqladmin
5042656
0755
edit
dl
rm
mysqlbinlog
5328504
0755
edit
dl
rm
mysqlcheck
5035576
0755
edit
dl
rm
mysqldump
5128224
0755
edit
dl
rm
mysqld_multi
27425
0755
edit
dl
rm
mysqld_safe
31214
0755
edit
dl
rm
mysqld_safe_helper
4691792
0755
edit
dl
rm
mysqlimport
5030448
0755
edit
dl
rm
mysqlshow
5024736
0755
edit
dl
rm
mysqlslap
5044280
0755
edit
dl
rm
mysql_config
4623
0755
edit
dl
rm
mysql_embedded
24911320
0755
edit
dl
rm
mysql_find_rows
3290
0755
edit
dl
rm
mysql_fix_extensions
1250
0755
edit
dl
rm
mysql_install_db
22692
0755
edit
dl
rm
mysql_plugin
4734912
0755
edit
dl
rm
mysql_tzinfo_to_sql
4734336
0755
edit
dl
rm
mysql_upgrade
5185856
0755
edit
dl
rm
mysql_waitpid
4721616
0755
edit
dl
rm
mytop
73757
0755
edit
dl
rm
my_print_defaults
4726288
0755
edit
dl
rm
nail
418704
0755
edit
dl
rm
named-rrchecker
20352
0755
edit
dl
rm
namei
33896
0755
edit
dl
rm
nano
253888
0755
edit
dl
rm
nc
50576
0755
edit
dl
rm
ncurses6-config
6015
0755
edit
dl
rm
ncursesw6-config
6018
0755
edit
dl
rm
ndptool
25040
0755
edit
dl
rm
neato
12552
0755
edit
dl
rm
needs-restarting
3702
0755
edit
dl
rm
neqn
908
0755
edit
dl
rm
netcat
50576
0755
edit
dl
rm
netstat
162488
0755
edit
dl
rm
newgidmap
48960
0755
edit
dl
rm
newgrp
43480
0755
edit
dl
rm
newuidmap
48920
0755
edit
dl
rm
nf-ct-add
16856
0755
edit
dl
rm
nf-ct-events
12672
0755
edit
dl
rm
nf-ct-list
16888
0755
edit
dl
rm
nf-exp-add
17272
0755
edit
dl
rm
nf-exp-delete
17056
0755
edit
dl
rm
nf-exp-list
16888
0755
edit
dl
rm
nf-log
12648
0755
edit
dl
rm
nf-monitor
12656
0755
edit
dl
rm
nf-queue
16744
0755
edit
dl
rm
ngettext
50144
0755
edit
dl
rm
nice
38224
0755
edit
dl
rm
nisdomainname
21664
0755
edit
dl
rm
nl
46648
0755
edit
dl
rm
nl-addr-add
12632
0755
edit
dl
rm
nl-addr-delete
17168
0755
edit
dl
rm
nl-addr-list
17280
0755
edit
dl
rm
nl-class-add
17128
0755
edit
dl
rm
nl-class-delete
12928
0755
edit
dl
rm
nl-class-list
12896
0755
edit
dl
rm
nl-classid-lookup
12768
0755
edit
dl
rm
nl-cls-add
17168
0755
edit
dl
rm
nl-cls-delete
17176
0755
edit
dl
rm
nl-cls-list
13040
0755
edit
dl
rm
nl-fib-lookup
12800
0755
edit
dl
rm
nl-link-enslave
12152
0755
edit
dl
rm
nl-link-ifindex2name
12152
0755
edit
dl
rm
nl-link-list
12528
0755
edit
dl
rm
nl-link-name2ifindex
12144
0755
edit
dl
rm
nl-link-release
12144
0755
edit
dl
rm
nl-link-set
13072
0755
edit
dl
rm
nl-link-stats
12888
0755
edit
dl
rm
nl-list-caches
12568
0755
edit
dl
rm
nl-list-sockets
12152
0755
edit
dl
rm
nl-monitor
12816
0755
edit
dl
rm
nl-neigh-add
12928
0755
edit
dl
rm
nl-neigh-delete
12968
0755
edit
dl
rm
nl-neigh-list
12480
0755
edit
dl
rm
nl-neightbl-list
12296
0755
edit
dl
rm
nl-pktloc-lookup
12864
0755
edit
dl
rm
nl-qdisc-add
12952
0755
edit
dl
rm
nl-qdisc-delete
12928
0755
edit
dl
rm
nl-qdisc-list
17144
0755
edit
dl
rm
nl-route-add
16784
0755
edit
dl
rm
nl-route-delete
17288
0755
edit
dl
rm
nl-route-get
12648
0755
edit
dl
rm
nl-route-list
16832
0755
edit
dl
rm
nl-rule-list
12336
0755
edit
dl
rm
nl-tctree-list
12960
0755
edit
dl
rm
nl-util-addr
12136
0755
edit
dl
rm
nm
51584
0755
edit
dl
rm
nm-online
21336
0755
edit
dl
rm
nmcli
1033216
0755
edit
dl
rm
nmtui
802936
0755
edit
dl
rm
nmtui-connect
802936
0755
edit
dl
rm
nmtui-edit
802936
0755
edit
dl
rm
nmtui-hostname
802936
0755
edit
dl
rm
nohup
38312
0755
edit
dl
rm
nop
12800
0755
edit
dl
rm
nproc
38304
0755
edit
dl
rm
nroff
3312
0755
edit
dl
rm
nsenter
34096
0755
edit
dl
rm
nslookup
149768
0755
edit
dl
rm
nss-policy-check
16696
0755
edit
dl
rm
nsupdate
74808
0755
edit
dl
rm
numfmt
67216
0755
edit
dl
rm
objcopy
245832
0755
edit
dl
rm
objdump
429832
0755
edit
dl
rm
od
75576
0755
edit
dl
rm
odbcinst
29576
0755
edit
dl
rm
odbc_config
12128
0755
edit
dl
rm
open
21472
0755
edit
dl
rm
openssl
763848
0755
edit
dl
rm
openvt
21472
0755
edit
dl
rm
os-prober
5915
0755
edit
dl
rm
osage
12552
0755
edit
dl
rm
p11-kit
38040
0755
edit
dl
rm
package-cleanup
3702
0755
edit
dl
rm
page_owner_sort
11616
0755
edit
dl
rm
pango-list
12160
0755
edit
dl
rm
pango-view
58816
0755
edit
dl
rm
paperconf
13384
0755
edit
dl
rm
passwd
33560
4755
edit
dl
rm
paste
38280
0755
edit
dl
rm
patch
211416
0755
edit
dl
rm
patchwork
12552
0755
edit
dl
rm
pathchk
38224
0755
edit
dl
rm
pathfix.py
6790
0755
edit
dl
rm
pcre2-config
1950
0755
edit
dl
rm
pdf2dsc
698
0755
edit
dl
rm
pdf2ps
909
0755
edit
dl
rm
pdnsutil
5442112
0755
edit
dl
rm
pdns_control
497936
0755
edit
dl
rm
peekfd
16904
0755
edit
dl
rm
perl
12728
0755
edit
dl
rm
perl5.26.3
12728
0755
edit
dl
rm
perlbug
45458
0755
edit
dl
rm
perldoc
118
0755
edit
dl
rm
perlivp
10813
0755
edit
dl
rm
perlml
6768
0755
edit
dl
rm
perlthanks
45458
0755
edit
dl
rm
perror
4928008
0755
edit
dl
rm
pflags
2636
0755
edit
dl
rm
pftp
103632
0755
edit
dl
rm
pgrep
29536
0755
edit
dl
rm
php
937
0755
edit
dl
rm
pic
300896
0755
edit
dl
rm
piconv
8271
0755
edit
dl
rm
pidof
17096
0755
edit
dl
rm
pidstat
67296
0755
edit
dl
rm
pigz
128392
0755
edit
dl
rm
pinentry
2404
0755
edit
dl
rm
pinentry-curses
79760
0755
edit
dl
rm
ping
67712
0755
edit
dl
rm
pinky
42456
0755
edit
dl
rm
pip-3
209
0755
edit
dl
rm
pip-3.6
209
0755
edit
dl
rm
pip3
209
0755
edit
dl
rm
pip3.6
209
0755
edit
dl
rm
pk12util
113784
0755
edit
dl
rm
pkaction
16776
0755
edit
dl
rm
pkcheck
25016
0755
edit
dl
rm
pkexec
29088
0755
edit
dl
rm
pkg-config
41000
0755
edit
dl
rm
pkgconf
41000
0755
edit
dl
rm
pkill
29536
0755
edit
dl
rm
pkla-admin-identities
26336
0755
edit
dl
rm
pkla-check-authorization
34592
0755
edit
dl
rm
pkttyagent
20872
0755
edit
dl
rm
pl2pm
4533
0755
edit
dl
rm
pldd
17152
0755
edit
dl
rm
pmap
33568
0755
edit
dl
rm
png-fix-itxt
12136
0755
edit
dl
rm
pngfix
54120
0755
edit
dl
rm
pod2html
4134
0755
edit
dl
rm
pod2man
15034
0755
edit
dl
rm
pod2text
10803
0755
edit
dl
rm
pod2usage
3948
0755
edit
dl
rm
podchecker
3658
0755
edit
dl
rm
podselect
2527
0755
edit
dl
rm
POST
16217
0755
edit
dl
rm
post-grohtml
244456
0755
edit
dl
rm
powernow-k8-decode
11136
0755
edit
dl
rm
pr
84120
0755
edit
dl
rm
pre-grohtml
133688
0755
edit
dl
rm
precat
5656
0755
edit
dl
rm
preconv
59032
0755
edit
dl
rm
preunzip
5656
0755
edit
dl
rm
prezip
5656
0755
edit
dl
rm
prezip-bin
12264
0755
edit
dl
rm
printenv
34120
0755
edit
dl
rm
printf
54848
0755
edit
dl
rm
prlimit
38440
0755
edit
dl
rm
prl_backup
7544
0755
edit
dl
rm
procan
84584
0755
edit
dl
rm
protoc
16888
0755
edit
dl
rm
protoc-c
250664
0755
edit
dl
rm
protoc-gen-c
250664
0755
edit
dl
rm
prove
13562
0755
edit
dl
rm
prtstat
21000
0755
edit
dl
rm
prune
17128
0755
edit
dl
rm
ps
137984
0755
edit
dl
rm
ps2ascii
631
0755
edit
dl
rm
ps2epsi
2752
0755
edit
dl
rm
ps2pdf
272
0755
edit
dl
rm
ps2pdf12
215
0755
edit
dl
rm
ps2pdf13
215
0755
edit
dl
rm
ps2pdf14
215
0755
edit
dl
rm
ps2pdfwr
1097
0755
edit
dl
rm
ps2ps
647
0755
edit
dl
rm
ps2ps2
669
0755
edit
dl
rm
psfaddtable
21152
0755
edit
dl
rm
psfgettable
21152
0755
edit
dl
rm
psfstriptable
21152
0755
edit
dl
rm
psfxtable
21152
0755
edit
dl
rm
pslog
12784
0755
edit
dl
rm
pstree
34336
0755
edit
dl
rm
pstree.x11
34336
0755
edit
dl
rm
ptar
3456
0755
edit
dl
rm
ptardiff
2535
0755
edit
dl
rm
ptargrep
4299
0755
edit
dl
rm
ptx
79864
0755
edit
dl
rm
pure-pw
39768
0755
edit
dl
rm
pure-pwconvert
10976
0755
edit
dl
rm
pure-statsdecode
10976
0755
edit
dl
rm
pv
75328
0755
edit
dl
rm
pwd
38320
0755
edit
dl
rm
pwdx
12984
0755
edit
dl
rm
pwmake
12560
0755
edit
dl
rm
pwscore
12560
0755
edit
dl
rm
pybabel
388
0755
edit
dl
rm
pydoc-3
89
0755
edit
dl
rm
pydoc3
89
0755
edit
dl
rm
pydoc3.6
89
0755
edit
dl
rm
pydoc3.12
79
0755
edit
dl
rm
pyjwt
384
0755
edit
dl
rm
python-html2text
406
0755
edit
dl
rm
python3
11872
0755
edit
dl
rm
python3-config
204
0755
edit
dl
rm
python3-html2text
406
0755
edit
dl
rm
python3.6
11872
0755
edit
dl
rm
python3.6-config
204
0755
edit
dl
rm
python3.6m
11872
0755
edit
dl
rm
python3.6m-config
204
0755
edit
dl
rm
python3.6m-x86_64-config
3626
0755
edit
dl
rm
python3.12
7752
0755
edit
dl
rm
pyvenv-3
446
0755
edit
dl
rm
pyvenv-3.6
446
0755
edit
dl
rm
qemu-ga
1004408
0755
edit
dl
rm
quota
93688
4755
edit
dl
rm
quotasync
76480
0755
edit
dl
rm
ranlib
63456
0755
edit
dl
rm
raw
16896
0755
edit
dl
rm
rctest
215744
0755
edit
dl
rm
read
28
0755
edit
dl
rm
readelf
639528
0755
edit
dl
rm
readlink
46984
0755
edit
dl
rm
realpath
51144
0755
edit
dl
rm
recode-sr-latin
18424
0755
edit
dl
rm
rename
16896
0755
edit
dl
rm
renew-dummy-cert
725
0755
edit
dl
rm
renice
16856
0755
edit
dl
rm
replace
4704088
0755
edit
dl
rm
repo-graph
3702
0755
edit
dl
rm
repoclosure
3702
0755
edit
dl
rm
repodiff
3702
0755
edit
dl
rm
repomanage
3702
0755
edit
dl
rm
repoquery
3702
0755
edit
dl
rm
reposync
3702
0755
edit
dl
rm
repotrack
3702
0755
edit
dl
rm
rescan-scsi-bus.sh
39161
0755
edit
dl
rm
reset
25352
0755
edit
dl
rm
resizecons
21272
0755
edit
dl
rm
resolvectl
200448
0755
edit
dl
rm
resolveip
4721560
0755
edit
dl
rm
resolve_stack_dump
4725728
0755
edit
dl
rm
rev
12760
0755
edit
dl
rm
rfcomm
176664
0755
edit
dl
rm
rm
72064
0755
edit
dl
rm
rmdir
46552
0755
edit
dl
rm
rnano
253888
0755
edit
dl
rm
rpcbind
63024
0755
edit
dl
rm
rpcinfo
33424
0755
edit
dl
rm
rpm
21352
0755
edit
dl
rm
rpm2archive
20952
0755
edit
dl
rm
rpm2cpio
12128
0755
edit
dl
rm
rpmdb
17368
0755
edit
dl
rm
rpmkeys
17272
0755
edit
dl
rm
rpmquery
21352
0755
edit
dl
rm
rpmverify
21352
0755
edit
dl
rm
rsync
534888
0755
edit
dl
rm
rsyslog-recover-qi.pl
6098
0755
edit
dl
rm
run-parts
1983
0755
edit
dl
rm
run-with-aspell
85
0755
edit
dl
rm
runcon
38272
0755
edit
dl
rm
rvi
1180560
0755
edit
dl
rm
rview
1180560
0755
edit
dl
rm
rvim
3067856
0755
edit
dl
rm
sadf
342600
0755
edit
dl
rm
sar
139024
0755
edit
dl
rm
sccmap
21112
0755
edit
dl
rm
scl
37752
0755
edit
dl
rm
scl_enabled
258
0755
edit
dl
rm
scl_source
1863
0755
edit
dl
rm
scp
105312
0755
edit
dl
rm
script
37680
0755
edit
dl
rm
scriptreplay
29696
0755
edit
dl
rm
scsi-rescan
39161
0755
edit
dl
rm
scsi_logging_level
8585
0755
edit
dl
rm
scsi_mandat
3602
0755
edit
dl
rm
scsi_readcap
1327
0755
edit
dl
rm
scsi_ready
1121
0755
edit
dl
rm
scsi_satl
3857
0755
edit
dl
rm
scsi_start
1285
0755
edit
dl
rm
scsi_stop
1474
0755
edit
dl
rm
scsi_temperature
936
0755
edit
dl
rm
sdiff
107856
0755
edit
dl
rm
sdptool
281360
0755
edit
dl
rm
secon
26072
0755
edit
dl
rm
secret-tool
21680
0755
edit
dl
rm
sed
118040
0755
edit
dl
rm
sedismod
280232
0755
edit
dl
rm
sedispol
203248
0755
edit
dl
rm
semodule_expand
12576
0755
edit
dl
rm
semodule_link
12576
0755
edit
dl
rm
semodule_package
17080
0755
edit
dl
rm
semodule_unpackage
12592
0755
edit
dl
rm
seq
54728
0755
edit
dl
rm
sessreg
17800
0755
edit
dl
rm
setarch
21256
0755
edit
dl
rm
setfacl
46064
0755
edit
dl
rm
setfont
46272
0755
edit
dl
rm
setkeycodes
12864
0755
edit
dl
rm
setleds
17000
0755
edit
dl
rm
setmetamode
12864
0755
edit
dl
rm
setpriv
46240
0755
edit
dl
rm
setsid
16768
0755
edit
dl
rm
setterm
46208
0755
edit
dl
rm
setup-nsssysinit
1539
0755
edit
dl
rm
setup-nsssysinit.sh
1539
0755
edit
dl
rm
setvtrgb
17040
0755
edit
dl
rm
sfdp
12552
0755
edit
dl
rm
sftp
163584
0755
edit
dl
rm
sg
43480
0755
edit
dl
rm
sginfo
76648
0755
edit
dl
rm
sgm_dd
33344
0755
edit
dl
rm
sgp_dd
37848
0755
edit
dl
rm
sg_bg_ctl
16464
0755
edit
dl
rm
sg_compare_and_write
21408
0755
edit
dl
rm
sg_copy_results
21320
0755
edit
dl
rm
sg_dd
45664
0755
edit
dl
rm
sg_decode_sense
20832
0755
edit
dl
rm
sg_emc_trespass
12560
0755
edit
dl
rm
sg_format
34184
0755
edit
dl
rm
sg_get_config
34128
0755
edit
dl
rm
sg_get_lba_status
20968
0755
edit
dl
rm
sg_ident
16568
0755
edit
dl
rm
sg_inq
120744
0755
edit
dl
rm
sg_logs
153632
0755
edit
dl
rm
sg_luns
25464
0755
edit
dl
rm
sg_map
16808
0755
edit
dl
rm
sg_map26
25480
0755
edit
dl
rm
sg_modes
44944
0755
edit
dl
rm
sg_opcodes
29376
0755
edit
dl
rm
sg_persist
34960
0755
edit
dl
rm
sg_prevent
12368
0755
edit
dl
rm
sg_raw
24984
0755
edit
dl
rm
sg_rbuf
21352
0755
edit
dl
rm
sg_rdac
16264
0755
edit
dl
rm
sg_read
25016
0755
edit
dl
rm
sg_readcap
21376
0755
edit
dl
rm
sg_read_attr
35640
0755
edit
dl
rm
sg_read_block_limits
12416
0755
edit
dl
rm
sg_read_buffer
21480
0755
edit
dl
rm
sg_read_long
16664
0755
edit
dl
rm
sg_reassign
16624
0755
edit
dl
rm
sg_referrals
16632
0755
edit
dl
rm
sg_rep_zones
21168
0755
edit
dl
rm
sg_requests
16704
0755
edit
dl
rm
sg_reset
17144
0755
edit
dl
rm
sg_reset_wp
16568
0755
edit
dl
rm
sg_rmsn
12368
0755
edit
dl
rm
sg_rtpg
16568
0755
edit
dl
rm
sg_safte
20760
0755
edit
dl
rm
sg_sanitize
25184
0755
edit
dl
rm
sg_sat_identify
17128
0755
edit
dl
rm
sg_sat_phy_event
21088
0755
edit
dl
rm
sg_sat_read_gplog
16696
0755
edit
dl
rm
sg_sat_set_features
16664
0755
edit
dl
rm
sg_scan
16912
0755
edit
dl
rm
sg_seek
17272
0755
edit
dl
rm
sg_senddiag
25888
0755
edit
dl
rm
sg_ses
121088
0755
edit
dl
rm
sg_ses_microcode
30200
0755
edit
dl
rm
sg_start
21448
0755
edit
dl
rm
sg_stpg
20800
0755
edit
dl
rm
sg_stream_ctl
20760
0755
edit
dl
rm
sg_sync
16624
0755
edit
dl
rm
sg_test_rwbuf
21248
0755
edit
dl
rm
sg_timestamp
21256
0755
edit
dl
rm
sg_turs
17160
0755
edit
dl
rm
sg_unmap
24912
0755
edit
dl
rm
sg_verify
20960
0755
edit
dl
rm
sg_vpd
111376
0755
edit
dl
rm
sg_write_buffer
21768
0755
edit
dl
rm
sg_write_long
16736
0755
edit
dl
rm
sg_write_same
25080
0755
edit
dl
rm
sg_write_verify
21296
0755
edit
dl
rm
sg_write_x
55056
0755
edit
dl
rm
sg_wr_mode
20792
0755
edit
dl
rm
sg_xcopy
41576
0755
edit
dl
rm
sg_zone
16696
0755
edit
dl
rm
sh
1154680
0755
edit
dl
rm
sha1hmac
33440
0755
edit
dl
rm
sha1sum
46648
0755
edit
dl
rm
sha224hmac
33440
0755
edit
dl
rm
sha224sum
46672
0755
edit
dl
rm
sha256hmac
33440
0755
edit
dl
rm
sha256sum
46672
0755
edit
dl
rm
sha384hmac
33440
0755
edit
dl
rm
sha384sum
46680
0755
edit
dl
rm
sha512hmac
33440
0755
edit
dl
rm
sha512sum
46688
0755
edit
dl
rm
shasum
9892
0755
edit
dl
rm
showconsolefont
21232
0755
edit
dl
rm
showkey
16976
0755
edit
dl
rm
showrgb
13368
0755
edit
dl
rm
shred
63336
0755
edit
dl
rm
shuf
59488
0755
edit
dl
rm
sieve-dump
35872
0755
edit
dl
rm
sieve-filter
45552
0755
edit
dl
rm
sieve-test
41392
0755
edit
dl
rm
sievec
36128
0755
edit
dl
rm
signver
117544
0755
edit
dl
rm
sim_client
16664
0755
edit
dl
rm
size
34048
0755
edit
dl
rm
skill
29488
0755
edit
dl
rm
slabinfo
37016
0755
edit
dl
rm
slabtop
21344
0755
edit
dl
rm
sleep
38296
0755
edit
dl
rm
slencheck
12584
0755
edit
dl
rm
sm3hmac
33440
0755
edit
dl
rm
snice
29488
0755
edit
dl
rm
socat
416248
0755
edit
dl
rm
soelim
43576
0755
edit
dl
rm
sort
126432
0755
edit
dl
rm
sotruss
4281
0755
edit
dl
rm
spell
122
0755
edit
dl
rm
splain
19150
0755
edit
dl
rm
split
59440
0755
edit
dl
rm
sprof
29360
0755
edit
dl
rm
sqlite3
1346512
0755
edit
dl
rm
ssh
775776
0755
edit
dl
rm
ssh-add
354448
0755
edit
dl
rm
ssh-agent
333384
0755
edit
dl
rm
ssh-copy-id
10694
0755
edit
dl
rm
ssh-keygen
437432
0755
edit
dl
rm
ssh-keyscan
442992
0755
edit
dl
rm
ssltap
133640
0755
edit
dl
rm
sss_ssh_authorizedkeys
29472
0755
edit
dl
rm
sss_ssh_knownhostsproxy
29472
0755
edit
dl
rm
stat
88232
0755
edit
dl
rm
stdbuf
50688
0755
edit
dl
rm
strace
2029832
0755
edit
dl
rm
strace-log-merge
1821
0755
edit
dl
rm
stream
12112
0755
edit
dl
rm
strings
38328
0755
edit
dl
rm
strip
245856
0755
edit
dl
rm
stty
79472
0755
edit
dl
rm
stunnel
230504
0755
edit
dl
rm
su
50168
4750
edit
dl
rm
sudo
191000
4111
edit
dl
rm
sudoedit
191000
4111
edit
dl
rm
sudoreplay
122056
0111
edit
dl
rm
sum
46624
0755
edit
dl
rm
sw-engine
21095632
0755
edit
dl
rm
sxpm
29504
0755
edit
dl
rm
sync
38256
0755
edit
dl
rm
systemctl
223696
0755
edit
dl
rm
systemd-analyze
1634864
0755
edit
dl
rm
systemd-ask-password
12312
0755
edit
dl
rm
systemd-cat
16416
0755
edit
dl
rm
systemd-cgls
16832
0755
edit
dl
rm
systemd-cgtop
33672
0755
edit
dl
rm
systemd-delta
25032
0755
edit
dl
rm
systemd-detect-virt
12168
0755
edit
dl
rm
systemd-escape
16392
0755
edit
dl
rm
systemd-firstboot
37872
0755
edit
dl
rm
systemd-hwdb
29600
0755
edit
dl
rm
systemd-inhibit
16416
0755
edit
dl
rm
systemd-machine-id-setup
25344
0755
edit
dl
rm
systemd-mount
53896
0755
edit
dl
rm
systemd-notify
16416
0755
edit
dl
rm
systemd-path
16400
0755
edit
dl
rm
systemd-resolve
200448
0755
edit
dl
rm
systemd-run
50120
0755
edit
dl
rm
systemd-socket-activate
25368
0755
edit
dl
rm
systemd-stdio-bridge
16408
0755
edit
dl
rm
systemd-sysusers
54320
0755
edit
dl
rm
systemd-tmpfiles
75056
0755
edit
dl
rm
systemd-tty-ask-password-agent
33608
0755
edit
dl
rm
systemd-umount
53896
0755
edit
dl
rm
tabs
16952
0755
edit
dl
rm
tac
42488
0755
edit
dl
rm
tail
75912
0755
edit
dl
rm
tapestat
42312
0755
edit
dl
rm
tar
459768
0755
edit
dl
rm
taskset
38152
0755
edit
dl
rm
tbl
158320
0755
edit
dl
rm
tclsh
9256
0755
edit
dl
rm
tclsh8.6
9256
0755
edit
dl
rm
tcptraceroute
1585
0755
edit
dl
rm
teamd
164368
0755
edit
dl
rm
teamdctl
31096
0755
edit
dl
rm
teamnl
20960
0755
edit
dl
rm
tee
42472
0755
edit
dl
rm
test
54848
0755
edit
dl
rm
tic
87360
0755
edit
dl
rm
timedatectl
37848
0755
edit
dl
rm
timeout
42864
0755
edit
dl
rm
tload
17160
0755
edit
dl
rm
tmon
40576
0755
edit
dl
rm
tmpwatch
36320
0755
edit
dl
rm
toe
16848
0755
edit
dl
rm
top
124616
0755
edit
dl
rm
touch
96192
0755
edit
dl
rm
tput
25392
0755
edit
dl
rm
tr
50816
0755
edit
dl
rm
tracepath
20928
0755
edit
dl
rm
traceroute
72672
0755
edit
dl
rm
traceroute6
72672
0755
edit
dl
rm
tred
16984
0755
edit
dl
rm
troff
824344
0755
edit
dl
rm
true
34128
0755
edit
dl
rm
truncate
42352
0755
edit
dl
rm
trust
224824
0755
edit
dl
rm
tset
25352
0755
edit
dl
rm
tsort
42488
0755
edit
dl
rm
tty
34112
0755
edit
dl
rm
turbostat
133936
0755
edit
dl
rm
twopi
12552
0755
edit
dl
rm
type
28
0755
edit
dl
rm
tzselect
15370
0755
edit
dl
rm
uapi
3496912
0755
edit
dl
rm
ucs2any
25000
0755
edit
dl
rm
udevadm
434752
0755
edit
dl
rm
udisksctl
62192
0755
edit
dl
rm
ul
21080
0755
edit
dl
rm
ulimit
30
0755
edit
dl
rm
umask
29
0755
edit
dl
rm
umount
33536
0755
edit
dl
rm
unalias
31
0755
edit
dl
rm
uname
38224
0755
edit
dl
rm
uname26
21256
0755
edit
dl
rm
unexpand
46688
0755
edit
dl
rm
unflatten
17024
0755
edit
dl
rm
unicode_start
2613
0755
edit
dl
rm
unicode_stop
363
0755
edit
dl
rm
uniq
50832
0755
edit
dl
rm
unlink
34144
0755
edit
dl
rm
unpigz
128392
0755
edit
dl
rm
unshare
25528
0755
edit
dl
rm
unversioned-python
157
0755
edit
dl
rm
unxz
84056
0755
edit
dl
rm
unzip
206728
0755
edit
dl
rm
unzipsfx
103912
0755
edit
dl
rm
update-ca-trust
1268
0755
edit
dl
rm
update-crypto-policies
87
0755
edit
dl
rm
update-gtk-immodules
313
0755
edit
dl
rm
update-mime-database
58592
0755
edit
dl
rm
uptime
12888
0755
edit
dl
rm
users
38296
0755
edit
dl
rm
usleep
12144
0755
edit
dl
rm
utmpdump
29352
0755
edit
dl
rm
uuclient
16256
0755
edit
dl
rm
uuidgen
16768
0755
edit
dl
rm
uuidparse
38024
0755
edit
dl
rm
vdir
143256
0755
edit
dl
rm
vi
1180560
0755
edit
dl
rm
view
1180560
0755
edit
dl
rm
vim
3067856
0755
edit
dl
rm
vimdiff
3067856
0755
edit
dl
rm
vimdot
1082
0755
edit
dl
rm
vimtutor
2121
0755
edit
dl
rm
vlock
21328
0755
edit
dl
rm
vmstat
37672
0755
edit
dl
rm
w
21248
0755
edit
dl
rm
wait
28
0755
edit
dl
rm
wall
33840
0755
edit
dl
rm
watch
29888
0755
edit
dl
rm
watchgnupg
16832
0755
edit
dl
rm
wc
50832
0755
edit
dl
rm
wdctl
37864
0755
edit
dl
rm
wget
533944
0755
edit
dl
rm
whatis
55336
0755
edit
dl
rm
whereis
29976
0755
edit
dl
rm
which
30088
0755
edit
dl
rm
whiptail
33880
0755
edit
dl
rm
who
54880
0755
edit
dl
rm
whoami
34136
0755
edit
dl
rm
wmf2eps
17560
0755
edit
dl
rm
wmf2fig
17560
0755
edit
dl
rm
wmf2gd
17552
0755
edit
dl
rm
wmf2svg
17576
0755
edit
dl
rm
wmf2x
17536
0755
edit
dl
rm
word-list-compress
12280
0755
edit
dl
rm
write
21112
0755
edit
dl
rm
wsrep_sst_backup
2447
0755
edit
dl
rm
wsrep_sst_common
70141
0644
edit
dl
rm
wsrep_sst_mariabackup
54265
0755
edit
dl
rm
wsrep_sst_mysqldump
8296
0755
edit
dl
rm
wsrep_sst_rsync
31473
0755
edit
dl
rm
wsrep_sst_rsync_wan
31473
0755
edit
dl
rm
x86_64
21256
0755
edit
dl
rm
x86_64-redhat-linux-c++
1266616
0755
edit
dl
rm
x86_64-redhat-linux-g++
1266616
0755
edit
dl
rm
x86_64-redhat-linux-gcc
1266576
0755
edit
dl
rm
x86_64-redhat-linux-gcc-8
1266576
0755
edit
dl
rm
x86_64-redhat-linux-gnu-pkg-config
424
0755
edit
dl
rm
x86_energy_perf_policy
32720
0755
edit
dl
rm
xargs
75888
0755
edit
dl
rm
xb-tool
29392
0755
edit
dl
rm
xgamma
17488
0755
edit
dl
rm
xgettext
290696
0755
edit
dl
rm
xhost
17528
0755
edit
dl
rm
xinput
65136
0755
edit
dl
rm
xkill
17512
0755
edit
dl
rm
xml2-config
1746
0755
edit
dl
rm
xmlcatalog
20872
0755
edit
dl
rm
xmllint
75136
0755
edit
dl
rm
xmlwf
37856
0755
edit
dl
rm
xmodmap
40936
0755
edit
dl
rm
xorg-x11-fonts-update-dirs
1322
0744
edit
dl
rm
xrandr
67032
0755
edit
dl
rm
xrdb
34800
0755
edit
dl
rm
xrefresh
18368
0755
edit
dl
rm
xset
38088
0755
edit
dl
rm
xsetpointer
13368
0755
edit
dl
rm
xsetroot
21952
0755
edit
dl
rm
xslt-config
2418
0755
edit
dl
rm
xsltproc
29152
0755
edit
dl
rm
xstdcmap
18104
0755
edit
dl
rm
xsubpp
5080
0755
edit
dl
rm
xxd
21032
0755
edit
dl
rm
xz
84056
0755
edit
dl
rm
xzcat
84056
0755
edit
dl
rm
xzcmp
6632
0755
edit
dl
rm
xzdec
16880
0755
edit
dl
rm
xzdiff
6632
0755
edit
dl
rm
xzegrep
5902
0755
edit
dl
rm
xzfgrep
5902
0755
edit
dl
rm
xzgrep
5902
0755
edit
dl
rm
xzless
1802
0755
edit
dl
rm
xzmore
2161
0755
edit
dl
rm
yat2m
34144
0755
edit
dl
rm
yes
34168
0755
edit
dl
rm
ypdomainname
21664
0755
edit
dl
rm
yum
2104
0755
edit
dl
rm
yum-builddep
3702
0755
edit
dl
rm
yum-config-manager
3702
0755
edit
dl
rm
yum-debug-dump
3702
0755
edit
dl
rm
yum-debug-restore
3702
0755
edit
dl
rm
yum-groups-manager
3702
0755
edit
dl
rm
yumdownloader
3702
0755
edit
dl
rm
zcat
1983
0755
edit
dl
rm
zcmp
1677
0755
edit
dl
rm
zdiff
5879
0755
edit
dl
rm
zegrep
29
0755
edit
dl
rm
zfgrep
29
0755
edit
dl
rm
zforce
2080
0755
edit
dl
rm
zgrep
7582
0755
edit
dl
rm
zip
234496
0755
edit
dl
rm
zipcloak
105376
0755
edit
dl
rm
zipdetails
50576
0755
edit
dl
rm
zipgrep
2953
0755
edit
dl
rm
zipinfo
206728
0755
edit
dl
rm
zipnote
100104
0755
edit
dl
rm
zipsplit
100104
0755
edit
dl
rm
zless
2205
0755
edit
dl
rm
zmore
1841
0755
edit
dl
rm
znew
4552
0755
edit
dl
rm
zone2json
1452648
0755
edit
dl
rm
zone2sql
1473776
0755
edit
dl
rm
zsoelim
43576
0755
edit
dl
rm
[
54888
0755
edit
dl
rm
Edit:
/usr/bin/perlbug
(45458B)
#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; my $config_tag1 = '5.26.3 - Mon Jul 28 04:07:08 EDT 2025'; my $patchlevel_date = 1753690027; my @patches = Config::local_patches(); my $patch_tags = join "", map /(\S+)/ ? "+$1 " : (), @patches; BEGIN { pop @INC if $INC[-1] eq '.' } use warnings; use strict; use Config; use File::Spec; # keep perlbug Perl 5.005 compatible use Getopt::Std; use File::Basename 'basename'; sub paraprint; BEGIN { eval { require Mail::Send;}; $::HaveSend = ($@ eq ""); eval { require Mail::Util; } ; $::HaveUtil = ($@ eq ""); # use secure tempfiles wherever possible eval { require File::Temp; }; $::HaveTemp = ($@ eq ""); eval { require Module::CoreList; }; $::HaveCoreList = ($@ eq ""); eval { require Text::Wrap; }; $::HaveWrap = ($@ eq ""); }; my $Version = "1.40"; #TODO: # make sure failure (transmission-wise) of Mail::Send is accounted for. # (This may work now. Unsure of the original author's issue -JESSE 2008-06-08) # - Test -b option my( $file, $usefile, $cc, $address, $bugaddress, $testaddress, $thanksaddress, $filename, $messageid, $domain, $subject, $from, $verbose, $ed, $outfile, $fh, $me, $body, $andcc, %REP, $ok, $thanks, $progname, $Is_MSWin32, $Is_Linux, $Is_VMS, $Is_OpenBSD, $report_about_module, $category, $severity, %opt, $have_attachment, $attachments, $has_patch, $mime_boundary ); my $running_noninteractively = !-t STDIN; my $perl_version = $^V ? sprintf("%vd", $^V) : $]; my $config_tag2 = "$perl_version - $Config{cf_time}"; Init(); if ($opt{h}) { Help(); exit; } if ($opt{d}) { Dump(*STDOUT); exit; } if ($running_noninteractively && !$opt{t} && !($ok and not $opt{n})) { paraprint <<"EOF"; Please use $progname interactively. If you want to include a file, you can use the -f switch. EOF die "\n"; } Query(); Edit() unless $usefile || ($ok and not $opt{n}); NowWhat(); if ($outfile) { save_message_to_disk($outfile); } else { Send(); if ($thanks) { print "\nThank you for taking the time to send a thank-you message!\n\n"; paraprint <<EOF Please note that mailing lists are moderated, your message may take a while to show up. EOF } else { print "\nThank you for taking the time to file a bug report!\n\n"; paraprint <<EOF Please note that mailing lists are moderated, your message may take a while to show up. If you do not receive an automated response acknowledging your message within a few hours (check your SPAM folder and outgoing mail) please consider sending an email directly from your mail client to perlbug\@perl.org. EOF } } exit; sub ask_for_alternatives { # (category|severity) my $name = shift; my %alts = ( 'category' => { 'default' => 'core', 'ok' => 'install', # Inevitably some of these will end up in RT whatever we do: 'thanks' => 'thanks', 'opts' => [qw(core docs install library utilities)], # patch, notabug }, 'severity' => { 'default' => 'low', 'ok' => 'none', 'thanks' => 'none', 'opts' => [qw(critical high medium low wishlist none)], # zero }, ); die "Invalid alternative ($name) requested\n" unless grep(/^$name$/, keys %alts); my $alt = ""; my $what = $ok || $thanks; if ($what) { $alt = $alts{$name}{$what}; } else { my @alts = @{$alts{$name}{'opts'}}; print "\n\n"; paraprint <<EOF; Please pick a $name from the following list: @alts EOF my $err = 0; do { if ($err++ > 5) { die "Invalid $name: aborting.\n"; } $alt = _prompt('', "\u$name", $alts{$name}{'default'}); $alt ||= $alts{$name}{'default'}; } while !((($alt) = grep(/^$alt/i, @alts))); } lc $alt; } sub Init { # -------- Setup -------- $Is_MSWin32 = $^O eq 'MSWin32'; $Is_VMS = $^O eq 'VMS'; $Is_Linux = lc($^O) eq 'linux'; $Is_OpenBSD = lc($^O) eq 'openbsd'; if (!getopts("Adhva:s:b:f:F:r:e:SCc:to:n:T:p:", \%opt)) { Help(); exit; }; # This comment is needed to notify metaconfig that we are # using the $perladmin, $cf_by, and $cf_time definitions. # -------- Configuration --------- # perlbug address $bugaddress = 'perlbug@perl.org'; # Test address $testaddress = 'perlbug-test@perl.org'; # Thanks address $thanksaddress = 'perl-thanks@perl.org'; if (basename ($0) =~ /^perlthanks/i) { # invoked as perlthanks $opt{T} = 1; $opt{C} = 1; # don't send a copy to the local admin } if ($opt{T}) { $thanks = 'thanks'; } $progname = $thanks ? 'perlthanks' : 'perlbug'; # Target address $address = $opt{a} || ($opt{t} ? $testaddress : $thanks ? $thanksaddress : $bugaddress); # Users address, used in message and in From and Reply-To headers $from = $opt{r} || ""; # Include verbose configuration information $verbose = $opt{v} || 0; # Subject of bug-report message $subject = $opt{s} || ""; # Send a file $usefile = ($opt{f} || 0); # File to send as report $file = $opt{f} || ""; # We have one or more attachments $have_attachment = ($opt{p} || 0); $mime_boundary = ('-' x 12) . "$Version.perlbug" if $have_attachment; # Comma-separated list of attachments $attachments = $opt{p} || ""; $has_patch = 0; # TBD based on file type for my $attachment (split /\s*,\s*/, $attachments) { unless (-f $attachment && -r $attachment) { die "The attachment $attachment is not a readable file: $!\n"; } $has_patch = 1 if $attachment =~ m/\.(patch|diff)$/; } # File to output to $outfile = $opt{F} || ""; # Body of report $body = $opt{b} || ""; # Editor $ed = $opt{e} || $ENV{VISUAL} || $ENV{EDITOR} || $ENV{EDIT} || ($Is_VMS && "edit/tpu") || ($Is_MSWin32 && "notepad") || "vi"; # Not OK - provide build failure template by finessing OK report if ($opt{n}) { if (substr($opt{n}, 0, 2) eq 'ok' ) { $opt{o} = substr($opt{n}, 1); } else { Help(); exit(); } } # OK - send "OK" report for build on this system $ok = ''; if ($opt{o}) { if ($opt{o} eq 'k' or $opt{o} eq 'kay') { # force these options unless ($opt{n}) { $opt{S} = 1; # don't prompt for send $opt{b} = 1; # we have a body $body = "Perl reported to build OK on this system.\n"; } $opt{C} = 1; # don't send a copy to the local admin $opt{s} = 1; # we have a subject line $subject = ($opt{n} ? 'Not ' : '') . "OK: perl $perl_version ${patch_tags}on" ." $::Config{'archname'} $::Config{'osvers'} $subject"; $ok = 'ok'; } else { Help(); exit(); } } # Possible administrator addresses, in order of confidence # (Note that cf_email is not mentioned to metaconfig, since # we don't really want it. We'll just take it if we have to.) # # This has to be after the $ok stuff above because of the way # that $opt{C} is forced. $cc = $opt{C} ? "" : ( $opt{c} || $::Config{'perladmin'} || $::Config{'cf_email'} || $::Config{'cf_by'} ); if ($::HaveUtil) { $domain = Mail::Util::maildomain(); } elsif ($Is_MSWin32) { $domain = $ENV{'USERDOMAIN'}; } else { require Sys::Hostname; $domain = Sys::Hostname::hostname(); } # Message-Id - rjsf $messageid = "<$::Config{'version'}_${$}_".time."\@$domain>"; # My username $me = $Is_MSWin32 ? $ENV{'USERNAME'} : $^O eq 'os2' ? $ENV{'USER'} || $ENV{'LOGNAME'} : eval { getpwuid($<) }; # May be missing $from = $::Config{'cf_email'} if !$from && $::Config{'cf_email'} && $::Config{'cf_by'} && $me && ($me eq $::Config{'cf_by'}); } # sub Init sub Query { # Explain what perlbug is unless ($ok) { if ($thanks) { paraprint <<'EOF'; This program provides an easy way to send a thank-you message back to the authors and maintainers of perl. If you wish to submit a bug report, please run it without the -T flag (or run the program perlbug rather than perlthanks) EOF } else { paraprint <<"EOF"; This program provides an easy way to create a message reporting a bug in the core perl distribution (along with tests or patches) to the volunteers who maintain perl at $address. To send a thank-you note to $thanksaddress instead of a bug report, please run 'perlthanks'. Please do not use $0 to send test messages, test whether perl works, or to report bugs in perl modules from CPAN. Suggestions for how to find help using Perl can be found at http://perldoc.perl.org/perlcommunity.html EOF } } # Prompt for subject of message, if needed if ($subject && TrivialSubject($subject)) { $subject = ''; } unless ($subject) { print "First of all, please provide a subject for the message.\n"; if ( not $thanks) { paraprint <<EOF; This should be a concise description of your bug or problem which will help the volunteers working to improve perl to categorize and resolve the issue. Be as specific and descriptive as you can. A subject like "perl bug" or "perl problem" will make it much less likely that your issue gets the attention it deserves. EOF } my $err = 0; do { $subject = _prompt('','Subject'); if ($err++ == 5) { if ($thanks) { $subject = 'Thanks for Perl'; } else { die "Aborting.\n"; } } } while (TrivialSubject($subject)); } $subject = '[PATCH] ' . $subject if $has_patch && ($subject !~ m/^\[PATCH/i); # Prompt for return address, if needed unless ($opt{r}) { # Try and guess return address my $guess; $guess = $ENV{'REPLY-TO'} || $ENV{'REPLYTO'} || $ENV{'EMAIL'} || $from || ''; unless ($guess) { # move $domain to where we can use it elsewhere if ($domain) { if ($Is_VMS && !$::Config{'d_socket'}) { $guess = "$domain\:\:$me"; } else { $guess = "$me\@$domain" if $domain; } } } if ($guess) { unless ($ok) { paraprint <<EOF; Perl's developers may need your email address to contact you for further information about your issue or to inform you when it is resolved. If the default shown is not your email address, please correct it. EOF } } else { paraprint <<EOF; Please enter your full internet email address so that Perl's developers can contact you with questions about your issue or to inform you that it has been resolved. EOF } if ($ok && $guess) { # use it $from = $guess; } else { # verify it $from = _prompt('','Your address',$guess); $from = $guess if $from eq ''; } } if ($from eq $cc or $me eq $cc) { # Try not to copy ourselves $cc = "yourself"; } # Prompt for administrator address, unless an override was given if( !$opt{C} and !$opt{c} ) { my $description = <<EOF; $0 can send a copy of this report to your local perl administrator. If the address below is wrong, please correct it, or enter 'none' or 'yourself' to not send a copy. EOF my $entry = _prompt($description, "Local perl administrator", $cc); if ($entry ne "") { $cc = $entry; $cc = '' if $me eq $cc; } } $cc = '' if $cc =~ /^(none|yourself|me|myself|ourselves)$/i; if ($cc) { $andcc = " and $cc" } else { $andcc = '' } # Prompt for editor, if no override is given editor: unless ($opt{e} || $opt{f} || $opt{b}) { my $description; chomp (my $common_end = <<"EOF"); You will probably want to use a text editor to enter the body of your report. If "$ed" is the editor you want to use, then just press Enter, otherwise type in the name of the editor you would like to use. If you have already composed the body of your report, you may enter "file", and $0 will prompt you to enter the name of the file containing your report. EOF if ($thanks) { $description = <<"EOF"; It's now time to compose your thank-you message. Some information about your local perl configuration will automatically be included at the end of your message, because we're curious about the different ways that people build and use perl. If you'd rather not share this information, you're welcome to delete it. $common_end EOF } else { $description = <<"EOF"; It's now time to compose your bug report. Try to make the report concise but descriptive. Please include any detail which you think might be relevant or might help the volunteers working to improve perl. If you are reporting something that does not work as you think it should, please try to include examples of the actual result and of what you expected. Some information about your local perl configuration will automatically be included at the end of your report. If you are using an unusual version of perl, it would be useful if you could confirm that you can replicate the problem on a standard build of perl as well. $common_end EOF } my $entry = _prompt($description, "Editor", $ed); $usefile = 0; if ($entry eq "file") { $usefile = 1; } elsif ($entry ne "") { $ed = $entry; } } if ($::HaveCoreList && !$ok && !$thanks) { my $description = <<EOF; If your bug is about a Perl module rather than a core language feature, please enter its name here. If it's not, just hit Enter to skip this question. EOF my $entry = ''; while ($entry eq '') { $entry = _prompt($description, 'Module'); my $first_release = Module::CoreList->first_release($entry); if ($entry and not $first_release) { paraprint <<EOF; $entry is not a "core" Perl module. Please check that you entered its name correctly. If it is correct, quit this program, try searching for $entry on http://rt.cpan.org, and report your issue there. EOF $entry = ''; } elsif (my $bug_tracker = $Module::CoreList::bug_tracker{$entry}) { paraprint <<"EOF"; $entry included with core Perl is copied directly from the CPAN distribution. Please report bugs in $entry directly to its maintainers using $bug_tracker EOF $entry = ''; } elsif ($entry) { $category ||= 'library'; $report_about_module = $entry; last; } else { last; } } } # Prompt for category of bug $category ||= ask_for_alternatives('category'); # Prompt for severity of bug $severity ||= ask_for_alternatives('severity'); # Generate scratch file to edit report in $filename = filename(); # Prompt for file to read report from, if needed if ($usefile and !$file) { filename: my $description = <<EOF; What is the name of the file that contains your report? EOF my $entry = _prompt($description, "Filename"); if ($entry eq "") { paraprint <<EOF; It seems you didn't enter a filename. Please choose to use a text editor or enter a filename. EOF goto editor; } unless (-f $entry and -r $entry) { paraprint <<EOF; '$entry' doesn't seem to be a readable file. You may have mistyped its name or may not have permission to read it. If you don't want to use a file as the content of your report, just hit Enter and you'll be able to select a text editor instead. EOF goto filename; } $file = $entry; } # Generate report open(REP, '>:raw', $filename) or die "Unable to create report file '$filename': $!\n"; binmode(REP, ':raw :crlf') if $Is_MSWin32; my $reptype = !$ok ? ($thanks ? 'thank-you' : 'bug') : $opt{n} ? "build failure" : "success"; print REP <<EOF; This is a $reptype report for perl from $from, generated with the help of perlbug $Version running under perl $perl_version. EOF if ($body) { print REP $body; } elsif ($usefile) { open(F, '<:raw', $file) or die "Unable to read report file from '$file': $!\n"; binmode(F, ':raw :crlf') if $Is_MSWin32; while (<F>) { print REP $_ } close(F) or die "Error closing '$file': $!"; } else { if ($thanks) { print REP <<'EOF'; ----------------------------------------------------------------- [Please enter your thank-you message here] [You're welcome to delete anything below this line] ----------------------------------------------------------------- EOF } else { print REP <<'EOF'; ----------------------------------------------------------------- [Please describe your issue here] [Please do not change anything below this line] ----------------------------------------------------------------- EOF } } Dump(*REP); close(REP) or die "Error closing report file: $!"; # Set up an initial report fingerprint so we can compare it later _fingerprint_lines_in_report(); } # sub Query sub Dump { local(*OUT) = @_; # these won't have been set if run with -d $category ||= 'core'; $severity ||= 'low'; print OUT <<EFF; --- Flags: category=$category severity=$severity EFF if ($has_patch) { print OUT <<EFF; Type=Patch PatchStatus=HasPatch EFF } if ($report_about_module ) { print OUT <<EFF; module=$report_about_module EFF } if ($opt{A}) { print OUT <<EFF; ack=no EFF } print OUT <<EFF; --- EFF print OUT "This perlbug was built using Perl $config_tag1\n", "It is being executed now by Perl $config_tag2.\n\n" if $config_tag2 ne $config_tag1; print OUT <<EOF; Site configuration information for perl $perl_version: EOF if ($::Config{cf_by} and $::Config{cf_time}) { print OUT "Configured by $::Config{cf_by} at $::Config{cf_time}.\n\n"; } print OUT Config::myconfig; if (@patches) { print OUT join "\n ", "Locally applied patches:", @patches; print OUT "\n"; }; print OUT <<EOF; --- \@INC for perl $perl_version: EOF for my $i (@INC) { print OUT " $i\n"; } print OUT <<EOF; --- Environment for perl $perl_version: EOF my @env = qw(PATH LD_LIBRARY_PATH LANG PERL_BADLANG SHELL HOME LOGDIR LANGUAGE); push @env, $Config{ldlibpthname} if $Config{ldlibpthname} ne ''; push @env, grep /^(?:PERL|LC_|LANG|CYGWIN)/, keys %ENV; my %env; @env{@env} = @env; for my $env (sort keys %env) { print OUT " $env", exists $ENV{$env} ? "=$ENV{$env}" : ' (unset)', "\n"; } if ($verbose) { print OUT "\nComplete configuration data for perl $perl_version:\n\n"; my $value; foreach (sort keys %::Config) { $value = $::Config{$_}; $value = '' unless defined $value; $value =~ s/'/\\'/g; print OUT "$_='$value'\n"; } } } # sub Dump sub Edit { # Edit the report if ($usefile || $body) { my $description = "Please make sure that the name of the editor you want to use is correct."; my $entry = _prompt($description, 'Editor', $ed); $ed = $entry unless $entry eq ''; } _edit_file($ed) unless $running_noninteractively; } sub _edit_file { my $editor = shift; my $report_written = 0; while ( !$report_written ) { my $exit_status = system("$editor $filename"); if ($exit_status) { my $desc = <<EOF; The editor you chose ('$editor') could not be run! If you mistyped its name, please enter it now, otherwise just press Enter. EOF my $entry = _prompt( $desc, 'Editor', $editor ); if ( $entry ne "" ) { $editor = $entry; next; } else { paraprint <<EOF; You may want to save your report to a file, so you can edit and mail it later. EOF return; } } return if ( $ok and not $opt{n} ) || $body; # Check that we have a report that has some, eh, report in it. unless ( _fingerprint_lines_in_report() ) { my $description = <<EOF; It looks like you didn't enter a report. You may [r]etry your edit or [c]ancel this report. EOF my $action = _prompt( $description, "Action (Retry/Cancel) " ); if ( $action =~ /^[re]/i ) { # <R>etry <E>dit next; } elsif ( $action =~ /^[cq]/i ) { # <C>ancel, <Q>uit Cancel(); # cancel exits } } # Ok. the user did what they needed to; return; } } sub Cancel { 1 while unlink($filename); # remove all versions under VMS print "\nQuitting without sending your message.\n"; exit(0); } sub NowWhat { # Report is done, prompt for further action if( !$opt{S} ) { while(1) { my $menu = <<EOF; You have finished composing your message. At this point, you have a few options. You can: * [Se]nd the message to $address$andcc, * [D]isplay the message on the screen, * [R]e-edit the message * Display or change the message's [su]bject * Save the message to a [f]ile to mail at another time * [Q]uit without sending a message EOF retry: print $menu; my $action = _prompt('', "Action (Send/Display/Edit/Subject/Save to File)", $opt{t} ? 'q' : ''); print "\n"; if ($action =~ /^(f|sa)/i) { # <F>ile/<Sa>ve if ( SaveMessage() ) { exit } } elsif ($action =~ /^(d|l|sh)/i ) { # <D>isplay, <L>ist, <Sh>ow # Display the message print _read_report($filename); if ($have_attachment) { print "\n\n---\nAttachment(s):\n"; for my $att (split /\s*,\s*/, $attachments) { print " $att\n"; } } } elsif ($action =~ /^su/i) { # <Su>bject my $reply = _prompt( "Subject: $subject", "If the above subject is fine, press Enter. Otherwise, type a replacement now\nSubject"); if ($reply ne '') { unless (TrivialSubject($reply)) { $subject = $reply; print "Subject: $subject\n"; } } } elsif ($action =~ /^se/i) { # <S>end # Send the message my $reply = _prompt( "Are you certain you want to send this message?", 'Please type "yes" if you are','no'); if ($reply =~ /^yes$/) { last; } else { paraprint <<EOF; You didn't type "yes", so your message has not yet been sent. EOF } } elsif ($action =~ /^[er]/i) { # <E>dit, <R>e-edit # edit the message Edit(); } elsif ($action =~ /^[qc]/i) { # <C>ancel, <Q>uit Cancel(); } elsif ($action =~ /^s/i) { paraprint <<EOF; The command you entered was ambiguous. Please type "send", "save" or "subject". EOF } } } } # sub NowWhat sub TrivialSubject { my $subject = shift; if ($subject =~ /^(y(es)?|no?|help|perl( (bug|problem))?|bug|problem)$/i || length($subject) < 4 || ($subject !~ /\s/ && ! $opt{t})) { # non-whitespace is accepted in test mode print "\nThe subject you entered wasn't very descriptive. Please try again.\n\n"; return 1; } else { return 0; } } sub SaveMessage { my $file_save = $outfile || "$progname.rep"; my $file = _prompt( '', "Name of file to save message in", $file_save ); save_message_to_disk($file) || return undef; print "\n"; paraprint <<EOF; A copy of your message has been saved in '$file' for you to send to '$address' with your normal mail client. EOF } sub Send { # Message has been accepted for transmission -- Send the message # on linux certain "mail" implementations won't accept the subject # as "~s subject" and thus the Subject header will be corrupted # so don't use Mail::Send to be safe eval { if ( $::HaveSend && !$Is_Linux && !$Is_OpenBSD ) { _send_message_mailsend(); } elsif ($Is_VMS) { _send_message_vms(); } else { _send_message_sendmail(); } }; if ( my $error = $@ ) { paraprint <<EOF; $0 has detected an error while trying to send your message: $error. Your message may not have been sent. You will now have a chance to save a copy to disk. EOF SaveMessage(); return; } 1 while unlink($filename); # remove all versions under VMS } # sub Send sub Help { print <<EOF; This program is designed to help you generate and send bug reports (and thank-you notes) about perl5 and the modules which ship with it. In most cases, you can just run "$0" interactively from a command line without any special arguments and follow the prompts. Advanced usage: $0 [-v] [-a address] [-s subject] [-b body | -f inpufile ] [ -F outputfile ] [-r returnaddress] [-e editor] [-c adminaddress | -C] [-S] [-t] [-h] [-p patchfile ] $0 [-v] [-r returnaddress] [-A] [-ok | -okay | -nok | -nokay] Options: -v Include Verbose configuration data in the report -f File containing the body of the report. Use this to quickly send a prepared message. -p File containing a patch or other text attachment. Separate multiple files with commas. -F File to output the resulting mail message to, instead of mailing. -S Send without asking for confirmation. -a Address to send the report to. Defaults to '$address'. -c Address to send copy of report to. Defaults to '$cc'. -C Don't send copy to administrator. -s Subject to include with the message. You will be prompted if you don't supply one on the command line. -b Body of the report. If not included on the command line, or in a file with -f, you will get a chance to edit the message. -r Your return address. The program will ask you to confirm this if you don't give it here. -e Editor to use. -t Test mode. The target address defaults to '$testaddress'. -T Thank-you mode. The target address defaults to '$thanksaddress'. -d Data mode. This prints out your configuration data, without mailing anything. You can use this with -v to get more complete data. -A Don't send a bug received acknowledgement to the return address. -ok Report successful build on this system to perl porters (use alone or with -v). Only use -ok if *everything* was ok: if there were *any* problems at all, use -nok. -okay As -ok but allow report from old builds. -nok Report unsuccessful build on this system to perl porters (use alone or with -v). You must describe what went wrong in the body of the report which you will be asked to edit. -nokay As -nok but allow report from old builds. -h Print this help message. EOF } sub filename { if ($::HaveTemp) { # Good. Use a secure temp file my ($fh, $filename) = File::Temp::tempfile(UNLINK => 1); close($fh); return $filename; } else { # Bah. Fall back to doing things less securely. my $dir = File::Spec->tmpdir(); $filename = "bugrep0$$"; $filename++ while -e File::Spec->catfile($dir, $filename); $filename = File::Spec->catfile($dir, $filename); } } sub paraprint { my @paragraphs = split /\n{2,}/, "@_"; for (@paragraphs) { # implicit local $_ s/(\S)\s*\n/$1 /g; write; print "\n"; } } sub _prompt { my ($explanation, $prompt, $default) = (@_); if ($explanation) { print "\n\n"; paraprint $explanation; } print $prompt. ($default ? " [$default]" :''). ": "; my $result = scalar(<>); return $default if !defined $result; # got eof chomp($result); $result =~ s/^\s*(.*?)\s*$/$1/s; if ($default && $result eq '') { return $default; } else { return $result; } } sub _build_header { my %attr = (@_); my $head = ''; for my $header (keys %attr) { $head .= "$header: ".$attr{$header}."\n"; } return $head; } sub _message_headers { my %headers = ( To => $address, Subject => $subject ); $headers{'Cc'} = $cc if ($cc); $headers{'Message-Id'} = $messageid if ($messageid); $headers{'Reply-To'} = $from if ($from); $headers{'From'} = $from if ($from); if ($have_attachment) { $headers{'MIME-Version'} = '1.0'; $headers{'Content-Type'} = qq{multipart/mixed; boundary=\"$mime_boundary\"}; } return \%headers; } sub _add_body_start { my $body_start = <<"BODY_START"; This is a multi-part message in MIME format. --$mime_boundary Content-Type: text/plain; format=fixed Content-Transfer-Encoding: 8bit BODY_START return $body_start; } sub _add_attachments { my $attach = ''; for my $attachment (split /\s*,\s*/, $attachments) { my $attach_file = basename($attachment); $attach .= <<"ATTACHMENT"; --$mime_boundary Content-Type: text/x-patch; name="$attach_file" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="$attach_file" ATTACHMENT open my $attach_fh, '<:raw', $attachment or die "Couldn't open attachment '$attachment': $!\n"; while (<$attach_fh>) { $attach .= $_; } close($attach_fh) or die "Error closing attachment '$attachment': $!"; } $attach .= "\n--$mime_boundary--\n"; return $attach; } sub _read_report { my $fname = shift; my $content; open( REP, "<:raw", $fname ) or die "Couldn't open file '$fname': $!\n"; binmode(REP, ':raw :crlf') if $Is_MSWin32; # wrap long lines to make sure the report gets delivered local $Text::Wrap::columns = 900; local $Text::Wrap::huge = 'overflow'; while (<REP>) { if ($::HaveWrap && /\S/) { # wrap() would remove empty lines $content .= Text::Wrap::wrap(undef, undef, $_); } else { $content .= $_; } } close(REP) or die "Error closing report file '$fname': $!"; return $content; } sub build_complete_message { my $content = _build_header(%{_message_headers()}) . "\n\n"; $content .= _add_body_start() if $have_attachment; $content .= _read_report($filename); $content .= _add_attachments() if $have_attachment; return $content; } sub save_message_to_disk { my $file = shift; open OUTFILE, '>:raw', $file or do { warn "Couldn't open '$file': $!\n"; return undef}; binmode(OUTFILE, ':raw :crlf') if $Is_MSWin32; print OUTFILE build_complete_message(); close(OUTFILE) or do { warn "Error closing $file: $!"; return undef }; print "\nMessage saved.\n"; return 1; } sub _send_message_vms { my $mail_from = $from; my $rcpt_to_to = $address; my $rcpt_to_cc = $cc; map { $_ =~ s/^[^<]*<//; $_ =~ s/>[^>]*//; } ($mail_from, $rcpt_to_to, $rcpt_to_cc); if ( open my $sff_fh, '|-:raw', 'MCR TCPIP$SYSTEM:TCPIP$SMTP_SFF.EXE SYS$INPUT:' ) { print $sff_fh "MAIL FROM:<$mail_from>\n"; print $sff_fh "RCPT TO:<$rcpt_to_to>\n"; print $sff_fh "RCPT TO:<$rcpt_to_cc>\n" if $rcpt_to_cc; print $sff_fh "DATA\n"; print $sff_fh build_complete_message(); my $success = close $sff_fh; if ($success ) { print "\nMessage sent\n"; return; } } die "Mail transport failed (leaving bug report in $filename): $^E\n"; } sub _send_message_mailsend { my $msg = Mail::Send->new(); my %headers = %{_message_headers()}; for my $key ( keys %headers) { $msg->add($key => $headers{$key}); } $fh = $msg->open; binmode($fh, ':raw'); print $fh _add_body_start() if $have_attachment; print $fh _read_report($filename); print $fh _add_attachments() if $have_attachment; $fh->close or die "Error sending mail: $!"; print "\nMessage sent.\n"; } sub _probe_for_sendmail { my $sendmail = ""; for (qw(/usr/lib/sendmail /usr/sbin/sendmail /usr/ucblib/sendmail)) { $sendmail = $_, last if -e $_; } if ( $^O eq 'os2' and $sendmail eq "" ) { my $path = $ENV{PATH}; $path =~ s:\\:/:; my @path = split /$Config{'path_sep'}/, $path; for (@path) { $sendmail = "$_/sendmail", last if -e "$_/sendmail"; $sendmail = "$_/sendmail.exe", last if -e "$_/sendmail.exe"; } } return $sendmail; } sub _send_message_sendmail { my $sendmail = _probe_for_sendmail(); unless ($sendmail) { my $message_start = !$Is_Linux && !$Is_OpenBSD ? <<'EOT' : <<'EOT'; It appears that there is no program which looks like "sendmail" on your system and that the Mail::Send library from CPAN isn't available. EOT It appears that there is no program which looks like "sendmail" on your system. EOT paraprint(<<"EOF"), die "\n"; $message_start Because of this, there's no easy way to automatically send your message. A copy of your message has been saved in '$filename' for you to send to '$address' with your normal mail client. EOF } open( SENDMAIL, "|-:raw", $sendmail, "-t", "-oi", "-f", $from ) || die "'|$sendmail -t -oi -f $from' failed: $!"; print SENDMAIL build_complete_message(); if ( close(SENDMAIL) ) { print "\nMessage sent\n"; } else { warn "\nSendmail returned status '", $? >> 8, "'\n"; } } # a strange way to check whether any significant editing # has been done: check whether any new non-empty lines # have been added. sub _fingerprint_lines_in_report { my $new_lines = 0; # read in the report template once so that # we can track whether the user does any editing. # yes, *all* whitespace is ignored. open(REP, '<:raw', $filename) or die "Unable to open report file '$filename': $!\n"; binmode(REP, ':raw :crlf') if $Is_MSWin32; while (my $line = <REP>) { $line =~ s/\s+//g; $new_lines++ if (!$REP{$line}); } close(REP) or die "Error closing report file '$filename': $!"; # returns the number of lines with content that wasn't there when last we looked return $new_lines; } format STDOUT = ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~~ $_ . __END__ =head1 NAME perlbug - how to submit bug reports on Perl =head1 SYNOPSIS B<perlbug> B<perlbug> S<[ B<-v> ]> S<[ B<-a> I<address> ]> S<[ B<-s> I<subject> ]> S<[ B<-b> I<body> | B<-f> I<inputfile> ]> S<[ B<-F> I<outputfile> ]> S<[ B<-r> I<returnaddress> ]> S<[ B<-e> I<editor> ]> S<[ B<-c> I<adminaddress> | B<-C> ]> S<[ B<-S> ]> S<[ B<-t> ]> S<[ B<-d> ]> S<[ B<-A> ]> S<[ B<-h> ]> S<[ B<-T> ]> B<perlbug> S<[ B<-v> ]> S<[ B<-r> I<returnaddress> ]> S<[ B<-A> ]> S<[ B<-ok> | B<-okay> | B<-nok> | B<-nokay> ]> B<perlthanks> =head1 DESCRIPTION This program is designed to help you generate and send bug reports (and thank-you notes) about perl5 and the modules which ship with it. In most cases, you can just run it interactively from a command line without any special arguments and follow the prompts. If you have found a bug with a non-standard port (one that was not part of the I<standard distribution>), a binary distribution, or a non-core module (such as Tk, DBI, etc), then please see the documentation that came with that distribution to determine the correct place to report bugs. If you are unable to send your report using B<perlbug> (most likely because your system doesn't have a way to send mail that perlbug recognizes), you may be able to use this tool to compose your report and save it to a file which you can then send to B<perlbug@perl.org> using your regular mail client. In extreme cases, B<perlbug> may not work well enough on your system to guide you through composing a bug report. In those cases, you may be able to use B<perlbug -d> to get system configuration information to include in a manually composed bug report to B<perlbug@perl.org>. When reporting a bug, please run through this checklist: =over 4 =item What version of Perl you are running? Type C<perl -v> at the command line to find out. =item Are you running the latest released version of perl? Look at http://www.perl.org/ to find out. If you are not using the latest released version, please try to replicate your bug on the latest stable release. Note that reports about bugs in old versions of Perl, especially those which indicate you haven't also tested the current stable release of Perl, are likely to receive less attention from the volunteers who build and maintain Perl than reports about bugs in the current release. This tool isn't appropriate for reporting bugs in any version prior to Perl 5.0. =item Are you sure what you have is a bug? A significant number of the bug reports we get turn out to be documented features in Perl. Make sure the issue you've run into isn't intentional by glancing through the documentation that comes with the Perl distribution. Given the sheer volume of Perl documentation, this isn't a trivial undertaking, but if you can point to documentation that suggests the behaviour you're seeing is I<wrong>, your issue is likely to receive more attention. You may want to start with B<perldoc> L<perltrap> for pointers to common traps that new (and experienced) Perl programmers run into. If you're unsure of the meaning of an error message you've run across, B<perldoc> L<perldiag> for an explanation. If the message isn't in perldiag, it probably isn't generated by Perl. You may have luck consulting your operating system documentation instead. If you are on a non-UNIX platform B<perldoc> L<perlport>, as some features may be unimplemented or work differently. You may be able to figure out what's going wrong using the Perl debugger. For information about how to use the debugger B<perldoc> L<perldebug>. =item Do you have a proper test case? The easier it is to reproduce your bug, the more likely it will be fixed -- if nobody can duplicate your problem, it probably won't be addressed. A good test case has most of these attributes: short, simple code; few dependencies on external commands, modules, or libraries; no platform-dependent code (unless it's a platform-specific bug); clear, simple documentation. A good test case is almost always a good candidate to be included in Perl's test suite. If you have the time, consider writing your test case so that it can be easily included into the standard test suite. =item Have you included all relevant information? Be sure to include the B<exact> error messages, if any. "Perl gave an error" is not an exact error message. If you get a core dump (or equivalent), you may use a debugger (B<dbx>, B<gdb>, etc) to produce a stack trace to include in the bug report. NOTE: unless your Perl has been compiled with debug info (often B<-g>), the stack trace is likely to be somewhat hard to use because it will most probably contain only the function names and not their arguments. If possible, recompile your Perl with debug info and reproduce the crash and the stack trace. =item Can you describe the bug in plain English? The easier it is to understand a reproducible bug, the more likely it will be fixed. Any insight you can provide into the problem will help a great deal. In other words, try to analyze the problem (to the extent you can) and report your discoveries. =item Can you fix the bug yourself? If so, that's great news; bug reports with patches are likely to receive significantly more attention and interest than those without patches. Please attach your patch to the report using the C<-p> option. When sending a patch, create it using C<git format-patch> if possible, though a unified diff created with C<diff -pu> will do nearly as well. Your patch may be returned with requests for changes, or requests for more detailed explanations about your fix. Here are a few hints for creating high-quality patches: Make sure the patch is not reversed (the first argument to diff is typically the original file, the second argument your changed file). Make sure you test your patch by applying it with C<git am> or the C<patch> program before you send it on its way. Try to follow the same style as the code you are trying to patch. Make sure your patch really does work (C<make test>, if the thing you're patching is covered by Perl's test suite). =item Can you use C<perlbug> to submit the report? B<perlbug> will, amongst other things, ensure your report includes crucial information about your version of perl. If C<perlbug> is unable to mail your report after you have typed it in, you may have to compose the message yourself, add the output produced by C<perlbug -d> and email it to B<perlbug@perl.org>. If, for some reason, you cannot run C<perlbug> at all on your system, be sure to include the entire output produced by running C<perl -V> (note the uppercase V). Whether you use C<perlbug> or send the email manually, please make your Subject line informative. "a bug" is not informative. Neither is "perl crashes" nor is "HELP!!!". These don't help. A compact description of what's wrong is fine. =item Can you use C<perlbug> to submit a thank-you note? Yes, you can do this by either using the C<-T> option, or by invoking the program as C<perlthanks>. Thank-you notes are good. It makes people smile. =back Having done your bit, please be prepared to wait, to be told the bug is in your code, or possibly to get no reply at all. The volunteers who maintain Perl are busy folks, so if your problem is an obvious bug in your own code, is difficult to understand or is a duplicate of an existing report, you may not receive a personal reply. If it is important to you that your bug be fixed, do monitor the perl5-porters@perl.org mailing list (mailing lists are moderated, your message may take a while to show up) and the commit logs to development versions of Perl, and encourage the maintainers with kind words or offers of frosty beverages. (Please do be kind to the maintainers. Harassing or flaming them is likely to have the opposite effect of the one you want.) Feel free to update the ticket about your bug on http://rt.perl.org if a new version of Perl is released and your bug is still present. =head1 OPTIONS =over 8 =item B<-a> Address to send the report to. Defaults to B<perlbug@perl.org>. =item B<-A> Don't send a bug received acknowledgement to the reply address. Generally it is only a sensible to use this option if you are a perl maintainer actively watching perl porters for your message to arrive. =item B<-b> Body of the report. If not included on the command line, or in a file with B<-f>, you will get a chance to edit the message. =item B<-C> Don't send copy to administrator. =item B<-c> Address to send copy of report to. Defaults to the address of the local perl administrator (recorded when perl was built). =item B<-d> Data mode (the default if you redirect or pipe output). This prints out your configuration data, without mailing anything. You can use this with B<-v> to get more complete data. =item B<-e> Editor to use. =item B<-f> File containing the body of the report. Use this to quickly send a prepared message. =item B<-F> File to output the results to instead of sending as an email. Useful particularly when running perlbug on a machine with no direct internet connection. =item B<-h> Prints a brief summary of the options. =item B<-ok> Report successful build on this system to perl porters. Forces B<-S> and B<-C>. Forces and supplies values for B<-s> and B<-b>. Only prompts for a return address if it cannot guess it (for use with B<make>). Honors return address specified with B<-r>. You can use this with B<-v> to get more complete data. Only makes a report if this system is less than 60 days old. =item B<-okay> As B<-ok> except it will report on older systems. =item B<-nok> Report unsuccessful build on this system. Forces B<-C>. Forces and supplies a value for B<-s>, then requires you to edit the report and say what went wrong. Alternatively, a prepared report may be supplied using B<-f>. Only prompts for a return address if it cannot guess it (for use with B<make>). Honors return address specified with B<-r>. You can use this with B<-v> to get more complete data. Only makes a report if this system is less than 60 days old. =item B<-nokay> As B<-nok> except it will report on older systems. =item B<-p> The names of one or more patch files or other text attachments to be included with the report. Multiple files must be separated with commas. =item B<-r> Your return address. The program will ask you to confirm its default if you don't use this option. =item B<-S> Send without asking for confirmation. =item B<-s> Subject to include with the message. You will be prompted if you don't supply one on the command line. =item B<-t> Test mode. The target address defaults to B<perlbug-test@perl.org>. Also makes it possible to command perlbug from a pipe or file, for testing purposes. =item B<-T> Send a thank-you note instead of a bug report. =item B<-v> Include verbose configuration data in the report. =back =head1 AUTHORS Kenneth Albanowski (E<lt>kjahds@kjahds.comE<gt>), subsequently I<doc>tored by Gurusamy Sarathy (E<lt>gsar@activestate.comE<gt>), Tom Christiansen (E<lt>tchrist@perl.comE<gt>), Nathan Torkington (E<lt>gnat@frii.comE<gt>), Charles F. Randall (E<lt>cfr@pobox.comE<gt>), Mike Guy (E<lt>mjtg@cam.ac.ukE<gt>), Dominic Dunlop (E<lt>domo@computer.orgE<gt>), Hugo van der Sanden (E<lt>hv@crypt.orgE<gt>), Jarkko Hietaniemi (E<lt>jhi@iki.fiE<gt>), Chris Nandor (E<lt>pudge@pobox.comE<gt>), Jon Orwant (E<lt>orwant@media.mit.eduE<gt>, Richard Foley (E<lt>richard.foley@rfi.netE<gt>), Jesse Vincent (E<lt>jesse@bestpractical.comE<gt>), and Craig A. Berry (E<lt>craigberry@mac.comE<gt>). =head1 SEE ALSO perl(1), perldebug(1), perldiag(1), perlport(1), perltrap(1), diff(1), patch(1), dbx(1), gdb(1) =head1 BUGS None known (guess what must have been used to report them?) =cut
Save
cmd:
run