Linux localhost.localdomain 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64
Apache
: 10.29.51.72 | : 216.73.216.153
Cant Read [ /etc/named.conf ]
7.2.34
apache
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
7za
41
B
-rwxr-xr-x
ControlPanel
5.55
KB
-rwxr-xr-x
GET
14.71
KB
-rwxr-xr-x
HEAD
14.71
KB
-rwxr-xr-x
Mail
383.67
KB
-rwxr-xr-x
POST
14.71
KB
-rwxr-xr-x
VGAuthService
129.49
KB
-rwxr-xr-x
WebKitWebDriver
1.06
MB
-rwxr-xr-x
X
2.33
MB
-rwsr-xr-x
Xorg
2.33
MB
-rwsr-xr-x
Xvnc
2.34
MB
-rwxr-xr-x
[
40.52
KB
-rwxr-xr-x
a2p
105.32
KB
-rwxr-xr-x
ab
51.41
KB
-rwxr-xr-x
abrt-action-analyze-backtrace
10.98
KB
-rwxr-xr-x
abrt-action-analyze-c
10.98
KB
-rwxr-xr-x
abrt-action-analyze-ccpp-local
1.31
KB
-rwxr-xr-x
abrt-action-analyze-core
6.66
KB
-rwxr-xr-x
abrt-action-analyze-oops
10.96
KB
-rwxr-xr-x
abrt-action-analyze-python
10.97
KB
-rwxr-xr-x
abrt-action-analyze-vmcore
2.75
KB
-rwxr-xr-x
abrt-action-analyze-vulnerabil...
1.32
KB
-rwxr-xr-x
abrt-action-analyze-xorg
11
KB
-rwxr-xr-x
abrt-action-check-oops-for-hw-...
4.88
KB
-rwxr-xr-x
abrt-action-generate-backtrace
10.99
KB
-rwxr-xr-x
abrt-action-generate-core-back...
10.98
KB
-rwxr-xr-x
abrt-action-install-debuginfo
8.15
KB
-rwxr-xr-x
abrt-action-list-dsos
3.13
KB
-rwxr-xr-x
abrt-action-notify
8.75
KB
-rwxr-xr-x
abrt-action-perform-ccpp-analy...
3.45
KB
-rwxr-xr-x
abrt-action-save-kernel-data
1.26
KB
-rwxr-xr-x
abrt-action-save-package-data
23.16
KB
-rwxr-xr-x
abrt-action-trim-files
15.04
KB
-rwxr-xr-x
abrt-applet
47.5
KB
-rwxr-xr-x
abrt-cli
27.3
KB
-rwxr-xr-x
abrt-dump-oops
19.01
KB
-rwxr-xr-x
abrt-dump-xorg
14.99
KB
-rwxr-xr-x
abrt-handle-upload
8.84
KB
-rwxr-xr-x
abrt-merge-pstoreoops
11.01
KB
-rwxr-xr-x
abrt-retrace-client
43.45
KB
-rwxr-xr-x
abrt-watch-log
14.99
KB
-rwxr-xr-x
abs2rel
1.62
KB
-rwxr-xr-x
ac
28.11
KB
-rwxr-xr-x
accountwizard
924.19
KB
-rwxr-xr-x
aclocal
35.87
KB
-rwxr-xr-x
aclocal-1.13
35.87
KB
-rwxr-xr-x
aconnect
19.66
KB
-rwxr-xr-x
acpid
850.33
KB
-rwxr-xr-x
add-shell
850.33
KB
-rwxr-xr-x
addgroup
850.33
KB
-rwxr-xr-x
addr2line
28.42
KB
-rwxr-xr-x
adjtimex
850.33
KB
-rwxr-xr-x
akonadi2xml
15.5
KB
-rwxr-xr-x
akonadi_agent_launcher
100.88
KB
-rwxr-xr-x
akonadi_agent_server
121.24
KB
-rwxr-xr-x
akonadi_birthdays_resource
99.44
KB
-rwxr-xr-x
akonadi_control
318.45
KB
-rwxr-xr-x
akonadi_davgroupware_resource
522.35
KB
-rwxr-xr-x
akonadi_icaldir_resource
95.12
KB
-rwxr-xr-x
akonadi_imap_resource
533.24
KB
-rwxr-xr-x
akonadi_invitations_agent
70.31
KB
-rwxr-xr-x
akonadi_kabc_resource
136.37
KB
-rwxr-xr-x
akonadi_kcal_resource
135.98
KB
-rwxr-xr-x
akonadi_kdeaccounts_resource
124.4
KB
-rwxr-xr-x
akonadi_localbookmarks_resourc...
53.42
KB
-rwxr-xr-x
akonadi_maildispatcher_agent
140.09
KB
-rwxr-xr-x
akonadi_mailtransport_dummy_re...
45.43
KB
-rwxr-xr-x
akonadi_microblog_resource
103.5
KB
-rwxr-xr-x
akonadi_mixedmaildir_resource
332.84
KB
-rwxr-xr-x
akonadi_nepomuk_feeder
211.78
KB
-rwxr-xr-x
akonadi_nepomuktag_resource
74.01
KB
-rwxr-xr-x
akonadi_nntp_resource
115.82
KB
-rwxr-xr-x
akonadi_openxchange_resource
399.35
KB
-rwxr-xr-x
akonadi_pop3_resource
267.46
KB
-rwxr-xr-x
akonadi_rds
113.04
KB
-rwxr-xr-x
akonadi_vcarddir_resource
86.88
KB
-rwxr-xr-x
akonadictl
125.29
KB
-rwxr-xr-x
akonadiserver
1.51
MB
-rwxr-xr-x
akonaditray
122.95
KB
-rwxr-xr-x
akregator
57.93
KB
-rwxr-xr-x
akregatorstorageexporter
39.89
KB
-rwxr-xr-x
alias
29
B
-rwxr-xr-x
alsa-delay
22.38
KB
-rwxr-xr-x
alsabat
36.23
KB
-rwxr-xr-x
alsaloop
73.1
KB
-rwxr-xr-x
alsamixer
65.95
KB
-rwxr-xr-x
alsatplg
11.17
KB
-rwxr-xr-x
alsaucm
15.73
KB
-rwxr-xr-x
alsaunmute
123
B
-rwxr-xr-x
alt-java
8.87
KB
-rwxr-xr-x
amidi
23.72
KB
-rwxr-xr-x
amixer
52.88
KB
-rwxr-xr-x
amuFormat.sh
2.61
KB
-rwxr-xr-x
anaconda-cleanup
2.76
KB
-rwxr-xr-x
anaconda-disable-nm-ibft-plugi...
102
B
-rwxr-xr-x
analog
7.85
KB
-rwxr-xr-x
anydesk
87
B
-rwxr-xr-x
aplay
64.88
KB
-rwxr-xr-x
aplaymidi
19.74
KB
-rwxr-xr-x
applydeltarpm
68.53
KB
-rwxr-xr-x
appstream-compose
27.2
KB
-rwxr-xr-x
appstream-util
104.02
KB
-rwxr-xr-x
apr-1-config
6.73
KB
-rwxr-xr-x
apropos
45.49
KB
-rwxr-xr-x
apu-1-config
6.31
KB
-rwxr-xr-x
apxs
23.17
KB
-rwxr-xr-x
ar
61.22
KB
-rwxr-xr-x
arch
32.3
KB
-rwxr-xr-x
arecord
64.88
KB
-rwxr-xr-x
arecordmidi
23.78
KB
-rwxr-xr-x
aria_chk
3.8
MB
-rwxr-xr-x
aria_dump_log
3.6
MB
-rwxr-xr-x
aria_ftdump
3.61
MB
-rwxr-xr-x
aria_pack
3.64
MB
-rwxr-xr-x
aria_read_log
3.76
MB
-rwxr-xr-x
ark
86.89
KB
-rwxr-xr-x
arpaname
7.03
KB
-rwxr-xr-x
as
377.36
KB
-rwxr-xr-x
aseqdump
19.45
KB
-rwxr-xr-x
aseqnet
19.62
KB
-rwxr-xr-x
aserver
28.21
KB
-rwxr-xr-x
ash
850.33
KB
-rwxr-xr-x
at
51.73
KB
-rwsr-xr-x
atq
51.73
KB
-rwsr-xr-x
atrm
51.73
KB
-rwsr-xr-x
attr
11.16
KB
-rwxr-xr-x
audit2allow
14.21
KB
-rwxr-xr-x
audit2why
14.21
KB
-rwxr-xr-x
aulast
15.48
KB
-rwxr-xr-x
aulastlog
11.35
KB
-rwxr-xr-x
ausyscall
11.18
KB
-rwxr-xr-x
autoconf
14.42
KB
-rwxr-xr-x
autoheader
8.33
KB
-rwxr-xr-x
autom4te
31.43
KB
-rwxr-xr-x
automake
246.44
KB
-rwxr-xr-x
automake-1.13
246.44
KB
-rwxr-xr-x
autopoint
25.95
KB
-rwxr-xr-x
autoreconf
20.57
KB
-rwxr-xr-x
autoscan
16.72
KB
-rwxr-xr-x
autoupdate
33.08
KB
-rwxr-xr-x
auvirt
31.93
KB
-rwxr-xr-x
awk
418.54
KB
-rwxr-xr-x
aws
818
B
-rwxr-xr-x
aws_completer
1.11
KB
-rwxr-xr-x
axfer
77.69
KB
-rwxr-xr-x
baobab
189.71
KB
-rwxr-xr-x
base64
36.48
KB
-rwxr-xr-x
basename
28.35
KB
-rwxr-xr-x
bash
941.93
KB
-rwxr-xr-x
bashbug
6.8
KB
-rwxr-xr-x
bashbug-64
6.8
KB
-rwxr-xr-x
batch
137
B
-rwxr-xr-x
bc
81.47
KB
-rwxr-xr-x
bccmd
199.41
KB
-rwxr-xr-x
bd_info
11.05
KB
-rwxr-xr-x
bdftopcf
44.19
KB
-rwxr-xr-x
bdftruncate
11.2
KB
-rwxr-xr-x
bdsplice
11.17
KB
-rwxr-xr-x
beep
850.33
KB
-rwxr-xr-x
berkeley_db47_svc
58.46
KB
-rwxr-xr-x
bg
26
B
-rwxr-xr-x
bison
393.34
KB
-rwxr-xr-x
blkiomon
24.59
KB
-rwxr-xr-x
blkparse
46.41
KB
-rwxr-xr-x
blkrawverify
15.27
KB
-rwxr-xr-x
blktrace
38.37
KB
-rwxr-xr-x
bluedevil-monolithic
53.51
KB
-rwxr-xr-x
bluedevil-sendfile
116
KB
-rwxr-xr-x
bluedevil-wizard
107.88
KB
-rwxr-xr-x
bluemoon
36.02
KB
-rwxr-xr-x
bluetooth-sendto
28.55
KB
-rwxr-xr-x
bluetoothctl
158.29
KB
-rwxr-xr-x
bno_plot.py
3.38
KB
-rwxr-xr-x
boltctl
90.86
KB
-rwxr-xr-x
bond2team
22.74
KB
-rwxr-xr-x
bootchartd
850.33
KB
-rwxr-xr-x
bootctl
68.99
KB
-rwxr-xr-x
brasero
411.46
KB
-rwxr-xr-x
brltty
507.35
KB
-rwxr-xr-x
brltty-config
1.49
KB
-rwxr-xr-x
brltty-ctb
135.69
KB
-rwxr-xr-x
brltty-install
3.12
KB
-rwxr-xr-x
brltty-trtxt
103.2
KB
-rwxr-xr-x
brltty-ttb
115.63
KB
-rwxr-xr-x
bsqldb
31.93
KB
-rwxr-xr-x
bsqlodbc
23.49
KB
-rwxr-xr-x
btattach
27.84
KB
-rwxr-xr-x
btmon
655.73
KB
-rwxr-xr-x
btrace
891
B
-rwxr-xr-x
btrecord
16.37
KB
-rwxr-xr-x
btreplay
25.01
KB
-rwxr-xr-x
btt
75.82
KB
-rwxr-xr-x
build-classpath
1.5
KB
-rwxr-xr-x
build-classpath-directory
383
B
-rwxr-xr-x
build-jar-repository
1.53
KB
-rwxr-xr-x
bunzip2
31.89
KB
-rwxr-xr-x
busctl
403.2
KB
-rwxr-xr-x
busybox
850.33
KB
-rwxr-xr-x
byacc
84.48
KB
-rwxr-xr-x
bzcat
31.89
KB
-rwxr-xr-x
bzcmp
2.08
KB
-rwxr-xr-x
bzdiff
2.08
KB
-rwxr-xr-x
bzgrep
1.64
KB
-rwxr-xr-x
bzip2
31.89
KB
-rwxr-xr-x
bzip2recover
15.24
KB
-rwxr-xr-x
bzless
1.23
KB
-rwxr-xr-x
bzmore
1.23
KB
-rwxr-xr-x
c++
754.59
KB
-rwxr-xr-x
c++filt
27.92
KB
-rwxr-xr-x
c2ph
35.75
KB
-rwxr-xr-x
c89
224
B
-rwxr-xr-x
c99
215
B
-rwxr-xr-x
ca-legacy
1.6
KB
-rwxr-xr-x
cairo-sphinx
69.99
KB
-rwxr-xr-x
cal
36.8
KB
-rwxr-xr-x
calibrate_ppa
24.52
KB
-rwxr-xr-x
canberra-boot
11.23
KB
-rwxr-xr-x
canberra-gtk-play
11.27
KB
-rwxr-xr-x
cancel
14.96
KB
-rwxr-xr-x
cancel.cups
14.96
KB
-rwxr-xr-x
captoinfo
64.26
KB
-rwxr-xr-x
cat
52.81
KB
-rwxr-xr-x
catchsegv
3.26
KB
-rwxr-xr-x
catman
36.75
KB
-rwxr-xr-x
cc
750.59
KB
-rwxr-xr-x
ccache-swig
48.48
KB
-rwxr-xr-x
cd
26
B
-rwxr-xr-x
cd-create-profile
23.81
KB
-rwxr-xr-x
cd-drive
23.53
KB
-rwxr-xr-x
cd-fix-profile
24.04
KB
-rwxr-xr-x
cd-iccdump
11.41
KB
-rwxr-xr-x
cd-info
40.02
KB
-rwxr-xr-x
cd-it8
23.87
KB
-rwxr-xr-x
cd-paranoia
35.72
KB
-rwxr-xr-x
cd-read
27.61
KB
-rwxr-xr-x
cdda-player
31.87
KB
-rwxr-xr-x
cdda2ogg
2.23
KB
-rwxr-xr-x
cdda2wav
200.09
KB
-rwxr-xr-x
cdparanoia
69.6
KB
-rwxr-xr-x
cdrdao
560.98
KB
-rwxr-xr-x
cdrecord
304.54
KB
-rwxr-xr-x
celtdec051
19.44
KB
-rwxr-xr-x
celtenc051
23.59
KB
-rwxr-xr-x
centrino-decode
6.13
KB
-rwxr-xr-x
certbot
305
B
-rwxr-xr-x
certbot-2
305
B
-rwxr-xr-x
certtool
147.52
KB
-rwxr-xr-x
certutil
179.74
KB
-rwxr-xr-x
cgi-fcgi
19.09
KB
-rwxr-xr-x
chacl
15.27
KB
-rwxr-xr-x
chage
72.16
KB
-rwsr-xr-x
chardetect
307
B
-rwxr-xr-x
charmap
78.97
KB
-rwxr-xr-x
chattr
11.27
KB
-rwxr-xr-x
chcat
13.12
KB
-rwxr-xr-x
chcon
61.46
KB
-rwxr-xr-x
check-binary-files
3.25
KB
-rwxr-xr-x
checkXML
104
B
-rwxr-xr-x
checkisomd5
19.42
KB
-rwxr-xr-x
checkmodule
400.48
KB
-rwxr-xr-x
checkpolicy
412.46
KB
-rwxr-xr-x
checksctp
7
KB
-rwxr-xr-x
cheese
252.27
KB
-rwxr-xr-x
chfn
23.41
KB
-rws--x--x
chgrp
61.32
KB
-rwxr-xr-x
chmem
40.43
KB
-rwxr-xr-x
chmod
57.21
KB
-rwxr-xr-x
chown
61.36
KB
-rwxr-xr-x
chpst
850.33
KB
-rwxr-xr-x
chronyc
85.03
KB
-rwxr-xr-x
chrt
32.17
KB
-rwxr-xr-x
chsh
23.32
KB
-rws--x--x
chvt
11.14
KB
-rwxr-xr-x
ci
801
B
-rwxr-xr-x
cifscreds
19.46
KB
-rwxr-xr-x
cifsiostat
48.5
KB
-rwxr-xr-x
ciptool
145.23
KB
-rwxr-xr-x
cksum
32.38
KB
-rwxr-xr-x
clambc
139.76
KB
-rwxr-xr-x
clamconf
139.44
KB
-rwxr-xr-x
clamdscan
155.76
KB
-rwxr-xr-x
clamdtop
155.74
KB
-rwxr-xr-x
clamscan
163.65
KB
-rwxr-xr-x
clamsubmit
147.72
KB
-rwxr-xr-x
clean-binary-files
12.91
KB
-rwxr-xr-x
clear
7.02
KB
-rwxr-xr-x
clibrary
11.06
KB
-rwxr-xr-x
clibrary2
11.07
KB
-rwxr-xr-x
clpi_dump
28.55
KB
-rwxr-xr-x
cmp
44.21
KB
-rwxr-xr-x
cmsutil
110.58
KB
-rwxr-xr-x
co
801
B
-rwxr-xr-x
col
23.88
KB
-rwxr-xr-x
colcrt
11.29
KB
-rwxr-xr-x
colord-kde-icc-importer
53.45
KB
-rwxr-xr-x
colormgr
61.12
KB
-rwxr-xr-x
colrm
23.77
KB
-rwxr-xr-x
column
27.99
KB
-rwxr-xr-x
combinedeltarpm
52.09
KB
-rwxr-xr-x
combinediff
48.7
KB
-rwxr-xr-x
comm
36.55
KB
-rwxr-xr-x
command
31
B
-rwxr-xr-x
compress
24.49
KB
-rwxr-xr-x
connection_recovery
11.08
KB
-rwxr-xr-x
consolehelper
6.95
KB
-rwxr-xr-x
conspy
850.33
KB
-rwxr-xr-x
coredumpctl
154.52
KB
-rwxr-xr-x
corosync-blackbox
1.79
KB
-rwxr-xr-x
corosync-xmlproc
2.09
KB
-rwxr-xr-x
coverage
306
B
-rwxr-xr-x
coverage-2.7
314
B
-rwxr-xr-x
coverage2
308
B
-rwxr-xr-x
cp
151.55
KB
-rwxr-xr-x
cpio
142.55
KB
-rwxr-xr-x
cpp
754.58
KB
-rwxr-xr-x
cpupower
66.34
KB
-rwxr-xr-x
crash
7.21
MB
-rwxr-xr-x
create-jar-links
4.55
KB
-rwxr-xr-x
createrepo
60
B
-rwxr-xr-x
crlutil
126.99
KB
-rwxr-xr-x
crontab
56.23
KB
-rwsr-xr-x
cryptpw
850.33
KB
-rwxr-xr-x
crywrap
24.2
KB
-rwxr-xr-x
cscope
656.2
KB
-rwxr-xr-x
cscope-indexer
3.77
KB
-rwxr-xr-x
csh
395.15
KB
-rwxr-xr-x
csplit
48.82
KB
-rwxr-xr-x
csslint-0.6
19.55
KB
-rwxr-xr-x
ctags
237.99
KB
-rwxr-xr-x
cttyhack
850.33
KB
-rwxr-xr-x
cue2toc
23.7
KB
-rwxr-xr-x
cups-calibrate
23.27
KB
-rwxr-xr-x
cupstestdsc
14.98
KB
-rwxr-xr-x
cupstestppd
55.13
KB
-rwxr-xr-x
curl
152.99
KB
-rwxr-xr-x
cut
40.61
KB
-rwxr-xr-x
cvt
15.31
KB
-rwxr-xr-x
cvtsudoers
241.7
KB
-rwxr-xr-x
danetool
114.96
KB
-rwxr-xr-x
datacopy
19.52
KB
-rwxr-xr-x
date
60.74
KB
-rwxr-xr-x
db47_archive
10.21
KB
-rwxr-xr-x
db47_checkpoint
10.27
KB
-rwxr-xr-x
db47_codegen
22.25
KB
-rwxr-xr-x
db47_deadlock
10.28
KB
-rwxr-xr-x
db47_dump
14.25
KB
-rwxr-xr-x
db47_hotbackup
18.38
KB
-rwxr-xr-x
db47_load
26.33
KB
-rwxr-xr-x
db47_printlog
62.8
KB
-rwxr-xr-x
db47_recover
10.27
KB
-rwxr-xr-x
db47_stat
14.22
KB
-rwxr-xr-x
db47_upgrade
10.23
KB
-rwxr-xr-x
db47_verify
10.22
KB
-rwxr-xr-x
db_archive
11.23
KB
-rwxr-xr-x
db_checkpoint
11.3
KB
-rwxr-xr-x
db_deadlock
11.31
KB
-rwxr-xr-x
db_dump
15.33
KB
-rwxr-xr-x
db_dump185
64.45
KB
-rwxr-xr-x
db_hotbackup
15.34
KB
-rwxr-xr-x
db_load
27.51
KB
-rwxr-xr-x
db_log_verify
15.34
KB
-rwxr-xr-x
db_printlog
32.26
KB
-rwxr-xr-x
db_recover
11.33
KB
-rwxr-xr-x
db_replicate
15.34
KB
-rwxr-xr-x
db_stat
15.26
KB
-rwxr-xr-x
db_tuner
19.33
KB
-rwxr-xr-x
db_upgrade
11.23
KB
-rwxr-xr-x
db_verify
11.25
KB
-rwxr-xr-x
dbilogstrip
1.43
KB
-rwxr-xr-x
dbinfo
3.29
KB
-rwxr-xr-x
dbiprof
6.15
KB
-rwxr-xr-x
dbiproxy
5.35
KB
-rwxr-xr-x
dbus-binding-tool
94.49
KB
-rwxr-xr-x
dbus-cleanup-sockets
11
KB
-rwxr-xr-x
dbus-daemon
218
KB
-rwxr-xr-x
dbus-launch
27.23
KB
-rwxr-xr-x
dbus-monitor
23.13
KB
-rwxr-xr-x
dbus-run-session
14.97
KB
-rwxr-xr-x
dbus-send
27.07
KB
-rwxr-xr-x
dbus-test-tool
23.13
KB
-rwxr-xr-x
dbus-update-activation-environ...
15.02
KB
-rwxr-xr-x
dbus-uuidgen
10.98
KB
-rwxr-xr-x
dc
44.33
KB
-rwxr-xr-x
dconf
48.89
KB
-rwxr-xr-x
dd
73.14
KB
-rwxr-xr-x
deallocvt
11.16
KB
-rwxr-xr-x
debuginfo-install
7.88
KB
-rwxr-xr-x
defncopy
19.7
KB
-rwxr-xr-x
dehtmldiff
1.32
KB
-rwxr-xr-x
delgroup
850.33
KB
-rwxr-xr-x
deluser
850.33
KB
-rwxr-xr-x
delv
39.98
KB
-rwxr-xr-x
desktop-file-edit
74.73
KB
-rwxr-xr-x
desktop-file-install
74.73
KB
-rwxr-xr-x
desktop-file-validate
62.68
KB
-rwxr-xr-x
detect_ppa
3.5
KB
-rwxr-xr-x
devdump
64.73
KB
-rwxr-xr-x
devmem
850.33
KB
-rwxr-xr-x
df
102.55
KB
-rwxr-xr-x
dfu-tool
215.23
KB
-rwxr-xr-x
dgawk
502.12
KB
-rwxr-xr-x
dhcprelay
850.33
KB
-rwxr-xr-x
diff
195.53
KB
-rwxr-xr-x
diff-jars
1.21
KB
-rwxr-xr-x
diff3
60.74
KB
-rwxr-xr-x
diffpp
4.44
KB
-rwxr-xr-x
diffstat
35.76
KB
-rwxr-xr-x
dig
146.96
KB
-rwxr-xr-x
dir
114.85
KB
-rwxr-xr-x
dircolors
40.44
KB
-rwxr-xr-x
dirname
28.31
KB
-rwxr-xr-x
dltest
11.05
KB
-rwxr-xr-x
dm_date
5.47
KB
-rwxr-xr-x
dm_zdump
4.95
KB
-rwxr-xr-x
dmesg
48.52
KB
-rwxr-xr-x
dnsd
850.33
KB
-rwxr-xr-x
dnsdomainname
15.41
KB
-rwxr-xr-x
dolphin
6.99
KB
-rwxr-xr-x
domainname
15.41
KB
-rwxr-xr-x
dos2unix
850.33
KB
-rwxr-xr-x
doveadm
596.59
KB
-rwxr-xr-x
doveconf
161.41
KB
-rwxr-xr-x
doxygen
8.47
MB
-rwxr-xr-x
dpkg
850.33
KB
-rwxr-xr-x
dpkg-deb
850.33
KB
-rwxr-xr-x
dracut
55.83
KB
-rwxr-xr-x
drill
60.88
KB
-rwxr-xr-x
dsync
596.59
KB
-rwxr-xr-x
dtrace
16.66
KB
-rwxr-xr-x
du
110.34
KB
-rwxr-xr-x
dumpiso
11.44
KB
-rwxr-xr-x
dumpkeys
77.51
KB
-rwxr-xr-x
dumpkmap
850.33
KB
-rwxr-xr-x
dumpleases
850.33
KB
-rwxr-xr-x
dvcont
15.3
KB
-rwxr-xr-x
dvd+rw-booktype
63.55
KB
-rwxr-xr-x
dvd+rw-format
43.59
KB
-rwxr-xr-x
dvd+rw-mediainfo
47.39
KB
-rwxr-xr-x
dvd-ram-control
23.35
KB
-rwxr-xr-x
dvdrecord
304.54
KB
-rwxr-xr-x
dvipdf
1
KB
-rwxr-xr-x
dwp
3.03
MB
-rwxr-xr-x
dwz
162.6
KB
-rwxr-xr-x
easy_install
320
B
-rwxr-xr-x
easy_install-2.7
328
B
-rwxr-xr-x
echo
32.31
KB
-rwxr-xr-x
ed
48.68
KB
-rwxr-xr-x
edid-decode
41.23
KB
-rwxr-xr-x
editdiff
2
KB
-rwxr-xr-x
egrep
290
B
-rwxr-xr-x
eject
48.81
KB
-rwxr-xr-x
elfedit
32.18
KB
-rwxr-xr-x
empathy
289.11
KB
-rwxr-xr-x
empathy-accounts
87.55
KB
-rwxr-xr-x
empathy-debugger
57.73
KB
-rwxr-xr-x
enchant
15.29
KB
-rwxr-xr-x
enchant-lsmod
11.13
KB
-rwxr-xr-x
encode_keychange
18.98
KB
-rwxr-xr-x
enscript
204.81
KB
-rwxr-xr-x
env
28.33
KB
-rwxr-xr-x
envdir
850.33
KB
-rwxr-xr-x
envsubst
36.01
KB
-rwxr-xr-x
envuidgid
850.33
KB
-rwxr-xr-x
eog
11.28
KB
-rwxr-xr-x
eps2eps
639
B
-rwxr-xr-x
eqn
144.41
KB
-rwxr-xr-x
erb
4.29
KB
-rwxr-xr-x
escputil
65.68
KB
-rwxr-xr-x
espdiff
1.53
KB
-rwxr-xr-x
espeak
20
KB
-rwxr-xr-x
etckeeper
2.79
KB
-rwxr-xr-x
eu-addr2line
23.66
KB
-rwxr-xr-x
eu-ar
35.97
KB
-rwxr-xr-x
eu-elfcmp
32.16
KB
-rwxr-xr-x
eu-elfcompress
27.64
KB
-rwxr-xr-x
eu-elflint
108.8
KB
-rwxr-xr-x
eu-findtextrel
19.55
KB
-rwxr-xr-x
eu-make-debug-archive
2.84
KB
-rwxr-xr-x
eu-nm
44.92
KB
-rwxr-xr-x
eu-objdump
32.45
KB
-rwxr-xr-x
eu-ranlib
19.58
KB
-rwxr-xr-x
eu-readelf
230.43
KB
-rwxr-xr-x
eu-size
19.42
KB
-rwxr-xr-x
eu-stack
23.64
KB
-rwxr-xr-x
eu-strings
19.59
KB
-rwxr-xr-x
eu-strip
56.75
KB
-rwxr-xr-x
eu-unstrip
48.23
KB
-rwxr-xr-x
evince
426.85
KB
-rwxr-xr-x
evince-previewer
49.79
KB
-rwxr-xr-x
evince-thumbnailer
15.49
KB
-rwxr-xr-x
ex
906.45
KB
-rwxr-xr-x
exempi
15.49
KB
-rwxr-xr-x
exiv2
203.78
KB
-rwxr-xr-x
expand
32.48
KB
-rwxr-xr-x
expr
36.53
KB
-rwxr-xr-x
extresso
9.22
KB
-rwxr-xr-x
f95
754.58
KB
-rwxr-xr-x
factor
93.29
KB
-rwxr-xr-x
fail2ban-client
1.39
KB
-rwxr-xr-x
fail2ban-python
6.98
KB
-rwxr-xr-x
fail2ban-regex
1.25
KB
-rwxr-xr-x
fail2ban-server
1.39
KB
-rwxr-xr-x
fakeidentd
850.33
KB
-rwxr-xr-x
fallocate
27.84
KB
-rwxr-xr-x
false
28.25
KB
-rwxr-xr-x
fatattr
850.33
KB
-rwxr-xr-x
fbset
850.33
KB
-rwxr-xr-x
fbsplash
850.33
KB
-rwxr-xr-x
fc
26
B
-rwxr-xr-x
fc-cache
132
B
-rwxr-xr-x
fc-cache-64
15.45
KB
-rwxr-xr-x
fc-cat
15.4
KB
-rwxr-xr-x
fc-conflist
11.2
KB
-rwxr-xr-x
fc-list
11.26
KB
-rwxr-xr-x
fc-match
11.32
KB
-rwxr-xr-x
fc-pattern
11.26
KB
-rwxr-xr-x
fc-query
11.23
KB
-rwxr-xr-x
fc-scan
11.27
KB
-rwxr-xr-x
fc-validate
11.27
KB
-rwxr-xr-x
fdflush
850.33
KB
-rwxr-xr-x
festival
22.49
KB
-rwxr-xr-x
festival_client
26.57
KB
-rwxr-xr-x
festival_server
6.89
KB
-rwxr-xr-x
festival_server_control
3.94
KB
-rwxr-xr-x
fg
26
B
-rwxr-xr-x
fgconsole
11.16
KB
-rwxr-xr-x
fgrep
290
B
-rwxr-xr-x
file
19.3
KB
-rwxr-xr-x
file-roller
494.12
KB
-rwxr-xr-x
filterdiff
45.2
KB
-rwxr-xr-x
find
194.63
KB
-rwxr-xr-x
find-jar
748
B
-rwxr-xr-x
find-repos-of-install
4.27
KB
-rwxr-xr-x
find2perl
23.06
KB
-rwxr-xr-x
findmnt
58.38
KB
-rwxr-xr-x
fipscheck
15.37
KB
-rwxr-xr-x
fipshmac
11.3
KB
-rwxr-xr-x
firefox
3.86
KB
-rwxr-xr-x
firewall-cmd
113.48
KB
-rwxr-xr-x
firewall-config
324.5
KB
-rwxr-xr-x
firewall-offline-cmd
101.18
KB
-rwxr-xr-x
fisql
28.09
KB
-rwxr-xr-x
fixcvsdiff
1.83
KB
-rwxr-xr-x
flatpak
1.04
MB
-rwxr-xr-x
flex
318.07
KB
-rwxr-xr-x
flex++
318.07
KB
-rwxr-xr-x
flipdiff
48.7
KB
-rwxr-xr-x
flite
15.28
KB
-rwxr-xr-x
flite_time
11.07
KB
-rwxr-xr-x
flock
23.88
KB
-rwxr-xr-x
fmt
36.48
KB
-rwxr-xr-x
fold
36.46
KB
-rwxr-xr-x
fonttosfnt
35.99
KB
-rwxr-xr-x
formail
43.68
KB
-rwxr-xr-x
fprintd-delete
11.22
KB
-rwxr-xr-x
fprintd-enroll
15.88
KB
-rwxr-xr-x
fprintd-list
11.25
KB
-rwxr-xr-x
fprintd-verify
11.33
KB
-rwxr-xr-x
free
19.33
KB
-rwxr-xr-x
freebcp
23.63
KB
-rwxr-xr-x
freeramdisk
850.33
KB
-rwxr-xr-x
freshclam
39.23
KB
-rwxr-xr-x
fribidi
16.09
KB
-rwxr-xr-x
fros
2.6
KB
-rwxr-xr-x
fsview
161.88
KB
-rwxr-xr-x
fsync
850.33
KB
-rwxr-xr-x
ftpd
850.33
KB
-rwxr-xr-x
ftpdctl
76.91
KB
-rwxr-xr-x
ftpget
850.33
KB
-rwxr-xr-x
ftpput
850.33
KB
-rwxr-xr-x
funzip
31.38
KB
-rwxr-xr-x
fusermount
31.34
KB
-rwsr-xr-x
futurize
304
B
-rwxr-xr-x
futurize-2
304
B
-rwxr-xr-x
futurize-2.7
304
B
-rwxr-xr-x
fwupdmgr
141.8
KB
-rwxr-xr-x
g++
754.59
KB
-rwxr-xr-x
gapplication
19.48
KB
-rwxr-xr-x
gatttool
241.33
KB
-rwxr-xr-x
gawk
418.54
KB
-rwxr-xr-x
gcalccmd
230.96
KB
-rwxr-xr-x
gcc
750.59
KB
-rwxr-xr-x
gcc-ar
26.45
KB
-rwxr-xr-x
gcc-nm
26.45
KB
-rwxr-xr-x
gcc-ranlib
26.45
KB
-rwxr-xr-x
gcm-calibrate
169.2
KB
-rwxr-xr-x
gcm-import
63.91
KB
-rwxr-xr-x
gcm-inspect
63.88
KB
-rwxr-xr-x
gcm-picker
80.23
KB
-rwxr-xr-x
gcm-viewer
104.92
KB
-rwxr-xr-x
gconf-merge-tree
56.85
KB
-rwxr-xr-x
gconftool-2
60.55
KB
-rwxr-xr-x
gcore
2.12
KB
-rwxr-xr-x
gcov
307.45
KB
-rwxr-xr-x
gcr-viewer
11.39
KB
-rwxr-xr-x
gdb
6.51
MB
-rwxr-xr-x
gdb-add-index
1.09
KB
-rwxr-xr-x
gdbus
40.17
KB
-rwxr-xr-x
gdk-pixbuf-query-loaders-64
15.38
KB
-rwxr-xr-x
gdk-pixbuf-thumbnailer
15.59
KB
-rwxr-xr-x
gdm-screenshot
15.11
KB
-rwxr-xr-x
gdmflexiserver
27.73
KB
-rwxr-xr-x
gedit
11.11
KB
-rwxr-xr-x
gem
542
B
-rwxr-xr-x
gencat
22.11
KB
-rwxr-xr-x
gendiff
586
B
-rwxr-xr-x
genisoimage
509.02
KB
-rwxr-xr-x
genl-ctrl-list
11.27
KB
-rwxr-xr-x
genresscript
3.87
KB
-rwxr-xr-x
geoiplookup
15.28
KB
-rwxr-xr-x
geoiplookup6
11.16
KB
-rwxr-xr-x
geoipupdate
31.32
KB
-rwxr-xr-x
geqn
144.41
KB
-rwxr-xr-x
getcifsacl
15.05
KB
-rwxr-xr-x
getconf
22.02
KB
-rwxr-xr-x
getent
26.39
KB
-rwxr-xr-x
getfacl
24.29
KB
-rwxr-xr-x
getfattr
20.06
KB
-rwxr-xr-x
getkeycodes
11.16
KB
-rwxr-xr-x
getopt
15.38
KB
-rwxr-xr-x
getopts
31
B
-rwxr-xr-x
gettext
35.94
KB
-rwxr-xr-x
gettext.sh
4.52
KB
-rwxr-xr-x
gettextize
42.69
KB
-rwxr-xr-x
getty
850.33
KB
-rwxr-xr-x
gfortran
754.58
KB
-rwxr-xr-x
ghostscript
10.97
KB
-rwxr-xr-x
gio
73.41
KB
-rwxr-xr-x
gio-querymodules-64
11.31
KB
-rwxr-xr-x
git
1.46
MB
-rwxr-xr-x
git-receive-pack
1.46
MB
-rwxr-xr-x
git-shell
717.95
KB
-rwxr-xr-x
git-upload-archive
1.46
MB
-rwxr-xr-x
git-upload-pack
791.44
KB
-rwxr-xr-x
gjs
16.08
KB
-rwxr-xr-x
gjs-console
16.08
KB
-rwxr-xr-x
gkbd-keyboard-display
11.4
KB
-rwxr-xr-x
glib-compile-schemas
44.38
KB
-rwxr-xr-x
glxgears
23.75
KB
-rwxr-xr-x
glxinfo
44.02
KB
-rwxr-xr-x
glxinfo64
44.02
KB
-rwxr-xr-x
gmake
178.47
KB
-rwxr-xr-x
gneqn
271
B
-rwxr-xr-x
gnome-abrt
12.49
KB
-rwxr-xr-x
gnome-boxes
1.38
MB
-rwxr-xr-x
gnome-calculator
654.32
KB
-rwxr-xr-x
gnome-character-map
78.97
KB
-rwxr-xr-x
gnome-clocks
289.75
KB
-rwxr-xr-x
gnome-contacts
432.06
KB
-rwxr-xr-x
gnome-control-center
3.2
MB
-rwxr-xr-x
gnome-dictionary
252.54
KB
-rwxr-xr-x
gnome-disk-image-mounter
48.98
KB
-rwxr-xr-x
gnome-disks
570.82
KB
-rwxr-xr-x
gnome-documents
235
B
-rwxr-xr-x
gnome-font-viewer
75.26
KB
-rwxr-xr-x
gnome-help
53.83
KB
-rwxr-xr-x
gnome-keyring
19.45
KB
-rwxr-xr-x
gnome-keyring-3
19.45
KB
-rwxr-xr-x
gnome-keyring-daemon
1.08
MB
-rwxr-xr-x
gnome-screenshot
83.56
KB
-rwxr-xr-x
gnome-session
664
B
-rwxr-xr-x
gnome-session-custom-session
451
B
-rwxr-xr-x
gnome-session-inhibit
11.21
KB
-rwxr-xr-x
gnome-session-properties
70.45
KB
-rwxr-xr-x
gnome-session-quit
11.55
KB
-rwxr-xr-x
gnome-session-selector
24.26
KB
-rwxr-xr-x
gnome-shell
20.06
KB
-rwxr-xr-x
gnome-shell-extension-prefs
2.06
MB
-rwxr-xr-x
gnome-shell-extension-tool
7.16
KB
-rwxr-xr-x
gnome-shell-perf-tool
11.41
KB
-rwxr-xr-x
gnome-software
978.58
KB
-rwxr-xr-x
gnome-system-log
32
B
-rwxr-xr-x
gnome-system-monitor
311.94
KB
-rwxr-xr-x
gnome-terminal
99.51
KB
-rwxr-xr-x
gnome-text-editor
11.11
KB
-rwxr-xr-x
gnome-thumbnail-font
23.85
KB
-rwxr-xr-x
gnome-tweaks
2.69
KB
-rwxr-xr-x
gnome-weather
233
B
-rwxr-xr-x
gnroff
3.31
KB
-rwxr-xr-x
gnutls-cli
92.81
KB
-rwxr-xr-x
gnutls-cli-debug
70.74
KB
-rwxr-xr-x
gnutls-serv
70.41
KB
-rwxr-xr-x
gpasswd
76.57
KB
-rwsr-xr-x
gpg
732.4
KB
-rwxr-xr-x
gpg-agent
289.74
KB
-rwxr-xr-x
gpg-connect-agent
152.69
KB
-rwxr-xr-x
gpg-error
23.18
KB
-rwxr-xr-x
gpg-zip
3.23
KB
-rwxr-xr-x
gpg2
732.4
KB
-rwxr-xr-x
gpgconf
140.31
KB
-rwxr-xr-x
gpgparsemail
23.7
KB
-rwxr-xr-x
gpgsplit
48.88
KB
-rwxr-xr-x
gpgv
345.38
KB
-rwxr-xr-x
gpgv2
345.38
KB
-rwxr-xr-x
gpic
180.41
KB
-rwxr-xr-x
gpk-application
137.37
KB
-rwxr-xr-x
gpk-log
88.33
KB
-rwxr-xr-x
gpk-prefs
84.38
KB
-rwxr-xr-x
gpk-update-viewer
141.1
KB
-rwxr-xr-x
gprof
98.41
KB
-rwxr-xr-x
gr2fonttest
23.66
KB
-rwxr-xr-x
grep
155.3
KB
-rwxr-xr-x
grepdiff
45.2
KB
-rwxr-xr-x
grilo-test-ui-0.3
62.01
KB
-rwxr-xr-x
grl-inspect-0.3
20.48
KB
-rwxr-xr-x
grl-launch-0.3
24.41
KB
-rwxr-xr-x
groff
81.63
KB
-rwxr-xr-x
grops
140.85
KB
-rwxr-xr-x
grotty
98.59
KB
-rwxr-xr-x
groups
32.41
KB
-rwxr-xr-x
growisofs
120.63
KB
-rwxr-xr-x
grub2-editenv
396.08
KB
-rwxr-xr-x
grub2-file
830.36
KB
-rwxr-xr-x
grub2-fstest
1.03
MB
-rwxr-xr-x
grub2-glue-efi
258.86
KB
-rwxr-xr-x
grub2-kbdcomp
1.63
KB
-rwxr-xr-x
grub2-menulst2cfg
241.82
KB
-rwxr-xr-x
grub2-mkfont
287.58
KB
-rwxr-xr-x
grub2-mkimage
379.23
KB
-rwxr-xr-x
grub2-mklayout
264.9
KB
-rwxr-xr-x
grub2-mknetdir
429.8
KB
-rwxr-xr-x
grub2-mkpasswd-pbkdf2
271.3
KB
-rwxr-xr-x
grub2-mkrelpath
258.48
KB
-rwxr-xr-x
grub2-mkrescue
1013.88
KB
-rwxr-xr-x
grub2-mkstandalone
534.27
KB
-rwxr-xr-x
grub2-render-label
835.13
KB
-rwxr-xr-x
grub2-script-check
295.38
KB
-rwxr-xr-x
grub2-syslinux2cfg
763.7
KB
-rwxr-xr-x
gs
10.97
KB
-rwxr-xr-x
gsbj
350
B
-rwxr-xr-x
gsdj
352
B
-rwxr-xr-x
gsdj500
352
B
-rwxr-xr-x
gsettings
23.8
KB
-rwxr-xr-x
gsettings-data-convert
19.77
KB
-rwxr-xr-x
gsf-office-thumbnailer
15.61
KB
-rwxr-xr-x
gslj
353
B
-rwxr-xr-x
gslp
350
B
-rwxr-xr-x
gsnd
277
B
-rwxr-xr-x
gsoelim
32.59
KB
-rwxr-xr-x
gsound-play
15.45
KB
-rwxr-xr-x
gst-feedback
15.63
KB
-rwxr-xr-x
gst-feedback-0.10
3.1
KB
-rwxr-xr-x
gst-inspect
15.63
KB
-rwxr-xr-x
gst-inspect-0.10
44.42
KB
-rwxr-xr-x
gst-inspect-1.0
44.52
KB
-rwxr-xr-x
gst-launch
15.63
KB
-rwxr-xr-x
gst-launch-0.10
36.11
KB
-rwxr-xr-x
gst-launch-1.0
32.13
KB
-rwxr-xr-x
gst-stats-1.0
23.67
KB
-rwxr-xr-x
gst-typefind
15.63
KB
-rwxr-xr-x
gst-typefind-0.10
15.36
KB
-rwxr-xr-x
gst-typefind-1.0
15.38
KB
-rwxr-xr-x
gst-xmlinspect
15.63
KB
-rwxr-xr-x
gst-xmlinspect-0.10
23.5
KB
-rwxr-xr-x
gst-xmllaunch
15.63
KB
-rwxr-xr-x
gst-xmllaunch-0.10
36.11
KB
-rwxr-xr-x
gstack
1.05
KB
-rwxr-xr-x
gtar
338.02
KB
-rwxr-xr-x
gtbl
115.96
KB
-rwxr-xr-x
gtf
15.2
KB
-rwxr-xr-x
gtk-launch
15.48
KB
-rwxr-xr-x
gtk-query-immodules-2.0-64
15.29
KB
-rwxr-xr-x
gtk-query-immodules-3.0-64
19.57
KB
-rwxr-xr-x
gtk-update-icon-cache
32.45
KB
-rwxr-xr-x
gtroff
512.96
KB
-rwxr-xr-x
gucharmap
78.97
KB
-rwxr-xr-x
gunzip
2.2
KB
-rwxr-xr-x
gupnp-dlna-info-2.0
15.39
KB
-rwxr-xr-x
gupnp-dlna-ls-profiles-2.0
11.16
KB
-rwxr-xr-x
gvfs-cat
273
B
-rwxr-xr-x
gvfs-copy
275
B
-rwxr-xr-x
gvfs-info
275
B
-rwxr-xr-x
gvfs-less
884
B
-rwxr-xr-x
gvfs-ls
275
B
-rwxr-xr-x
gvfs-mime
275
B
-rwxr-xr-x
gvfs-mkdir
277
B
-rwxr-xr-x
gvfs-monitor-dir
281
B
-rwxr-xr-x
gvfs-monitor-file
281
B
-rwxr-xr-x
gvfs-mount
277
B
-rwxr-xr-x
gvfs-move
275
B
-rwxr-xr-x
gvfs-open
275
B
-rwxr-xr-x
gvfs-rename
279
B
-rwxr-xr-x
gvfs-rm
279
B
-rwxr-xr-x
gvfs-save
275
B
-rwxr-xr-x
gvfs-set-attribute
273
B
-rwxr-xr-x
gvfs-trash
277
B
-rwxr-xr-x
gvfs-tree
275
B
-rwxr-xr-x
gwenview
550.54
KB
-rwxr-xr-x
gwenview_importer
150.09
KB
-rwxr-xr-x
gzexe
5.79
KB
-rwxr-xr-x
gzip
98.43
KB
-rwxr-xr-x
h2ph
27.65
KB
-rwxr-xr-x
h2xs
59.15
KB
-rwxr-xr-x
hangul
15.34
KB
-rwxr-xr-x
hciattach
140.81
KB
-rwxr-xr-x
hciconfig
195.16
KB
-rwxr-xr-x
hcidump
456.78
KB
-rwxr-xr-x
hcitool
146.3
KB
-rwxr-xr-x
hd
850.33
KB
-rwxr-xr-x
hdmv_test
11.16
KB
-rwxr-xr-x
hdparm
850.33
KB
-rwxr-xr-x
hdsploader
11.18
KB
-rwxr-xr-x
head
40.51
KB
-rwxr-xr-x
hesinfo
11.09
KB
-rwxr-xr-x
hex2hcd
14.99
KB
-rwxr-xr-x
hexdump
32.02
KB
-rwxr-xr-x
host
127.02
KB
-rwxr-xr-x
hostid
28.32
KB
-rwxr-xr-x
hostname
15.41
KB
-rwxr-xr-x
hostnamectl
318.07
KB
-rwxr-xr-x
hoststat
817.3
KB
-rwxr-sr-x
hpcups-update-ppds
3.16
KB
-rwxr-xr-x
hpijs
546.41
KB
-rwxr-xr-x
htdbm
23.1
KB
-rwxr-xr-x
htdigest
15.08
KB
-rwxr-xr-x
htpasswd
19.09
KB
-rwxr-xr-x
httxt2dbm
10.99
KB
-rwxr-xr-x
huge_page_setup_helper.py
12.04
KB
-rwxr-xr-x
hugeadm
64.87
KB
-rwxr-xr-x
hugectl
15.34
KB
-rwxr-xr-x
hugeedit
11.23
KB
-rwxr-xr-x
hunspell
53.11
KB
-rwxr-xr-x
hush
850.33
KB
-rwxr-xr-x
hwloc-annotate
23.52
KB
-rwxr-xr-x
hwloc-assembler
11.17
KB
-rwxr-xr-x
hwloc-assembler-remote
2.29
KB
-rwxr-xr-x
hwloc-bind
35.66
KB
-rwxr-xr-x
hwloc-calc
35.68
KB
-rwxr-xr-x
hwloc-compress-dir
4
KB
-rwxr-xr-x
hwloc-diff
11.16
KB
-rwxr-xr-x
hwloc-distances
15.26
KB
-rwxr-xr-x
hwloc-distrib
19.37
KB
-rwxr-xr-x
hwloc-gather-topology
6.98
KB
-rwxr-xr-x
hwloc-info
35.57
KB
-rwxr-xr-x
hwloc-ls
116.78
KB
-rwxr-xr-x
hwloc-patch
11.16
KB
-rwxr-xr-x
hwloc-ps
15.45
KB
-rwxr-xr-x
i2cdetect
850.33
KB
-rwxr-xr-x
i2cdump
850.33
KB
-rwxr-xr-x
i2cget
850.33
KB
-rwxr-xr-x
i2cset
850.33
KB
-rwxr-xr-x
i386
15.27
KB
-rwxr-xr-x
ibus
32.38
KB
-rwxr-xr-x
ibus-daemon
168.99
KB
-rwxr-xr-x
ibus-setup
1.12
KB
-rwxr-xr-x
ibus-table-createdb
1.08
KB
-rwxr-xr-x
ical2vcal
10.61
KB
-rwxr-xr-x
iceauth
31.73
KB
-rwxr-xr-x
icedax
200.09
KB
-rwxr-xr-x
iconv
58.14
KB
-rwxr-xr-x
icotool
66.15
KB
-rwxr-xr-x
id
36.52
KB
-rwxr-xr-x
ident
110.45
KB
-rwxr-xr-x
idiag-socket-details
11.34
KB
-rwxr-xr-x
idn
32.45
KB
-rwxr-xr-x
iecset
19.38
KB
-rwxr-xr-x
ifnames
4.03
KB
-rwxr-xr-x
ifplugd
850.33
KB
-rwxr-xr-x
igawk
3.11
KB
-rwxr-xr-x
ijsgutenprint.5.2
44.09
KB
-rwxr-xr-x
im-chooser
15.62
KB
-rwxr-xr-x
implantisomd5
15.3
KB
-rwxr-xr-x
imsettings-info
11.3
KB
-rwxr-xr-x
imsettings-list
11.23
KB
-rwxr-xr-x
imsettings-reload
11.21
KB
-rwxr-xr-x
imsettings-switch
15.33
KB
-rwxr-xr-x
indent
73.82
KB
-rwxr-xr-x
index_dump
19.41
KB
-rwxr-xr-x
info
265.19
KB
-rwxr-xr-x
infocmp
56.07
KB
-rwxr-xr-x
infokey
21.47
KB
-rwxr-xr-x
infotocap
64.26
KB
-rwxr-xr-x
innochecksum
11.05
KB
-rwxr-xr-x
install
139.59
KB
-rwxr-xr-x
install-catalog
4.27
KB
-rwxr-xr-x
install-printerdriver
95
B
-rwxr-xr-x
instmodsh
4.15
KB
-rwxr-xr-x
instperf
1.68
KB
-rwxr-xr-x
interdiff
48.7
KB
-rwxr-xr-x
intltool-extract
28.06
KB
-rwxr-xr-x
intltool-merge
38.87
KB
-rwxr-xr-x
intltool-prepare
8.4
KB
-rwxr-xr-x
intltool-update
34.18
KB
-rwxr-xr-x
intltoolize
6.98
KB
-rwxr-xr-x
iodbctest
15.31
KB
-rwxr-xr-x
iodbctestw
19.36
KB
-rwxr-xr-x
ionice
23.86
KB
-rwxr-xr-x
iostat
60.77
KB
-rwxr-xr-x
ipaddr
850.33
KB
-rwxr-xr-x
ipcalc
15.05
KB
-rwxr-xr-x
ipcmk
24
KB
-rwxr-xr-x
ipcount
3.64
KB
-rwxr-xr-x
ipcrm
27.85
KB
-rwxr-xr-x
ipcs
48.37
KB
-rwxr-xr-x
iplink
850.33
KB
-rwxr-xr-x
ipmi_sim
152.94
KB
-rwxr-xr-x
ipmi_ui
15.16
KB
-rwxr-xr-x
ipmicmd
23.21
KB
-rwxr-xr-x
ipmilan
23.59
KB
-rwxr-xr-x
ipmish
32.25
KB
-rwxr-xr-x
ipmitool
935.52
KB
-rwxr-xr-x
ipneigh
850.33
KB
-rwxr-xr-x
iproute
850.33
KB
-rwxr-xr-x
iprule
850.33
KB
-rwxr-xr-x
iptab
982
B
-rwxr-xr-x
iptables-xml
91.52
KB
-rwxr-xr-x
iptc
25.07
KB
-rwxr-xr-x
irb
314
B
-rwxr-xr-x
isdv4-serial-inputattach
19.56
KB
-rwxr-xr-x
iso-info
27.79
KB
-rwxr-xr-x
iso-read
23.6
KB
-rwxr-xr-x
isodebug
60.61
KB
-rwxr-xr-x
isodump
64.73
KB
-rwxr-xr-x
isoinfo
224.45
KB
-rwxr-xr-x
isosize
23.83
KB
-rwxr-xr-x
isovfy
68.66
KB
-rwxr-xr-x
isql
31.69
KB
-rwxr-xr-x
itweb-settings
5.55
KB
-rwxr-xr-x
itweb-settings.itweb
5.55
KB
-rwxr-xr-x
iusql
23.61
KB
-rwxr-xr-x
java
8.77
KB
-rwxr-xr-x
javaws
5.53
KB
-rwxr-xr-x
javaws.itweb
5.53
KB
-rwxr-xr-x
jjs
8.9
KB
-rwxr-xr-x
jk_uchroot
28.85
KB
-rwsr-xr-x
jobs
28
B
-rwxr-xr-x
join
48.75
KB
-rwxr-xr-x
journalctl
537.88
KB
-rwxr-xr-x
json_pp
3.82
KB
-rwxr-xr-x
json_reformat
35.89
KB
-rwxr-xr-x
json_verify
27.52
KB
-rwxr-xr-x
json_xs
6.74
KB
-rwxr-xr-x
jvmjar
1.7
KB
-rwxr-xr-x
kabc2mutt
144.24
KB
-rwxr-xr-x
kabcclient
144.24
KB
-rwxr-xr-x
kaccess
6.99
KB
-rwxr-xr-x
kactivitymanagerd
263.62
KB
-rwxr-xr-x
kaddressbook
32.7
KB
-rwxr-xr-x
kaddressbookmigrator
23.86
KB
-rwxr-xr-x
kalarm
2.07
MB
-rwxr-xr-x
kalarmautostart
23.91
KB
-rwxr-xr-x
kapplymousetheme
11.14
KB
-rwxr-xr-x
karm
11.24
KB
-rwxr-xr-x
kbackgroundsnapshot
100.19
KB
-rwxr-xr-x
kbd_mode
11.16
KB
-rwxr-xr-x
kbdinfo
11.19
KB
-rwxr-xr-x
kbdrate
11.22
KB
-rwxr-xr-x
kblankscrn.kss
32.53
KB
-rwxr-xr-x
kbookmarkmerger
19.55
KB
-rwxr-xr-x
kbuildsycoca4
6.99
KB
-rwxr-xr-x
kcalc
6.98
KB
-rwxr-xr-x
kcharselect
44.97
KB
-rwxr-xr-x
kcheckrunning
7
KB
-rwxr-xr-x
kcminit
6.99
KB
-rwxr-xr-x
kcminit_startup
7
KB
-rwxr-xr-x
kcmshell4
7.06
KB
-rwxr-xr-x
kcolorchooser
15.41
KB
-rwxr-xr-x
kcookiejar4
28.02
KB
-rwxr-xr-x
kde-cp
28.45
KB
-rwxr-xr-x
kde-mv
28.45
KB
-rwxr-xr-x
kde-open
28.41
KB
-rwxr-xr-x
kde4
266
B
-rwxr-xr-x
kde4-config
23.86
KB
-rwxr-xr-x
kde4-menu
19.85
KB
-rwxr-xr-x
kdebugdialog
61.85
KB
-rwxr-xr-x
kded4
6.98
KB
-rwxr-xr-x
kdeinit4
53.04
KB
-rwxr-xr-x
kdeinit4_shutdown
15.35
KB
-rwxr-xr-x
kdeinit4_wrapper
15.35
KB
-rwxr-xr-x
kdepasswd
44.88
KB
-rwxr-xr-x
kdesu
49.17
KB
-rwxr-xr-x
kdf
161.91
KB
-rwxr-xr-x
kdialog
91.14
KB
-rwxr-xr-x
kdostartupconfig4
19.63
KB
-rwxr-xr-x
kdumpctl
33.18
KB
-rwxr-xr-x
keditbookmarks
7
KB
-rwxr-xr-x
keditfiletype
120.48
KB
-rwxr-xr-x
kernel-install
4.7
KB
-rwxr-xr-x
keyctl
27.94
KB
-rwxr-xr-x
keytool
8.9
KB
-rwxr-xr-x
kfile4
32.26
KB
-rwxr-xr-x
kfilemetadatareader
36.59
KB
-rwxr-xr-x
kfind
200.09
KB
-rwxr-xr-x
kfmclient
6.98
KB
-rwxr-xr-x
kfontinst
103.24
KB
-rwxr-xr-x
kfontview
40.94
KB
-rwxr-xr-x
kget
1008.92
KB
-rwxr-xr-x
kglobalaccel
7.07
KB
-rwxr-xr-x
kgpg
869.09
KB
-rwxr-xr-x
kgpgconf
111.89
KB
-rwxr-xr-x
khelpcenter
7.07
KB
-rwxr-xr-x
khotnewstuff-upload
11.34
KB
-rwxr-xr-x
khotnewstuff4
15.53
KB
-rwxr-xr-x
kiconfinder
11.27
KB
-rwxr-xr-x
kill
32.82
KB
-rwxr-xr-x
killall
24.14
KB
-rwxr-xr-x
kincidenceeditor
23.88
KB
-rwxr-xr-x
kinfocenter
113.59
KB
-rwxr-xr-x
kioclient
36.56
KB
-rwxr-xr-x
kjotsmigrator
115.84
KB
-rwxr-xr-x
kjs
24.04
KB
-rwxr-xr-x
kjscmd
23.92
KB
-rwxr-xr-x
kleopatra
2.93
MB
-rwxr-xr-x
klipper
6.99
KB
-rwxr-xr-x
klogd
850.33
KB
-rwxr-xr-x
kmag
129.23
KB
-rwxr-xr-x
kmail-migrator
621.67
KB
-rwxr-xr-x
kmailservice
11.18
KB
-rwxr-xr-x
kmenuedit
6.98
KB
-rwxr-xr-x
kmimetypefinder
15.45
KB
-rwxr-xr-x
kmix
6.98
KB
-rwxr-xr-x
kmixctrl
6.98
KB
-rwxr-xr-x
kmod
143.24
KB
-rwxr-xr-x
knotes
313.18
KB
-rwxr-xr-x
knotify4
157.52
KB
-rwxr-xr-x
koi8rxterm
3.67
KB
-rwxr-xr-x
konqueror
6.99
KB
-rwxr-xr-x
konsole
6.99
KB
-rwxr-xr-x
konsolekalendar
122.68
KB
-rwxr-xr-x
konsoleprofile
1.35
KB
-rwxr-xr-x
korgac
173.69
KB
-rwxr-xr-x
korganizer
62.14
KB
-rwxr-xr-x
kquitapp
15.55
KB
-rwxr-xr-x
krandom.kss
36.84
KB
-rwxr-xr-x
krdb
27
B
-rwxr-xr-x
kreadconfig
19.63
KB
-rwxr-xr-x
kres-migrator
245.65
KB
-rwxr-xr-x
krfb
183.02
KB
-rwxr-xr-x
kross
19.59
KB
-rwxr-xr-x
kruler
82.82
KB
-rwxr-xr-x
krunner
6.98
KB
-rwxr-xr-x
kscreen-console
48.64
KB
-rwxr-xr-x
ksflatten
2.61
KB
-rwxr-xr-x
kshell4
15.34
KB
-rwxr-xr-x
ksmserver
6.98
KB
-rwxr-xr-x
ksnapshot
184.12
KB
-rwxr-xr-x
ksplashqml
32.67
KB
-rwxr-xr-x
ksplashsimple
15.29
KB
-rwxr-xr-x
ksplashx
123.32
KB
-rwxr-xr-x
ksplashx_scale
11.31
KB
-rwxr-xr-x
ksshaskpass
15.38
KB
-rwxr-xr-x
ksshell
7.53
KB
-rwxr-xr-x
kstart
36.52
KB
-rwxr-xr-x
kstartupconfig4
11.09
KB
-rwxr-xr-x
ksvalidator
3.87
KB
-rwxr-xr-x
ksverdiff
3.78
KB
-rwxr-xr-x
ksvgtopng
11.29
KB
-rwxr-xr-x
ksysguard
6.99
KB
-rwxr-xr-x
ksysguardd
155.54
KB
-rwxr-xr-x
ksystemlog
624.15
KB
-rwxr-xr-x
ksystraycmd
32.48
KB
-rwxr-xr-x
ktelnetservice
19.6
KB
-rwxr-xr-x
ktimer
61.64
KB
-rwxr-xr-x
ktimetracker
461.64
KB
-rwxr-xr-x
ktraderclient
15.55
KB
-rwxr-xr-x
ktrash
15.49
KB
-rwxr-xr-x
kuiserver
7.05
KB
-rwxr-xr-x
kunittestmodrunner
11.29
KB
-rwxr-xr-x
kuser
423.91
KB
-rwxr-xr-x
kwalletd
7.05
KB
-rwxr-xr-x
kwalletmanager
262
KB
-rwxr-xr-x
kwatchgnupg
124.88
KB
-rwxr-xr-x
kwikdisk
165.84
KB
-rwxr-xr-x
kwin
10.98
KB
-rwxr-xr-x
kwrapper4
15.34
KB
-rwxr-xr-x
kwrite
7.06
KB
-rwxr-xr-x
kwriteconfig
15.57
KB
-rwxr-xr-x
l2ping
98.2
KB
-rwxr-xr-x
l2test
114.54
KB
-rwxr-xr-x
l4p-tmpl
1.89
KB
-rwxr-xr-x
lancelot
165.49
KB
-rwxr-xr-x
last
19.11
KB
-rwxr-xr-x
lastb
19.11
KB
-rwxr-xr-x
lastcomm
28
KB
-rwxr-xr-x
lastlog
19.15
KB
-rwxr-xr-x
lchfn
15.52
KB
-rwxr-xr-x
lchsh
15.49
KB
-rwxr-xr-x
ld
982.61
KB
-rwxr-xr-x
ld.bfd
982.61
KB
-rwxr-xr-x
ld.gold
5.11
MB
-rwxr-xr-x
ldd
5.18
KB
-rwxr-xr-x
ldns-chaos
11.17
KB
-rwxr-xr-x
ldns-compare-zones
11.25
KB
-rwxr-xr-x
ldns-dane
40.8
KB
-rwxr-xr-x
ldns-dpa
40.07
KB
-rwxr-xr-x
ldns-gen-zone
15.35
KB
-rwxr-xr-x
ldns-key2ds
11.2
KB
-rwxr-xr-x
ldns-keyfetcher
23.67
KB
-rwxr-xr-x
ldns-keygen
15.31
KB
-rwxr-xr-x
ldns-mx
11.09
KB
-rwxr-xr-x
ldns-notify
15.37
KB
-rwxr-xr-x
ldns-nsec3-hash
11.15
KB
-rwxr-xr-x
ldns-read-zone
15.3
KB
-rwxr-xr-x
ldns-resolver
11.09
KB
-rwxr-xr-x
ldns-revoke
11.14
KB
-rwxr-xr-x
ldns-rrsig
11.28
KB
-rwxr-xr-x
ldns-signzone
27.84
KB
-rwxr-xr-x
ldns-test-edns
11.28
KB
-rwxr-xr-x
ldns-testns
32.19
KB
-rwxr-xr-x
ldns-update
15.41
KB
-rwxr-xr-x
ldns-verify-zone
23.71
KB
-rwxr-xr-x
ldns-version
6.98
KB
-rwxr-xr-x
ldns-walk
19.55
KB
-rwxr-xr-x
ldns-zcat
11.18
KB
-rwxr-xr-x
ldns-zsplit
15.28
KB
-rwxr-xr-x
ldnsd
15.36
KB
-rwxr-xr-x
less
154.53
KB
-rwxr-xr-x
lessecho
11.11
KB
-rwxr-xr-x
lesskey
16.66
KB
-rwxr-xr-x
lesspipe.sh
2.24
KB
-rwxr-xr-x
letsencrypt
305
B
-rwxr-xr-x
lex
318.07
KB
-rwxr-xr-x
lexgrog
85.09
KB
-rwxr-xr-x
libbluray_test
11.21
KB
-rwxr-xr-x
libieee1284_test
11.16
KB
-rwxr-xr-x
libinput
19.98
KB
-rwxr-xr-x
libinput-debug-events
164
B
-rwxr-xr-x
libinput-list-devices
164
B
-rwxr-xr-x
libnetcfg
15.36
KB
-rwxr-xr-x
libreoffice
372
B
-rwxr-xr-x
libtar
15.39
KB
-rwxr-xr-x
libtool
314.04
KB
-rwxr-xr-x
libtoolize
76.8
KB
-rwxr-xr-x
libwacom-list-local-devices
11.39
KB
-rwxr-xr-x
link
28.3
KB
-rwxr-xr-x
linux-boot-prober
5.85
KB
-rwxr-xr-x
linux32
15.27
KB
-rwxr-xr-x
linux64
15.27
KB
-rwxr-xr-x
linuxrc
850.33
KB
-rwxr-xr-x
list_titles
11.19
KB
-rwxr-xr-x
liveinst
6.95
KB
-rwxr-xr-x
ln
57.22
KB
-rwxr-xr-x
loadfont
850.33
KB
-rwxr-xr-x
loadkeys
110.48
KB
-rwxr-xr-x
loadkmap
850.33
KB
-rwxr-xr-x
loadunimap
23.88
KB
-rwxr-xr-x
locale
37.11
KB
-rwxr-xr-x
localectl
326.16
KB
-rwxr-xr-x
localedef
318.31
KB
-rwxr-xr-x
locate
39.57
KB
-rwx--s--x
lockfile
19.36
KB
-rwxr-sr-x
logger
28.62
KB
-rwxr-xr-x
login
36.38
KB
-rwxr-xr-x
loginctl
489.62
KB
-rwxr-xr-x
logname
28.31
KB
-rwxr-xr-x
logread
850.33
KB
-rwxr-xr-x
logresolve
11
KB
-rwxr-xr-x
logview
125.72
KB
-rwxr-xr-x
look
11.27
KB
-rwxr-xr-x
lp
18.99
KB
-rwxr-xr-x
lp.cups
18.99
KB
-rwxr-xr-x
lp_solve
577.19
KB
-rwxr-xr-x
lpd
850.33
KB
-rwxr-xr-x
lpoptions
14.98
KB
-rwxr-xr-x
lppasswd
14.98
KB
-rwxr-xr-x
lpq
19.02
KB
-rwxr-xr-x
lpq.cups
19.02
KB
-rwxr-xr-x
lpr
14.96
KB
-rwxr-xr-x
lpr.cups
14.96
KB
-rwxr-xr-x
lprm
10.95
KB
-rwxr-xr-x
lprm.cups
10.95
KB
-rwxr-xr-x
lprsetup.sh
5.34
KB
-rwxr-xr-x
lpstat
31.4
KB
-rwxr-xr-x
lpstat.cups
31.4
KB
-rwxr-xr-x
ls
114.85
KB
-rwxr-xr-x
lsattr
11.25
KB
-rwxr-xr-x
lsblk
79.17
KB
-rwxr-xr-x
lscpu
60.75
KB
-rwxr-xr-x
lsdiff
45.2
KB
-rwxr-xr-x
lsinitrd
6.26
KB
-rwxr-xr-x
lsipc
60.95
KB
-rwxr-xr-x
lslocks
41.01
KB
-rwxr-xr-x
lslogins
52.88
KB
-rwxr-xr-x
lsmcli
945
B
-rwxr-xr-x
lsmd
23.45
KB
-rwxr-xr-x
lsmem
40.78
KB
-rwxr-xr-x
lsns
36.43
KB
-rwxr-xr-x
lsscsi
56.48
KB
-rwxr-xr-x
lstopo-no-graphics
116.78
KB
-rwxr-xr-x
lsusb
100.23
KB
-rwxr-xr-x
lsusb.py
13.09
KB
-rwxr-xr-x
lua
15.47
KB
-rwxr-xr-x
luac
119.03
KB
-rwxr-xr-x
lwp-download
8.43
KB
-rwxr-xr-x
lwp-dump
2.73
KB
-rwxr-xr-x
lwp-mirror
2.42
KB
-rwxr-xr-x
lwp-request
14.71
KB
-rwxr-xr-x
lz
2.25
KB
-rwxr-xr-x
lz4
105.84
KB
-rwxr-xr-x
lz4c
105.84
KB
-rwxr-xr-x
lz4cat
105.84
KB
-rwxr-xr-x
lzcat
850.33
KB
-rwxr-xr-x
lzma
850.33
KB
-rwxr-xr-x
lzop
69.32
KB
-rwxr-xr-x
m17n-conv
15.31
KB
-rwxr-xr-x
m4
151.17
KB
-rwxr-xr-x
machinectl
533.95
KB
-rwxr-xr-x
mail
383.67
KB
-rwxr-xr-x
mailq
242.11
KB
-rwxr-xr-x
mailq.postfix
242.11
KB
-rwxr-xr-x
mailq.sendmail
817.3
KB
-rwxr-sr-x
mailstat
5.72
KB
-rwxr-xr-x
mailx
383.67
KB
-rwxr-xr-x
make
178.47
KB
-rwxr-xr-x
makedb
18.11
KB
-rwxr-xr-x
makedeltarpm
68.39
KB
-rwxr-xr-x
makedevs
850.33
KB
-rwxr-xr-x
makemime
850.33
KB
-rwxr-xr-x
man
100.44
KB
-rwxr-xr-x
mandb
122.25
KB
-rwxr-xr-x
manpath
32.55
KB
-rwxr-xr-x
mapscrn
19.78
KB
-rwxr-xr-x
mattrib
178.63
KB
-rwxr-xr-x
mbadblocks
178.63
KB
-rwxr-xr-x
mbim-network
11.05
KB
-rwxr-xr-x
mbimcli
66.09
KB
-rwxr-xr-x
mc-tool
36.35
KB
-rwxr-xr-x
mc-wait-for-name
11.37
KB
-rwxr-xr-x
mcat
178.63
KB
-rwxr-xr-x
mcd
178.63
KB
-rwxr-xr-x
mcheck
1.64
KB
-rwxr-xr-x
mclasserase
178.63
KB
-rwxr-xr-x
mcomp
847
B
-rwxr-xr-x
mcookie
15.44
KB
-rwxr-xr-x
mcopy
178.63
KB
-rwxr-xr-x
md5sum
40.53
KB
-rwxr-xr-x
mdel
178.63
KB
-rwxr-xr-x
mdeltree
178.63
KB
-rwxr-xr-x
mdev
850.33
KB
-rwxr-xr-x
mdig
44.2
KB
-rwxr-xr-x
mdir
178.63
KB
-rwxr-xr-x
mdu
178.63
KB
-rwxr-xr-x
meinproc4
40.63
KB
-rwxr-xr-x
meinproc4_simple
28.12
KB
-rwxr-xr-x
memaslap
65.37
KB
-rwxr-xr-x
memcapable
57.71
KB
-rwxr-xr-x
memcat
19.99
KB
-rwxr-xr-x
memcp
20.19
KB
-rwxr-xr-x
memdump
15.81
KB
-rwxr-xr-x
memerror
15.46
KB
-rwxr-xr-x
memexist
15.72
KB
-rwxr-xr-x
memflush
15.73
KB
-rwxr-xr-x
memhog
11.47
KB
-rwxr-xr-x
memparse
11.06
KB
-rwxr-xr-x
memping
15.84
KB
-rwxr-xr-x
memrm
15.78
KB
-rwxr-xr-x
memslap
24.55
KB
-rwxr-xr-x
memstat
20.17
KB
-rwxr-xr-x
memtouch
15.8
KB
-rwxr-xr-x
merge
110.43
KB
-rwxr-xr-x
mergerepo
55
B
-rwxr-xr-x
mesg
10.98
KB
-rwxr-xr-x
metacity
572.77
KB
-rwxr-xr-x
metacity-message
11.15
KB
-rwxr-xr-x
mformat
178.63
KB
-rwxr-xr-x
microcom
850.33
KB
-rwxr-xr-x
migratepages
11.51
KB
-rwxr-xr-x
migspeed
15.48
KB
-rwxr-xr-x
minfo
178.63
KB
-rwxr-xr-x
mixartloader
15.38
KB
-rwxr-xr-x
mkafmmap
96.41
KB
-rwxr-xr-x
mkdir
77.9
KB
-rwxr-xr-x
mkfifo
61.59
KB
-rwxr-xr-x
mkfontdir
65
B
-rwxr-xr-x
mkfontscale
32.48
KB
-rwxr-xr-x
mkhybrid
509.02
KB
-rwxr-xr-x
mkinitrd
2.94
KB
-rwxr-xr-x
mkisofs
509.02
KB
-rwxr-xr-x
mkmanifest
11.36
KB
-rwxr-xr-x
mknod
65.61
KB
-rwxr-xr-x
mkpasswd
850.33
KB
-rwxr-xr-x
mkrfc2734
11.09
KB
-rwxr-xr-x
mktemp
40.66
KB
-rwxr-xr-x
mlabel
178.63
KB
-rwxr-xr-x
mmc-tool
27.53
KB
-rwxr-xr-x
mmcli
175.2
KB
-rwxr-xr-x
mmd
178.63
KB
-rwxr-xr-x
mmount
178.63
KB
-rwxr-xr-x
mmove
178.63
KB
-rwxr-xr-x
mobj_dump
23.39
KB
-rwxr-xr-x
modifyrepo
56
B
-rwxr-xr-x
modulecmd
126.09
KB
-rwxr-xr-x
modutil
165.81
KB
-rwxr-xr-x
mokutil
44.94
KB
-rwxr-xr-x
more
40.15
KB
-rwxr-xr-x
mount
43.23
KB
-rwsr-xr-x
mountpoint
15.32
KB
-rwxr-xr-x
mousetweaks
66.26
KB
-rwxr-xr-x
mpartition
178.63
KB
-rwxr-xr-x
mpls_dump
61.08
KB
-rwxr-xr-x
mpris-proxy
93.4
KB
-rwxr-xr-x
mpstat
52.53
KB
-rwxr-xr-x
mrd
178.63
KB
-rwxr-xr-x
mren
178.63
KB
-rwxr-xr-x
msgattrib
23.36
KB
-rwxr-xr-x
msgcat
23.34
KB
-rwxr-xr-x
msgcmp
23.59
KB
-rwxr-xr-x
msgcomm
19.31
KB
-rwxr-xr-x
msgconv
19.3
KB
-rwxr-xr-x
msgen
19.3
KB
-rwxr-xr-x
msgexec
15.33
KB
-rwxr-xr-x
msgfilter
27.56
KB
-rwxr-xr-x
msgfmt
77.05
KB
-rwxr-xr-x
msggrep
35.97
KB
-rwxr-xr-x
msghack
12.45
KB
-rwxr-xr-x
msginit
44.38
KB
-rwxr-xr-x
msgmerge
52.6
KB
-rwxr-xr-x
msgunfmt
31.7
KB
-rwxr-xr-x
msguniq
19.31
KB
-rwxr-xr-x
mshortname
178.63
KB
-rwxr-xr-x
mshowfat
178.63
KB
-rwxr-xr-x
msql2mysql
1.41
KB
-rwxr-xr-x
mt
21.18
KB
-rwxr-xr-x
mtools
178.63
KB
-rwxr-xr-x
mtoolstest
178.63
KB
-rwxr-xr-x
mtype
178.63
KB
-rwxr-xr-x
mutter
11.3
KB
-rwxr-xr-x
mv
127.3
KB
-rwxr-xr-x
mxtar
784
B
-rwxr-xr-x
my_print_defaults
2.78
MB
-rwxr-xr-x
myisam_ftdump
3.15
MB
-rwxr-xr-x
myisamchk
3.26
MB
-rwxr-xr-x
myisamlog
3.13
MB
-rwxr-xr-x
myisampack
3.17
MB
-rwxr-xr-x
mysql
3.38
MB
-rwxr-xr-x
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
mysql_find_rows
3.21
KB
-rwxr-xr-x
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
mysql_install_db
16.31
KB
-rwxr-xr-x
mysql_plugin
2.79
MB
-rwxr-xr-x
mysql_secure_installation
11.84
KB
-rwxr-xr-x
mysql_setpermission
17.05
KB
-rwxr-xr-x
mysql_tzinfo_to_sql
2.79
MB
-rwxr-xr-x
mysql_upgrade
2.86
MB
-rwxr-xr-x
mysql_waitpid
2.78
MB
-rwxr-xr-x
mysql_zap
3.77
KB
-rwxr-xr-x
mysqlaccess
109.35
KB
-rwxr-xr-x
mysqladmin
2.95
MB
-rwxr-xr-x
mysqlbinlog
3.11
MB
-rwxr-xr-x
mysqlbug
10.23
KB
-rwxr-xr-x
mysqlcheck
2.95
MB
-rwxr-xr-x
mysqld_multi
23.55
KB
-rwxr-xr-x
mysqld_safe
26.47
KB
-rwxr-xr-x
mysqld_safe_helper
2.75
MB
-rwxr-xr-x
mysqldump
3.03
MB
-rwxr-xr-x
mysqldumpslow
7.69
KB
-rwxr-xr-x
mysqlhotcopy
34.12
KB
-rwxr-xr-x
mysqlimport
2.95
MB
-rwxr-xr-x
mysqlshow
2.94
MB
-rwxr-xr-x
mysqlslap
2.96
MB
-rwxr-xr-x
mysqltest
3.29
MB
-rwxr-xr-x
mzip
178.63
KB
-rwxr-xr-x
nail
383.67
KB
-rwxr-xr-x
named-rrchecker
15.32
KB
-rwxr-xr-x
namei
27.95
KB
-rwxr-xr-x
nanddump
850.33
KB
-rwxr-xr-x
nandwrite
850.33
KB
-rwxr-xr-x
nano
201.08
KB
-rwxr-xr-x
nautilus
1.6
MB
-rwxr-xr-x
nautilus-autorun-software
53.19
KB
-rwxr-xr-x
nautilus-desktop
1.65
MB
-rwxr-xr-x
nautilus-sendto
15.55
KB
-rwxr-xr-x
nbd-client
850.33
KB
-rwxr-xr-x
nc
371.27
KB
-rwxr-xr-x
ncat
371.27
KB
-rwxr-xr-x
ndctl
168.63
KB
-rwxr-xr-x
ndg_httpclient
340
B
-rwxr-xr-x
ndptool
23.63
KB
-rwxr-xr-x
needs-restarting
8.17
KB
-rwxr-xr-x
nenscript
204.81
KB
-rwxr-xr-x
nepomuk-rcgen
126.75
KB
-rwxr-xr-x
nepomuk-simpleresource-rcgen
22.41
KB
-rwxr-xr-x
nepomuk2-rcgen
114.51
KB
-rwxr-xr-x
nepomukbackup
87.55
KB
-rwxr-xr-x
nepomukcleaner
74.61
KB
-rwxr-xr-x
nepomukcontroller
70.05
KB
-rwxr-xr-x
nepomukindexer
82.55
KB
-rwxr-xr-x
nepomukpimindexerutility
199.12
KB
-rwxr-xr-x
nepomukserver
7.05
KB
-rwxr-xr-x
nepomukservicestub
32.72
KB
-rwxr-xr-x
neqn
271
B
-rwxr-xr-x
net
885.2
KB
-rwxr-xr-x
net-server
3.34
KB
-rwxr-xr-x
netstat
151.38
KB
-rwxr-xr-x
nettle-hash
11.33
KB
-rwxr-xr-x
nettle-lfib-stream
7.05
KB
-rwxr-xr-x
newaliases
242.11
KB
-rwxr-xr-x
newaliases.postfix
242.11
KB
-rwxr-xr-x
newaliases.sendmail
817.3
KB
-rwxr-sr-x
newgidmap
38.09
KB
-rwxr-xr-x
newgrp
40.95
KB
-rwsr-xr-x
newuidmap
38.06
KB
-rwxr-xr-x
nf-ct-add
11.8
KB
-rwxr-xr-x
nf-ct-list
15.84
KB
-rwxr-xr-x
nf-exp-add
16.21
KB
-rwxr-xr-x
nf-exp-delete
15.99
KB
-rwxr-xr-x
nf-exp-list
11.8
KB
-rwxr-xr-x
nf-log
11.23
KB
-rwxr-xr-x
nf-monitor
11.18
KB
-rwxr-xr-x
nf-queue
11.27
KB
-rwxr-xr-x
nfs4_editfacl
31.88
KB
-rwxr-xr-x
nfs4_getfacl
19.23
KB
-rwxr-xr-x
nfs4_setfacl
31.88
KB
-rwxr-xr-x
nfsiostat-sysstat
52.52
KB
-rwxr-xr-x
ngettext
35.95
KB
-rwxr-xr-x
nice
32.32
KB
-rwxr-xr-x
nisdomainname
15.41
KB
-rwxr-xr-x
nl
40.6
KB
-rwxr-xr-x
nl-addr-add
11.65
KB
-rwxr-xr-x
nl-addr-delete
11.73
KB
-rwxr-xr-x
nl-addr-list
15.88
KB
-rwxr-xr-x
nl-class-add
11.7
KB
-rwxr-xr-x
nl-class-delete
11.55
KB
-rwxr-xr-x
nl-class-list
11.48
KB
-rwxr-xr-x
nl-classid-lookup
11.29
KB
-rwxr-xr-x
nl-cls-add
11.76
KB
-rwxr-xr-x
nl-cls-delete
11.68
KB
-rwxr-xr-x
nl-cls-list
11.58
KB
-rwxr-xr-x
nl-fib-lookup
11.41
KB
-rwxr-xr-x
nl-link-enslave
7.05
KB
-rwxr-xr-x
nl-link-ifindex2name
7.06
KB
-rwxr-xr-x
nl-link-list
11.52
KB
-rwxr-xr-x
nl-link-name2ifindex
7.05
KB
-rwxr-xr-x
nl-link-release
7.05
KB
-rwxr-xr-x
nl-link-set
11.64
KB
-rwxr-xr-x
nl-link-stats
11.39
KB
-rwxr-xr-x
nl-list-caches
11.08
KB
-rwxr-xr-x
nl-list-sockets
7.06
KB
-rwxr-xr-x
nl-monitor
11.2
KB
-rwxr-xr-x
nl-neigh-add
11.51
KB
-rwxr-xr-x
nl-neigh-delete
11.57
KB
-rwxr-xr-x
nl-neigh-list
11.46
KB
-rwxr-xr-x
nl-neightbl-list
11.27
KB
-rwxr-xr-x
nl-pktloc-lookup
11.36
KB
-rwxr-xr-x
nl-qdisc-add
11.6
KB
-rwxr-xr-x
nl-qdisc-delete
11.54
KB
-rwxr-xr-x
nl-qdisc-list
11.63
KB
-rwxr-xr-x
nl-route-add
11.73
KB
-rwxr-xr-x
nl-route-delete
15.86
KB
-rwxr-xr-x
nl-route-get
11.18
KB
-rwxr-xr-x
nl-route-list
11.77
KB
-rwxr-xr-x
nl-rule-list
11.3
KB
-rwxr-xr-x
nl-tctree-list
11.53
KB
-rwxr-xr-x
nl-util-addr
7.03
KB
-rwxr-xr-x
nm
45.43
KB
-rwxr-xr-x
nm-connection-editor
788.91
KB
-rwxr-xr-x
nm-online
15.16
KB
-rwxr-xr-x
nmcli
809.16
KB
-rwxr-xr-x
nmeter
850.33
KB
-rwxr-xr-x
nmtui
646.77
KB
-rwxr-xr-x
nmtui-connect
646.77
KB
-rwxr-xr-x
nmtui-edit
646.77
KB
-rwxr-xr-x
nmtui-hostname
646.77
KB
-rwxr-xr-x
nohup
32.42
KB
-rwxr-xr-x
notify-send
15.34
KB
-rwxr-xr-x
nproc
32.37
KB
-rwxr-xr-x
nroff
3.31
KB
-rwxr-xr-x
nsenter
28.22
KB
-rwxr-xr-x
nslookup
130.93
KB
-rwxr-xr-x
nspluginscan
61.2
KB
-rwxr-xr-x
nspluginviewer
159.06
KB
-rwxr-xr-x
nss-policy-check
11.19
KB
-rwxr-xr-x
nsupdate
65.2
KB
-rwxr-xr-x
ntpd
850.33
KB
-rwxr-xr-x
numactl
28.9
KB
-rwxr-xr-x
numad
51.8
KB
-rwxr-xr-x
numademo
35.82
KB
-rwxr-xr-x
numastat
29.19
KB
-rwxr-xr-x
numfmt
64.71
KB
-rwxr-xr-x
objcopy
227.34
KB
-rwxr-xr-x
objdump
357.74
KB
-rwxr-xr-x
ocs
7.11
KB
-rwxr-xr-x
ocsptool
34.58
KB
-rwxr-xr-x
od
64.81
KB
-rwxr-xr-x
odbc_config
11.04
KB
-rwxr-xr-x
odbcinst
27.69
KB
-rwxr-xr-x
oddjob_request
35.75
KB
-rwxr-xr-x
ogg123
83.96
KB
-rwxr-xr-x
oggdec
15.78
KB
-rwxr-xr-x
oggenc
70.52
KB
-rwxr-xr-x
ogginfo
36.1
KB
-rwxr-xr-x
okular
66.04
KB
-rwxr-xr-x
oldfind
186.41
KB
-rwxr-xr-x
omping
60.81
KB
-rwxr-xr-x
on_ac_power
1.47
KB
-rwxr-xr-x
onto2vocabularyclass
56.77
KB
-rwxr-xr-x
oocalc
39
B
-rwxr-xr-x
oodraw
39
B
-rwxr-xr-x
ooffice
32
B
-rwxr-xr-x
ooimpress
42
B
-rwxr-xr-x
oomath
39
B
-rwxr-xr-x
ooviewdoc
39
B
-rwxr-xr-x
oowriter
41
B
-rwxr-xr-x
open
19.48
KB
-rwxr-xr-x
openipmi_eventd
23.27
KB
-rwxr-xr-x
openipmicmd
23.21
KB
-rwxr-xr-x
openipmish
32.25
KB
-rwxr-xr-x
openoffice.org
372
B
-rwxr-xr-x
openssl
542.27
KB
-rwxr-xr-x
openvt
19.48
KB
-rwxr-xr-x
orbd
8.95
KB
-rwxr-xr-x
orc-bugreport
15.39
KB
-rwxr-xr-x
orca
12.76
KB
-rwxr-xr-x
os-prober
5.51
KB
-rwxr-xr-x
osinfo-db-export
19.71
KB
-rwxr-xr-x
osinfo-db-import
15.47
KB
-rwxr-xr-x
osinfo-db-path
11.29
KB
-rwxr-xr-x
osinfo-db-validate
19.55
KB
-rwxr-xr-x
osinfo-detect
15.55
KB
-rwxr-xr-x
osinfo-install-script
20.12
KB
-rwxr-xr-x
osinfo-query
16.45
KB
-rwxr-xr-x
osql
9.15
KB
-rwxr-xr-x
over
106
B
-rwxr-xr-x
oxygen-demo
169.28
KB
-rwxr-xr-x
oxygen-gtk-demo
80.89
KB
-rwxr-xr-x
oxygen-settings
28.34
KB
-rwxr-xr-x
oxygen-shadow-demo
53.28
KB
-rwxr-xr-x
p11-kit
32.18
KB
-rwxr-xr-x
p11tool
189.69
KB
-rwxr-xr-x
pacat
43.28
KB
-rwxr-xr-x
pack200
8.9
KB
-rwxr-xr-x
package-cleanup
17.39
KB
-rwxr-xr-x
package-stash-conflicts
487
B
-rwxr-xr-x
pacmd
18.98
KB
-rwxr-xr-x
pactl
59.42
KB
-rwxr-xr-x
padsp
2.18
KB
-rwxr-xr-x
padsp-32
2.17
KB
-rwxr-xr-x
page_owner_sort
10.2
KB
-rwxr-xr-x
pagesize
32.21
KB
-rwxr-xr-x
pamon
43.28
KB
-rwxr-xr-x
panelctl
12.38
KB
-rwxr-xr-x
pango-list
11.1
KB
-rwxr-xr-x
pango-querymodules-64
28.26
KB
-rwxr-xr-x
pango-view
49.47
KB
-rwxr-xr-x
paperconf
11.23
KB
-rwxr-xr-x
paplay
43.28
KB
-rwxr-xr-x
paps
31.9
KB
-rwxr-xr-x
parec
43.28
KB
-rwxr-xr-x
parecord
43.28
KB
-rwxr-xr-x
passwd
27.2
KB
-rwsr-xr-x
paste
32.34
KB
-rwxr-xr-x
pasteurize
308
B
-rwxr-xr-x
pasteurize-2
308
B
-rwxr-xr-x
pasteurize-2.7
308
B
-rwxr-xr-x
pasuspender
15.13
KB
-rwxr-xr-x
patch
147
KB
-rwxr-xr-x
pathchk
32.31
KB
-rwxr-xr-x
pax11publish
14.99
KB
-rwxr-xr-x
pbm2ppa
27.48
KB
-rwxr-xr-x
pbmtpg
11.12
KB
-rwxr-xr-x
pchrt
3.93
KB
-rwxr-xr-x
pdbedit
44.78
KB
-rwxr-xr-x
pdf2dsc
698
B
-rwxr-xr-x
pdf2ps
909
B
-rwxr-xr-x
pdfdetach
16.16
KB
-rwxr-xr-x
pdffonts
15.63
KB
-rwxr-xr-x
pdfimages
44.59
KB
-rwxr-xr-x
pdfinfo
28.24
KB
-rwxr-xr-x
pdfseparate
15.52
KB
-rwxr-xr-x
pdftocairo
120.45
KB
-rwxr-xr-x
pdftohtml
90.21
KB
-rwxr-xr-x
pdftoppm
19.64
KB
-rwxr-xr-x
pdftops
19.77
KB
-rwxr-xr-x
pdftotext
28.08
KB
-rwxr-xr-x
pdfunite
19.78
KB
-rwxr-xr-x
pear
333
B
-rwxr-xr-x
peardev
360
B
-rwxr-xr-x
pecl
248
B
-rwxr-xr-x
peekfd
11.21
KB
-rwxr-xr-x
perl
11.14
KB
-rwxr-xr-x
perl5.16.3
11.14
KB
-rwxr-xr-x
perlbug
43.61
KB
-rwxr-xr-x
perldoc
203
B
-rwxr-xr-x
perlivp
10.52
KB
-rwxr-xr-x
perlthanks
43.61
KB
-rwxr-xr-x
perror
2.9
MB
-rwxr-xr-x
pf2afm
498
B
-rwxr-xr-x
pfbtopfa
516
B
-rwxr-xr-x
pflags
2.06
KB
-rwxr-xr-x
pgawk
418.63
KB
-rwxr-xr-x
pgrep
27.67
KB
-rwxr-xr-x
phar
14.46
KB
-rwxr-xr-x
phar.phar
14.46
KB
-rwxr-xr-x
php
5.08
MB
-rwxr-xr-x
php-cgi
4.97
MB
-rwxr-xr-x
phpize
4.65
KB
-rwxr-xr-x
pic
180.41
KB
-rwxr-xr-x
piconv
7.99
KB
-rwxr-xr-x
pidstat
68.88
KB
-rwxr-xr-x
pinentry
2.54
KB
-rwxr-xr-x
pinentry-curses
49.19
KB
-rwxr-xr-x
pinentry-gtk
108.2
KB
-rwxr-xr-x
pinentry-gtk-2
108.2
KB
-rwxr-xr-x
pinentry-qt
151.05
KB
-rwxr-xr-x
pinfo
98.52
KB
-rwxr-xr-x
ping
64.63
KB
-rwxr-xr-x
ping6
64.63
KB
-rwxr-xr-x
pinky
36.57
KB
-rwxr-xr-x
pipe_progress
850.33
KB
-rwxr-xr-x
pitchplay
1005
B
-rwxr-xr-x
pk12util
103.21
KB
-rwxr-xr-x
pkaction
15
KB
-rwxr-xr-x
pkcheck
23.03
KB
-rwxr-xr-x
pkcon
73.47
KB
-rwxr-xr-x
pkcs1-conv
15.52
KB
-rwxr-xr-x
pkexec
27.02
KB
-rwsr-xr-x
pkg-config
44.38
KB
-rwxr-xr-x
pkill
27.67
KB
-rwxr-xr-x
pkla-admin-identities
19.23
KB
-rwxr-xr-x
pkla-check-authorization
27.3
KB
-rwxr-xr-x
pkmon
19.83
KB
-rwxr-xr-x
pkttyagent
18.98
KB
-rwxr-xr-x
pl2pm
4.42
KB
-rwxr-xr-x
plasma-desktop
7
KB
-rwxr-xr-x
plasma-netbook
6.99
KB
-rwxr-xr-x
plasma-overlay
180.77
KB
-rwxr-xr-x
plasma-remote-helper
19.67
KB
-rwxr-xr-x
plasma-windowed
7
KB
-rwxr-xr-x
plasmapkg
52.7
KB
-rwxr-xr-x
play
64.75
KB
-rwxr-xr-x
pldd
14.11
KB
-rwxr-xr-x
plistutil
11.16
KB
-rwxr-xr-x
plymouth
39.77
KB
-rwxr-xr-x
pm-is-supported
983
B
-rwxr-xr-x
pmap
27.61
KB
-rwxr-xr-x
pnm2ppa
611.31
KB
-rwxr-xr-x
pod2html
4
KB
-rwxr-xr-x
pod2man
13.26
KB
-rwxr-xr-x
pod2text
10.75
KB
-rwxr-xr-x
pod2usage
3.67
KB
-rwxr-xr-x
policyeditor
5.56
KB
-rwxr-xr-x
policyeditor.itweb
5.56
KB
-rwxr-xr-x
policytool
8.91
KB
-rwxr-xr-x
popmaildir
850.33
KB
-rwxr-xr-x
post-grohtml
187.55
KB
-rwxr-xr-x
powernow-k8-decode
6.15
KB
-rwxr-xr-x
powertop
850.33
KB
-rwxr-xr-x
ppdc
19.11
KB
-rwxr-xr-x
ppdhtml
11.09
KB
-rwxr-xr-x
ppdi
11.07
KB
-rwxr-xr-x
ppdmerge
15.02
KB
-rwxr-xr-x
ppdpo
11.09
KB
-rwxr-xr-x
pphs
404
B
-rwxr-xr-x
pr
65.11
KB
-rwxr-xr-x
pre-grohtml
86.24
KB
-rwxr-xr-x
preconv
40.88
KB
-rwxr-xr-x
preparetips
998
B
-rwxr-xr-x
printafm
395
B
-rwxr-xr-x
printenv
28.28
KB
-rwxr-xr-x
printf
48.61
KB
-rwxr-xr-x
prlimit
41.2
KB
-rwxr-xr-x
procmail
105.45
KB
-rwxr-xr-x
procmail-wrapper
8.45
KB
-rwsr-sr-x
profiles
47.5
KB
-rwxr-xr-x
prove
13.13
KB
-rwxr-xr-x
prtstat
15.25
KB
-rwxr-xr-x
ps
97.77
KB
-rwxr-xr-x
ps2ascii
631
B
-rwxr-xr-x
ps2epsi
2.69
KB
-rwxr-xr-x
ps2pdf
272
B
-rwxr-xr-x
ps2pdf12
215
B
-rwxr-xr-x
ps2pdf13
215
B
-rwxr-xr-x
ps2pdf14
215
B
-rwxr-xr-x
ps2pdfwr
1.07
KB
-rwxr-xr-x
ps2ps
647
B
-rwxr-xr-x
ps2ps2
669
B
-rwxr-xr-x
pscan
850.33
KB
-rwxr-xr-x
psed
52.08
KB
-rwxr-xr-x
psfaddtable
19.48
KB
-rwxr-xr-x
psfgettable
19.48
KB
-rwxr-xr-x
psfstriptable
19.48
KB
-rwxr-xr-x
psfxtable
19.48
KB
-rwxr-xr-x
psktool
16.38
KB
-rwxr-xr-x
pstack
1.05
KB
-rwxr-xr-x
pstree
27.84
KB
-rwxr-xr-x
pstree.x11
27.84
KB
-rwxr-xr-x
pstruct
35.75
KB
-rwxr-xr-x
ptar
3.43
KB
-rwxr-xr-x
ptardiff
2.41
KB
-rwxr-xr-x
ptargrep
4.13
KB
-rwxr-xr-x
ptaskset
3.8
KB
-rwxr-xr-x
ptx
65.08
KB
-rwxr-xr-x
pulseaudio
87.64
KB
-rwxr-xr-x
purgestat
817.3
KB
-rwxr-sr-x
purple-client-example
7.04
KB
-rwxr-xr-x
purple-remote
7.92
KB
-rwxr-xr-x
purple-send
776
B
-rwxr-xr-x
purple-send-async
635
B
-rwxr-xr-x
purple-url-handler
11.79
KB
-rwxr-xr-x
pwd
32.45
KB
-rwxr-xr-x
pwdx
11.27
KB
-rwxr-xr-x
pwmake
11.13
KB
-rwxr-xr-x
pwscore
11.13
KB
-rwxr-xr-x
pydoc
78
B
-rwxr-xr-x
pygtk-demo
188
B
-rwxr-xr-x
pyinotify
42
B
-rwxr-xr-x
python
6.98
KB
-rwxr-xr-x
python2
6.98
KB
-rwxr-xr-x
python2.7
6.98
KB
-rwxr-xr-x
qcatool2
269.42
KB
-rwxr-xr-x
qdbus
65.19
KB
-rwxr-xr-x
qemu-ga
267.8
KB
-rwxr-xr-x
qemu-img
800.89
KB
-rwxr-xr-x
qemu-io
772.91
KB
-rwxr-xr-x
qemu-nbd
777.15
KB
-rwxr-xr-x
qmi-network
13.14
KB
-rwxr-xr-x
qmicli
332.62
KB
-rwxr-xr-x
quota
83.31
KB
-rwxr-xr-x
quotasync
70.84
KB
-rwxr-xr-x
raidautorun
850.33
KB
-rwxr-xr-x
ranlib
61.22
KB
-rwxr-xr-x
rapper
23.59
KB
-rwxr-xr-x
rarian-example
11.13
KB
-rwxr-xr-x
rarian-sk-config
1.46
KB
-rwxr-xr-x
rarian-sk-extract
567
B
-rwxr-xr-x
rarian-sk-gen-uuid
7.04
KB
-rwxr-xr-x
rarian-sk-get-cl
72
KB
-rwxr-xr-x
rarian-sk-get-content-list
399
B
-rwxr-xr-x
rarian-sk-get-extended-content...
419
B
-rwxr-xr-x
rarian-sk-get-scripts
382
B
-rwxr-xr-x
rarian-sk-install
1.14
KB
-rwxr-xr-x
rarian-sk-migrate
80.22
KB
-rwxr-xr-x
rarian-sk-preinstall
71.91
KB
-rwxr-xr-x
rarian-sk-rebuild
825
B
-rwxr-xr-x
rarian-sk-update
9.31
KB
-rwxr-xr-x
raw
15.27
KB
-rwxr-xr-x
rb
74.96
KB
-rwxr-xr-x
rcs
175.6
KB
-rwxr-xr-x
rcsclean
819
B
-rwxr-xr-x
rcsdiff
816
B
-rwxr-xr-x
rcsfreeze
4.34
KB
-rwxr-xr-x
rcsmerge
819
B
-rwxr-xr-x
rctest
149.13
KB
-rwxr-xr-x
rdate
10.3
KB
-rwxr-xr-x
rdev
850.33
KB
-rwxr-xr-x
rdfproc
40.46
KB
-rwxr-xr-x
rdoc
934
B
-rwxr-xr-x
read
28
B
-rwxr-xr-x
readahead
850.33
KB
-rwxr-xr-x
readcd
97.57
KB
-rwxr-xr-x
readelf
509.83
KB
-rwxr-xr-x
readlink
40.82
KB
-rwxr-xr-x
readmult
800
B
-rwxr-xr-x
readom
97.57
KB
-rwxr-xr-x
realpath
61.23
KB
-rwxr-xr-x
rebuild-jar-repository
1.76
KB
-rwxr-xr-x
rec
64.75
KB
-rwxr-xr-x
recode-sr-latin
15.29
KB
-rwxr-xr-x
recountdiff
3.36
KB
-rwxr-xr-x
red
89
B
-rwxr-xr-x
rediff
36.04
KB
-rwxr-xr-x
redland-db-upgrade
11.12
KB
-rwxr-xr-x
reformime
850.33
KB
-rwxr-xr-x
remove-shell
850.33
KB
-rwxr-xr-x
rename
11.26
KB
-rwxr-xr-x
renice
11.21
KB
-rwxr-xr-x
replace
2.77
MB
-rwxr-xr-x
repo-graph
4.09
KB
-rwxr-xr-x
repo-rss
10.07
KB
-rwxr-xr-x
repoclosure
11.42
KB
-rwxr-xr-x
repodiff
13.97
KB
-rwxr-xr-x
repomanage
6.88
KB
-rwxr-xr-x
repoquery
55.68
KB
-rwxr-xr-x
report-cli
28.03
KB
-rwxr-xr-x
report-gtk
127.45
KB
-rwxr-xr-x
reporter-bugzilla
52.74
KB
-rwxr-xr-x
reporter-mailx
32.1
KB
-rwxr-xr-x
reporter-mantisbt
56.94
KB
-rwxr-xr-x
reporter-rhtsupport
53.04
KB
-rwxr-xr-x
reporter-upload
15.29
KB
-rwxr-xr-x
reporter-ureport
19.3
KB
-rwxr-xr-x
reposync
14.14
KB
-rwxr-xr-x
repotrack
9.86
KB
-rwxr-xr-x
rescan-scsi-bus.sh
33.81
KB
-rwxr-xr-x
reset
19.6
KB
-rwxr-xr-x
resize
19.69
KB
-rwxr-xr-x
resizecons
19.63
KB
-rwxr-xr-x
resolve_stack_dump
2.78
MB
-rwxr-xr-x
resolveip
2.78
MB
-rwxr-xr-x
rev
11.26
KB
-rwxr-xr-x
rfcomm
106.92
KB
-rwxr-xr-x
rhino
594
B
-rwxr-xr-x
ri
184
B
-rwxr-xr-x
rlog
807
B
-rwxr-xr-x
rm
61.4
KB
-rwxr-xr-x
rmail
262
B
-rwxr-xr-x
rmail.postfix
262
B
-rwxr-xr-x
rmail.sendmail
79.13
KB
-rwxr-xr-x
rmcp_ping
14.99
KB
-rwxr-xr-x
rmdir
44.46
KB
-rwxr-xr-x
rmid
8.9
KB
-rwxr-xr-x
rmiregistry
8.91
KB
-rwxr-xr-x
rnano
201.08
KB
-rwxr-xr-x
rngtest
16.02
KB
-rwxr-xr-x
roqet
36.85
KB
-rwxr-xr-x
rpcgen
90.45
KB
-rwxr-xr-x
rpm
15.75
KB
-rwxr-xr-x
rpm2cpio
11.16
KB
-rwxr-xr-x
rpmbuild
25.57
KB
-rwxr-xr-x
rpmdb
11.73
KB
-rwxr-xr-x
rpmdumpheader
11.09
KB
-rwxr-xr-x
rpmkeys
11.73
KB
-rwxr-xr-x
rpmquery
15.75
KB
-rwxr-xr-x
rpmsign
15.8
KB
-rwxr-xr-x
rpmspec
15.99
KB
-rwxr-xr-x
rpmverify
15.75
KB
-rwxr-xr-x
rrdcached
52.98
KB
-rwxr-xr-x
rrdcgi
27.81
KB
-rwxr-xr-x
rrdcreate
89.35
KB
-rwxr-xr-x
rrdinfo
89.35
KB
-rwxr-xr-x
rrdtool
27.49
KB
-rwxr-xr-x
rrdupdate
89.35
KB
-rwxr-xr-x
rst2html
593
B
-rwxr-xr-x
rst2latex
790
B
-rwxr-xr-x
rst2man
599
B
-rwxr-xr-x
rst2odt
763
B
-rwxr-xr-x
rst2odt_prepstyles
1.66
KB
-rwxr-xr-x
rst2pseudoxml
600
B
-rwxr-xr-x
rst2s5
636
B
-rwxr-xr-x
rst2xetex
785
B
-rwxr-xr-x
rst2xml
601
B
-rwxr-xr-x
rstpep2html
669
B
-rwxr-xr-x
rsync
488.38
KB
-rwxr-xr-x
rsyslog-recover-qi.pl
5.96
KB
-rwxr-xr-x
ruby
7.02
KB
-rwxr-xr-x
run-parts
2.04
KB
-rwxr-xr-x
runcon
32.47
KB
-rwxr-xr-x
runsv
850.33
KB
-rwxr-xr-x
runsvdir
850.33
KB
-rwxr-xr-x
rvi
906.45
KB
-rwxr-xr-x
rview
906.45
KB
-rwxr-xr-x
rvim
2.23
MB
-rwxr-xr-x
rx
74.96
KB
-rwxr-xr-x
rxe_cfg
14.78
KB
-rwxr-xr-x
rz
74.96
KB
-rwxr-xr-x
s2p
52.08
KB
-rwxr-xr-x
sa-awl
4.91
KB
-rwxr-xr-x
sa-check_spamd
14.45
KB
-rwxr-xr-x
sa-compile
21.62
KB
-rwxr-xr-x
sa-learn
44.5
KB
-rwxr-xr-x
sa-update
68.06
KB
-rwxr-xr-x
sadf
168.45
KB
-rwxr-xr-x
sandbox
17.52
KB
-rwxr-xr-x
sane-find-scanner
113.04
KB
-rwxr-xr-x
sar
95.38
KB
-rwxr-xr-x
sasl2-sample-client
19.27
KB
-rwxr-xr-x
sasl2-sample-server
19.1
KB
-rwxr-xr-x
satyr
15.4
KB
-rwxr-xr-x
saytime
5.76
KB
-rwxr-xr-x
sb
78.98
KB
-rwxr-xr-x
sbcdec
63.66
KB
-rwxr-xr-x
sbcenc
63.79
KB
-rwxr-xr-x
sbcinfo
11.13
KB
-rwxr-xr-x
scanimage
48.1
KB
-rwxr-xr-x
scl
19.5
KB
-rwxr-xr-x
scl_enabled
258
B
-rwxr-xr-x
scl_source
1.83
KB
-rwxr-xr-x
scp
89.23
KB
-rwxr-xr-x
scp-dbus-service
90
B
-rwxr-xr-x
script
19.61
KB
-rwxr-xr-x
scriptreplay
15.29
KB
-rwxr-xr-x
scrollkeeper-config
1.46
KB
-rwxr-xr-x
scrollkeeper-extract
567
B
-rwxr-xr-x
scrollkeeper-gen-seriesid
7.04
KB
-rwxr-xr-x
scrollkeeper-get-cl
72
KB
-rwxr-xr-x
scrollkeeper-get-content-list
399
B
-rwxr-xr-x
scrollkeeper-get-extended-cont...
419
B
-rwxr-xr-x
scrollkeeper-get-index-from-do...
382
B
-rwxr-xr-x
scrollkeeper-get-toc-from-docp...
382
B
-rwxr-xr-x
scrollkeeper-get-toc-from-id
382
B
-rwxr-xr-x
scrollkeeper-install
1.14
KB
-rwxr-xr-x
scrollkeeper-preinstall
71.91
KB
-rwxr-xr-x
scrollkeeper-rebuilddb
825
B
-rwxr-xr-x
scrollkeeper-uninstall
1.14
KB
-rwxr-xr-x
scrollkeeper-update
9.31
KB
-rwxr-xr-x
scsi-rescan
33.81
KB
-rwxr-xr-x
scsi_logging_level
7.72
KB
-rwxr-xr-x
scsi_mandat
3.55
KB
-rwxr-xr-x
scsi_readcap
1.3
KB
-rwxr-xr-x
scsi_ready
1.09
KB
-rwxr-xr-x
scsi_satl
3.76
KB
-rwxr-xr-x
scsi_start
1.25
KB
-rwxr-xr-x
scsi_stop
1.44
KB
-rwxr-xr-x
scsi_temperature
936
B
-rwxr-xr-x
sctp_darn
44.55
KB
-rwxr-xr-x
sctp_status
23.67
KB
-rwxr-xr-x
sctp_test
31.78
KB
-rwxr-xr-x
sdiff
48.48
KB
-rwxr-xr-x
sdp_long_message
23.03
KB
-rwxr-xr-x
sdp_run_test
11.29
KB
-rwxr-xr-x
sdptool
209.02
KB
-rwxr-xr-x
sdrcomp
67.11
KB
-rwxr-xr-x
seahorse
1.06
MB
-rwxr-xr-x
sealert
26.67
KB
-rwxr-xr-x
seapplet
19.7
KB
-rwxr-xr-x
secon
24.06
KB
-rwxr-xr-x
secret-tool
19.68
KB
-rwxr-xr-x
sed
74.29
KB
-rwxr-xr-x
sedismod
249.42
KB
-rwxr-xr-x
sedispol
176.32
KB
-rwxr-xr-x
semodule_package
15.3
KB
-rwxr-xr-x
sendiso
11.52
KB
-rwxr-xr-x
sensors
27.53
KB
-rwxr-xr-x
sensors-conf-convert
13.33
KB
-rwxr-xr-x
seq
48.48
KB
-rwxr-xr-x
servertool
8.91
KB
-rwxr-xr-x
servicemenudeinstallation
1.16
KB
-rwxr-xr-x
servicemenuinstallation
3.56
KB
-rwxr-xr-x
sessreg
11.24
KB
-rwxr-xr-x
setarch
15.27
KB
-rwxr-xr-x
setcifsacl
19.1
KB
-rwxr-xr-x
setconsole
850.33
KB
-rwxr-xr-x
setfacl
36.73
KB
-rwxr-xr-x
setfattr
15.71
KB
-rwxr-xr-x
setfont
40.38
KB
-rwxr-xr-x
setkeycodes
11.16
KB
-rwxr-xr-x
setleds
11.16
KB
-rwxr-xr-x
setlogcons
850.33
KB
-rwxr-xr-x
setmetamode
11.21
KB
-rwxr-xr-x
setpriv
36.06
KB
-rwxr-xr-x
setserial
20.54
KB
-rwxr-xr-x
setsid
11.23
KB
-rwxr-xr-x
setterm
27.48
KB
-rwxr-xr-x
setuidgid
850.33
KB
-rwxr-xr-x
setup
6.95
KB
-rwxr-xr-x
setup-nsssysinit
1.5
KB
-rwxr-xr-x
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
setvtrgb
11.34
KB
-rwxr-xr-x
setxkbmap
23.96
KB
-rwxr-xr-x
sexp-conv
23.63
KB
-rwxr-xr-x
sftp
142.01
KB
-rwxr-xr-x
sg
40.95
KB
-rwsr-xr-x
sg_compare_and_write
15.82
KB
-rwxr-xr-x
sg_copy_results
20.02
KB
-rwxr-xr-x
sg_dd
43.63
KB
-rwxr-xr-x
sg_decode_sense
15.49
KB
-rwxr-xr-x
sg_emc_trespass
11.09
KB
-rwxr-xr-x
sg_format
24.05
KB
-rwxr-xr-x
sg_get_config
28.22
KB
-rwxr-xr-x
sg_get_lba_status
15.5
KB
-rwxr-xr-x
sg_ident
15.46
KB
-rwxr-xr-x
sg_inq
83.68
KB
-rwxr-xr-x
sg_logs
92.48
KB
-rwxr-xr-x
sg_luns
19.65
KB
-rwxr-xr-x
sg_map
15.23
KB
-rwxr-xr-x
sg_map26
23.77
KB
-rwxr-xr-x
sg_modes
29.3
KB
-rwxr-xr-x
sg_opcodes
23.88
KB
-rwxr-xr-x
sg_persist
28.34
KB
-rwxr-xr-x
sg_prevent
11.29
KB
-rwxr-xr-x
sg_raw
19.78
KB
-rwxr-xr-x
sg_rbuf
19.66
KB
-rwxr-xr-x
sg_rdac
15.13
KB
-rwxr-xr-x
sg_read
23.33
KB
-rwxr-xr-x
sg_read_block_limits
11.31
KB
-rwxr-xr-x
sg_read_buffer
15.53
KB
-rwxr-xr-x
sg_read_long
15.55
KB
-rwxr-xr-x
sg_readcap
19.66
KB
-rwxr-xr-x
sg_reassign
15.54
KB
-rwxr-xr-x
sg_referrals
15.48
KB
-rwxr-xr-x
sg_requests
15.58
KB
-rwxr-xr-x
sg_reset
11.46
KB
-rwxr-xr-x
sg_rmsn
11.32
KB
-rwxr-xr-x
sg_rtpg
15.39
KB
-rwxr-xr-x
sg_safte
19.59
KB
-rwxr-xr-x
sg_sanitize
19.88
KB
-rwxr-xr-x
sg_sat_identify
15.55
KB
-rwxr-xr-x
sg_sat_phy_event
15.87
KB
-rwxr-xr-x
sg_sat_set_features
15.41
KB
-rwxr-xr-x
sg_scan
15.34
KB
-rwxr-xr-x
sg_senddiag
20.02
KB
-rwxr-xr-x
sg_ses
67.55
KB
-rwxr-xr-x
sg_start
19.7
KB
-rwxr-xr-x
sg_stpg
19.61
KB
-rwxr-xr-x
sg_sync
15.52
KB
-rwxr-xr-x
sg_test_rwbuf
15.6
KB
-rwxr-xr-x
sg_turs
15.48
KB
-rwxr-xr-x
sg_unmap
15.5
KB
-rwxr-xr-x
sg_verify
15.7
KB
-rwxr-xr-x
sg_vpd
77.67
KB
-rwxr-xr-x
sg_wr_mode
19.55
KB
-rwxr-xr-x
sg_write_buffer
15.66
KB
-rwxr-xr-x
sg_write_long
15.55
KB
-rwxr-xr-x
sg_write_same
19.9
KB
-rwxr-xr-x
sg_xcopy
35.61
KB
-rwxr-xr-x
sginfo
65.8
KB
-rwxr-xr-x
sgm_dd
31.52
KB
-rwxr-xr-x
sgmlwhich
265
B
-rwxr-xr-x
sgp_dd
35.83
KB
-rwxr-xr-x
sh
941.93
KB
-rwxr-xr-x
sha1sum
36.57
KB
-rwxr-xr-x
sha224sum
40.63
KB
-rwxr-xr-x
sha256sum
40.63
KB
-rwxr-xr-x
sha384sum
40.65
KB
-rwxr-xr-x
sha3sum
850.33
KB
-rwxr-xr-x
sha512sum
40.65
KB
-rwxr-xr-x
shasum
8.4
KB
-rwxr-xr-x
show-changed-rco
10.13
KB
-rwxr-xr-x
show-installed
16.18
KB
-rwxr-xr-x
showconsolefont
15.47
KB
-rwxr-xr-x
showkey
15.23
KB
-rwxr-xr-x
showrgb
7.08
KB
-rwxr-xr-x
shred
52.94
KB
-rwxr-xr-x
shuf
49.13
KB
-rwxr-xr-x
signver
102.59
KB
-rwxr-xr-x
sigtool
207.89
KB
-rwxr-xr-x
sim_lsmplugin
1.22
KB
-rwxr-xr-x
simc_lsmplugin
105.79
KB
-rwxr-xr-x
size
32.35
KB
-rwxr-xr-x
skill
23.62
KB
-rwxr-xr-x
slabinfo
34.96
KB
-rwxr-xr-x
slabtop
19.52
KB
-rwxr-xr-x
sleep
32.35
KB
-rwxr-xr-x
sliceprint
1.99
KB
-rwxr-xr-x
slogin
756.39
KB
-rwxr-xr-x
smbcontrol
56.14
KB
-rwxr-xr-x
smbpasswd
35.07
KB
-rwxr-xr-x
smbstatus
71.27
KB
-rwxr-xr-x
smemcap
850.33
KB
-rwxr-xr-x
sndfile-resample
15.19
KB
-rwxr-xr-x
snice
23.62
KB
-rwxr-xr-x
snmpbulkget
11
KB
-rwxr-xr-x
snmpbulkwalk
15.02
KB
-rwxr-xr-x
snmpdelta
19.13
KB
-rwxr-xr-x
snmpdf
14.95
KB
-rwxr-xr-x
snmpget
10.89
KB
-rwxr-xr-x
snmpgetnext
10.9
KB
-rwxr-xr-x
snmpinform
15.29
KB
-rwxr-xr-x
snmpnetstat
48.01
KB
-rwxr-xr-x
snmpset
14.9
KB
-rwxr-xr-x
snmpstatus
15.78
KB
-rwxr-xr-x
snmptable
23.01
KB
-rwxr-xr-x
snmptest
14.91
KB
-rwxr-xr-x
snmptls
19.06
KB
-rwxr-xr-x
snmptranslate
14.91
KB
-rwxr-xr-x
snmptrap
15.29
KB
-rwxr-xr-x
snmpusm
35.22
KB
-rwxr-xr-x
snmpvacm
32.12
KB
-rwxr-xr-x
snmpwalk
15
KB
-rwxr-xr-x
soelim
32.59
KB
-rwxr-xr-x
soffice
5.75
KB
-rwxr-xr-x
softlimit
850.33
KB
-rwxr-xr-x
solid-action-desktop-gen
36.49
KB
-rwxr-xr-x
solid-hardware
44.95
KB
-rwxr-xr-x
solterm
23.34
KB
-rwxr-xr-x
sopranocmd
93.73
KB
-rwxr-xr-x
sopranod
28.3
KB
-rwxr-xr-x
sort
114.94
KB
-rwxr-xr-x
sotruss
4.24
KB
-rwxr-xr-x
sound_dump
15.33
KB
-rwxr-xr-x
soundstretch
26.59
KB
-rwxr-xr-x
sox
64.75
KB
-rwxr-xr-x
soxi
64.75
KB
-rwxr-xr-x
spamassassin
29.22
KB
-rwxr-xr-x
spamc
45.19
KB
-rwxr-xr-x
spamd
125.25
KB
-rwxr-xr-x
spd-conf
218
B
-rwxr-xr-x
spd-say
19.98
KB
-rwxr-xr-x
spdsend
15.55
KB
-rwxr-xr-x
speaker-test
27.93
KB
-rwxr-xr-x
speech-dispatcher
138.47
KB
-rwxr-xr-x
spice-vdagent
65.05
KB
-rwxr-xr-x
spinner
2.38
KB
-rwxr-xr-x
splain
18.03
KB
-rwxr-xr-x
split
69.47
KB
-rwxr-xr-x
splitdiff
3.11
KB
-rwxr-xr-x
sprof
22.1
KB
-rwxr-xr-x
sqlite3
54.95
KB
-rwxr-xr-x
ssh
756.39
KB
-rwxr-xr-x
ssh-add
352.48
KB
-rwxr-xr-x
ssh-agent
373.26
KB
---x--s--x
ssh-copy-id
10.22
KB
-rwxr-xr-x
ssh-keygen
409.38
KB
-rwxr-xr-x
ssh-keyscan
430.7
KB
-rwxr-xr-x
ssl_client
850.33
KB
-rwxr-xr-x
ssltap
118.42
KB
-rwxr-xr-x
stap
3.39
MB
-rwxr-xr-x
stap-merge
10.96
KB
-rwxr-xr-x
stap-prep
4.08
KB
-rwxr-xr-x
stap-report
4.74
KB
-rwxr-xr-x
stapbpf
64.53
KB
-rwxr-xr-x
stapdyn
195.27
KB
-rwxr-xr-x
staprun
207.11
KB
---s--x---
stapsh
23.18
KB
-rwxr-xr-x
start-pulseaudio-x11
1.31
KB
-rwxr-xr-x
start-stop-daemon
850.33
KB
-rwxr-xr-x
startkde
12.45
KB
-rwxr-xr-x
startx
5.44
KB
-rwxr-xr-x
stat
77.19
KB
-rwxr-xr-x
states
97.16
KB
-rwxr-xr-x
stdbuf
64.88
KB
-rwxr-xr-x
strace
1009.21
KB
-rwxr-xr-x
strace-log-merge
1.28
KB
-rwxr-xr-x
strings
32.55
KB
-rwxr-xr-x
strip
227.34
KB
-rwxr-xr-x
stty
68.61
KB
-rwxr-xr-x
stunbdc
44.29
KB
-rwxr-xr-x
stund
40.08
KB
-rwxr-xr-x
su
31.38
KB
-rwsr-xr-x
sudo
147.88
KB
---s--x--x
sudoedit
147.88
KB
---s--x--x
sudoreplay
56.11
KB
---x--x--x
sum
36.55
KB
-rwxr-xr-x
sushi
546
B
-rwxr-xr-x
sv
850.33
KB
-rwxr-xr-x
svc
850.33
KB
-rwxr-xr-x
svlogd
850.33
KB
-rwxr-xr-x
svn
232.45
KB
-rwxr-xr-x
svnadmin
67.4
KB
-rwxr-xr-x
svndumpfilter
35.32
KB
-rwxr-xr-x
svnlook
67.45
KB
-rwxr-xr-x
svnrdump
51.54
KB
-rwxr-xr-x
svnserve
83.95
KB
-rwxr-xr-x
svnsync
51.59
KB
-rwxr-xr-x
svnversion
15.15
KB
-rwxr-xr-x
sweeper
74.41
KB
-rwxr-xr-x
swig
1.35
MB
-rwxr-xr-x
sx
78.98
KB
-rwxr-xr-x
sync
28.33
KB
-rwxr-xr-x
synclient
18.76
KB
-rwxr-xr-x
syndaemon
19.6
KB
-rwxr-xr-x
syslogd
850.33
KB
-rwxr-xr-x
system-config-abrt
15.27
KB
-rwxr-xr-x
system-config-date
84
B
-rwxr-xr-x
system-config-printer
95
B
-rwxr-xr-x
system-config-printer-applet
80
B
-rwxr-xr-x
systemctl
704.8
KB
-rwxr-xr-x
systemd-analyze
1.49
MB
-rwxr-xr-x
systemd-ask-password
60.38
KB
-rwxr-xr-x
systemd-cat
39.98
KB
-rwxr-xr-x
systemd-cgls
326.29
KB
-rwxr-xr-x
systemd-cgtop
85.09
KB
-rwxr-xr-x
systemd-coredumpctl
154.52
KB
-rwxr-xr-x
systemd-delta
76.84
KB
-rwxr-xr-x
systemd-detect-virt
39.97
KB
-rwxr-xr-x
systemd-escape
48.2
KB
-rwxr-xr-x
systemd-firstboot
101.52
KB
-rwxr-xr-x
systemd-hwdb
85.31
KB
-rwxr-xr-x
systemd-inhibit
309.83
KB
-rwxr-xr-x
systemd-loginctl
489.62
KB
-rwxr-xr-x
systemd-machine-id-setup
52.23
KB
-rwxr-xr-x
systemd-notify
48.13
KB
-rwxr-xr-x
systemd-nspawn
545.88
KB
-rwxr-xr-x
systemd-path
52.16
KB
-rwxr-xr-x
systemd-run
387.05
KB
-rwxr-xr-x
systemd-stdio-bridge
305.77
KB
-rwxr-xr-x
systemd-sysv-convert
3.89
KB
-rwxr-xr-x
systemd-tmpfiles
146.13
KB
-rwxr-xr-x
systemd-tty-ask-password-agent
84.75
KB
-rwxr-xr-x
systemsettings
91.87
KB
-rwxr-xr-x
sz
78.98
KB
-rwxr-xr-x
tabs
15.31
KB
-rwxr-xr-x
tac
32.48
KB
-rwxr-xr-x
tail
65.25
KB
-rwxr-xr-x
tailf
23.88
KB
-rwxr-xr-x
tapestat
52.55
KB
-rwxr-xr-x
tar
338.02
KB
-rwxr-xr-x
targetcli
10.34
KB
-rwxr-xr-x
targetclid
7.97
KB
-rwxr-xr-x
targetctl
2.09
KB
-rwxr-xr-x
targetd
837
B
-rwxr-xr-x
taskset
32.22
KB
-rwxr-xr-x
tbl
115.96
KB
-rwxr-xr-x
tclsh
7
KB
-rwxr-xr-x
tclsh8.5
7
KB
-rwxr-xr-x
tcpsvd
850.33
KB
-rwxr-xr-x
tcptraceroute
1.44
KB
-rwxr-xr-x
tcsh
395.15
KB
-rwxr-xr-x
tdspool
301.54
KB
-rwxr-xr-x
teamd
155.09
KB
-rwxr-xr-x
teamdctl
28.98
KB
-rwxr-xr-x
teamnl
19.09
KB
-rwxr-xr-x
teamviewer
360
B
-rwxr-xr-x
tee
32.38
KB
-rwxr-xr-x
telepathy-gabble-xmpp-console
13.63
KB
-rwxr-xr-x
telnet
99.41
KB
-rwxr-xr-x
telnetd
850.33
KB
-rwxr-xr-x
test
36.46
KB
-rwxr-xr-x
test_ppa
6.68
KB
-rwxr-xr-x
testgdbm
29.77
KB
-rwxr-xr-x
testlibraw
15.37
KB
-rwxr-xr-x
testparm
31.01
KB
-rwxr-xr-x
testrb
74
B
-rwxr-xr-x
text2wave
6.31
KB
-rwxr-xr-x
tftp
850.33
KB
-rwxr-xr-x
tftpd
850.33
KB
-rwxr-xr-x
tgz
2.24
KB
-rwxr-xr-x
tic
64.26
KB
-rwxr-xr-x
time
15.55
KB
-rwxr-xr-x
timedatectl
330.22
KB
-rwxr-xr-x
timeout
53.31
KB
-rwxr-xr-x
tload
15.38
KB
-rwxr-xr-x
tmon
31.11
KB
-rwxr-xr-x
tnameserv
8.95
KB
-rwxr-xr-x
toc2cddb
221.41
KB
-rwxr-xr-x
toc2cue
221.37
KB
-rwxr-xr-x
toe
15.43
KB
-rwxr-xr-x
top
104.38
KB
-rwxr-xr-x
totem
15.23
KB
-rwxr-xr-x
totem-video-thumbnailer
28.13
KB
-rwxr-xr-x
touch
61.02
KB
-rwxr-xr-x
tpmtool
101.51
KB
-rwxr-xr-x
tput
15.41
KB
-rwxr-xr-x
tr
44.61
KB
-rwxr-xr-x
tracepath
15.05
KB
-rwxr-xr-x
tracepath6
15.05
KB
-rwxr-xr-x
traceroute
61.86
KB
-rwxr-xr-x
traceroute6
61.86
KB
-rwxr-xr-x
tracker
114.7
KB
-rwxr-xr-x
troff
512.96
KB
-rwxr-xr-x
true
28.26
KB
-rwxr-xr-x
truncate
52.68
KB
-rwxr-xr-x
trust
179.08
KB
-rwxr-xr-x
tset
19.6
KB
-rwxr-xr-x
tsort
36.47
KB
-rwxr-xr-x
tsql
285
KB
-rwxr-xr-x
ttmkfdir
99.04
KB
-rwxr-xr-x
tty
28.29
KB
-rwxr-xr-x
ttysize
850.33
KB
-rwxr-xr-x
tunctl
850.33
KB
-rwxr-xr-x
turbostat
113.15
KB
-rwxr-xr-x
tzselect
7.17
KB
-rwxr-xr-x
ubiattach
850.33
KB
-rwxr-xr-x
ubidetach
850.33
KB
-rwxr-xr-x
ubimkvol
850.33
KB
-rwxr-xr-x
ubirename
850.33
KB
-rwxr-xr-x
ubirmvol
850.33
KB
-rwxr-xr-x
ubirsvol
850.33
KB
-rwxr-xr-x
ubiupdatevol
850.33
KB
-rwxr-xr-x
ucs2any
19.47
KB
-rwxr-xr-x
udevadm
414.27
KB
-rwxr-xr-x
udhcpc
850.33
KB
-rwxr-xr-x
udhcpd
850.33
KB
-rwxr-xr-x
udisksctl
55.45
KB
-rwxr-xr-x
udpsvd
850.33
KB
-rwxr-xr-x
uevent
850.33
KB
-rwxr-xr-x
ul
19.47
KB
-rwxr-xr-x
ulockmgr_server
15.11
KB
-rwxr-xr-x
umask
29
B
-rwxr-xr-x
umount
31.23
KB
-rwsr-xr-x
unalias
31
B
-rwxr-xr-x
uname
32.3
KB
-rwxr-xr-x
uncompress
24.49
KB
-rwxr-xr-x
unexpand
32.45
KB
-rwxr-xr-x
unicode_start
2.5
KB
-rwxr-xr-x
unicode_stop
363
B
-rwxr-xr-x
uniq
44.71
KB
-rwxr-xr-x
unix-lpr.sh
4.07
KB
-rwxr-xr-x
unix2dos
850.33
KB
-rwxr-xr-x
unlink
28.3
KB
-rwxr-xr-x
unlz4
105.84
KB
-rwxr-xr-x
unlzma
850.33
KB
-rwxr-xr-x
unoconv
58.04
KB
-rwxr-xr-x
unopkg
370
B
-rwxr-xr-x
unpack200
119.32
KB
-rwxr-xr-x
unshare
15.45
KB
-rwxr-xr-x
unwrapdiff
5.8
KB
-rwxr-xr-x
unxz
73.52
KB
-rwxr-xr-x
unzip
185.16
KB
-rwxr-xr-x
unzipsfx
88.66
KB
-rwxr-xr-x
update-ca-trust
1.03
KB
-rwxr-xr-x
update-desktop-database
19.7
KB
-rwxr-xr-x
update-gtk-immodules
313
B
-rwxr-xr-x
update-mime-database
52.82
KB
-rwxr-xr-x
updatedb
47.65
KB
-rwxr-xr-x
upower
15.13
KB
-rwxr-xr-x
uptime
11.22
KB
-rwxr-xr-x
urlgrabber
12.17
KB
-rwxr-xr-x
usb-devices
4.12
KB
-rwxr-xr-x
usbhid-dump
27.72
KB
-rwxr-xr-x
users
32.42
KB
-rwxr-xr-x
usleep
10.95
KB
-rwxr-xr-x
usx2yloader
15.41
KB
-rwxr-xr-x
utmpdump
15.45
KB
-rwxr-xr-x
uudecode
850.33
KB
-rwxr-xr-x
uuencode
850.33
KB
-rwxr-xr-x
uuidgen
11.21
KB
-rwxr-xr-x
uxterm
3.59
KB
-rwxr-xr-x
uz
2.25
KB
-rwxr-xr-x
vconfig
850.33
KB
-rwxr-xr-x
vcut
19.59
KB
-rwxr-xr-x
vdir
114.85
KB
-rwxr-xr-x
verify_blkparse
11.16
KB
-rwxr-xr-x
verifytree
10.79
KB
-rwxr-xr-x
vi
906.45
KB
-rwxr-xr-x
view
906.45
KB
-rwxr-xr-x
vim
2.23
MB
-rwxr-xr-x
vimdiff
2.23
MB
-rwxr-xr-x
vimtutor
2.04
KB
-rwxr-xr-x
vinagre
308.41
KB
-rwxr-xr-x
virsh
666.14
KB
-rwxr-xr-x
virt-host-validate
27.38
KB
-rwxr-xr-x
virt-pki-validate
9.58
KB
-rwxr-xr-x
virt-xml-validate
2.29
KB
-rwxr-xr-x
virtualmin-config-system
3.22
KB
-rwxr-xr-x
virtuoso-t
10.04
MB
-rwxr-xr-x
vlock
15.73
KB
-rwxr-xr-x
vm-support
9.57
KB
-rwxr-xr-x
vmhgfs-fuse
52.79
KB
-rwxr-xr-x
vmmouse_detect
11.37
KB
-rwxr-xr-x
vmstat
31.48
KB
-rwxr-xr-x
vmtoolsd
55.91
KB
-rwxr-xr-x
vmware-checkvm
11.07
KB
-rwxr-xr-x
vmware-hgfsclient
11.22
KB
-rwxr-xr-x
vmware-namespace-cmd
19.05
KB
-rwxr-xr-x
vmware-rpctool
19.47
KB
-rwxr-xr-x
vmware-toolbox-cmd
39.71
KB
-rwxr-xr-x
vmware-user
11.16
KB
-rwxr-xr-x
vmware-user-suid-wrapper
11.16
KB
-rwxr-xr-x
vmware-vgauth-cmd
15.02
KB
-rwxr-xr-x
vmware-vmblock-fuse
19.73
KB
-rwxr-xr-x
vmware-xferlogs
11.09
KB
-rwxr-xr-x
vncconfig
116.98
KB
-rwxr-xr-x
vncpasswd
27.63
KB
-rwxr-xr-x
volname
850.33
KB
-rwxr-xr-x
vorbiscomment
32.35
KB
-rwxr-xr-x
vstp
23.58
KB
-rwxr-xr-x
vxloader
15.38
KB
-rwxr-xr-x
w
19.45
KB
-rwxr-xr-x
wait
28
B
-rwxr-xr-x
wall
14.98
KB
-r-xr-sr-x
watch
24.14
KB
-rwxr-xr-x
watchdog
850.33
KB
-rwxr-xr-x
watchgnupg
15.35
KB
-rwxr-xr-x
wavpack
43.98
KB
-rwxr-xr-x
wc
40.67
KB
-rwxr-xr-x
wdctl
40.7
KB
-rwxr-xr-x
webmin
14.57
KB
-rwxr-xr-x
wget
408.96
KB
-rwxr-xr-x
whatis
45.49
KB
-rwxr-xr-x
whereis
20.2
KB
-rwxr-xr-x
which
23.77
KB
-rwxr-xr-x
whiptail
27.84
KB
-rwxr-xr-x
who
48.7
KB
-rwxr-xr-x
whoami
28.3
KB
-rwxr-xr-x
whois
60.48
KB
-rwxr-xr-x
whois.md
60.48
KB
-rwxr-xr-x
withsctp
229
B
-rwxr-xr-x
wnck-urgency-monitor
11.45
KB
-rwxr-xr-x
wodim
304.54
KB
-rwxr-xr-x
wrestool
49.28
KB
-rwxr-xr-x
write
19.09
KB
-rwxr-sr-x
wvdial
154.39
KB
-rwxr-xr-x
wvdialconf
56.24
KB
-rwxr-xr-x
wvgain
32.3
KB
-rwxr-xr-x
wvunpack
44.12
KB
-rwxr-xr-x
x86_64
15.27
KB
-rwxr-xr-x
x86_64-redhat-linux-c++
754.59
KB
-rwxr-xr-x
x86_64-redhat-linux-g++
754.59
KB
-rwxr-xr-x
x86_64-redhat-linux-gcc
750.59
KB
-rwxr-xr-x
x86_energy_perf_policy
10.23
KB
-rwxr-xr-x
xargs
60.91
KB
-rwxr-xr-x
xauth
40.8
KB
-rwxr-xr-x
xbrlapi
78.27
KB
-rwxr-xr-x
xdg-desktop-icon
19.05
KB
-rwxr-xr-x
xdg-desktop-menu
41.91
KB
-rwxr-xr-x
xdg-email
23.4
KB
-rwxr-xr-x
xdg-icon-resource
28.05
KB
-rwxr-xr-x
xdg-mime
38.43
KB
-rwxr-xr-x
xdg-open
18.84
KB
-rwxr-xr-x
xdg-screensaver
27.86
KB
-rwxr-xr-x
xdg-settings
32.79
KB
-rwxr-xr-x
xdg-user-dir
234
B
-rwxr-xr-x
xdg-user-dirs-gtk-update
19.82
KB
-rwxr-xr-x
xdg-user-dirs-update
19.7
KB
-rwxr-xr-x
xdpyinfo
36.84
KB
-rwxr-xr-x
xdriinfo
11.16
KB
-rwxr-xr-x
xev
27.81
KB
-rwxr-xr-x
xgamma
11.15
KB
-rwxr-xr-x
xgettext
265.35
KB
-rwxr-xr-x
xhost
15.38
KB
-rwxr-xr-x
xinit
19.63
KB
-rwxr-xr-x
xinput
52.81
KB
-rwxr-xr-x
xkbcomp
208.35
KB
-rwxr-xr-x
xkill
15.27
KB
-rwxr-xr-x
xlsatoms
11.27
KB
-rwxr-xr-x
xlsclients
15.44
KB
-rwxr-xr-x
xlsfonts
19.48
KB
-rwxr-xr-x
xmlcatalog
15.3
KB
-rwxr-xr-x
xmllint
61.94
KB
-rwxr-xr-x
xmlsec1
59.93
KB
-rwxr-xr-x
xmlwf
24
KB
-rwxr-xr-x
xmodmap
32.28
KB
-rwxr-xr-x
xmvn-builddep
1.04
KB
-rwxr-xr-x
xorg-x11-fonts-update-dirs
1.29
KB
-rwxr--r--
xprop
38.4
KB
-rwxr-xr-x
xrandr
60.06
KB
-rwxr-xr-x
xrdb
27.78
KB
-rwxr-xr-x
xrefresh
11.16
KB
-rwxr-xr-x
xset
31.72
KB
-rwxr-xr-x
xsetmode
11.1
KB
-rwxr-xr-x
xsetpointer
11.13
KB
-rwxr-xr-x
xsetroot
19.38
KB
-rwxr-xr-x
xsettings-kde
23.81
KB
-rwxr-xr-x
xsetwacom
49.15
KB
-rwxr-xr-x
xsltproc
23.51
KB
-rwxr-xr-x
xstdcmap
15.77
KB
-rwxr-xr-x
xsubpp
4.45
KB
-rwxr-xr-x
xterm
488.77
KB
-rwxr-xr-x
xvattr
11.32
KB
-rwxr-xr-x
xvinfo
15.25
KB
-rwxr-xr-x
xwininfo
40.16
KB
-rwxr-xr-x
xxd
14.46
KB
-rwxr-xr-x
xz
73.52
KB
-rwxr-xr-x
xzcat
73.52
KB
-rwxr-xr-x
xzcmp
6.48
KB
-rwxr-xr-x
xzdec
11.21
KB
-rwxr-xr-x
xzdiff
6.48
KB
-rwxr-xr-x
xzegrep
5.76
KB
-rwxr-xr-x
xzfgrep
5.76
KB
-rwxr-xr-x
xzgrep
5.76
KB
-rwxr-xr-x
xzless
1.76
KB
-rwxr-xr-x
xzmore
2.11
KB
-rwxr-xr-x
yacc
84.48
KB
-rwxr-xr-x
yelp
53.83
KB
-rwxr-xr-x
yes
28.3
KB
-rwxr-xr-x
ypdomainname
15.41
KB
-rwxr-xr-x
yum
801
B
-rwxr-xr-x
yum-builddep
9.95
KB
-rwxr-xr-x
yum-config-manager
9.35
KB
-rwxr-xr-x
yum-debug-dump
8.34
KB
-rwxr-xr-x
yum-debug-restore
7.72
KB
-rwxr-xr-x
yum-groups-manager
10.77
KB
-rwxr-xr-x
yumdownloader
10.85
KB
-rwxr-xr-x
zcat
1.9
KB
-rwxr-xr-x
zcip
850.33
KB
-rwxr-xr-x
zcmp
1.72
KB
-rwxr-xr-x
zdiff
5.63
KB
-rwxr-xr-x
zegrep
123
B
-rwxr-xr-x
zenheiset
1.09
KB
-rwxr-xr-x
zenity
101.2
KB
-rwxr-xr-x
zfgrep
123
B
-rwxr-xr-x
zforce
2.09
KB
-rwxr-xr-x
zgrep
5.98
KB
-rwxr-xr-x
zip
210.78
KB
-rwxr-xr-x
zipcloak
98.1
KB
-rwxr-xr-x
zipdetails
47.32
KB
-rwxr-xr-x
zipgrep
2.88
KB
-rwxr-xr-x
zipinfo
185.16
KB
-rwxr-xr-x
zipnote
93.73
KB
-rwxr-xr-x
zipsplit
97.75
KB
-rwxr-xr-x
zless
1.99
KB
-rwxr-xr-x
zmore
2.79
KB
-rwxr-xr-x
znew
5.22
KB
-rwxr-xr-x
zsoelim
32.59
KB
-rwxr-xr-x
zts-php
5.25
MB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : h2xs
#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; use warnings; =head1 NAME h2xs - convert .h C header files to Perl extensions =head1 SYNOPSIS B<h2xs> [B<OPTIONS> ...] [headerfile ... [extra_libraries]] B<h2xs> B<-h>|B<-?>|B<--help> =head1 DESCRIPTION I<h2xs> builds a Perl extension from C header files. The extension will include functions which can be used to retrieve the value of any #define statement which was in the C header files. The I<module_name> will be used for the name of the extension. If module_name is not supplied then the name of the first header file will be used, with the first character capitalized. If the extension might need extra libraries, they should be included here. The extension Makefile.PL will take care of checking whether the libraries actually exist and how they should be loaded. The extra libraries should be specified in the form -lm -lposix, etc, just as on the cc command line. By default, the Makefile.PL will search through the library path determined by Configure. That path can be augmented by including arguments of the form B<-L/another/library/path> in the extra-libraries argument. In spite of its name, I<h2xs> may also be used to create a skeleton pure Perl module. See the B<-X> option. =head1 OPTIONS =over 5 =item B<-A>, B<--omit-autoload> Omit all autoload facilities. This is the same as B<-c> but also removes the S<C<use AutoLoader>> statement from the .pm file. =item B<-B>, B<--beta-version> Use an alpha/beta style version number. Causes version number to be "0.00_01" unless B<-v> is specified. =item B<-C>, B<--omit-changes> Omits creation of the F<Changes> file, and adds a HISTORY section to the POD template. =item B<-F>, B<--cpp-flags>=I<addflags> Additional flags to specify to C preprocessor when scanning header for function declarations. Writes these options in the generated F<Makefile.PL> too. =item B<-M>, B<--func-mask>=I<regular expression> selects functions/macros to process. =item B<-O>, B<--overwrite-ok> Allows a pre-existing extension directory to be overwritten. =item B<-P>, B<--omit-pod> Omit the autogenerated stub POD section. =item B<-X>, B<--omit-XS> Omit the XS portion. Used to generate a skeleton pure Perl module. C<-c> and C<-f> are implicitly enabled. =item B<-a>, B<--gen-accessors> Generate an accessor method for each element of structs and unions. The generated methods are named after the element name; will return the current value of the element if called without additional arguments; and will set the element to the supplied value (and return the new value) if called with an additional argument. Embedded structures and unions are returned as a pointer rather than the complete structure, to facilitate chained calls. These methods all apply to the Ptr type for the structure; additionally two methods are constructed for the structure type itself, C<_to_ptr> which returns a Ptr type pointing to the same structure, and a C<new> method to construct and return a new structure, initialised to zeroes. =item B<-b>, B<--compat-version>=I<version> Generates a .pm file which is backwards compatible with the specified perl version. For versions < 5.6.0, the changes are. - no use of 'our' (uses 'use vars' instead) - no 'use warnings' Specifying a compatibility version higher than the version of perl you are using to run h2xs will have no effect. If unspecified h2xs will default to compatibility with the version of perl you are using to run h2xs. =item B<-c>, B<--omit-constant> Omit C<constant()> from the .xs file and corresponding specialised C<AUTOLOAD> from the .pm file. =item B<-d>, B<--debugging> Turn on debugging messages. =item B<-e>, B<--omit-enums>=[I<regular expression>] If I<regular expression> is not given, skip all constants that are defined in a C enumeration. Otherwise skip only those constants that are defined in an enum whose name matches I<regular expression>. Since I<regular expression> is optional, make sure that this switch is followed by at least one other switch if you omit I<regular expression> and have some pending arguments such as header-file names. This is ok: h2xs -e -n Module::Foo foo.h This is not ok: h2xs -n Module::Foo -e foo.h In the latter, foo.h is taken as I<regular expression>. =item B<-f>, B<--force> Allows an extension to be created for a header even if that header is not found in standard include directories. =item B<-g>, B<--global> Include code for safely storing static data in the .xs file. Extensions that do no make use of static data can ignore this option. =item B<-h>, B<-?>, B<--help> Print the usage, help and version for this h2xs and exit. =item B<-k>, B<--omit-const-func> For function arguments declared as C<const>, omit the const attribute in the generated XS code. =item B<-m>, B<--gen-tied-var> B<Experimental>: for each variable declared in the header file(s), declare a perl variable of the same name magically tied to the C variable. =item B<-n>, B<--name>=I<module_name> Specifies a name to be used for the extension, e.g., S<-n RPC::DCE> =item B<-o>, B<--opaque-re>=I<regular expression> Use "opaque" data type for the C types matched by the regular expression, even if these types are C<typedef>-equivalent to types from typemaps. Should not be used without B<-x>. This may be useful since, say, types which are C<typedef>-equivalent to integers may represent OS-related handles, and one may want to work with these handles in OO-way, as in C<$handle-E<gt>do_something()>. Use C<-o .> if you want to handle all the C<typedef>ed types as opaque types. The type-to-match is whitewashed (except for commas, which have no whitespace before them, and multiple C<*> which have no whitespace between them). =item B<-p>, B<--remove-prefix>=I<prefix> Specify a prefix which should be removed from the Perl function names, e.g., S<-p sec_rgy_> This sets up the XS B<PREFIX> keyword and removes the prefix from functions that are autoloaded via the C<constant()> mechanism. =item B<-s>, B<--const-subs>=I<sub1,sub2> Create a perl subroutine for the specified macros rather than autoload with the constant() subroutine. These macros are assumed to have a return type of B<char *>, e.g., S<-s sec_rgy_wildcard_name,sec_rgy_wildcard_sid>. =item B<-t>, B<--default-type>=I<type> Specify the internal type that the constant() mechanism uses for macros. The default is IV (signed integer). Currently all macros found during the header scanning process will be assumed to have this type. Future versions of C<h2xs> may gain the ability to make educated guesses. =item B<--use-new-tests> When B<--compat-version> (B<-b>) is present the generated tests will use C<Test::More> rather than C<Test> which is the default for versions before 5.6.2. C<Test::More> will be added to PREREQ_PM in the generated C<Makefile.PL>. =item B<--use-old-tests> Will force the generation of test code that uses the older C<Test> module. =item B<--skip-exporter> Do not use C<Exporter> and/or export any symbol. =item B<--skip-ppport> Do not use C<Devel::PPPort>: no portability to older version. =item B<--skip-autoloader> Do not use the module C<AutoLoader>; but keep the constant() function and C<sub AUTOLOAD> for constants. =item B<--skip-strict> Do not use the pragma C<strict>. =item B<--skip-warnings> Do not use the pragma C<warnings>. =item B<-v>, B<--version>=I<version> Specify a version number for this extension. This version number is added to the templates. The default is 0.01, or 0.00_01 if C<-B> is specified. The version specified should be numeric. =item B<-x>, B<--autogen-xsubs> Automatically generate XSUBs basing on function declarations in the header file. The package C<C::Scan> should be installed. If this option is specified, the name of the header file may look like C<NAME1,NAME2>. In this case NAME1 is used instead of the specified string, but XSUBs are emitted only for the declarations included from file NAME2. Note that some types of arguments/return-values for functions may result in XSUB-declarations/typemap-entries which need hand-editing. Such may be objects which cannot be converted from/to a pointer (like C<long long>), pointers to functions, or arrays. See also the section on L<LIMITATIONS of B<-x>>. =back =head1 EXAMPLES # Default behavior, extension is Rusers h2xs rpcsvc/rusers # Same, but extension is RUSERS h2xs -n RUSERS rpcsvc/rusers # Extension is rpcsvc::rusers. Still finds <rpcsvc/rusers.h> h2xs rpcsvc::rusers # Extension is ONC::RPC. Still finds <rpcsvc/rusers.h> h2xs -n ONC::RPC rpcsvc/rusers # Without constant() or AUTOLOAD h2xs -c rpcsvc/rusers # Creates templates for an extension named RPC h2xs -cfn RPC # Extension is ONC::RPC. h2xs -cfn ONC::RPC # Extension is a pure Perl module with no XS code. h2xs -X My::Module # Extension is Lib::Foo which works at least with Perl5.005_03. # Constants are created for all #defines and enums h2xs can find # in foo.h. h2xs -b 5.5.3 -n Lib::Foo foo.h # Extension is Lib::Foo which works at least with Perl5.005_03. # Constants are created for all #defines but only for enums # whose names do not start with 'bar_'. h2xs -b 5.5.3 -e '^bar_' -n Lib::Foo foo.h # Makefile.PL will look for library -lrpc in # additional directory /opt/net/lib h2xs rpcsvc/rusers -L/opt/net/lib -lrpc # Extension is DCE::rgynbase # prefix "sec_rgy_" is dropped from perl function names h2xs -n DCE::rgynbase -p sec_rgy_ dce/rgynbase # Extension is DCE::rgynbase # prefix "sec_rgy_" is dropped from perl function names # subroutines are created for sec_rgy_wildcard_name and # sec_rgy_wildcard_sid h2xs -n DCE::rgynbase -p sec_rgy_ \ -s sec_rgy_wildcard_name,sec_rgy_wildcard_sid dce/rgynbase # Make XS without defines in perl.h, but with function declarations # visible from perl.h. Name of the extension is perl1. # When scanning perl.h, define -DEXT=extern -DdEXT= -DINIT(x)= # Extra backslashes below because the string is passed to shell. # Note that a directory with perl header files would # be added automatically to include path. h2xs -xAn perl1 -F "-DEXT=extern -DdEXT= -DINIT\(x\)=" perl.h # Same with function declaration in proto.h as visible from perl.h. h2xs -xAn perl2 perl.h,proto.h # Same but select only functions which match /^av_/ h2xs -M '^av_' -xAn perl2 perl.h,proto.h # Same but treat SV* etc as "opaque" types h2xs -o '^[S]V \*$' -M '^av_' -xAn perl2 perl.h,proto.h =head2 Extension based on F<.h> and F<.c> files Suppose that you have some C files implementing some functionality, and the corresponding header files. How to create an extension which makes this functionality accessible in Perl? The example below assumes that the header files are F<interface_simple.h> and I<interface_hairy.h>, and you want the perl module be named as C<Ext::Ension>. If you need some preprocessor directives and/or linking with external libraries, see the flags C<-F>, C<-L> and C<-l> in L<"OPTIONS">. =over =item Find the directory name Start with a dummy run of h2xs: h2xs -Afn Ext::Ension The only purpose of this step is to create the needed directories, and let you know the names of these directories. From the output you can see that the directory for the extension is F<Ext/Ension>. =item Copy C files Copy your header files and C files to this directory F<Ext/Ension>. =item Create the extension Run h2xs, overwriting older autogenerated files: h2xs -Oxan Ext::Ension interface_simple.h interface_hairy.h h2xs looks for header files I<after> changing to the extension directory, so it will find your header files OK. =item Archive and test As usual, run cd Ext/Ension perl Makefile.PL make dist make make test =item Hints It is important to do C<make dist> as early as possible. This way you can easily merge(1) your changes to autogenerated files if you decide to edit your C<.h> files and rerun h2xs. Do not forget to edit the documentation in the generated F<.pm> file. Consider the autogenerated files as skeletons only, you may invent better interfaces than what h2xs could guess. Consider this section as a guideline only, some other options of h2xs may better suit your needs. =back =head1 ENVIRONMENT No environment variables are used. =head1 AUTHOR Larry Wall and others =head1 SEE ALSO L<perl>, L<perlxstut>, L<ExtUtils::MakeMaker>, and L<AutoLoader>. =head1 DIAGNOSTICS The usual warnings if it cannot read or write the files involved. =head1 LIMITATIONS of B<-x> F<h2xs> would not distinguish whether an argument to a C function which is of the form, say, C<int *>, is an input, output, or input/output parameter. In particular, argument declarations of the form int foo(n) int *n should be better rewritten as int foo(n) int &n if C<n> is an input parameter. Additionally, F<h2xs> has no facilities to intuit that a function int foo(addr,l) char *addr int l takes a pair of address and length of data at this address, so it is better to rewrite this function as int foo(sv) SV *addr PREINIT: STRLEN len; char *s; CODE: s = SvPV(sv,len); RETVAL = foo(s, len); OUTPUT: RETVAL or alternately static int my_foo(SV *sv) { STRLEN len; char *s = SvPV(sv,len); return foo(s, len); } MODULE = foo PACKAGE = foo PREFIX = my_ int foo(sv) SV *sv See L<perlxs> and L<perlxstut> for additional details. =cut # ' # Grr use strict; my( $H2XS_VERSION ) = ' $Revision: 1.23 $ ' =~ /\$Revision:\s+([^\s]+)/; my $TEMPLATE_VERSION = '0.01'; my @ARGS = @ARGV; my $compat_version = $]; use Getopt::Long; use Config; use Text::Wrap; $Text::Wrap::huge = 'overflow'; $Text::Wrap::columns = 80; use ExtUtils::Constant qw (WriteConstants WriteMakefileSnippet autoload); use File::Compare; use File::Path; sub usage { warn "@_\n" if @_; die <<EOFUSAGE; h2xs [OPTIONS ... ] [headerfile [extra_libraries]] version: $H2XS_VERSION OPTIONS: -A, --omit-autoload Omit all autoloading facilities (implies -c). -B, --beta-version Use beta \$VERSION of 0.00_01 (ignored if -v). -C, --omit-changes Omit creating the Changes file, add HISTORY heading to stub POD. -F, --cpp-flags Additional flags for C preprocessor/compile. -M, --func-mask Mask to select C functions/macros (default is select all). -O, --overwrite-ok Allow overwriting of a pre-existing extension directory. -P, --omit-pod Omit the stub POD section. -X, --omit-XS Omit the XS portion (implies both -c and -f). -a, --gen-accessors Generate get/set accessors for struct and union members (used with -x). -b, --compat-version Specify a perl version to be backwards compatible with. -c, --omit-constant Omit the constant() function and specialised AUTOLOAD from the XS file. -d, --debugging Turn on debugging messages. -e, --omit-enums Omit constants from enums in the constant() function. If a pattern is given, only the matching enums are ignored. -f, --force Force creation of the extension even if the C header does not exist. -g, --global Include code for safely storing static data in the .xs file. -h, -?, --help Display this help message. -k, --omit-const-func Omit 'const' attribute on function arguments (used with -x). -m, --gen-tied-var Generate tied variables for access to declared variables. -n, --name Specify a name to use for the extension (recommended). -o, --opaque-re Regular expression for \"opaque\" types. -p, --remove-prefix Specify a prefix which should be removed from the Perl function names. -s, --const-subs Create subroutines for specified macros. -t, --default-type Default type for autoloaded constants (default is IV). --use-new-tests Use Test::More in backward compatible modules. --use-old-tests Use the module Test rather than Test::More. --skip-exporter Do not export symbols. --skip-ppport Do not use portability layer. --skip-autoloader Do not use the module C<AutoLoader>. --skip-strict Do not use the pragma C<strict>. --skip-warnings Do not use the pragma C<warnings>. -v, --version Specify a version number for this extension. -x, --autogen-xsubs Autogenerate XSUBs using C::Scan. --use-xsloader Use XSLoader in backward compatible modules (ignored when used with -X). extra_libraries are any libraries that might be needed for loading the extension, e.g. -lm would try to link in the math library. EOFUSAGE } my ($opt_A, $opt_B, $opt_C, $opt_F, $opt_M, $opt_O, $opt_P, $opt_X, $opt_a, $opt_c, $opt_d, $opt_e, $opt_f, $opt_g, $opt_h, $opt_k, $opt_m, $opt_n, $opt_o, $opt_p, $opt_s, $opt_v, $opt_x, $opt_b, $opt_t, $new_test, $old_test, $skip_exporter, $skip_ppport, $skip_autoloader, $skip_strict, $skip_warnings, $use_xsloader ); Getopt::Long::Configure('bundling'); Getopt::Long::Configure('pass_through'); my %options = ( 'omit-autoload|A' => \$opt_A, 'beta-version|B' => \$opt_B, 'omit-changes|C' => \$opt_C, 'cpp-flags|F=s' => \$opt_F, 'func-mask|M=s' => \$opt_M, 'overwrite_ok|O' => \$opt_O, 'omit-pod|P' => \$opt_P, 'omit-XS|X' => \$opt_X, 'gen-accessors|a' => \$opt_a, 'compat-version|b=s' => \$opt_b, 'omit-constant|c' => \$opt_c, 'debugging|d' => \$opt_d, 'omit-enums|e:s' => \$opt_e, 'force|f' => \$opt_f, 'global|g' => \$opt_g, 'help|h|?' => \$opt_h, 'omit-const-func|k' => \$opt_k, 'gen-tied-var|m' => \$opt_m, 'name|n=s' => \$opt_n, 'opaque-re|o=s' => \$opt_o, 'remove-prefix|p=s' => \$opt_p, 'const-subs|s=s' => \$opt_s, 'default-type|t=s' => \$opt_t, 'version|v=s' => \$opt_v, 'autogen-xsubs|x' => \$opt_x, 'use-new-tests' => \$new_test, 'use-old-tests' => \$old_test, 'skip-exporter' => \$skip_exporter, 'skip-ppport' => \$skip_ppport, 'skip-autoloader' => \$skip_autoloader, 'skip-warnings' => \$skip_warnings, 'skip-strict' => \$skip_strict, 'use-xsloader' => \$use_xsloader, ); GetOptions(%options) || usage; usage if $opt_h; if( $opt_b ){ usage "You cannot use -b and -m at the same time.\n" if ($opt_b && $opt_m); $opt_b =~ /^v?(\d+)\.(\d+)\.(\d+)/ || usage "You must provide the backwards compatibility version in X.Y.Z form. " . "(i.e. 5.5.0)\n"; my ($maj,$min,$sub) = ($1,$2,$3); if ($maj < 5 || ($maj == 5 && $min < 6)) { $compat_version = $sub ? sprintf("%d.%03d%02d",$maj,$min,$sub) : sprintf("%d.%03d", $maj,$min); } else { $compat_version = sprintf("%d.%03d%03d",$maj,$min,$sub); } } else { my ($maj,$min,$sub) = $compat_version =~ /(\d+)\.(\d\d\d)(\d*)/; $sub ||= 0; warn sprintf <<'EOF', $maj,$min,$sub; Defaulting to backwards compatibility with perl %d.%d.%d If you intend this module to be compatible with earlier perl versions, please specify a minimum perl version with the -b option. EOF } if( $opt_B ){ $TEMPLATE_VERSION = '0.00_01'; } if( $opt_v ){ $TEMPLATE_VERSION = $opt_v; # check if it is numeric my $temp_version = $TEMPLATE_VERSION; my $beta_version = $temp_version =~ s/(\d)_(\d\d)/$1$2/; my $notnum; { local $SIG{__WARN__} = sub { $notnum = 1 }; use warnings 'numeric'; $temp_version = 0+$temp_version; } if ($notnum) { my $module = $opt_n || 'Your::Module'; warn <<"EOF"; You have specified a non-numeric version. Unless you supply an appropriate VERSION class method, users may not be able to specify a minimum required version with C<use $module versionnum>. EOF } else { $opt_B = $beta_version; } } # -A implies -c. $skip_autoloader = $opt_c = 1 if $opt_A; # -X implies -c and -f $opt_c = $opt_f = 1 if $opt_X; $opt_t ||= 'IV'; my %const_xsub; %const_xsub = map { $_,1 } split(/,+/, $opt_s) if $opt_s; my $extralibs = ''; my @path_h; while (my $arg = shift) { if ($arg =~ /^-l/i) { $extralibs .= "$arg "; next; } last if $extralibs; push(@path_h, $arg); } usage "Must supply header file or module name\n" unless (@path_h or $opt_n); my $fmask; my $tmask; $fmask = qr{$opt_M} if defined $opt_M; $tmask = qr{$opt_o} if defined $opt_o; my $tmask_all = $tmask && $opt_o eq '.'; if ($opt_x) { eval {require C::Scan; 1} or die <<EOD; C::Scan required if you use -x option. To install C::Scan, execute perl -MCPAN -e "install C::Scan" EOD unless ($tmask_all) { $C::Scan::VERSION >= 0.70 or die <<EOD; C::Scan v. 0.70 or later required unless you use -o . option. You have version $C::Scan::VERSION installed as $INC{'C/Scan.pm'}. To install C::Scan, execute perl -MCPAN -e "install C::Scan" EOD } if (($opt_m || $opt_a) && $C::Scan::VERSION < 0.73) { die <<EOD; C::Scan v. 0.73 or later required to use -m or -a options. You have version $C::Scan::VERSION installed as $INC{'C/Scan.pm'}. To install C::Scan, execute perl -MCPAN -e "install C::Scan" EOD } } elsif ($opt_o or $opt_F) { warn <<EOD if $opt_o; Option -o does not make sense without -x. EOD warn <<EOD if $opt_F and $opt_X ; Option -F does not make sense with -X. EOD } my @path_h_ini = @path_h; my ($name, %fullpath, %prefix, %seen_define, %prefixless, %const_names); my $module = $opt_n; if( @path_h ){ use File::Spec; my @paths; my $pre_sub_tri_graphs = 1; if ($^O eq 'VMS') { # Consider overrides of default location # XXXX This is not equivalent to what the older version did: # it was looking at $hadsys header-file per header-file... my($hadsys) = grep s!^sys/!!i , @path_h; @paths = qw( Sys$Library VAXC$Include ); push @paths, ($hadsys ? 'GNU_CC_Include[vms]' : 'GNU_CC_Include[000000]'); push @paths, qw( DECC$Library_Include DECC$System_Include ); } else { @paths = (File::Spec->curdir(), $Config{usrinc}, (split / +/, $Config{locincpth} // ""), '/usr/include'); } foreach my $path_h (@path_h) { $name ||= $path_h; $module ||= do { $name =~ s/\.h$//; if ( $name !~ /::/ ) { $name =~ s#^.*/##; $name = "\u$name"; } $name; }; if( $path_h =~ s#::#/#g && $opt_n ){ warn "Nesting of headerfile ignored with -n\n"; } $path_h .= ".h" unless $path_h =~ /\.h$/; my $fullpath = $path_h; $path_h =~ s/,.*$// if $opt_x; $fullpath{$path_h} = $fullpath; # Minor trickery: we can't chdir() before we processed the headers # (so know the name of the extension), but the header may be in the # extension directory... my $tmp_path_h = $path_h; my $rel_path_h = $path_h; my @dirs = @paths; if (not -f $path_h) { my $found; for my $dir (@paths) { $found++, last if -f ($path_h = File::Spec->catfile($dir, $tmp_path_h)); } if ($found) { $rel_path_h = $path_h; $fullpath{$path_h} = $fullpath; } else { (my $epath = $module) =~ s,::,/,g; $epath = File::Spec->catdir('ext', $epath) if -d 'ext'; $rel_path_h = File::Spec->catfile($epath, $tmp_path_h); $path_h = $tmp_path_h; # Used during -x push @dirs, $epath; } } if (!$opt_c) { die "Can't find $tmp_path_h in @dirs\n" if ( ! $opt_f && ! -f "$rel_path_h" ); # Scan the header file (we should deal with nested header files) # Record the names of simple #define constants into const_names # Function prototypes are processed below. open(CH, "<$rel_path_h") || die "Can't open $rel_path_h: $!\n"; defines: while (<CH>) { if ($pre_sub_tri_graphs) { # Preprocess all tri-graphs # including things stuck in quoted string constants. s/\?\?=/#/g; # | ??=| #| s/\?\?\!/|/g; # | ??!| || s/\?\?'/^/g; # | ??'| ^| s/\?\?\(/[/g; # | ??(| [| s/\?\?\)/]/g; # | ??)| ]| s/\?\?\-/~/g; # | ??-| ~| s/\?\?\//\\/g; # | ??/| \| s/\?\?</{/g; # | ??<| {| s/\?\?>/}/g; # | ??>| }| } if (/^[ \t]*#[ \t]*define\s+([\$\w]+)\b(?!\()\s*(?=[^"\s])(.*)/) { my $def = $1; my $rest = $2; $rest =~ s!/\*.*?(\*/|\n)|//.*!!g; # Remove comments $rest =~ s/^\s+//; $rest =~ s/\s+$//; # Cannot do: (-1) and ((LHANDLE)3) are OK: #print("Skip non-wordy $def => $rest\n"), # next defines if $rest =~ /[^\w\$]/; if ($rest =~ /"/) { print("Skip stringy $def => $rest\n") if $opt_d; next defines; } print "Matched $_ ($def)\n" if $opt_d; $seen_define{$def} = $rest; $_ = $def; next if /^_.*_h_*$/i; # special case, but for what? if (defined $opt_p) { if (!/^$opt_p(\d)/) { ++$prefix{$_} if s/^$opt_p//; } else { warn "can't remove $opt_p prefix from '$_'!\n"; } } $prefixless{$def} = $_; if (!$fmask or /$fmask/) { print "... Passes mask of -M.\n" if $opt_d and $fmask; $const_names{$_}++; } } } if (defined $opt_e and !$opt_e) { close(CH); } else { # Work from miniperl too - on "normal" systems my $SEEK_SET = eval 'use Fcntl qw/SEEK_SET/; SEEK_SET' || 0; seek CH, 0, $SEEK_SET; my $src = do { local $/; <CH> }; close CH; no warnings 'uninitialized'; # Remove C and C++ comments $src =~ s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#$2#gs; $src =~ s#//.*$##gm; while ($src =~ /\benum\s*([\w_]*)\s*\{\s([^}]+)\}/gsc) { my ($enum_name, $enum_body) = ($1, $2); # skip enums matching $opt_e next if $opt_e && $enum_name =~ /$opt_e/; my $val = 0; for my $item (split /,/, $enum_body) { next if $item =~ /\A\s*\Z/; my ($key, $declared_val) = $item =~ /(\w+)\s*(?:=\s*(.*))?/; $val = defined($declared_val) && length($declared_val) ? $declared_val : 1 + $val; $seen_define{$key} = $val; $const_names{$key} = { name => $key, macro => 1 }; } } # while (...) } # if (!defined $opt_e or $opt_e) } } } # Save current directory so that C::Scan can use it my $cwd = File::Spec->rel2abs( File::Spec->curdir ); # As Ilya suggested, use a name that contains - and then it can't clash with # the names of any packages. A directory 'fallback' will clash with any # new pragmata down the fallback:: tree, but that seems unlikely. my $constscfname = 'const-c.inc'; my $constsxsfname = 'const-xs.inc'; my $fallbackdirname = 'fallback'; my $ext = chdir 'ext' ? 'ext/' : ''; my @modparts = split(/::/,$module); my $modpname = join('-', @modparts); my $modfname = pop @modparts; my $modpmdir = join '/', 'lib', @modparts; my $modpmname = join '/', $modpmdir, $modfname.'.pm'; if ($opt_O) { warn "Overwriting existing $ext$modpname!!!\n" if -e $modpname; } else { die "Won't overwrite existing $ext$modpname\n" if -e $modpname; } -d "$modpname" || mkpath([$modpname], 0, 0775); chdir($modpname) || die "Can't chdir $ext$modpname: $!\n"; my %types_seen; my %std_types; my $fdecls = []; my $fdecls_parsed = []; my $typedef_rex; my %typedefs_pre; my %known_fnames; my %structs; my @fnames; my @fnames_no_prefix; my %vdecl_hash; my @vdecls; if( ! $opt_X ){ # use XS, unless it was disabled unless ($skip_ppport) { require Devel::PPPort; warn "Writing $ext$modpname/ppport.h\n"; Devel::PPPort::WriteFile('ppport.h') || die "Can't create $ext$modpname/ppport.h: $!\n"; } open(XS, ">$modfname.xs") || die "Can't create $ext$modpname/$modfname.xs: $!\n"; if ($opt_x) { warn "Scanning typemaps...\n"; get_typemap(); my @td; my @good_td; my $addflags = $opt_F || ''; foreach my $filename (@path_h) { my $c; my $filter; if ($fullpath{$filename} =~ /,/) { $filename = $`; $filter = $'; } warn "Scanning $filename for functions...\n"; my @styles = $Config{gccversion} ? qw(C++ C9X GNU) : qw(C++ C9X); $c = new C::Scan 'filename' => $filename, 'filename_filter' => $filter, 'add_cppflags' => $addflags, 'c_styles' => \@styles; $c->set('includeDirs' => ["$Config::Config{archlib}/CORE", $cwd]); $c->get('keywords')->{'__restrict'} = 1; push @$fdecls_parsed, @{ $c->get('parsed_fdecls') }; push(@$fdecls, @{$c->get('fdecls')}); push @td, @{$c->get('typedefs_maybe')}; if ($opt_a) { my $structs = $c->get('typedef_structs'); @structs{keys %$structs} = values %$structs; } if ($opt_m) { %vdecl_hash = %{ $c->get('vdecl_hash') }; @vdecls = sort keys %vdecl_hash; for (local $_ = 0; $_ < @vdecls; ++$_) { my $var = $vdecls[$_]; my($type, $post) = @{ $vdecl_hash{$var} }; if (defined $post) { warn "Can't handle variable '$type $var $post', skipping.\n"; splice @vdecls, $_, 1; redo; } $type = normalize_type($type); $vdecl_hash{$var} = $type; } } unless ($tmask_all) { warn "Scanning $filename for typedefs...\n"; my $td = $c->get('typedef_hash'); # eval {require 'dumpvar.pl'; ::dumpValue($td)} or warn $@ if $opt_d; my @f_good_td = grep $td->{$_}[1] eq '', keys %$td; push @good_td, @f_good_td; @typedefs_pre{@f_good_td} = map $_->[0], @$td{@f_good_td}; } } { local $" = '|'; $typedef_rex = qr(\b(?<!struct )(?:@good_td)\b) if @good_td; } %known_fnames = map @$_[1,3], @$fdecls_parsed; # [1,3] is NAME, FULLTEXT if ($fmask) { my @good; for my $i (0..$#$fdecls_parsed) { next unless $fdecls_parsed->[$i][1] =~ /$fmask/; # [1] is NAME push @good, $i; print "... Function $fdecls_parsed->[$i][1] passes -M mask.\n" if $opt_d; } $fdecls = [@$fdecls[@good]]; $fdecls_parsed = [@$fdecls_parsed[@good]]; } @fnames = sort map $_->[1], @$fdecls_parsed; # 1 is NAME # Sort declarations: { my %h = map( ($_->[1], $_), @$fdecls_parsed); $fdecls_parsed = [ @h{@fnames} ]; } @fnames_no_prefix = @fnames; @fnames_no_prefix = sort map { ++$prefix{$_} if s/^$opt_p(?!\d)//; $_ } @fnames_no_prefix if defined $opt_p; # Remove macros which expand to typedefs print "Typedefs are @td.\n" if $opt_d; my %td = map {($_, $_)} @td; # Add some other possible but meaningless values for macros for my $k (qw(char double float int long short unsigned signed void)) { $td{"$_$k"} = "$_$k" for ('', 'signed ', 'unsigned '); } # eval {require 'dumpvar.pl'; ::dumpValue( [\@td, \%td] ); 1} or warn $@; my $n = 0; my %bad_macs; while (keys %td > $n) { $n = keys %td; my ($k, $v); while (($k, $v) = each %seen_define) { # print("found '$k'=>'$v'\n"), $bad_macs{$k} = $td{$k} = $td{$v} if exists $td{$v}; } } # Now %bad_macs contains names of bad macros for my $k (keys %bad_macs) { delete $const_names{$prefixless{$k}}; print "Ignoring macro $k which expands to a typedef name '$bad_macs{$k}'\n" if $opt_d; } } } my (@const_specs, @const_names); for (sort(keys(%const_names))) { my $v = $const_names{$_}; push(@const_specs, ref($v) ? $v : $_); push(@const_names, $_); } -d $modpmdir || mkpath([$modpmdir], 0, 0775); open(PM, ">$modpmname") || die "Can't create $ext$modpname/$modpmname: $!\n"; $" = "\n\t"; warn "Writing $ext$modpname/$modpmname\n"; print PM <<"END"; package $module; use $compat_version; END print PM <<"END" unless $skip_strict; use strict; END print PM "use warnings;\n" unless $skip_warnings or $compat_version < 5.006; unless( $opt_X || $opt_c || $opt_A ){ # we'll have an AUTOLOAD(), and it will have $AUTOLOAD and # will want Carp. print PM <<'END'; use Carp; END } print PM <<'END' unless $skip_exporter; require Exporter; END my $use_Dyna = (not $opt_X and $compat_version < 5.006 and not $use_xsloader); print PM <<"END" if $use_Dyna; # use DynaLoader, unless XS was disabled require DynaLoader; END # Are we using AutoLoader or not? unless ($skip_autoloader) { # no autoloader whatsoever. unless ($opt_c) { # we're doing the AUTOLOAD print PM "use AutoLoader;\n"; } else { print PM "use AutoLoader qw(AUTOLOAD);\n" } } if ( $compat_version < 5.006 ) { my $vars = '$VERSION @ISA'; $vars .= ' @EXPORT @EXPORT_OK %EXPORT_TAGS' unless $skip_exporter; $vars .= ' $AUTOLOAD' unless $opt_X || $opt_c || $opt_A; $vars .= ' $XS_VERSION' if $opt_B && !$opt_X; print PM "use vars qw($vars);"; } # Determine @ISA. my @modISA; push @modISA, 'Exporter' unless $skip_exporter; push @modISA, 'DynaLoader' if $use_Dyna; # no XS my $myISA = "our \@ISA = qw(@modISA);"; $myISA =~ s/^our // if $compat_version < 5.006; print PM "\n$myISA\n\n"; my @exported_names = (@const_names, @fnames_no_prefix, map '$'.$_, @vdecls); my $tmp=''; $tmp .= <<"END" unless $skip_exporter; # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. # This allows declaration use $module ':all'; # If you do not need this, moving things directly into \@EXPORT or \@EXPORT_OK # will save memory. our %EXPORT_TAGS = ( 'all' => [ qw( @exported_names ) ] ); our \@EXPORT_OK = ( \@{ \$EXPORT_TAGS{'all'} } ); our \@EXPORT = qw( @const_names ); END $tmp .= "our \$VERSION = '$TEMPLATE_VERSION';\n"; if ($opt_B) { $tmp .= "our \$XS_VERSION = \$VERSION;\n" unless $opt_X; $tmp .= "\$VERSION = eval \$VERSION; # see L<perlmodstyle>\n"; } $tmp .= "\n"; $tmp =~ s/^our //mg if $compat_version < 5.006; print PM $tmp; if (@vdecls) { printf PM "our(@{[ join ', ', map '$'.$_, @vdecls ]});\n\n"; } print PM autoload ($module, $compat_version) unless $opt_c or $opt_X; if( ! $opt_X ){ # print bootstrap, unless XS is disabled if ($use_Dyna) { $tmp = <<"END"; bootstrap $module \$VERSION; END } else { $tmp = <<"END"; require XSLoader; XSLoader::load('$module', \$VERSION); END } $tmp =~ s:\$VERSION:\$XS_VERSION:g if $opt_B; print PM $tmp; } # tying the variables can happen only after bootstrap if (@vdecls) { printf PM <<END; { @{[ join "\n", map " _tievar_$_(\$$_);", @vdecls ]} } END } my $after; if( $opt_P ){ # if POD is disabled $after = '__END__'; } else { $after = '=cut'; } print PM <<"END"; # Preloaded methods go here. END print PM <<"END" unless $opt_A; # Autoload methods go after $after, and are processed by the autosplit program. END print PM <<"END"; 1; __END__ END my ($email,$author,$licence); eval { my $username; ($username,$author) = (getpwuid($>))[0,6]; if (defined $username && defined $author) { $author =~ s/,.*$//; # in case of sub fields my $domain = $Config{'mydomain'}; $domain =~ s/^\.//; $email = "$username\@$domain"; } }; $author =~ s/'/\\'/g if defined $author; $author ||= "A. U. Thor"; $email ||= 'a.u.thor@a.galaxy.far.far.away'; $licence = sprintf << "DEFAULT", $^V; Copyright (C) ${\(1900 + (localtime) [5])} by $author This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version %vd or, at your option, any later version of Perl 5 you may have available. DEFAULT my $revhist = ''; $revhist = <<EOT if $opt_C; # #=head1 HISTORY # #=over 8 # #=item $TEMPLATE_VERSION # #Original version; created by h2xs $H2XS_VERSION with options # # @ARGS # #=back # EOT my $exp_doc = $skip_exporter ? '' : <<EOD; # #=head2 EXPORT # #None by default. # EOD if (@const_names and not $opt_P) { $exp_doc .= <<EOD unless $skip_exporter; #=head2 Exportable constants # # @{[join "\n ", @const_names]} # EOD } if (defined $fdecls and @$fdecls and not $opt_P) { $exp_doc .= <<EOD unless $skip_exporter; #=head2 Exportable functions # EOD # $exp_doc .= <<EOD if $opt_p; #When accessing these functions from Perl, prefix C<$opt_p> should be removed. # #EOD $exp_doc .= <<EOD unless $skip_exporter; # @{[join "\n ", @known_fnames{@fnames}]} # EOD } my $meth_doc = ''; if ($opt_x && $opt_a) { my($name, $struct); $meth_doc .= accessor_docs($name, $struct) while ($name, $struct) = each %structs; } # Prefix the default licence with hash symbols. # Is this just cargo cult - it seems that the first thing that happens to this # block is that all the hashes are then s///g out. my $licence_hash = $licence; $licence_hash =~ s/^/#/gm; my $pod; $pod = <<"END" unless $opt_P; ## Below is stub documentation for your module. You'd better edit it! # #=head1 NAME # #$module - Perl extension for blah blah blah # #=head1 SYNOPSIS # # use $module; # blah blah blah # #=head1 DESCRIPTION # #Stub documentation for $module, created by h2xs. It looks like the #author of the extension was negligent enough to leave the stub #unedited. # #Blah blah blah. $exp_doc$meth_doc$revhist # #=head1 SEE ALSO # #Mention other useful documentation such as the documentation of #related modules or operating system documentation (such as man pages #in UNIX), or any relevant external documentation such as RFCs or #standards. # #If you have a mailing list set up for your module, mention it here. # #If you have a web site set up for your module, mention it here. # #=head1 AUTHOR # #$author, E<lt>${email}E<gt> # #=head1 COPYRIGHT AND LICENSE # $licence_hash # #=cut END $pod =~ s/^\#//gm unless $opt_P; print PM $pod unless $opt_P; close PM; if( ! $opt_X ){ # print XS, unless it is disabled warn "Writing $ext$modpname/$modfname.xs\n"; print XS <<"END"; #include "EXTERN.h" #include "perl.h" #include "XSUB.h" END print XS <<"END" unless $skip_ppport; #include "ppport.h" END if( @path_h ){ foreach my $path_h (@path_h_ini) { my($h) = $path_h; $h =~ s#^/usr/include/##; if ($^O eq 'VMS') { $h =~ s#.*vms\]#sys/# or $h =~ s#.*[:>\]]##; } print XS qq{#include <$h>\n}; } print XS "\n"; } print XS <<"END" if $opt_g; /* Global Data */ #define MY_CXT_KEY "${module}::_guts" XS_VERSION typedef struct { /* Put Global Data in here */ int dummy; /* you can access this elsewhere as MY_CXT.dummy */ } my_cxt_t; START_MY_CXT END my %pointer_typedefs; my %struct_typedefs; sub td_is_pointer { my $type = shift; my $out = $pointer_typedefs{$type}; return $out if defined $out; my $otype = $type; $out = ($type =~ /\*$/); # This converts only the guys which do not have trailing part in the typedef if (not $out and $typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) { $type = normalize_type($type); print "Is-Pointer: Type mutation via typedefs: $otype ==> $type\n" if $opt_d; $out = td_is_pointer($type); } return ($pointer_typedefs{$otype} = $out); } sub td_is_struct { my $type = shift; my $out = $struct_typedefs{$type}; return $out if defined $out; my $otype = $type; $out = ($type =~ /^(struct|union)\b/) && !td_is_pointer($type); # This converts only the guys which do not have trailing part in the typedef if (not $out and $typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) { $type = normalize_type($type); print "Is-Struct: Type mutation via typedefs: $otype ==> $type\n" if $opt_d; $out = td_is_struct($type); } return ($struct_typedefs{$otype} = $out); } print_tievar_subs(\*XS, $_, $vdecl_hash{$_}) for @vdecls; if( ! $opt_c ) { # We write the "sample" files used when this module is built by perl without # ExtUtils::Constant. # h2xs will later check that these are the same as those generated by the # code embedded into Makefile.PL unless (-d $fallbackdirname) { mkdir "$fallbackdirname" or die "Cannot mkdir $fallbackdirname: $!\n"; } warn "Writing $ext$modpname/$fallbackdirname/$constscfname\n"; warn "Writing $ext$modpname/$fallbackdirname/$constsxsfname\n"; my $cfallback = File::Spec->catfile($fallbackdirname, $constscfname); my $xsfallback = File::Spec->catfile($fallbackdirname, $constsxsfname); WriteConstants ( C_FILE => $cfallback, XS_FILE => $xsfallback, DEFAULT_TYPE => $opt_t, NAME => $module, NAMES => \@const_specs, ); print XS "#include \"$constscfname\"\n"; } my $prefix = defined $opt_p ? "PREFIX = $opt_p" : ''; # Now switch from C to XS by issuing the first MODULE declaration: print XS <<"END"; MODULE = $module PACKAGE = $module $prefix END # If a constant() function was #included then output a corresponding # XS declaration: print XS "INCLUDE: $constsxsfname\n" unless $opt_c; print XS <<"END" if $opt_g; BOOT: { MY_CXT_INIT; /* If any of the fields in the my_cxt_t struct need to be initialised, do it here. */ } END foreach (sort keys %const_xsub) { print XS <<"END"; char * $_() CODE: #ifdef $_ RETVAL = $_; #else croak("Your vendor has not defined the $module macro $_"); #endif OUTPUT: RETVAL END } my %seen_decl; my %typemap; sub print_decl { my $fh = shift; my $decl = shift; my ($type, $name, $args) = @$decl; return if $seen_decl{$name}++; # Need to do the same for docs as well? my @argnames = map {$_->[1]} @$args; my @argtypes = map { normalize_type( $_->[0], 1 ) } @$args; if ($opt_k) { s/^\s*const\b\s*// for @argtypes; } my @argarrays = map { $_->[4] || '' } @$args; my $numargs = @$args; if ($numargs and $argtypes[-1] eq '...') { $numargs--; $argnames[-1] = '...'; } local $" = ', '; $type = normalize_type($type, 1); print $fh <<"EOP"; $type $name(@argnames) EOP for my $arg (0 .. $numargs - 1) { print $fh <<"EOP"; $argtypes[$arg] $argnames[$arg]$argarrays[$arg] EOP } } sub print_tievar_subs { my($fh, $name, $type) = @_; print $fh <<END; I32 _get_$name(IV index, SV *sv) { dSP; PUSHMARK(SP); XPUSHs(sv); PUTBACK; (void)call_pv("$module\::_get_$name", G_DISCARD); return (I32)0; } I32 _set_$name(IV index, SV *sv) { dSP; PUSHMARK(SP); XPUSHs(sv); PUTBACK; (void)call_pv("$module\::_set_$name", G_DISCARD); return (I32)0; } END } sub print_tievar_xsubs { my($fh, $name, $type) = @_; print $fh <<END; void _tievar_$name(sv) SV* sv PREINIT: struct ufuncs uf; CODE: uf.uf_val = &_get_$name; uf.uf_set = &_set_$name; uf.uf_index = (IV)&_get_$name; sv_magic(sv, 0, 'U', (char*)&uf, sizeof(uf)); void _get_$name(THIS) $type THIS = NO_INIT CODE: THIS = $name; OUTPUT: SETMAGIC: DISABLE THIS void _set_$name(THIS) $type THIS CODE: $name = THIS; END } sub print_accessors { my($fh, $name, $struct) = @_; return unless defined $struct && $name !~ /\s|_ANON/; $name = normalize_type($name); my $ptrname = normalize_type("$name *"); print $fh <<"EOF"; MODULE = $module PACKAGE = ${name} $prefix $name * _to_ptr(THIS) $name THIS = NO_INIT PROTOTYPE: \$ CODE: if (sv_derived_from(ST(0), "$name")) { STRLEN len; char *s = SvPV((SV*)SvRV(ST(0)), len); if (len != sizeof(THIS)) croak("Size \%d of packed data != expected \%d", len, sizeof(THIS)); RETVAL = ($name *)s; } else croak("THIS is not of type $name"); OUTPUT: RETVAL $name new(CLASS) char *CLASS = NO_INIT PROTOTYPE: \$ CODE: Zero((void*)&RETVAL, sizeof(RETVAL), char); OUTPUT: RETVAL MODULE = $module PACKAGE = ${name}Ptr $prefix EOF my @items = @$struct; while (@items) { my $item = shift @items; if ($item->[0] =~ /_ANON/) { if (defined $item->[2]) { push @items, map [ @$_[0, 1], "$item->[2]_$_->[2]", "$item->[2].$_->[2]", ], @{ $structs{$item->[0]} }; } else { push @items, @{ $structs{$item->[0]} }; } } else { my $type = normalize_type($item->[0]); my $ttype = $structs{$type} ? normalize_type("$type *") : $type; print $fh <<"EOF"; $ttype $item->[2](THIS, __value = NO_INIT) $ptrname THIS $type __value PROTOTYPE: \$;\$ CODE: if (items > 1) THIS->$item->[-1] = __value; RETVAL = @{[ $type eq $ttype ? "THIS->$item->[-1]" : "&(THIS->$item->[-1])" ]}; OUTPUT: RETVAL EOF } } } sub accessor_docs { my($name, $struct) = @_; return unless defined $struct && $name !~ /\s|_ANON/; $name = normalize_type($name); my $ptrname = $name . 'Ptr'; my @items = @$struct; my @list; while (@items) { my $item = shift @items; if ($item->[0] =~ /_ANON/) { if (defined $item->[2]) { push @items, map [ @$_[0, 1], "$item->[2]_$_->[2]", "$item->[2].$_->[2]", ], @{ $structs{$item->[0]} }; } else { push @items, @{ $structs{$item->[0]} }; } } else { push @list, $item->[2]; } } my $methods = (join '(...)>, C<', @list) . '(...)'; my $pod = <<"EOF"; # #=head2 Object and class methods for C<$name>/C<$ptrname> # #The principal Perl representation of a C object of type C<$name> is an #object of class C<$ptrname> which is a reference to an integer #representation of a C pointer. To create such an object, one may use #a combination # # my \$buffer = $name->new(); # my \$obj = \$buffer->_to_ptr(); # #This exercises the following two methods, and an additional class #C<$name>, the internal representation of which is a reference to a #packed string with the C structure. Keep in mind that \$buffer should #better survive longer than \$obj. # #=over # #=item C<\$object_of_type_$name-E<gt>_to_ptr()> # #Converts an object of type C<$name> to an object of type C<$ptrname>. # #=item C<$name-E<gt>new()> # #Creates an empty object of type C<$name>. The corresponding packed #string is zeroed out. # #=item C<$methods> # #return the current value of the corresponding element if called #without additional arguments. Set the element to the supplied value #(and return the new value) if called with an additional argument. # #Applicable to objects of type C<$ptrname>. # #=back # EOF $pod =~ s/^\#//gm; return $pod; } # Should be called before any actual call to normalize_type(). sub get_typemap { # We do not want to read ./typemap by obvios reasons. my @tm = qw(../../../typemap ../../typemap ../typemap); my $stdtypemap = "$Config::Config{privlib}/ExtUtils/typemap"; unshift @tm, $stdtypemap; my $proto_re = "[" . quotemeta('\$%&*@;') . "]" ; # Start with useful default values $typemap{float} = 'T_NV'; foreach my $typemap (@tm) { next unless -e $typemap ; # skip directories, binary files etc. warn " Scanning $typemap\n"; warn("Warning: ignoring non-text typemap file '$typemap'\n"), next unless -T $typemap ; open(TYPEMAP, $typemap) or warn ("Warning: could not open typemap file '$typemap': $!\n"), next; my $mode = 'Typemap'; while (<TYPEMAP>) { next if /^\s*\#/; if (/^INPUT\s*$/) { $mode = 'Input'; next; } elsif (/^OUTPUT\s*$/) { $mode = 'Output'; next; } elsif (/^TYPEMAP\s*$/) { $mode = 'Typemap'; next; } elsif ($mode eq 'Typemap') { next if /^\s*($|\#)/ ; my ($type, $image); if ( ($type, $image) = /^\s*(.*?\S)\s+(\S+)\s*($proto_re*)\s*$/o # This may reference undefined functions: and not ($image eq 'T_PACKED' and $typemap eq $stdtypemap)) { $typemap{normalize_type($type)} = $image; } } } close(TYPEMAP) or die "Cannot close $typemap: $!"; } %std_types = %types_seen; %types_seen = (); } sub normalize_type { # Second arg: do not strip const's before \* my $type = shift; my $do_keep_deep_const = shift; # If $do_keep_deep_const this is heuristic only my $keep_deep_const = ($do_keep_deep_const ? '\b(?![^(,)]*\*)' : ''); my $ignore_mods = "(?:\\b(?:(?:__const__|const)$keep_deep_const|static|inline|__inline__)\\b\\s*)*"; if ($do_keep_deep_const) { # Keep different compiled /RExen/o separately! $type =~ s/$ignore_mods//go; } else { $type =~ s/$ignore_mods//go; } $type =~ s/([^\s\w])/ $1 /g; $type =~ s/\s+$//; $type =~ s/^\s+//; $type =~ s/\s+/ /g; $type =~ s/\* (?=\*)/*/g; $type =~ s/\. \. \./.../g; $type =~ s/ ,/,/g; $types_seen{$type}++ unless $type eq '...' or $type eq 'void' or $std_types{$type}; $type; } my $need_opaque; sub assign_typemap_entry { my $type = shift; my $otype = $type; my $entry; if ($tmask and $type =~ /$tmask/) { print "Type $type matches -o mask\n" if $opt_d; $entry = (td_is_struct($type) ? "T_OPAQUE_STRUCT" : "T_PTROBJ"); } elsif ($typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) { $type = normalize_type $type; print "Type mutation via typedefs: $otype ==> $type\n" if $opt_d; $entry = assign_typemap_entry($type); } # XXX good do better if our UV happens to be long long return "T_NV" if $type =~ /^(unsigned\s+)?long\s+(long|double)\z/; $entry ||= $typemap{$otype} || (td_is_struct($type) ? "T_OPAQUE_STRUCT" : "T_PTROBJ"); $typemap{$otype} = $entry; $need_opaque = 1 if $entry eq "T_OPAQUE_STRUCT"; return $entry; } for (@vdecls) { print_tievar_xsubs(\*XS, $_, $vdecl_hash{$_}); } if ($opt_x) { for my $decl (@$fdecls_parsed) { print_decl(\*XS, $decl) } if ($opt_a) { while (my($name, $struct) = each %structs) { print_accessors(\*XS, $name, $struct); } } } close XS; if (%types_seen) { my $type; warn "Writing $ext$modpname/typemap\n"; open TM, ">typemap" or die "Cannot open typemap file for write: $!"; for $type (sort keys %types_seen) { my $entry = assign_typemap_entry $type; print TM $type, "\t" x (5 - int((length $type)/8)), "\t$entry\n" } print TM <<'EOP' if $need_opaque; # Older Perls do not have correct entry ############################################################################# INPUT T_OPAQUE_STRUCT if (sv_derived_from($arg, \"${ntype}\")) { STRLEN len; char *s = SvPV((SV*)SvRV($arg), len); if (len != sizeof($var)) croak(\"Size %d of packed data != expected %d\", len, sizeof($var)); $var = *($type *)s; } else croak(\"$var is not of type ${ntype}\") ############################################################################# OUTPUT T_OPAQUE_STRUCT sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var)); EOP close TM or die "Cannot close typemap file for write: $!"; } } # if( ! $opt_X ) warn "Writing $ext$modpname/Makefile.PL\n"; open(PL, ">Makefile.PL") || die "Can't create $ext$modpname/Makefile.PL: $!\n"; my $prereq_pm = ''; if ( $compat_version < 5.006002 and $new_test ) { $prereq_pm .= q%'Test::More' => 0, %; } elsif ( $compat_version < 5.006002 ) { $prereq_pm .= q%'Test' => 0, %; } if ( $compat_version < 5.006 and !$opt_X and $use_xsloader) { $prereq_pm .= q%'XSLoader' => 0, %; } print PL <<"END"; use $compat_version; use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. WriteMakefile( NAME => '$module', VERSION_FROM => '$modpmname', # finds \$VERSION PREREQ_PM => {$prereq_pm}, # e.g., Module::Name => 1.1 (\$] >= 5.005 ? ## Add these new keywords supported since 5.005 (ABSTRACT_FROM => '$modpmname', # retrieve abstract from module AUTHOR => '$author <$email>') : ()), END if (!$opt_X) { # print C stuff, unless XS is disabled $opt_F = '' unless defined $opt_F; my $I = (((glob '*.h') || (glob '*.hh')) ? '-I.' : ''); my $Ihelp = ($I ? '-I. ' : ''); my $Icomment = ($I ? '' : <<EOC); # Insert -I. if you add *.h files later: EOC print PL <<END; LIBS => ['$extralibs'], # e.g., '-lm' DEFINE => '$opt_F', # e.g., '-DHAVE_SOMETHING' $Icomment INC => '$I', # e.g., '${Ihelp}-I/usr/include/other' END my $C = grep {$_ ne "$modfname.c"} (glob '*.c'), (glob '*.cc'), (glob '*.C'); my $Cpre = ($C ? '' : '# '); my $Ccomment = ($C ? '' : <<EOC); # Un-comment this if you add C files to link with later: EOC print PL <<END; $Ccomment ${Cpre}OBJECT => '\$(O_FILES)', # link all the C files too END } # ' # Grr print PL ");\n"; if (!$opt_c) { my $generate_code = WriteMakefileSnippet ( C_FILE => $constscfname, XS_FILE => $constsxsfname, DEFAULT_TYPE => $opt_t, NAME => $module, NAMES => \@const_specs, ); print PL <<"END"; if (eval {require ExtUtils::Constant; 1}) { # If you edit these definitions to change the constants used by this module, # you will need to use the generated $constscfname and $constsxsfname # files to replace their "fallback" counterparts before distributing your # changes. $generate_code } else { use File::Copy; use File::Spec; foreach my \$file ('$constscfname', '$constsxsfname') { my \$fallback = File::Spec->catfile('$fallbackdirname', \$file); copy (\$fallback, \$file) or die "Can't copy \$fallback to \$file: \$!"; } } END eval $generate_code; if ($@) { warn <<"EOM"; Attempting to test constant code in $ext$modpname/Makefile.PL: $generate_code __END__ gave unexpected error $@ Please report the circumstances of this bug in h2xs version $H2XS_VERSION using the perlbug script. EOM } else { my $fail; foreach my $file ($constscfname, $constsxsfname) { my $fallback = File::Spec->catfile($fallbackdirname, $file); if (compare($file, $fallback)) { warn << "EOM"; Files "$ext$modpname/$fallbackdirname/$file" and "$ext$modpname/$file" differ. EOM $fail++; } } if ($fail) { warn fill ('','', <<"EOM") . "\n"; It appears that the code in $ext$modpname/Makefile.PL does not autogenerate the files $ext$modpname/$constscfname and $ext$modpname/$constsxsfname correctly. Please report the circumstances of this bug in h2xs version $H2XS_VERSION using the perlbug script. EOM } else { unlink $constscfname, $constsxsfname; } } } close(PL) || die "Can't close $ext$modpname/Makefile.PL: $!\n"; # Create a simple README since this is a CPAN requirement # and it doesn't hurt to have one warn "Writing $ext$modpname/README\n"; open(RM, ">README") || die "Can't create $ext$modpname/README:$!\n"; my $thisyear = (gmtime)[5] + 1900; my $rmhead = "$modpname version $TEMPLATE_VERSION"; my $rmheadeq = "=" x length($rmhead); my $rm_prereq; if ( $compat_version < 5.006002 and $new_test ) { $rm_prereq = 'Test::More'; } elsif ( $compat_version < 5.006002 ) { $rm_prereq = 'Test'; } else { $rm_prereq = 'blah blah blah'; } print RM <<_RMEND_; $rmhead $rmheadeq The README is used to introduce the module and provide instructions on how to install the module, any machine dependencies it may have (for example C compilers and installed libraries) and any other information that should be provided before the module is installed. A README file is required for CPAN modules since CPAN extracts the README file from a module distribution so that people browsing the archive can use it get an idea of the modules uses. It is usually a good idea to provide version information here so that people can decide whether fixes for the module are worth downloading. INSTALLATION To install this module type the following: perl Makefile.PL make make test make install DEPENDENCIES This module requires these other modules and libraries: $rm_prereq COPYRIGHT AND LICENCE Put the correct copyright and licence information here. $licence _RMEND_ close(RM) || die "Can't close $ext$modpname/README: $!\n"; my $testdir = "t"; my $testfile = "$testdir/$modpname.t"; unless (-d "$testdir") { mkdir "$testdir" or die "Cannot mkdir $testdir: $!\n"; } warn "Writing $ext$modpname/$testfile\n"; my $tests = @const_names ? 2 : 1; open EX, ">$testfile" or die "Can't create $ext$modpname/$testfile: $!\n"; print EX <<_END_; # Before 'make install' is performed this script should be runnable with # 'make test'. After 'make install' it should work as 'perl $modpname.t' ######################### # change 'tests => $tests' to 'tests => last_test_to_print'; use strict; use warnings; _END_ my $test_mod = 'Test::More'; if ( $old_test or ($compat_version < 5.006002 and not $new_test )) { my $test_mod = 'Test'; print EX <<_END_; use Test; BEGIN { plan tests => $tests }; use $module; ok(1); # If we made it this far, we're ok. _END_ if (@const_names) { my $const_names = join " ", @const_names; print EX <<'_END_'; my $fail; foreach my $constname (qw( _END_ print EX wrap ("\t", "\t", $const_names); print EX (")) {\n"); print EX <<_END_; next if (eval "my \\\$a = \$constname; 1"); if (\$\@ =~ /^Your vendor has not defined $module macro \$constname/) { print "# pass: \$\@"; } else { print "# fail: \$\@"; \$fail = 1; } } if (\$fail) { print "not ok 2\\n"; } else { print "ok 2\\n"; } _END_ } } else { print EX <<_END_; use Test::More tests => $tests; BEGIN { use_ok('$module') }; _END_ if (@const_names) { my $const_names = join " ", @const_names; print EX <<'_END_'; my $fail = 0; foreach my $constname (qw( _END_ print EX wrap ("\t", "\t", $const_names); print EX (")) {\n"); print EX <<_END_; next if (eval "my \\\$a = \$constname; 1"); if (\$\@ =~ /^Your vendor has not defined $module macro \$constname/) { print "# pass: \$\@"; } else { print "# fail: \$\@"; \$fail = 1; } } ok( \$fail == 0 , 'Constants' ); _END_ } } print EX <<_END_; ######################### # Insert your test code below, the $test_mod module is use()ed here so read # its man page ( perldoc $test_mod ) for help writing this test script. _END_ close(EX) || die "Can't close $ext$modpname/$testfile: $!\n"; unless ($opt_C) { warn "Writing $ext$modpname/Changes\n"; $" = ' '; open(EX, ">Changes") || die "Can't create $ext$modpname/Changes: $!\n"; @ARGS = map {/[\s\"\'\`\$*?^|&<>\[\]\{\}\(\)]/ ? "'$_'" : $_} @ARGS; print EX <<EOP; Revision history for Perl extension $module. $TEMPLATE_VERSION @{[scalar localtime]} \t- original version; created by h2xs $H2XS_VERSION with options \t\t@ARGS EOP close(EX) || die "Can't close $ext$modpname/Changes: $!\n"; } warn "Writing $ext$modpname/MANIFEST\n"; open(MANI,'>MANIFEST') or die "Can't create MANIFEST: $!"; my @files = grep { -f } (<*>, <t/*>, <$fallbackdirname/*>, <$modpmdir/*>); if (!@files) { eval {opendir(D,'.');}; unless ($@) { @files = readdir(D); closedir(D); } } if (!@files) { @files = map {chomp && $_} `ls`; } if ($^O eq 'VMS') { foreach (@files) { # Clip trailing '.' for portability -- non-VMS OSs don't expect it s%\.$%%; # Fix up for case-sensitive file systems s/$modfname/$modfname/i && next; $_ = "\U$_" if $_ eq 'manifest' or $_ eq 'changes'; $_ = 'Makefile.PL' if $_ eq 'makefile.pl'; } } print MANI join("\n",@files), "\n"; close MANI;
Close