Linux biogene 3.16.0-11-amd64 #1 SMP Debian 3.16.84-1 (2020-06-09) x86_64
Apache
: 46.101.124.208 | : 18.189.192.75
Cant Read [ /etc/named.conf ]
5.6.40-0+deb8u12
www-data
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
2to3
96
B
-rwxr-xr-x
2to3-2.7
96
B
-rwxr-xr-x
2to3-3.4
96
B
-rwxr-xr-x
7zr
40
B
-rwxr-xr-x
GET
14.71
KB
-rwxr-xr-x
HEAD
14.71
KB
-rwxr-xr-x
HTMLLinker
28.69
KB
-rwxr-xr-x
POST
14.71
KB
-rwxr-xr-x
[
38.54
KB
-rwxr-xr-x
a2p
104.02
KB
-rwxr-xr-x
ab
50.11
KB
-rwxr-xr-x
ac
22.85
KB
-rwxr-xr-x
acpi
19.3
KB
-rwxr-xr-x
acpi_listen
14.55
KB
-rwxr-xr-x
add-apt-repository
8.2
KB
-rwxr-xr-x
addpart
18.2
KB
-rwxr-xr-x
addr2line
26.98
KB
-rwxr-xr-x
altermime
101.59
KB
-rwxr-xr-x
apropos
46.85
KB
-rwxr-xr-x
apt
14.22
KB
-rwxr-xr-x
apt-add-repository
8.2
KB
-rwxr-xr-x
apt-cache
118.38
KB
-rwxr-xr-x
apt-cdrom
30.03
KB
-rwxr-xr-x
apt-config
21.95
KB
-rwxr-xr-x
apt-extracttemplates
22.27
KB
-rwxr-xr-x
apt-ftparchive
230.58
KB
-rwxr-xr-x
apt-get
138.39
KB
-rwxr-xr-x
apt-key
11.46
KB
-rwxr-xr-x
apt-listchanges
8.54
KB
-rwxr-xr-x
apt-mark
50.28
KB
-rwxr-xr-x
apt-sortpkgs
30.19
KB
-rwxr-xr-x
aptitude
4.31
MB
-rwxr-xr-x
aptitude-create-state-bundle
1.89
KB
-rwxr-xr-x
aptitude-curses
4.31
MB
-rwxr-xr-x
aptitude-run-state-bundle
2.78
KB
-rwxr-xr-x
ar
54.96
KB
-rwxr-xr-x
arch
30.51
KB
-rwxr-xr-x
arj
340.49
KB
-rwxr-xr-x
arj-register
15.3
KB
-rwxr-xr-x
arjdisp
11.57
KB
-rwxr-xr-x
as
348.63
KB
-rwxr-xr-x
at
54.13
KB
-rwsr-sr-x
atq
54.13
KB
-rwsr-sr-x
atrm
54.13
KB
-rwsr-sr-x
autogsdoc
272.11
KB
-rwxr-xr-x
awk
115.43
KB
-rwxr-xr-x
awstats
661.36
KB
-rwxr-xr-x
base64
34.54
KB
-rwxr-xr-x
basename
30.48
KB
-rwxr-xr-x
bashbug
6.78
KB
-rwxr-xr-x
batch
152
B
-rwxr-xr-x
bc
83.11
KB
-rwxr-xr-x
bsd-from
10.12
KB
-rwxr-xr-x
bsd-write
14.25
KB
-rwxr-sr-x
buildhash
38.66
KB
-rwxr-xr-x
busctl
270.23
KB
-rwxr-xr-x
c++
816.12
KB
-rwxr-xr-x
c++filt
26.45
KB
-rwxr-xr-x
c2ph
35.79
KB
-rwxr-xr-x
c89
428
B
-rwxr-xr-x
c89-gcc
428
B
-rwxr-xr-x
c99
454
B
-rwxr-xr-x
c99-gcc
454
B
-rwxr-xr-x
c_rehash
4.55
KB
-rwxr-xr-x
cabextract
26.86
KB
-rwxr-xr-x
cal
29.08
KB
-rwxr-xr-x
calendar
27.09
KB
-rwxr-xr-x
captoinfo
70.79
KB
-rwxr-xr-x
catchsegv
3.23
KB
-rwxr-xr-x
catman
38.37
KB
-rwxr-xr-x
cc
813.49
KB
-rwxr-xr-x
chacl
14.22
KB
-rwxr-xr-x
chage
60.81
KB
-rwxr-sr-x
chardet
307
B
-rwxr-xr-x
chardetect
307
B
-rwxr-xr-x
chattr
10.29
KB
-rwxr-xr-x
chcon
62.73
KB
-rwxr-xr-x
checkgid
5.96
KB
-rwxr-xr-x
cheetah
73
B
-rwxr-xr-x
cheetah-analyze
114
B
-rwxr-xr-x
cheetah-compile
89
B
-rwxr-xr-x
chfn
52.36
KB
-rwsr-xr-x
chrt
22.4
KB
-rwxr-xr-x
chsh
43.42
KB
-rwsr-xr-x
ckbcomp
146.26
KB
-rwxr-xr-x
cksum
30.51
KB
-rwxr-xr-x
clear
6.11
KB
-rwxr-xr-x
clear_console
10.11
KB
-rwxr-xr-x
cloud-init
21.71
KB
-rwxr-xr-x
cloud-init-per
1.66
KB
-rwxr-xr-x
cloud-localds
4.42
KB
-rwxr-xr-x
cloud-publish-image
16.09
KB
-rwxr-xr-x
cloud-publish-tarball
7.93
KB
-rwxr-xr-x
cloud-publish-ubuntu
4.6
KB
-rwxr-xr-x
cloud-run-instances
25.79
KB
-rwxr-xr-x
cmp
42.49
KB
-rwxr-xr-x
codepage
10.09
KB
-rwxr-xr-x
col
10.11
KB
-rwxr-xr-x
colcrt
10.08
KB
-rwxr-xr-x
colrm
10.07
KB
-rwxr-xr-x
column
14.22
KB
-rwxr-xr-x
comm
34.51
KB
-rwxr-xr-x
compose
17.55
KB
-rwxr-xr-x
config_data
7.05
KB
-rwxr-xr-x
config_data.diverted
7.06
KB
-rwxr-xr-x
corelist
12.53
KB
-rwxr-xr-x
cpan
5.88
KB
-rwxr-xr-x
cpansign
2
KB
-rwxr-xr-x
cpp
814.43
KB
-rwxr-xr-x
cpp-4.9
814.43
KB
-rwxr-xr-x
crc32
867
B
-rwxr-xr-x
crontab
35.16
KB
-rwxr-sr-x
crypt
517
B
-rwxr-xr-x
csplit
46.7
KB
-rwxr-xr-x
ctstat
14.05
KB
-rwxr-xr-x
curl
177.95
KB
-rwxr-xr-x
cut
38.57
KB
-rwxr-xr-x
cvtenc
16.88
KB
-rwxr-xr-x
dbilogstrip
1.43
KB
-rwxr-xr-x
dbiprof
6.14
KB
-rwxr-xr-x
dbiproxy
5.35
KB
-rwxr-xr-x
dbus-cleanup-sockets
10.29
KB
-rwxr-xr-x
dbus-daemon
420.61
KB
-rwxr-xr-x
dbus-monitor
18.41
KB
-rwxr-xr-x
dbus-run-session
10.27
KB
-rwxr-xr-x
dbus-send
18.55
KB
-rwxr-xr-x
dbus-uuidgen
10.22
KB
-rwxr-xr-x
dc
42.32
KB
-rwxr-xr-x
deallocvt
10.1
KB
-rwxr-xr-x
deb-systemd-helper
17.73
KB
-rwxr-xr-x
deb-systemd-invoke
2.96
KB
-rwxr-xr-x
debconf
2.79
KB
-rwxr-xr-x
debconf-apt-progress
11.27
KB
-rwxr-xr-x
debconf-communicate
608
B
-rwxr-xr-x
debconf-copydb
1.68
KB
-rwxr-xr-x
debconf-escape
647
B
-rwxr-xr-x
debconf-set-selections
2.87
KB
-rwxr-xr-x
debconf-show
1.78
KB
-rwxr-xr-x
debian-distro-info
22.49
KB
-rwxr-xr-x
debugapp
985
B
-rwxr-xr-x
debugedit
31.88
KB
-rwxr-xr-x
defaults
25.37
KB
-rwxr-xr-x
defmt-c
5.04
KB
-rwxr-xr-x
defmt-sh
4.85
KB
-rwxr-xr-x
delpart
18.2
KB
-rwxr-xr-x
dh_bash-completion
2.47
KB
-rwxr-xr-x
dh_installxmlcatalogs
9.44
KB
-rwxr-xr-x
dh_perl_dbi
1.04
KB
-rwxr-xr-x
dh_pypy
11.56
KB
-rwxr-xr-x
dh_pysupport
11.95
KB
-rwxr-xr-x
dh_python-ply
2.26
KB
-rwxr-xr-x
dh_python2
1.03
KB
-rwxr-xr-x
dh_python3
11.68
KB
-rwxr-xr-x
dialog
211.66
KB
-rwxr-xr-x
diff
126.88
KB
-rwxr-xr-x
diff3
58.66
KB
-rwxr-xr-x
dig
126.04
KB
-rwxr-xr-x
dircolors
38.54
KB
-rwxr-xr-x
dirname
30.48
KB
-rwxr-xr-x
discover-config
2.89
KB
-rwxr-xr-x
distro-info
22.49
KB
-rwxr-xr-x
dkimproxy-sign
3.85
KB
-rwxr-xr-x
dkimproxy-verify
2.26
KB
-rwxr-xr-x
dotlockfile
14.5
KB
-rwxr-sr-x
doveadm
429.58
KB
-rwxr-xr-x
doveconf
139.56
KB
-rwxr-xr-x
dpkg
267.55
KB
-rwxr-xr-x
dpkg-architecture
12.28
KB
-rwxr-xr-x
dpkg-buildflags
6.07
KB
-rwxr-xr-x
dpkg-buildpackage
22.21
KB
-rwxr-xr-x
dpkg-checkbuilddeps
7.04
KB
-rwxr-xr-x
dpkg-deb
127.2
KB
-rwxr-xr-x
dpkg-distaddfile
2.71
KB
-rwxr-xr-x
dpkg-divert
135.23
KB
-rwxr-xr-x
dpkg-genchanges
17.4
KB
-rwxr-xr-x
dpkg-gencontrol
13.71
KB
-rwxr-xr-x
dpkg-gensymbols
10.25
KB
-rwxr-xr-x
dpkg-maintscript-helper
17.23
KB
-rwxr-xr-x
dpkg-mergechangelogs
8.34
KB
-rwxr-xr-x
dpkg-name
6.53
KB
-rwxr-xr-x
dpkg-parsechangelog
4.1
KB
-rwxr-xr-x
dpkg-query
143.3
KB
-rwxr-xr-x
dpkg-scanpackages
8.08
KB
-rwxr-xr-x
dpkg-scansources
9.57
KB
-rwxr-xr-x
dpkg-shlibdeps
28.87
KB
-rwxr-xr-x
dpkg-source
19.72
KB
-rwxr-xr-x
dpkg-split
58.8
KB
-rwxr-xr-x
dpkg-statoverride
58.84
KB
-rwxr-xr-x
dpkg-trigger
66.8
KB
-rwxr-xr-x
dpkg-vendor
3.18
KB
-rwxr-xr-x
dsync
429.58
KB
-rwxr-xr-x
du
110.91
KB
-rwxr-xr-x
dumpkeys
76.48
KB
-rwxr-xr-x
dwp
2.34
MB
-rwxr-xr-x
easy_install
321
B
-rwxr-xr-x
easy_install-2.7
332
B
-rwxr-xr-x
ec2metadata
6.41
KB
-rwxr-xr-x
edit
17.55
KB
-rwxr-xr-x
editor
191.42
KB
-rwxr-xr-x
eject
30.59
KB
-rwxr-xr-x
elfedit
30.69
KB
-rwxr-xr-x
enc2xs
38.58
KB
-rwxr-xr-x
env
30.51
KB
-rwxr-xr-x
envsubst
34.46
KB
-rwxr-xr-x
eqn
185.16
KB
-rwxr-xr-x
euare-accountaliascreate
172
B
-rwxr-xr-x
euare-accountaliasdelete
172
B
-rwxr-xr-x
euare-accountaliaslist
172
B
-rwxr-xr-x
euare-accountcreate
157
B
-rwxr-xr-x
euare-accountdel
157
B
-rwxr-xr-x
euare-accountdelpolicy
175
B
-rwxr-xr-x
euare-accountgetpolicy
166
B
-rwxr-xr-x
euare-accountgetsummary
169
B
-rwxr-xr-x
euare-accountlist
154
B
-rwxr-xr-x
euare-accountlistpolicies
175
B
-rwxr-xr-x
euare-accountuploadpolicy
166
B
-rwxr-xr-x
euare-getldapsyncstatus
169
B
-rwxr-xr-x
euare-groupaddpolicy
160
B
-rwxr-xr-x
euare-groupadduser
160
B
-rwxr-xr-x
euare-groupcreate
151
B
-rwxr-xr-x
euare-groupdel
151
B
-rwxr-xr-x
euare-groupdelpolicy
169
B
-rwxr-xr-x
euare-groupgetpolicy
160
B
-rwxr-xr-x
euare-grouplistbypath
148
B
-rwxr-xr-x
euare-grouplistpolicies
169
B
-rwxr-xr-x
euare-grouplistusers
142
B
-rwxr-xr-x
euare-groupmod
151
B
-rwxr-xr-x
euare-groupremoveuser
175
B
-rwxr-xr-x
euare-groupuploadpolicy
160
B
-rwxr-xr-x
euare-instanceprofileaddrole
190
B
-rwxr-xr-x
euare-instanceprofilecreate
181
B
-rwxr-xr-x
euare-instanceprofiledel
181
B
-rwxr-xr-x
euare-instanceprofilegetattrib...
172
B
-rwxr-xr-x
euare-instanceprofilelistbypat...
178
B
-rwxr-xr-x
euare-instanceprofilelistforro...
199
B
-rwxr-xr-x
euare-instanceprofileremoverol...
205
B
-rwxr-xr-x
euare-roleaddpolicy
157
B
-rwxr-xr-x
euare-rolecreate
148
B
-rwxr-xr-x
euare-roledel
148
B
-rwxr-xr-x
euare-roledelpolicy
166
B
-rwxr-xr-x
euare-rolegetattributes
139
B
-rwxr-xr-x
euare-rolegetpolicy
157
B
-rwxr-xr-x
euare-rolelistbypath
145
B
-rwxr-xr-x
euare-rolelistpolicies
166
B
-rwxr-xr-x
euare-roleupdateassumepolicy
184
B
-rwxr-xr-x
euare-roleuploadpolicy
157
B
-rwxr-xr-x
euare-servercertdel
187
B
-rwxr-xr-x
euare-servercertgetattributes
178
B
-rwxr-xr-x
euare-servercertlistbypath
184
B
-rwxr-xr-x
euare-servercertmod
187
B
-rwxr-xr-x
euare-servercertupload
187
B
-rwxr-xr-x
euare-useraddcert
190
B
-rwxr-xr-x
euare-useraddkey
163
B
-rwxr-xr-x
euare-useraddloginprofile
172
B
-rwxr-xr-x
euare-useraddpolicy
157
B
-rwxr-xr-x
euare-usercreate
148
B
-rwxr-xr-x
euare-usercreatecert
190
B
-rwxr-xr-x
euare-userdeactivatemfadevice
175
B
-rwxr-xr-x
euare-userdel
148
B
-rwxr-xr-x
euare-userdelcert
190
B
-rwxr-xr-x
euare-userdelkey
163
B
-rwxr-xr-x
euare-userdelloginprofile
172
B
-rwxr-xr-x
euare-userdelpolicy
166
B
-rwxr-xr-x
euare-userenablemfadevice
163
B
-rwxr-xr-x
euare-usergetattributes
139
B
-rwxr-xr-x
euare-usergetinfo
151
B
-rwxr-xr-x
euare-usergetloginprofile
163
B
-rwxr-xr-x
euare-usergetpolicy
157
B
-rwxr-xr-x
euare-userlistbypath
145
B
-rwxr-xr-x
euare-userlistcerts
187
B
-rwxr-xr-x
euare-userlistgroups
169
B
-rwxr-xr-x
euare-userlistkeys
160
B
-rwxr-xr-x
euare-userlistmfadevices
160
B
-rwxr-xr-x
euare-userlistpolicies
166
B
-rwxr-xr-x
euare-usermod
148
B
-rwxr-xr-x
euare-usermodcert
190
B
-rwxr-xr-x
euare-usermodkey
163
B
-rwxr-xr-x
euare-usermodloginprofile
172
B
-rwxr-xr-x
euare-userresyncmfadevice
163
B
-rwxr-xr-x
euare-userupdateinfo
160
B
-rwxr-xr-x
euare-useruploadpolicy
157
B
-rwxr-xr-x
euca-allocate-address
163
B
-rwxr-xr-x
euca-associate-address
166
B
-rwxr-xr-x
euca-associate-route-table
175
B
-rwxr-xr-x
euca-attach-volume
154
B
-rwxr-xr-x
euca-authorize
190
B
-rwxr-xr-x
euca-bundle-and-upload-image
184
B
-rwxr-xr-x
euca-bundle-image
157
B
-rwxr-xr-x
euca-bundle-instance
160
B
-rwxr-xr-x
euca-bundle-vol
160
B
-rwxr-xr-x
euca-cancel-bundle-task
166
B
-rwxr-xr-x
euca-cancel-conversion-task
178
B
-rwxr-xr-x
euca-confirm-product-instance
184
B
-rwxr-xr-x
euca-copy-image
145
B
-rwxr-xr-x
euca-create-group
175
B
-rwxr-xr-x
euca-create-image
151
B
-rwxr-xr-x
euca-create-keypair
157
B
-rwxr-xr-x
euca-create-network-acl
166
B
-rwxr-xr-x
euca-create-network-acl-entry
181
B
-rwxr-xr-x
euca-create-route
151
B
-rwxr-xr-x
euca-create-route-table
166
B
-rwxr-xr-x
euca-create-snapshot
160
B
-rwxr-xr-x
euca-create-subnet
154
B
-rwxr-xr-x
euca-create-tags
154
B
-rwxr-xr-x
euca-create-volume
154
B
-rwxr-xr-x
euca-create-vpc
145
B
-rwxr-xr-x
euca-delete-bundle
160
B
-rwxr-xr-x
euca-delete-disk-image
163
B
-rwxr-xr-x
euca-delete-group
175
B
-rwxr-xr-x
euca-delete-keypair
157
B
-rwxr-xr-x
euca-delete-network-acl
166
B
-rwxr-xr-x
euca-delete-network-acl-entry
181
B
-rwxr-xr-x
euca-delete-route
151
B
-rwxr-xr-x
euca-delete-route-table
166
B
-rwxr-xr-x
euca-delete-snapshot
160
B
-rwxr-xr-x
euca-delete-subnet
154
B
-rwxr-xr-x
euca-delete-tags
148
B
-rwxr-xr-x
euca-delete-volume
154
B
-rwxr-xr-x
euca-delete-vpc
145
B
-rwxr-xr-x
euca-deregister
163
B
-rwxr-xr-x
euca-describe-addresses
169
B
-rwxr-xr-x
euca-describe-availability-zon...
193
B
-rwxr-xr-x
euca-describe-bundle-tasks
175
B
-rwxr-xr-x
euca-describe-conversion-tasks
187
B
-rwxr-xr-x
euca-describe-group
184
B
-rwxr-xr-x
euca-describe-groups
184
B
-rwxr-xr-x
euca-describe-image-attribute
184
B
-rwxr-xr-x
euca-describe-images
160
B
-rwxr-xr-x
euca-describe-instance-attribu...
193
B
-rwxr-xr-x
euca-describe-instance-status
184
B
-rwxr-xr-x
euca-describe-instance-types
181
B
-rwxr-xr-x
euca-describe-instances
169
B
-rwxr-xr-x
euca-describe-keypairs
166
B
-rwxr-xr-x
euca-describe-network-acls
175
B
-rwxr-xr-x
euca-describe-regions
163
B
-rwxr-xr-x
euca-describe-route-tables
175
B
-rwxr-xr-x
euca-describe-snapshots
169
B
-rwxr-xr-x
euca-describe-subnets
163
B
-rwxr-xr-x
euca-describe-tags
154
B
-rwxr-xr-x
euca-describe-volumes
164
B
-rwxr-xr-x
euca-describe-vpcs
154
B
-rwxr-xr-x
euca-detach-volume
154
B
-rwxr-xr-x
euca-disassociate-address
175
B
-rwxr-xr-x
euca-disassociate-route-table
184
B
-rwxr-xr-x
euca-download-and-unbundle
180
B
-rwxr-xr-x
euca-download-bundle
166
B
-rwxr-xr-x
euca-fingerprint-key
186
B
-rwxr-xr-x
euca-get-console-output
166
B
-rwxr-xr-x
euca-get-password
151
B
-rwxr-xr-x
euca-get-password-data
163
B
-rwxr-xr-x
euca-import-instance
160
B
-rwxr-xr-x
euca-import-keypair
157
B
-rwxr-xr-x
euca-import-volume
154
B
-rwxr-xr-x
euca-install-image
160
B
-rwxr-xr-x
euca-modify-image-attribute
178
B
-rwxr-xr-x
euca-modify-instance-attribute
187
B
-rwxr-xr-x
euca-modify-instance-type
199
B
-rwxr-xr-x
euca-modify-snapshot-attribute
187
B
-rwxr-xr-x
euca-monitor-instances
166
B
-rwxr-xr-x
euca-reboot-instances
163
B
-rwxr-xr-x
euca-register
157
B
-rwxr-xr-x
euca-release-address
160
B
-rwxr-xr-x
euca-replace-network-acl-assoc...
202
B
-rwxr-xr-x
euca-replace-network-acl-entry
182
B
-rwxr-xr-x
euca-replace-route
154
B
-rwxr-xr-x
euca-replace-route-table-assoc...
202
B
-rwxr-xr-x
euca-reset-image-attribute
175
B
-rwxr-xr-x
euca-reset-instance-attribute
184
B
-rwxr-xr-x
euca-resume-import
154
B
-rwxr-xr-x
euca-revoke
187
B
-rwxr-xr-x
euca-run-instances
154
B
-rwxr-xr-x
euca-start-instances
160
B
-rwxr-xr-x
euca-stop-instances
157
B
-rwxr-xr-x
euca-terminate-instances
172
B
-rwxr-xr-x
euca-unbundle
148
B
-rwxr-xr-x
euca-unbundle-stream
166
B
-rwxr-xr-x
euca-unmonitor-instances
172
B
-rwxr-xr-x
euca-upload-bundle
160
B
-rwxr-xr-x
euca-version
131
B
-rwxr-xr-x
euform-cancel-update-stack
191
B
-rwxr-xr-x
euform-create-stack
173
B
-rwxr-xr-x
euform-delete-stack
173
B
-rwxr-xr-x
euform-describe-stack-events
197
B
-rwxr-xr-x
euform-describe-stack-resource
203
B
-rwxr-xr-x
euform-describe-stack-resource...
206
B
-rwxr-xr-x
euform-describe-stacks
182
B
-rwxr-xr-x
euform-get-template
173
B
-rwxr-xr-x
euform-list-stack-resources
194
B
-rwxr-xr-x
euform-list-stacks
170
B
-rwxr-xr-x
euform-update-stack
173
B
-rwxr-xr-x
euform-validate-template
188
B
-rwxr-xr-x
eulb-apply-security-groups-to-...
251
B
-rwxr-xr-x
eulb-attach-lb-to-subnets
233
B
-rwxr-xr-x
eulb-configure-healthcheck
212
B
-rwxr-xr-x
eulb-create-app-cookie-stickin...
245
B
-rwxr-xr-x
eulb-create-lb
206
B
-rwxr-xr-x
eulb-create-lb-cookie-stickine...
242
B
-rwxr-xr-x
eulb-create-lb-listeners
233
B
-rwxr-xr-x
eulb-create-lb-policy
224
B
-rwxr-xr-x
eulb-delete-lb
206
B
-rwxr-xr-x
eulb-delete-lb-listeners
233
B
-rwxr-xr-x
eulb-delete-lb-policy
224
B
-rwxr-xr-x
eulb-deregister-instances-from...
257
B
-rwxr-xr-x
eulb-describe-instance-health
218
B
-rwxr-xr-x
eulb-describe-lb-policies
236
B
-rwxr-xr-x
eulb-describe-lb-policy-types
245
B
-rwxr-xr-x
eulb-describe-lbs
215
B
-rwxr-xr-x
eulb-detach-lb-from-subnets
239
B
-rwxr-xr-x
eulb-disable-zones-for-lb
269
B
-rwxr-xr-x
eulb-enable-zones-for-lb
266
B
-rwxr-xr-x
eulb-register-instances-with-l...
251
B
-rwxr-xr-x
eulb-set-lb-listener-ssl-cert
263
B
-rwxr-xr-x
eulb-set-lb-policies-for-backe...
269
B
-rwxr-xr-x
eulb-set-lb-policies-of-listen...
251
B
-rwxr-xr-x
euscale-create-auto-scaling-gr...
200
B
-rwxr-xr-x
euscale-create-launch-config
209
B
-rwxr-xr-x
euscale-create-or-update-tags
188
B
-rwxr-xr-x
euscale-delete-auto-scaling-gr...
200
B
-rwxr-xr-x
euscale-delete-launch-config
209
B
-rwxr-xr-x
euscale-delete-notification-co...
227
B
-rwxr-xr-x
euscale-delete-policy
170
B
-rwxr-xr-x
euscale-delete-scheduled-actio...
197
B
-rwxr-xr-x
euscale-delete-tags
164
B
-rwxr-xr-x
euscale-describe-account-limit...
197
B
-rwxr-xr-x
euscale-describe-adjustment-ty...
203
B
-rwxr-xr-x
euscale-describe-auto-scaling-...
209
B
-rwxr-xr-x
euscale-describe-auto-scaling-...
218
B
-rwxr-xr-x
euscale-describe-auto-scaling-...
242
B
-rwxr-xr-x
euscale-describe-launch-config...
218
B
-rwxr-xr-x
euscale-describe-metric-collec...
221
B
-rwxr-xr-x
euscale-describe-notification-...
236
B
-rwxr-xr-x
euscale-describe-policies
182
B
-rwxr-xr-x
euscale-describe-process-types
215
B
-rwxr-xr-x
euscale-describe-scaling-activ...
209
B
-rwxr-xr-x
euscale-describe-scheduled-act...
206
B
-rwxr-xr-x
euscale-describe-tags
170
B
-rwxr-xr-x
euscale-describe-termination-p...
224
B
-rwxr-xr-x
euscale-disable-metrics-collec...
206
B
-rwxr-xr-x
euscale-enable-metrics-collect...
203
B
-rwxr-xr-x
euscale-execute-policy
173
B
-rwxr-xr-x
euscale-put-notification-confi...
218
B
-rwxr-xr-x
euscale-put-scaling-policy
182
B
-rwxr-xr-x
euscale-put-scheduled-update-g...
221
B
-rwxr-xr-x
euscale-resume-processes
179
B
-rwxr-xr-x
euscale-set-desired-capacity
188
B
-rwxr-xr-x
euscale-set-instance-health
185
B
-rwxr-xr-x
euscale-suspend-processes
182
B
-rwxr-xr-x
euscale-terminate-instance-in-...
239
B
-rwxr-xr-x
euscale-update-auto-scaling-gr...
200
B
-rwxr-xr-x
euwatch-delete-alarms
168
B
-rwxr-xr-x
euwatch-describe-alarm-history
192
B
-rwxr-xr-x
euwatch-describe-alarms
174
B
-rwxr-xr-x
euwatch-describe-alarms-for-me...
201
B
-rwxr-xr-x
euwatch-disable-alarm-actions
189
B
-rwxr-xr-x
euwatch-enable-alarm-actions
186
B
-rwxr-xr-x
euwatch-get-stats
189
B
-rwxr-xr-x
euwatch-list-metrics
165
B
-rwxr-xr-x
euwatch-put-data
171
B
-rwxr-xr-x
euwatch-put-metric-alarm
174
B
-rwxr-xr-x
euwatch-set-alarm-state
171
B
-rwxr-xr-x
ex
2.14
MB
-rwxr-xr-x
expand
30.54
KB
-rwxr-xr-x
expiry
22.21
KB
-rwxr-sr-x
expr
38.54
KB
-rwxr-xr-x
factor
74.63
KB
-rwxr-xr-x
fail2ban-client
12.4
KB
-rwxr-xr-x
fail2ban-regex
13.25
KB
-rwxr-xr-x
fail2ban-server
4.4
KB
-rwxr-xr-x
faillog
18.2
KB
-rwxr-xr-x
faked-sysv
23.02
KB
-rwxr-xr-x
faked-tcp
27.08
KB
-rwxr-xr-x
fakeroot
3.8
KB
-rwxr-xr-x
fakeroot-sysv
3.8
KB
-rwxr-xr-x
fakeroot-tcp
3.8
KB
-rwxr-xr-x
fallocate
22.33
KB
-rwxr-xr-x
fc-cache
14.45
KB
-rwxr-xr-x
fc-cat
14.38
KB
-rwxr-xr-x
fc-list
10.27
KB
-rwxr-xr-x
fc-match
10.33
KB
-rwxr-xr-x
fc-pattern
10.27
KB
-rwxr-xr-x
fc-query
10.23
KB
-rwxr-xr-x
fc-scan
10.27
KB
-rwxr-xr-x
fc-validate
10.29
KB
-rwxr-xr-x
fcgistarter
9.96
KB
-rwxr-xr-x
file
18.62
KB
-rwxr-xr-x
file-rename
3.1
KB
-rwxr-xr-x
find
228.5
KB
-rwxr-xr-x
find2perl
23.06
KB
-rwxr-xr-x
findaffix
11.7
KB
-rwxr-xr-x
fiz
15.1
KB
-rwxr-xr-x
flock
22.33
KB
-rwxr-xr-x
fmt
38.54
KB
-rwxr-xr-x
fold
30.54
KB
-rwxr-xr-x
free
18.19
KB
-rwxr-xr-x
from
10.12
KB
-rwxr-xr-x
fromdos
13.89
KB
-rwxr-xr-x
ftp
83.67
KB
-rwxr-xr-x
funzip
22.14
KB
-rwxr-xr-x
g++
816.12
KB
-rwxr-xr-x
g++-4.9
816.12
KB
-rwxr-xr-x
gcc
813.49
KB
-rwxr-xr-x
gcc-4.9
813.49
KB
-rwxr-xr-x
gcc-ar
24.25
KB
-rwxr-xr-x
gcc-ar-4.9
24.25
KB
-rwxr-xr-x
gcc-nm
24.19
KB
-rwxr-xr-x
gcc-nm-4.9
24.19
KB
-rwxr-xr-x
gcc-ranlib
24.19
KB
-rwxr-xr-x
gcc-ranlib-4.9
24.19
KB
-rwxr-xr-x
gcov
440.43
KB
-rwxr-xr-x
gcov-4.9
440.43
KB
-rwxr-xr-x
gdnc
35.32
KB
-rwxr-xr-x
gdomap
50.71
KB
-rwxr-xr-x
gencat
22.43
KB
-rwxr-xr-x
gendiff
586
B
-rwxr-xr-x
geqn
185.16
KB
-rwxr-xr-x
getconf
22.23
KB
-rwxr-xr-x
getent
27.11
KB
-rwxr-xr-x
getfacl
23.03
KB
-rwxr-xr-x
getkeycodes
10.1
KB
-rwxr-xr-x
getopt
14.25
KB
-rwxr-xr-x
gettext
34.44
KB
-rwxr-xr-x
gettext.sh
4.51
KB
-rwxr-xr-x
ginstall-info
39.55
KB
-rwxr-xr-x
git
1.61
MB
-rwxr-xr-x
git-receive-pack
1.61
MB
-rwxr-xr-x
git-shell
792.1
KB
-rwxr-xr-x
git-upload-archive
1.61
MB
-rwxr-xr-x
git-upload-pack
868.16
KB
-rwxr-xr-x
gold
2.52
MB
-rwxr-xr-x
gpasswd
73.61
KB
-rwsr-xr-x
gpg
992.95
KB
-rwxr-xr-x
gpg-agent
296.06
KB
-rwxr-xr-x
gpg-connect-agent
150.47
KB
-rwxr-xr-x
gpg-zip
3.23
KB
-rwxr-xr-x
gpg2
766.69
KB
-rwxr-xr-x
gpgconf
147.19
KB
-rwxr-xr-x
gpgkey2ssh
37.88
KB
-rwxr-xr-x
gpgparsemail
25.95
KB
-rwxr-xr-x
gpgsplit
58.72
KB
-rwxr-xr-x
gpgv
363.58
KB
-rwxr-xr-x
gpic
199.91
KB
-rwxr-xr-x
gprof
92.21
KB
-rwxr-xr-x
groff
101.22
KB
-rwxr-xr-x
grog
9.62
KB
-rwxr-xr-x
grops
161.66
KB
-rwxr-xr-x
grotty
117.28
KB
-rwxr-xr-x
groups
30.54
KB
-rwxr-xr-x
growpart
6.91
KB
-rwxr-xr-x
grub-editenv
221.33
KB
-rwxr-xr-x
grub-file
616.49
KB
-rwxr-xr-x
grub-fstest
748.2
KB
-rwxr-xr-x
grub-glue-efi
217.2
KB
-rwxr-xr-x
grub-kbdcomp
1.64
KB
-rwxr-xr-x
grub-menulst2cfg
197.19
KB
-rwxr-xr-x
grub-mkfont
242.08
KB
-rwxr-xr-x
grub-mkimage
306.23
KB
-rwxr-xr-x
grub-mklayout
221.39
KB
-rwxr-xr-x
grub-mknetdir
342.81
KB
-rwxr-xr-x
grub-mkpasswd-pbkdf2
223.61
KB
-rwxr-xr-x
grub-mkrelpath
216.83
KB
-rwxr-xr-x
grub-mkrescue
763.53
KB
-rwxr-xr-x
grub-mkstandalone
415.32
KB
-rwxr-xr-x
grub-mount
567.3
KB
-rwxr-xr-x
grub-ntldr-img
31.17
KB
-rwxr-xr-x
grub-render-label
632.38
KB
-rwxr-xr-x
grub-script-check
242.7
KB
-rwxr-xr-x
grub-syslinux2cfg
583.05
KB
-rwxr-xr-x
gspath
11.11
KB
-rwxr-xr-x
gtbl
122.07
KB
-rwxr-xr-x
gtk-update-icon-cache
31.29
KB
-rwxr-xr-x
h2ph
28.52
KB
-rwxr-xr-x
h2xs
59.39
KB
-rwxr-xr-x
hd
30.35
KB
-rwxr-xr-x
head
38.57
KB
-rwxr-xr-x
helpztags
2.42
KB
-rwxr-xr-x
hexdump
30.35
KB
-rwxr-xr-x
host
110.32
KB
-rwxr-xr-x
hostid
26.48
KB
-rwxr-xr-x
hostnamectl
2.24
MB
-rwxr-xr-x
htcacheclean
29.98
KB
-rwxr-xr-x
htdbm
21.96
KB
-rwxr-xr-x
htdigest
13.96
KB
-rwxr-xr-x
htop
133.64
KB
-rwxr-xr-x
htpasswd
17.96
KB
-rwxr-xr-x
httpget
131
B
-rwxr-xr-x
i386
14.19
KB
-rwxr-xr-x
icombine
34.63
KB
-rwxr-xr-x
iconv
54.8
KB
-rwxr-xr-x
id
38.63
KB
-rwxr-xr-x
ijoin
14.17
KB
-rwxr-xr-x
info
202.55
KB
-rwxr-xr-x
infobrowser
202.55
KB
-rwxr-xr-x
infocmp
54.65
KB
-rwxr-xr-x
infokey
20.3
KB
-rwxr-xr-x
infotocap
70.79
KB
-rwxr-xr-x
innochecksum
13.87
KB
-rwxr-xr-x
innotop
390.81
KB
-rwxr-xr-x
install
139.39
KB
-rwxr-xr-x
install-info
39.55
KB
-rwxr-xr-x
instmodsh
4.27
KB
-rwxr-xr-x
ionice
22.33
KB
-rwxr-xr-x
ipcmk
22.52
KB
-rwxr-xr-x
ipcrm
22.3
KB
-rwxr-xr-x
ipcs
42.48
KB
-rwxr-xr-x
iptables-xml
85.67
KB
-rwxr-xr-x
ischroot
10.27
KB
-rwxr-xr-x
ispell
87.06
KB
-rwxr-xr-x
ispell-wrapper
7.05
KB
-rwxr-xr-x
join
42.57
KB
-rwxr-xr-x
json_pp
3.86
KB
-rwxr-xr-x
jsondiff
975
B
-rwxr-xr-x
jsonpatch
1.05
KB
-rwxr-xr-x
kbdinfo
10.12
KB
-rwxr-xr-x
kbxutil
114.46
KB
-rwxr-xr-x
killall
22.98
KB
-rwxr-xr-x
last
18.33
KB
-rwxr-xr-x
lastb
18.33
KB
-rwxr-xr-x
lastcomm
26.74
KB
-rwxr-xr-x
lastlog
13.95
KB
-rwxr-xr-x
lcf
7.63
KB
-rwxr-xr-x
ld
1.03
MB
-rwxr-xr-x
ld.bfd
1.03
MB
-rwxr-xr-x
ld.gold
2.52
MB
-rwxr-xr-x
ldapadd
70.02
KB
-rwxr-xr-x
ldapcompare
62.02
KB
-rwxr-xr-x
ldapdelete
62.05
KB
-rwxr-xr-x
ldapexop
62.02
KB
-rwxr-xr-x
ldapmodify
70.02
KB
-rwxr-xr-x
ldapmodrdn
62.02
KB
-rwxr-xr-x
ldappasswd
62.02
KB
-rwxr-xr-x
ldapsearch
82.05
KB
-rwxr-xr-x
ldapurl
21.88
KB
-rwxr-xr-x
ldapwhoami
58.02
KB
-rwxr-xr-x
ldd
5.27
KB
-rwxr-xr-x
less
161.42
KB
-rwxr-xr-x
lessecho
9.89
KB
-rwxr-xr-x
lessfile
7.58
KB
-rwxr-xr-x
lesskey
19.22
KB
-rwxr-xr-x
lesspipe
7.58
KB
-rwxr-xr-x
lexgrog
90.45
KB
-rwxr-xr-x
lft
2.43
KB
-rwxr-xr-x
lft.db
2.43
KB
-rwxr-xr-x
libnetcfg
15.39
KB
-rwxr-xr-x
line
6
KB
-rwxr-xr-x
link
26.48
KB
-rwxr-xr-x
linux-boot-prober
1.54
KB
-rwxr-xr-x
linux-check-removal
3.99
KB
-rwxr-xr-x
linux-update-symlinks
6.17
KB
-rwxr-xr-x
linux-version
2.63
KB
-rwxr-xr-x
linux32
14.19
KB
-rwxr-xr-x
linux64
14.19
KB
-rwxr-xr-x
lnstat
14.05
KB
-rwxr-xr-x
loadkeys
108.97
KB
-rwxr-xr-x
loadunimap
22.47
KB
-rwxr-xr-x
locale
37.71
KB
-rwxr-xr-x
localectl
250.23
KB
-rwxr-xr-x
localedef
295.52
KB
-rwxr-xr-x
locate
34.98
KB
-rwxr-sr-x
logger
27.06
KB
-rwxr-xr-x
logname
26.48
KB
-rwxr-xr-x
logresolve
9.97
KB
-rwxr-xr-x
look
10.15
KB
-rwxr-xr-x
lorder
2.7
KB
-rwxr-xr-x
lsar
2.12
MB
-rwxr-xr-x
lsattr
10.27
KB
-rwxr-xr-x
lsb_release
3.63
KB
-rwxr-xr-x
lscpu
50.95
KB
-rwxr-xr-x
lsinitramfs
2.43
KB
-rwxr-xr-x
lslocks
26.86
KB
-rwxr-xr-x
lsof
159.37
KB
-rwxr-xr-x
lspci
68.04
KB
-rwxr-xr-x
lspgpot
1.06
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
lzcat
66.95
KB
-rwxr-xr-x
lzcmp
5.39
KB
-rwxr-xr-x
lzdiff
5.39
KB
-rwxr-xr-x
lzegrep
5.29
KB
-rwxr-xr-x
lzfgrep
5.29
KB
-rwxr-xr-x
lzgrep
5.29
KB
-rwxr-xr-x
lzless
1.76
KB
-rwxr-xr-x
lzma
66.95
KB
-rwxr-xr-x
lzmainfo
10.13
KB
-rwxr-xr-x
lzmore
2.12
KB
-rwxr-xr-x
lzop
63.77
KB
-rwxr-xr-x
m4
146.99
KB
-rwxr-xr-x
maildirmake.dovecot
521
B
-rwxr-xr-x
mailq
26.05
KB
-rwxr-xr-x
make
202.75
KB
-rwxr-xr-x
make-first-existing-target
4.79
KB
-rwxr-xr-x
make_strings
44.62
KB
-rwxr-xr-x
makeinfo
51.42
KB
-rwxr-xr-x
man
104.41
KB
-rwxr-xr-x
mandb
130.59
KB
-rwxr-xr-x
manpath
30.38
KB
-rwxr-xr-x
mapscrn
18.47
KB
-rwxr-xr-x
mawk
115.43
KB
-rwxr-xr-x
mc
984.99
KB
-rwxr-xr-x
mcdiff
984.99
KB
-rwxr-xr-x
mcedit
984.99
KB
-rwxr-xr-x
mcookie
26.55
KB
-rwxr-xr-x
mcrypt
83.27
KB
-rwxr-xr-x
mcview
984.99
KB
-rwxr-xr-x
md5sum
38.57
KB
-rwxr-xr-x
md5sum.textutils
38.57
KB
-rwxr-xr-x
mdecrypt
83.27
KB
-rwxr-xr-x
mesg
10.09
KB
-rwxr-xr-x
miniterm.py
25.48
KB
-rwxr-xr-x
mk_modmap
15.78
KB
-rwxr-xr-x
mkfifo
58.76
KB
-rwxr-xr-x
mkpasswd
18.3
KB
-rwxr-xr-x
mlocate
34.98
KB
-rwxr-sr-x
mlock
8.64
KB
-rwxr-sr-x
msql2mysql
1.41
KB
-rwxr-xr-x
mtrace
6.3
KB
-rwxr-xr-x
munchlist
30.36
KB
-rwxr-xr-x
mutt
905.07
KB
-rwxr-xr-x
mutt-org
905.07
KB
-rwxr-xr-x
mutt_dotlock
10.36
KB
-rwxr-sr-x
my_print_defaults
2.75
MB
-rwxr-xr-x
myisam_ftdump
3.02
MB
-rwxr-xr-x
myisamchk
3.13
MB
-rwxr-xr-x
myisamlog
3.01
MB
-rwxr-xr-x
myisampack
3.05
MB
-rwxr-xr-x
mysql
3.31
MB
-rwxr-xr-x
mysql_client_test
3.58
MB
-rwxr-xr-x
mysql_convert_table_format
4.11
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
14.44
KB
-rwxr-xr-x
mysql_plugin
2.76
MB
-rwxr-xr-x
mysql_secure_installation
8.53
KB
-rwxr-xr-x
mysql_setpermission
17.05
KB
-rwxr-xr-x
mysql_tzinfo_to_sql
2.72
MB
-rwxr-xr-x
mysql_upgrade
3.24
MB
-rwxr-xr-x
mysql_waitpid
2.74
MB
-rwxr-xr-x
mysql_zap
3.77
KB
-rwxr-xr-x
mysqlaccess
109.3
KB
-rwxr-xr-x
mysqladmin
3.18
MB
-rwxr-xr-x
mysqlanalyze
3.18
MB
-rwxr-xr-x
mysqlbinlog
3.3
MB
-rwxr-xr-x
mysqlbug
10.75
KB
-rwxr-xr-x
mysqlcheck
3.18
MB
-rwxr-xr-x
mysqld_multi
23.36
KB
-rwxr-xr-x
mysqld_safe
26.84
KB
-rwxr-xr-x
mysqldump
3.25
MB
-rwxr-xr-x
mysqldumpslow
7.19
KB
-rwxr-xr-x
mysqlhotcopy
34.04
KB
-rwxr-xr-x
mysqlimport
3.18
MB
-rwxr-xr-x
mysqloptimize
3.18
MB
-rwxr-xr-x
mysqlrepair
3.18
MB
-rwxr-xr-x
mysqlreport
38.1
KB
-rwxr-xr-x
mysqlshow
3.18
MB
-rwxr-xr-x
mysqlslap
3.2
MB
-rwxr-xr-x
mysqltest
3.42
MB
-rwxr-xr-x
namei
22.36
KB
-rwxr-xr-x
nano
191.42
KB
-rwxr-xr-x
nawk
115.43
KB
-rwxr-xr-x
ncal
29.08
KB
-rwxr-xr-x
ncdu
63.08
KB
-rwxr-xr-x
ncurses5-config
5.81
KB
-rwxr-xr-x
ncursesw5-config
5.81
KB
-rwxr-xr-x
ndg_httpclient
339
B
-rwxr-xr-x
neqn
271
B
-rwxr-xr-x
net-server
3.34
KB
-rwxr-xr-x
netkit-ftp
83.67
KB
-rwxr-xr-x
newaliases
26.05
KB
-rwxr-xr-x
newgrp
38.98
KB
-rwsr-xr-x
ngettext
34.45
KB
-rwxr-xr-x
nice
30.51
KB
-rwxr-xr-x
nl
38.66
KB
-rwxr-xr-x
nm
39.73
KB
-rwxr-xr-x
nohup
30.51
KB
-rwxr-xr-x
nomarch
16
KB
-rwxr-xr-x
nproc
30.51
KB
-rwxr-xr-x
nroff
3.32
KB
-rwxr-xr-x
nsenter
22.71
KB
-rwxr-xr-x
nslookup
114.16
KB
-rwxr-xr-x
nstat
16.23
KB
-rwxr-xr-x
nsupdate
61.89
KB
-rwxr-xr-x
numfmt
54.63
KB
-rwxr-xr-x
objcopy
210.97
KB
-rwxr-xr-x
objdump
331.49
KB
-rwxr-xr-x
od
66.63
KB
-rwxr-xr-x
oldfind
228.5
KB
-rwxr-xr-x
omshell
391.87
KB
-rwxr-xr-x
openapp
10.69
KB
-rwxr-xr-x
openssl
517.75
KB
-rwxr-xr-x
opentool
5.71
KB
-rwxr-xr-x
os-prober
4.16
KB
-rwxr-xr-x
p7zip
1.33
KB
-rwxr-xr-x
pager
161.42
KB
-rwxr-xr-x
paperconf
8.89
KB
-rwxr-xr-x
partx
67.3
KB
-rwxr-xr-x
passwd
52.92
KB
-rwsr-xr-x
paste
30.51
KB
-rwxr-xr-x
patch
147.73
KB
-rwxr-xr-x
pathchk
30.51
KB
-rwxr-xr-x
pcimodules
14.42
KB
-rwxr-xr-x
pdb
44.93
KB
-rwxr-xr-x
pdb2.7
44.93
KB
-rwxr-xr-x
pdb3
59.46
KB
-rwxr-xr-x
pdb3.4
59.46
KB
-rwxr-xr-x
pdftexi2dvi
1.27
KB
-rwxr-xr-x
pear
793
B
-rwxr-xr-x
peardev
815
B
-rwxr-xr-x
pecl
730
B
-rwxr-xr-x
peekfd
10.11
KB
-rwxr-xr-x
perf
528
B
-rwxr-xr-x
perl
10.17
KB
-rwxr-xr-x
perl5.20.2
10.17
KB
-rwxr-xr-x
perlbug
44.33
KB
-rwxr-xr-x
perldoc
125
B
-rwxr-xr-x
perlivp
10.61
KB
-rwxr-xr-x
perlthanks
44.33
KB
-rwxr-xr-x
perror
2.86
MB
-rwxr-xr-x
pftp
83.67
KB
-rwxr-xr-x
pg
38.67
KB
-rwxr-xr-x
pgrep
26.44
KB
-rwxr-xr-x
phar
14.48
KB
-rwxr-xr-x
phar5
14.48
KB
-rwxr-xr-x
php
8.66
MB
-rwxr-xr-x
php5
8.66
MB
-rwxr-xr-x
pic
199.91
KB
-rwxr-xr-x
pico
191.42
KB
-rwxr-xr-x
piconv
8.11
KB
-rwxr-xr-x
pilconvert.py
2.28
KB
-rwxr-xr-x
pildriver.py
15.23
KB
-rwxr-xr-x
pilfile.py
2.51
KB
-rwxr-xr-x
pilfont.py
1021
B
-rwxr-xr-x
pilprint.py
2.32
KB
-rwxr-xr-x
pinentry
104.71
KB
-rwxr-xr-x
pinentry-gtk-2
104.71
KB
-rwxr-xr-x
pinentry-x11
104.71
KB
-rwxr-xr-x
pinky
34.66
KB
-rwxr-xr-x
pip
281
B
-rwxr-xr-x
pip2
283
B
-rwxr-xr-x
pkill
26.44
KB
-rwxr-xr-x
pl2link
16.93
KB
-rwxr-xr-x
pl2pm
4.42
KB
-rwxr-xr-x
pldd
14.37
KB
-rwxr-xr-x
pldes
11.37
KB
-rwxr-xr-x
plget
11.4
KB
-rwxr-xr-x
plio
11.71
KB
-rwxr-xr-x
plmerge
11.71
KB
-rwxr-xr-x
plparse
11.71
KB
-rwxr-xr-x
plser
12.05
KB
-rwxr-xr-x
pmap
26.42
KB
-rwxr-xr-x
pod2html
4.04
KB
-rwxr-xr-x
pod2latex
10.1
KB
-rwxr-xr-x
pod2man
13.34
KB
-rwxr-xr-x
pod2readme
1.56
KB
-rwxr-xr-x
pod2texi
19.24
KB
-rwxr-xr-x
pod2text
10.83
KB
-rwxr-xr-x
pod2usage
3.67
KB
-rwxr-xr-x
podchecker
3.7
KB
-rwxr-xr-x
podselect
2.55
KB
-rwxr-xr-x
pr
66.7
KB
-rwxr-xr-x
preconv
46.07
KB
-rwxr-xr-x
prename
2.92
KB
-rwxr-xr-x
print
17.55
KB
-rwxr-xr-x
printenv
26.48
KB
-rwxr-xr-x
printerbanner
18.11
KB
-rwxr-xr-x
printf
50.54
KB
-rwxr-xr-x
prlimit
27.11
KB
-rwxr-xr-x
prove
13.23
KB
-rwxr-xr-x
prtstat
14.16
KB
-rwxr-xr-x
psed
52.08
KB
-rwxr-xr-x
psfaddtable
18.23
KB
-rwxr-xr-x
psfgettable
18.23
KB
-rwxr-xr-x
psfstriptable
18.23
KB
-rwxr-xr-x
psfxtable
18.23
KB
-rwxr-xr-x
pstree
22.59
KB
-rwxr-xr-x
pstree.x11
22.59
KB
-rwxr-xr-x
pstruct
35.79
KB
-rwxr-xr-x
ptar
3.48
KB
-rwxr-xr-x
ptardiff
2.45
KB
-rwxr-xr-x
ptargrep
4.18
KB
-rwxr-xr-x
ptx
66.76
KB
-rwxr-xr-x
pwdx
10.17
KB
-rwxr-xr-x
py3clean
7.62
KB
-rwxr-xr-x
py3compile
11.83
KB
-rwxr-xr-x
py3versions
10.96
KB
-rwxr-xr-x
pybuild
20.41
KB
-rwxr-xr-x
pyclean
4.03
KB
-rwxr-xr-x
pycompile
11.62
KB
-rwxr-xr-x
pydoc
79
B
-rwxr-xr-x
pydoc2.7
79
B
-rwxr-xr-x
pydoc3
79
B
-rwxr-xr-x
pydoc3.4
79
B
-rwxr-xr-x
pygettext
21.58
KB
-rwxr-xr-x
pygettext2.7
21.58
KB
-rwxr-xr-x
pygettext3
21.84
KB
-rwxr-xr-x
pygettext3.4
21.84
KB
-rwxr-xr-x
pygmentize
148
B
-rwxr-xr-x
python
3.61
MB
-rwxr-xr-x
python-config
2.83
KB
-rwxr-xr-x
python2
3.61
MB
-rwxr-xr-x
python2-config
2.83
KB
-rwxr-xr-x
python2-jsondiff
975
B
-rwxr-xr-x
python2-jsonpatch
1.05
KB
-rwxr-xr-x
python2.7
3.61
MB
-rwxr-xr-x
python2.7-config
2.83
KB
-rwxr-xr-x
python3
4.27
MB
-rwxr-xr-x
python3.4
4.27
MB
-rwxr-xr-x
python3.4m
4.27
MB
-rwxr-xr-x
python3m
4.27
MB
-rwxr-xr-x
pyversions
14.75
KB
-rwxr-xr-x
querybts
10.55
KB
-rwxr-xr-x
ranlib
54.96
KB
-rwxr-xr-x
rcp
82.01
KB
-rwxr-xr-x
re2c
214.66
KB
-rwxr-xr-x
readelf
448.81
KB
-rwxr-xr-x
realpath
58.66
KB
-rwxr-xr-x
rearj
58.3
KB
-rwxr-xr-x
rename
3.1
KB
-rwxr-xr-x
rename.ul
10.2
KB
-rwxr-xr-x
renice
10.15
KB
-rwxr-xr-x
replace
2.73
MB
-rwxr-xr-x
report-hw
2.03
KB
-rwxr-xr-x
reportbug
101.84
KB
-rwxr-xr-x
reset
18.53
KB
-rwxr-xr-x
resize-part-image
4.25
KB
-rwxr-xr-x
resizecons
18.41
KB
-rwxr-xr-x
resizepart
30.5
KB
-rwxr-xr-x
resolve_stack_dump
2.75
MB
-rwxr-xr-x
resolveip
2.74
MB
-rwxr-xr-x
rev
10.18
KB
-rwxr-xr-x
rgrep
30
B
-rwxr-xr-x
ripole
35.81
KB
-rwxr-xr-x
rlogin
650.48
KB
-rwxr-xr-x
rmail
13.87
KB
-rwxr-xr-x
rotatelogs
18.04
KB
-rwxr-xr-x
routef
173
B
-rwxr-xr-x
routel
1.23
KB
-rwxr-xr-x
rpcgen
82.77
KB
-rwxr-xr-x
rpm
14.85
KB
-rwxr-xr-x
rpm2cpio
10.27
KB
-rwxr-xr-x
rpmbuild
24.55
KB
-rwxr-xr-x
rpmdb
10.8
KB
-rwxr-xr-x
rpmgraph
14.77
KB
-rwxr-xr-x
rpmkeys
10.8
KB
-rwxr-xr-x
rpmquery
14.85
KB
-rwxr-xr-x
rpmsign
14.87
KB
-rwxr-xr-x
rpmspec
11.05
KB
-rwxr-xr-x
rpmverify
14.85
KB
-rwxr-xr-x
rsh
650.48
KB
-rwxr-xr-x
rst-buildhtml
9.73
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
2.26
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
476.27
KB
-rwxr-xr-x
rtstat
14.05
KB
-rwxr-xr-x
run-mailcap
17.55
KB
-rwxr-xr-x
runcon
30.6
KB
-rwxr-xr-x
rview
2.14
MB
-rwxr-xr-x
rvim
2.14
MB
-rwxr-xr-x
s2p
52.08
KB
-rwxr-xr-x
sa-awl
4.96
KB
-rwxr-xr-x
sa-check_spamd
14.7
KB
-rwxr-xr-x
sa-compile
21.85
KB
-rwxr-xr-x
sa-learn
44.88
KB
-rwxr-xr-x
sa-update
67.96
KB
-rwxr-xr-x
savelog
10.22
KB
-rwxr-xr-x
scp
82.01
KB
-rwxr-xr-x
screen
424.2
KB
-rwxr-sr-x
screendump
10.14
KB
-rwxr-xr-x
script
18.43
KB
-rwxr-xr-x
scriptreplay
14.2
KB
-rwxr-xr-x
sdiff
46.6
KB
-rwxr-xr-x
see
17.55
KB
-rwxr-xr-x
select-default-iwrap
474
B
-rwxr-xr-x
select-editor
1.19
KB
-rwxr-xr-x
sendEmail
79.98
KB
-rwxr-xr-x
sendemail
79.98
KB
-rwxr-xr-x
sensible-browser
1.11
KB
-rwxr-xr-x
sensible-editor
1.08
KB
-rwxr-xr-x
sensible-pager
288
B
-rwxr-xr-x
seq
46.54
KB
-rwxr-xr-x
setarch
14.19
KB
-rwxr-xr-x
setfacl
35.34
KB
-rwxr-xr-x
setkeycodes
10.09
KB
-rwxr-xr-x
setleds
10.13
KB
-rwxr-xr-x
setlogcons
10.08
KB
-rwxr-xr-x
setmetamode
10.2
KB
-rwxr-xr-x
setpci
22.28
KB
-rwxr-xr-x
setsid
10.18
KB
-rwxr-xr-x
setterm
34.38
KB
-rwxr-xr-x
setvtrgb
10.22
KB
-rwxr-xr-x
sfparse
11.93
KB
-rwxr-xr-x
sftp
134.26
KB
-rwxr-xr-x
sg
38.98
KB
-rwsr-xr-x
sha1sum
42.57
KB
-rwxr-xr-x
sha224sum
50.57
KB
-rwxr-xr-x
sha256sum
50.57
KB
-rwxr-xr-x
sha384sum
54.57
KB
-rwxr-xr-x
sha512sum
54.57
KB
-rwxr-xr-x
shasum
8.85
KB
-rwxr-xr-x
showconsolefont
14.2
KB
-rwxr-xr-x
showkey
14.14
KB
-rwxr-xr-x
shred
54.76
KB
-rwxr-xr-x
shuf
50.63
KB
-rwxr-xr-x
sieve-dump
26.09
KB
-rwxr-xr-x
sieve-filter
34.09
KB
-rwxr-xr-x
sieve-test
30.09
KB
-rwxr-xr-x
sievec
26.09
KB
-rwxr-xr-x
size
26.87
KB
-rwxr-xr-x
skill
22.42
KB
-rwxr-xr-x
slabtop
18.28
KB
-rwxr-xr-x
slogin
650.48
KB
-rwxr-xr-x
smime_keys
26.63
KB
-rwxr-xr-x
snice
22.42
KB
-rwxr-xr-x
soelim
30.07
KB
-rwxr-xr-x
sort
103.35
KB
-rwxr-xr-x
sotruss
4.24
KB
-rwxr-xr-x
spamassassin
29.9
KB
-rwxr-xr-x
spamc
43.66
KB
-rwxr-xr-x
splain
18.33
KB
-rwxr-xr-x
split
67.27
KB
-rwxr-xr-x
splitfont
10.07
KB
-rwxr-xr-x
sprof
22.52
KB
-rwxr-xr-x
sq
6.05
KB
-rwxr-xr-x
ssh
650.48
KB
-rwxr-xr-x
ssh-add
334.01
KB
-rwxr-xr-x
ssh-agent
338.02
KB
-rwxr-sr-x
ssh-argv0
1.42
KB
-rwxr-xr-x
ssh-copy-id
9.11
KB
-rwxr-xr-x
ssh-keygen
410.22
KB
-rwxr-xr-x
ssh-keyscan
454.05
KB
-rwxr-xr-x
stat
74.79
KB
-rwxr-xr-x
stdbuf
62.66
KB
-rwxr-xr-x
strings
26.89
KB
-rwxr-xr-x
strip
210.98
KB
-rwxr-xr-x
sudo
154.06
KB
-rwsr-xr-x
sudoedit
154.06
KB
-rwsr-xr-x
sudoreplay
75
KB
-rwxr-xr-x
sum
38.58
KB
-rwxr-xr-x
symcryptrun
114.5
KB
-rwxr-xr-x
systemd-analyze
270.23
KB
-rwxr-xr-x
systemd-cat
26.23
KB
-rwxr-xr-x
systemd-cgls
246.23
KB
-rwxr-xr-x
systemd-cgtop
54.24
KB
-rwxr-xr-x
systemd-delta
46.23
KB
-rwxr-xr-x
systemd-detect-virt
30.22
KB
-rwxr-xr-x
systemd-nspawn
362.26
KB
-rwxr-xr-x
systemd-path
38.22
KB
-rwxr-xr-x
systemd-run
250.22
KB
-rwxr-xr-x
systemd-stdio-bridge
282.22
KB
-rwxr-xr-x
tabs
14.34
KB
-rwxr-xr-x
tac
34.57
KB
-rwxr-xr-x
tail
62.73
KB
-rwxr-xr-x
tasksel
16.01
KB
-rwxr-xr-x
taskset
26.41
KB
-rwxr-xr-x
tbl
122.07
KB
-rwxr-xr-x
tee
30.51
KB
-rwxr-xr-x
telnet
90.19
KB
-rwxr-xr-x
telnet.netkit
90.19
KB
-rwxr-xr-x
test
34.54
KB
-rwxr-xr-x
texi2any
51.42
KB
-rwxr-xr-x
texi2dvi
57.49
KB
-rwxr-xr-x
texi2pdf
1.27
KB
-rwxr-xr-x
texindex
18.57
KB
-rwxr-xr-x
tic
70.79
KB
-rwxr-xr-x
time
14.49
KB
-rwxr-xr-x
timedatectl
254.23
KB
-rwxr-xr-x
timeout
51.21
KB
-rwxr-xr-x
tload
14.25
KB
-rwxr-xr-x
todos
13.89
KB
-rwxr-xr-x
toe
14.37
KB
-rwxr-xr-x
top
102.41
KB
-rwxr-xr-x
touch
58.73
KB
-rwxr-xr-x
tput
14.41
KB
-rwxr-xr-x
tr
42.54
KB
-rwxr-xr-x
traceproto
2.82
KB
-rwxr-xr-x
traceproto.db
2.82
KB
-rwxr-xr-x
traceroute
67.37
KB
-rwxr-xr-x
traceroute-nanog
1.58
KB
-rwxr-xr-x
traceroute.db
67.37
KB
-rwxr-xr-x
traceroute6
67.37
KB
-rwxr-xr-x
traceroute6.db
67.37
KB
-rwxr-xr-x
tree
79.57
KB
-rwxr-xr-x
troff
703.28
KB
-rwxr-xr-x
truncate
50.6
KB
-rwxr-xr-x
tryaffix
4.8
KB
-rwxr-xr-x
tset
18.53
KB
-rwxr-xr-x
tsort
38.51
KB
-rwxr-xr-x
tty
26.48
KB
-rwxr-xr-x
txixml2texi
14.67
KB
-rwxr-xr-x
tzselect
12.9
KB
-rwxr-xr-x
ubuntu-cloudimg-query
7.78
KB
-rwxr-xr-x
ubuntu-distro-info
18.46
KB
-rwxr-xr-x
ubuntu-ec2-run
7.13
KB
-rwxr-xr-x
ucf
38.22
KB
-rwxr-xr-x
ucfq
18.91
KB
-rwxr-xr-x
ucfr
10.39
KB
-rwxr-xr-x
uec-publish-image
16.09
KB
-rwxr-xr-x
uec-publish-tarball
7.93
KB
-rwxr-xr-x
uec-resize-image
4.25
KB
-rwxr-xr-x
uec-run-instances
25.79
KB
-rwxr-xr-x
ul
14.16
KB
-rwxr-xr-x
unar
2.11
MB
-rwxr-xr-x
unattended-upgrade
50.09
KB
-rwxr-xr-x
unattended-upgrades
50.09
KB
-rwxr-xr-x
unexpand
30.54
KB
-rwxr-xr-x
unicode_stop
530
B
-rwxr-xr-x
uniq
38.57
KB
-rwxr-xr-x
unlink
26.48
KB
-rwxr-xr-x
unlzma
66.95
KB
-rwxr-xr-x
unrar
39.37
KB
-rwxr-xr-x
unrar-free
39.37
KB
-rwxr-xr-x
unshare
14.3
KB
-rwxr-xr-x
unsq
6.08
KB
-rwxr-xr-x
unxz
66.95
KB
-rwxr-xr-x
unzip
162.66
KB
-rwxr-xr-x
unzipsfx
74.57
KB
-rwxr-xr-x
update-alternatives
46.43
KB
-rwxr-xr-x
update-mime-database
672
B
-rwxr-xr-x
update-mime-database.real
46.95
KB
-rwxr-xr-x
update-perl-sax-parsers
6.03
KB
-rwxr-xr-x
updatedb
43.13
KB
-rwxr-xr-x
updatedb.mlocate
43.13
KB
-rwxr-xr-x
uptime
10.14
KB
-rwxr-xr-x
users
30.54
KB
-rwxr-xr-x
utmpdump
14.33
KB
-rwxr-xr-x
vi
2.14
MB
-rwxr-xr-x
view
2.14
MB
-rwxr-xr-x
vim
2.14
MB
-rwxr-xr-x
vim.basic
2.14
MB
-rwxr-xr-x
vim.tiny
983.36
KB
-rwxr-xr-x
vimdiff
2.14
MB
-rwxr-xr-x
vimtutor
2.04
KB
-rwxr-xr-x
virtualenv
321
B
-rwxr-xr-x
vmstat
30.26
KB
-rwxr-xr-x
volname
9.87
KB
-rwxr-xr-x
vsftpdwho
54
B
-rwxr-xr-x
w
18.3
KB
-rwxr-xr-x
w.procps
18.3
KB
-rwxr-xr-x
w3m
1.39
MB
-rwxr-xr-x
w3mman
1.11
KB
-rwxr-xr-x
wall
26.59
KB
-rwxr-sr-x
watch
23.01
KB
-rwxr-xr-x
watchgnupg
13.87
KB
-rwxr-xr-x
wc
38.63
KB
-rwxr-xr-x
wget
409.32
KB
-rwxr-xr-x
whatis
46.85
KB
-rwxr-xr-x
whereis
22.96
KB
-rwxr-xr-x
which
946
B
-rwxr-xr-x
whiptail
26.6
KB
-rwxr-xr-x
who
50.66
KB
-rwxr-xr-x
whoami
26.48
KB
-rwxr-xr-x
whois
66.28
KB
-rwxr-xr-x
write
14.25
KB
-rwxr-sr-x
write-mime-multipart
3.28
KB
-rwxr-xr-x
www-browser
1.39
MB
-rwxr-xr-x
x86_64
14.19
KB
-rwxr-xr-x
x86_64-linux-gnu-addr2line
26.98
KB
-rwxr-xr-x
x86_64-linux-gnu-ar
54.96
KB
-rwxr-xr-x
x86_64-linux-gnu-as
348.63
KB
-rwxr-xr-x
x86_64-linux-gnu-c++filt
26.45
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp
814.43
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp-4.9
814.43
KB
-rwxr-xr-x
x86_64-linux-gnu-dwp
2.34
MB
-rwxr-xr-x
x86_64-linux-gnu-elfedit
30.69
KB
-rwxr-xr-x
x86_64-linux-gnu-g++
816.12
KB
-rwxr-xr-x
x86_64-linux-gnu-g++-4.9
816.12
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc
813.49
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-4.9
813.49
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar
24.25
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-4.9
24.25
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm
24.19
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-4.9
24.19
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib
24.19
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-4....
24.19
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov
440.43
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-4.9
440.43
KB
-rwxr-xr-x
x86_64-linux-gnu-gprof
92.21
KB
-rwxr-xr-x
x86_64-linux-gnu-ld
1.03
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.bfd
1.03
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.gold
2.52
MB
-rwxr-xr-x
x86_64-linux-gnu-nm
39.73
KB
-rwxr-xr-x
x86_64-linux-gnu-objcopy
210.97
KB
-rwxr-xr-x
x86_64-linux-gnu-objdump
331.49
KB
-rwxr-xr-x
x86_64-linux-gnu-python-config
2.83
KB
-rwxr-xr-x
x86_64-linux-gnu-python2.7-con...
2.83
KB
-rwxr-xr-x
x86_64-linux-gnu-ranlib
54.96
KB
-rwxr-xr-x
x86_64-linux-gnu-readelf
448.81
KB
-rwxr-xr-x
x86_64-linux-gnu-size
26.87
KB
-rwxr-xr-x
x86_64-linux-gnu-strings
26.89
KB
-rwxr-xr-x
x86_64-linux-gnu-strip
210.98
KB
-rwxr-xr-x
xargs
42.48
KB
-rwxr-xr-x
xauth
39.92
KB
-rwxr-xr-x
xdg-user-dir
234
B
-rwxr-xr-x
xdg-user-dirs-update
18.48
KB
-rwxr-xr-x
xmlparse
11.64
KB
-rwxr-xr-x
xsubpp
5.04
KB
-rwxr-xr-x
xxd
18.08
KB
-rwxr-xr-x
xz
66.95
KB
-rwxr-xr-x
xzcat
66.95
KB
-rwxr-xr-x
xzcmp
5.39
KB
-rwxr-xr-x
xzdiff
5.39
KB
-rwxr-xr-x
xzegrep
5.29
KB
-rwxr-xr-x
xzfgrep
5.29
KB
-rwxr-xr-x
xzgrep
5.29
KB
-rwxr-xr-x
xzless
1.76
KB
-rwxr-xr-x
xzmore
2.12
KB
-rwxr-xr-x
yes
26.48
KB
-rwxr-xr-x
zdump
14.21
KB
-rwxr-xr-x
zip
183.88
KB
-rwxr-xr-x
zipcloak
84.08
KB
-rwxr-xr-x
zipdetails
47.36
KB
-rwxr-xr-x
zipgrep
2.88
KB
-rwxr-xr-x
zipinfo
162.66
KB
-rwxr-xr-x
zipnote
79.79
KB
-rwxr-xr-x
zipsplit
83.79
KB
-rwxr-xr-x
zoo
85.98
KB
-rwxr-xr-x
zsh
709.53
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : texi2any
#! /usr/bin/perl # texi2any: Texinfo converter. # # Copyright 2010, 2011, 2012, 2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, # or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # # Original author: Patrice Dumas <pertusus@free.fr> # Parts (also from Patrice Dumas) come from texi2html.pl or texi2html.init. # for POSIX::setlocale and File::Spec require 5.00405; use strict; # for file names portability use File::Spec; # to determine the path separator and null file use Config; # for dirname and fileparse use File::Basename; #use Cwd; use Getopt::Long qw(GetOptions); # for carp #use Carp; Getopt::Long::Configure("gnu_getopt"); # This big BEGIN block deals with finding modules and # some dependencies that we ship # * in source or # * installed or # * installed relative to the script BEGIN { # emulate -w $^W = 1; my ($real_command_name, $command_directory, $command_suffix) = fileparse($0, '.pl'); my $datadir = '/usr/share'; my $package = 'texinfo'; my $updir = File::Spec->updir(); my $texinfolibdir; my $lib_dir; # in-source run if (($command_suffix eq '.pl' and !(defined($ENV{'TEXINFO_DEV_SOURCE'}) and $ENV{'TEXINFO_DEV_SOURCE'} eq 0)) or $ENV{'TEXINFO_DEV_SOURCE'}) { if (defined($ENV{'top_srcdir'})) { $texinfolibdir = File::Spec->catdir($ENV{'top_srcdir'}, 'tp'); } else { $texinfolibdir = $command_directory; } $lib_dir = File::Spec->catdir($texinfolibdir, 'maintain'); unshift @INC, $texinfolibdir; } elsif ($datadir ne '@' .'datadir@' and $package ne '@' . 'PACKAGE@' and $datadir ne '') { $texinfolibdir = File::Spec->catdir($datadir, $package); # try to make package relocatable, will only work if standard relative paths # are used if (! -f File::Spec->catfile($texinfolibdir, 'Texinfo', 'Parser.pm') and -f File::Spec->catfile($command_directory, $updir, 'share', 'texinfo', 'Texinfo', 'Parser.pm')) { $texinfolibdir = File::Spec->catdir($command_directory, $updir, 'share', 'texinfo'); } $lib_dir = $texinfolibdir; unshift @INC, $texinfolibdir; } # '@USE_EXTERNAL_LIBINTL @ and similar are substituted in the # makefile using values from configure if (defined($texinfolibdir)) { if ('yes' ne 'yes') { unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'libintl-perl', 'lib')); } if ('no' ne 'yes') { unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'Unicode-EastAsianWidth', 'lib')); } if ('yes' ne 'yes') { unshift @INC, (File::Spec->catdir($lib_dir, 'lib', 'Text-Unidecode', 'lib')); } } } use Texinfo::Convert::Texinfo; use Texinfo::Parser; use Texinfo::Structuring; use Texinfo::Convert::Info; use Texinfo::Convert::HTML; use Texinfo::Convert::TexinfoXML; use Texinfo::Convert::TexinfoSXML; use Texinfo::Convert::DocBook; use Texinfo::Convert::TextContent; use Texinfo::Convert::PlainTexinfo; use Texinfo::Convert::IXINSXML; use DebugTexinfo::DebugCount; use DebugTexinfo::DebugTree; my ($real_command_name, $command_directory, $command_suffix) = fileparse($0, '.pl'); # this associates the command line options to the arrays set during # command line parsing. my @css_files = (); my @css_refs = (); my $cmdline_options = { 'CSS_FILES' => \@css_files, 'CSS_REFS' => \@css_refs }; # determine the path separators my $path_separator = $Config{'path_sep'}; $path_separator = ':' if (!defined($path_separator)); my $quoted_path_separator = quotemeta($path_separator); # Paths and file names my $curdir = File::Spec->curdir(); my $updir = File::Spec->updir(); # set by configure, prefix for the sysconfdir and so on # This could be used in the eval my $prefix = '/usr'; my $datarootdir; my $sysconfdir; my $pkgdatadir; my $datadir; my $fallback_prefix = File::Spec->catdir(File::Spec->rootdir(), 'usr', 'local'); # We need to eval as $prefix has to be expanded. However when we haven't # run configure @sysconfdir will be expanded as an array, thus we verify # whether configure was run or not if ('/usr/etc' ne '@' . 'sysconfdir@') { $sysconfdir = eval '"/usr/etc"'; } else { $sysconfdir = File::Spec->catdir($fallback_prefix, 'etc'); } if ('/usr/share' ne '@' . 'datarootdir@') { $datarootdir = eval '"/usr/share"'; } else { $datarootdir = File::Spec->catdir($fallback_prefix, 'share'); } if ('/usr/share' ne '@' . 'datadir@' and 'texinfo' ne '@' . 'PACKAGE@') { $datadir = eval '"/usr/share"'; my $package = 'texinfo'; $pkgdatadir = File::Spec->catdir($datadir, $package); } else { $datadir = File::Spec->catdir($fallback_prefix, 'share'); $pkgdatadir = File::Spec->catdir($datadir, 'texinfo'); } # work-around in case libintl-perl do not do it itself # see http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html#The-LANGUAGE-variable if ((defined($ENV{"LC_ALL"}) and $ENV{"LC_ALL"} =~ /^(C|POSIX)$/) or (defined($ENV{"LANG"}) and $ENV{"LANG"} =~ /^(C|POSIX)$/)) { delete $ENV{"LANGUAGE"} if defined($ENV{"LANGUAGE"}); } #my $messages_textdomain = 'texinfo'; my $messages_textdomain = 'texinfo'; $messages_textdomain = 'texinfo' if ($messages_textdomain eq '@'.'PACKAGE@'); my $strings_textdomain = 'texinfo' . '_document'; $strings_textdomain = 'texinfo_document' if ($strings_textdomain eq '@'.'PACKAGE@' . '_document'); sub __($) { my $msgid = shift; return Locale::Messages::dgettext($messages_textdomain, $msgid); } sub __p($$) { my $context = shift; my $msgid = shift; return Locale::Messages::dpgettext($messages_textdomain, $context, $msgid); } my $srcdir; if (defined($ENV{'top_srcdir'})) { $srcdir = File::Spec->catdir($ENV{'top_srcdir'}, 'tp'); } else { $srcdir = $command_directory; } my $libsrcdir = File::Spec->catdir($srcdir, 'maintain'); # we want a reliable way to switch locale, so we don't use the system # gettext. Locale::Messages->select_package('gettext_pp'); #my @search_locale_dirs = ("$datadir/locale", (map $_ . '/LocaleData', @INC), # qw (/usr/share/locale /usr/local/share/locale)); if (($command_suffix eq '.pl' and !(defined($ENV{'TEXINFO_DEV_SOURCE'}) and $ENV{'TEXINFO_DEV_SOURCE'} eq 0)) or $ENV{'TEXINFO_DEV_SOURCE'}) { # in case of build from the source directory, out of source build, # this helps to locate the locales. my $locales_dir_found = 0; foreach my $locales_dir ( File::Spec->catdir($libsrcdir, $updir, 'LocaleData'), File::Spec->catdir($curdir, 'LocaleData'), File::Spec->catdir($updir, $updir, $updir, 'tp', 'LocaleData')) { if (-d $locales_dir) { Locale::Messages::bindtextdomain ($strings_textdomain, $locales_dir); # the messages in this domain are not regenerated automatically, # only when calling ./maintain/regenerate_perl_module_files.sh Locale::Messages::bindtextdomain ($messages_textdomain, $locales_dir); $locales_dir_found = 1; last; } } if (!$locales_dir_found) { warn "Locales dir for document strings not found\n"; } } else { Locale::Messages::bindtextdomain ($strings_textdomain, File::Spec->catdir($datadir, 'locale')); Locale::Messages::bindtextdomain ($messages_textdomain, File::Spec->catdir($datadir, 'locale')); } #Locale::Messages::bindtextdomain ($messages_textdomain, # File::Spec->catdir($datadir, 'locale')); # Version setting is complicated, because we cope with # * script with configure values substituted or not # * script shipped as part of texinfo or as a standalone perl module # When shipped as a perl modules, $hardcoded_version is set to undef here # by a sed one liner. The consequence is that configure.ac is not used # to retrieve the version number. # Otherwise this is only used as a safety value, and should never be used # in practice as a regexp extracts the version from configure.ac. my $hardcoded_version = "0.00-hardcoded"; # Version set in configure.ac my $configured_version = '5.2'; if ($configured_version eq '@' . 'PACKAGE_VERSION@') { # if not configured, and $hardcoded_version is set search for the version # in configure.ac if (defined($hardcoded_version)) { if (open (CONFIGURE, "< ".File::Spec->catfile($srcdir, $updir, 'configure.ac'))) { while (<CONFIGURE>) { if (/^AC_INIT\(\[[^\]]+\]\s*,\s*\[([^\]]+)\]\s*,/) { $configured_version = "$1+dev"; # +dev to distinguish from installed last; } } close (CONFIGURE); } # This should never be used, but is a safety value $configured_version = $hardcoded_version if (!defined($configured_version)); } else { # used in the standalone perl module, as $hardcoded_version is undef # and it should never be configured in that setup $configured_version = $Texinfo::Parser::VERSION; } } my $configured_package = 'texinfo'; $configured_package = 'Texinfo' if ($configured_package eq '@' . 'PACKAGE@'); my $configured_name = 'GNU Texinfo'; $configured_name = $configured_package if ($configured_name eq '@' .'PACKAGE_NAME@'); my $configured_name_version = "$configured_name $configured_version"; my $configured_url = 'http://www.gnu.org/software/texinfo/'; $configured_url = 'http://www.gnu.org/software/texinfo/' if ($configured_url eq '@' .'PACKAGE_URL@'); my $texinfo_dtd_version = '5.0'; # $hardcoded_version is undef for a standalone perl module if ($texinfo_dtd_version eq '@' . 'TEXINFO_DTD_VERSION@') { $texinfo_dtd_version = undef; if (defined($hardcoded_version)) { if (open (CONFIGURE, "< ".File::Spec->catfile($srcdir, $updir, 'configure.ac'))) { while (<CONFIGURE>) { if (/^TEXINFO_DTD_VERSION=([0-9]\S*)/) { $texinfo_dtd_version = "$1"; last; } } close (CONFIGURE); } } } # Used in case it is not hardcoded in configure and for standalone perl module $texinfo_dtd_version = $configured_version if (!defined($texinfo_dtd_version)); # defaults for options relevant in the main program, not undef, and also # defaults for all the converters. # Other relevant options (undef) are NO_WARN FORCE OUTFILE # Others are set in the converters (SHOW_MENU). my $converter_default_options = { 'ERROR_LIMIT' => 100, 'TEXI2DVI' => 'texi2dvi', 'PACKAGE_VERSION' => $configured_version, 'PACKAGE' => $configured_package, 'PACKAGE_NAME' => $configured_name, 'PACKAGE_AND_VERSION' => $configured_name_version, 'PACKAGE_URL' => $configured_url, 'PROGRAM' => $real_command_name, 'TEXINFO_DTD_VERSION' => $texinfo_dtd_version, }; # determine configuration directories. my $conf_file_name = 'Config' ; my $texinfo_htmlxref = 'htmlxref.cnf'; # directories for texinfo configuration files my @language_config_dirs = File::Spec->catdir($curdir, '.texinfo'); push @language_config_dirs, File::Spec->catdir($ENV{'HOME'}, '.texinfo') if (defined($ENV{'HOME'})); push @language_config_dirs, File::Spec->catdir($sysconfdir, 'texinfo') if (defined($sysconfdir)); push @language_config_dirs, File::Spec->catdir($datadir, 'texinfo') if (defined($datadir)); my @texinfo_config_dirs = ($curdir, @language_config_dirs); my @program_config_dirs; my @program_init_dirs; my $program_name = 'texi2any'; @program_config_dirs = ($curdir, File::Spec->catdir($curdir, ".$program_name")); push @program_config_dirs, File::Spec->catdir($ENV{'HOME'}, ".$program_name") if (defined($ENV{'HOME'})); push @program_config_dirs, File::Spec->catdir($sysconfdir, $program_name) if (defined($sysconfdir)); push @program_config_dirs, File::Spec->catdir($datadir, $program_name) if (defined($datadir)); @program_init_dirs = @program_config_dirs; foreach my $texinfo_config_dir (@language_config_dirs) { push @program_init_dirs, File::Spec->catdir($texinfo_config_dir, 'init'); } # Namespace for configuration { package Texinfo::Config; #use Carp; # passed from main program my $cmdline_options; my $default_options; # used in main program our $options = {}; sub _load_config($$) { $default_options = shift; $cmdline_options = shift; #print STDERR "cmdline_options: ".join('|',keys(%$cmdline_options))."\n"; } sub _load_init_file($) { my $file = shift; eval { require($file) ;}; my $e = $@; if ($e ne '') { main::document_warn(sprintf(main::__("error loading %s: %s\n"), $file, $e)); } } # FIXME: maybe use an opaque return status that can be used to retrieve # an error message? sub set_from_init_file($$) { my $var = shift; my $value = shift; if (!Texinfo::Common::valid_option($var)) { # carp may be better, but infortunately, it points to the routine that # loads the file, and not to the init file. main::document_warn(sprintf(main::__("%s: unknown variable %s"), 'set_from_init_file', $var)); return 0; } elsif (Texinfo::Common::obsolete_option($var)) { main::document_warn(sprintf(main::__("%s: obsolete variable %s\n"), 'set_from_init_file', $var)); } return 0 if (defined($cmdline_options->{$var})); delete $default_options->{$var}; $options->{$var} = $value; return 1; } sub set_from_cmdline($$) { my $var = shift; my $value = shift; delete $options->{$var}; delete $default_options->{$var}; if (!Texinfo::Common::valid_option($var)) { main::document_warn(sprintf(main::__("%s: unknown variable %s\n"), 'set_from_cmdline', $var)); return 0; } elsif (Texinfo::Common::obsolete_option($var)) { main::document_warn(sprintf(main::__("obsolete variable %s\n"), 'set_from_cmdline', $var)); } $cmdline_options->{$var} = $value; return 1; } # This also could get and set some @-command results. # FIXME But it does not take into account what happens during conversion, # for that something like $converter->get_conf(...) has to be used. sub get_conf($) { my $var = shift; if (exists($cmdline_options->{$var})) { return $cmdline_options->{$var}; } elsif (exists($options->{$var})) { return $options->{$var}; } elsif (exists($default_options->{$var})) { return $default_options->{$var}; } else { return undef; } } } # back in main program namespace # file: file name to locate. It can be a file path. # directories: a reference on a array containing a list of directories to # search the file in. # all_files: if true collect all the files with that name, otherwise stop # at first match. sub locate_init_file($$$) { my $file = shift; my $directories = shift; my $all_files = shift; if (File::Spec->file_name_is_absolute($file)) { return $file if (-e $file and -r $file); } else { my @files; foreach my $dir (@$directories) { next unless (-d $dir); my $possible_file = File::Spec->catfile($dir, $file); if ($all_files) { push (@files, $possible_file) if (-e $possible_file and -r $possible_file); } else { return $possible_file if (-e $possible_file and -r $possible_file); } } return @files if ($all_files); } return undef; } sub locate_and_load_init_file($$) { my $filename = shift; my $directories = shift; my $file = locate_init_file($filename, $directories, 0); if (defined($file)) { Texinfo::Config::_load_init_file($file); } else { document_warn(sprintf(__("could not read init file %s"), $filename)); } } # read initialization files foreach my $file (locate_init_file($conf_file_name, [ reverse(@program_config_dirs) ], 1)) { Texinfo::Config::_load_init_file($file); } sub set_from_cmdline($$) { return &Texinfo::Config::set_from_cmdline(@_); } sub set_from_init_file($$) { return &Texinfo::Config::set_from_init_file(@_); } sub get_conf($) { return &Texinfo::Config::get_conf(@_); } my @input_file_suffixes = ('.txi','.texinfo','.texi','.txinfo',''); my @texi2dvi_args = (); my $format = 'info'; # this is the format associated with the output format, which is replaced # when the output format changes. It may also be removed if there is the # corresponding --no-ifformat. my $default_expanded_format = [ $format ]; my @conf_dirs = (); my @include_dirs = (); my @prepend_dirs = (); # options for all the files my $parser_default_options = {'expanded_formats' => [], 'values' => {'txicommandconditionals' => 1}, 'gettext' => \&__, 'pgettext' => \&__p,}; Texinfo::Config::_load_config($converter_default_options, $cmdline_options); sub set_expansion($$) { my $region = shift; my $set = shift; $set = 1 if (!defined($set)); if ($set) { push @{$parser_default_options->{'expanded_formats'}}, $region unless (grep {$_ eq $region} @{$parser_default_options->{'expanded_formats'}}); } else { @{$parser_default_options->{'expanded_formats'}} = grep {$_ ne $region} @{$parser_default_options->{'expanded_formats'}}; @{$default_expanded_format} = grep {$_ ne $region} @{$default_expanded_format}; } } my $format_from_command_line = 0; my %format_command_line_names = ( 'xml' => 'texinfoxml', ); my %formats_table = ( 'info' => { 'nodes_tree' => 1, 'floats' => 1, 'converter' => sub{Texinfo::Convert::Info->converter(@_)}, }, 'plaintext' => { 'nodes_tree' => 1, 'floats' => 1, 'converter' => sub{Texinfo::Convert::Plaintext->converter(@_)}, }, 'html' => { 'nodes_tree' => 1, 'floats' => 1, 'split' => 1, 'internal_links' => 1, 'simple_menu' => 1, 'move_index_entries_after_items' => 1, 'converter' => sub{Texinfo::Convert::HTML->converter(@_)}, }, 'texinfoxml' => { 'nodes_tree' => 1, 'converter' => sub{Texinfo::Convert::TexinfoXML->converter(@_)}, 'floats' => 1, }, 'texinfosxml' => { 'nodes_tree' => 1, 'converter' => sub{Texinfo::Convert::TexinfoSXML->converter(@_)}, 'floats' => 1, }, 'ixinsxml' => { 'nodes_tree' => 1, 'converter' => sub{Texinfo::Convert::IXINSXML->converter(@_)}, }, 'docbook' => { 'move_index_entries_after_items' => 1, 'converter' => sub{Texinfo::Convert::DocBook->converter(@_)}, }, 'pdf' => { 'texi2dvi_format' => 1, }, 'ps' => { 'texi2dvi_format' => 1, }, 'dvi' => { 'texi2dvi_format' => 1, }, 'dvipdf' => { 'texi2dvi_format' => 1, }, 'debugcount' => { 'nodes_tree' => 1, 'floats' => 1, 'converter' => sub{DebugTexinfo::DebugCount->converter(@_)}, }, 'debugtree' => { 'split' => 1, 'converter' => sub{DebugTexinfo::DebugTree->converter(@_)}, }, 'textcontent' => { 'converter' => sub{Texinfo::Convert::TextContent->converter(@_)}, }, 'rawtext' => { 'converter' => sub{Texinfo::Convert::Text->converter(@_)}, }, 'plaintexinfo' => { 'converter' => sub{Texinfo::Convert::PlainTexinfo->converter(@_)}, }, 'parse' => { }, 'structure' => { 'nodes_tree' => 1, 'floats' => 1, 'split' => 1, }, ); my $call_texi2dvi = 0; # previous_format should be in argument if there is a possibility of error. # as a fallback, the $format global variable is used. sub set_format($;$$) { my $set_format = shift; my $previous_format = shift; $previous_format = $format if (!defined($previous_format)); my $do_not_override_command_line = shift; my $new_format; if ($format_command_line_names{$set_format}) { $new_format = $format_command_line_names{$set_format}; } else { $new_format = $set_format; } my $expanded_format = $set_format; if (!$formats_table{$new_format}) { document_warn(sprintf(__("ignoring unrecognized TEXINFO_OUTPUT_FORMAT value `%s'\n"), $new_format)); $new_format = $previous_format; } else { if ($format_from_command_line and $do_not_override_command_line) { $new_format = $previous_format; } else { if ($formats_table{$new_format}->{'texi2dvi_format'}) { $call_texi2dvi = 1; push @texi2dvi_args, '--'.$new_format; $expanded_format = 'tex'; } if ($Texinfo::Common::texinfo_output_formats{$expanded_format}) { if ($expanded_format eq 'plaintext') { $default_expanded_format = [$expanded_format, 'info'] } else { $default_expanded_format = [$expanded_format] } } $format_from_command_line = 1 unless ($do_not_override_command_line); } } return $new_format; } sub set_global_format($) { my $set_format = shift; $format = set_format($set_format); } sub document_warn($) { return if (get_conf('NO_WARN')); my $text = shift; chomp ($text); warn(sprintf(__p("program name: warning: warning_message", "%s: warning: %s\n"), $real_command_name, $text)); } sub _exit($$) { my $error_count = shift; my $opened_files = shift; if ($error_count and $opened_files and !get_conf('FORCE')) { while (@$opened_files) { my $opened_file = shift (@$opened_files); unlink ($opened_file); } } exit (1) if ($error_count and (!get_conf('FORCE') or $error_count > get_conf('ERROR_LIMIT'))); } sub handle_errors($$$) { my $self = shift; my $error_count = shift; my $opened_files = shift; my ($errors, $new_error_count) = $self->errors(); $error_count += $new_error_count if ($new_error_count); foreach my $error_message (@$errors) { warn $error_message->{'error_line'} if ($error_message->{'type'} eq 'error' or !get_conf('NO_WARN')); } _exit($error_count, $opened_files); return $error_count; } sub _get_converter_default($) { my $option = shift; return $Texinfo::Convert::Converter::all_converters_defaults{$option} if (defined($Texinfo::Convert::Converter::all_converters_defaults{$option})); return undef; } sub makeinfo_help() { my $makeinfo_help = __("Usage: makeinfo [OPTION]... TEXINFO-FILE...\n") . __(" or: texi2any [OPTION]... TEXINFO-FILE...\n") ."\n". __("Translate Texinfo source documentation to various other formats, by default Info files suitable for reading online with Emacs or standalone GNU Info.\n") ."\n"; $makeinfo_help .= sprintf(__("General options: --document-language=STR locale to use in translating Texinfo keywords for the output document (default C). --error-limit=NUM quit after NUM errors (default %d). --force preserve output even if errors. --help display this help and exit. --no-validate suppress node cross-reference validation. --no-warn suppress warnings (but not errors). --conf-dir=DIR search also for initialization files in DIR. --init-file=FILE load FILE to modify the default behavior. -c, --set-customization-variable VAR=VAL set customization variable VAR to VAL. -v, --verbose explain what is being done. --version display version information and exit.\n"), get_conf('ERROR_LIMIT')) ."\n"; $makeinfo_help .= __("Output format selection (default is to produce Info): --docbook output Docbook XML rather than Info. --html output HTML rather than Info. --plaintext output plain text rather than Info. --xml output Texinfo XML rather than Info. --dvi, --dvipdf, --ps, --pdf call texi2dvi to generate given output.\n") ."\n"; $makeinfo_help .= __("General output options: -E, --macro-expand=FILE output macro-expanded source to FILE, ignoring any \@setfilename. --no-headers suppress node separators, Node: lines, and menus from Info output (thus producing plain text) or from HTML (thus producing shorter output). Also, if producing Info, write to standard output by default --no-split suppress any splitting of the output; generate only one output file. --[no-]number-sections output chapter and sectioning numbers; default is on. -o, --output=DEST output to DEST. With split output, create DEST as a directory and put the output files there. With non-split output, if DEST is already a directory or ends with a /, put the output file there. Otherwise, DEST names the output file.\n") ."\n"; $makeinfo_help .= sprintf(__("Options for Info and plain text: --disable-encoding do not output accented and special characters in Info output based on \@documentencoding. --enable-encoding override --disable-encoding (default). --fill-column=NUM break Info lines at NUM characters (default %d). --footnote-style=STYLE output footnotes in Info according to STYLE: `separate' to put them in their own node; `end' to put them at the end of the node, in which they are defined (this is the default). --paragraph-indent=VAL indent Info paragraphs by VAL spaces (default %d). If VAL is `none', do not indent; if VAL is `asis', preserve existing indentation. --split-size=NUM split Info files at size NUM (default %d).\n"), _get_converter_default('fillcolumn'), _get_converter_default('paragraphindent'), _get_converter_default('SPLIT_SIZE')) ."\n"; $makeinfo_help .= __("Options for HTML: --css-include=FILE include FILE in HTML <style> output; read stdin if FILE is -. --css-ref=URL generate CSS reference to URL. --internal-links=FILE produce list of internal links in FILE. --split=SPLIT split at SPLIT, where SPLIT may be `chapter', `section' or `node'. --transliterate-file-names use file names in ASCII transliteration. --node-files produce redirection files for nodes and anchors; default is set only if split.\n") ."\n"; $makeinfo_help .= __("Options for XML and Docbook: --output-indent=VAL does nothing, retained for compatibility.\n") ."\n"; $makeinfo_help .= __("Options for DVI/PS/PDF: --Xopt=OPT pass OPT to texi2dvi; can be repeated.\n") ."\n"; $makeinfo_help .= __("Input file options: --commands-in-node-names does nothing, retained for compatibility. -D VAR define the variable VAR, as with \@set. -D 'VAR VAL' define VAR to VAL (one shell argument). -I DIR append DIR to the \@include search path. -P DIR prepend DIR to the \@include search path. -U VAR undefine the variable VAR, as with \@clear.\n") ."\n"; $makeinfo_help .= __("Conditional processing in input: --ifdocbook process \@ifdocbook and \@docbook even if not generating Docbook. --ifhtml process \@ifhtml and \@html even if not generating HTML. --ifinfo process \@ifinfo even if not generating Info. --ifplaintext process \@ifplaintext even if not generating plain text. --iftex process \@iftex and \@tex. --ifxml process \@ifxml and \@xml. --no-ifdocbook do not process \@ifdocbook and \@docbook text. --no-ifhtml do not process \@ifhtml and \@html text. --no-ifinfo do not process \@ifinfo text. --no-ifplaintext do not process \@ifplaintext text. --no-iftex do not process \@iftex and \@tex text. --no-ifxml do not process \@ifxml and \@xml text. Also, for the --no-ifFORMAT options, do process \@ifnotFORMAT text.\n") ."\n"; $makeinfo_help .= __(" The defaults for the \@if... conditionals depend on the output format: if generating Docbook, --ifdocbook is on and the others are off; if generating HTML, --ifhtml is on and the others are off; if generating Info, --ifinfo is on and the others are off; if generating plain text, --ifplaintext is on and the others are off; if generating XML, --ifxml is on and the others are off.\n") ."\n"; $makeinfo_help .= __("Examples: makeinfo foo.texi write Info to foo's \@setfilename makeinfo --html foo.texi write HTML to \@setfilename makeinfo --xml foo.texi write Texinfo XML to \@setfilename makeinfo --docbook foo.texi write Docbook XML to \@setfilename makeinfo --plaintext foo.texi write plain text to standard output makeinfo --pdf foo.texi write PDF using texi2dvi makeinfo --html --no-headers foo.texi write html without node lines, menus makeinfo --number-sections foo.texi write Info with numbered sections makeinfo --no-split foo.texi write one Info file however big\n") ."\n"; $makeinfo_help .= __("Email bug reports to bug-texinfo\@gnu.org, general questions and discussion to help-texinfo\@gnu.org. Texinfo home page: http://www.gnu.org/software/texinfo/") ."\n"; return $makeinfo_help; } my $Xopt_arg_nr = 0; my $latex2html_file = 'latex2html.pm'; my $result_options = Getopt::Long::GetOptions ( 'help|h' => sub { print makeinfo_help(); exit 0; }, 'version|V' => sub {print "$real_command_name (GNU texinfo) $configured_version\n\n"; printf __("Copyright (C) %s Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.\n"), "2013"; exit 0;}, 'macro-expand|E=s' => sub { set_from_cmdline('MACRO_EXPAND', $_[1]); }, 'ifhtml!' => sub { set_expansion('html', $_[1]); }, 'ifinfo!' => sub { set_expansion('info', $_[1]); }, 'ifxml!' => sub { set_expansion('xml', $_[1]); }, 'ifdocbook!' => sub { set_expansion('docbook', $_[1]); }, 'iftex!' => sub { set_expansion('tex', $_[1]); }, 'ifplaintext!' => sub { set_expansion('plaintext', $_[1]); }, 'I=s' => sub { push @texi2dvi_args, ('-'.$_[0], $_[1]); push @include_dirs, split(/$quoted_path_separator/, $_[1]); }, 'conf-dir=s' => sub { push @conf_dirs, split(/$quoted_path_separator/, $_[1]); }, 'P=s' => sub { unshift @prepend_dirs, split(/$quoted_path_separator/, $_[1]); }, 'number-sections!' => sub { set_from_cmdline('NUMBER_SECTIONS', $_[1]); }, 'number-footnotes!' => sub { set_from_cmdline('NUMBER_FOOTNOTES', $_[1]); }, 'node-files!' => sub { set_from_cmdline('NODE_FILES', $_[1]); }, 'footnote-style=s' => sub { if ($_[1] eq 'end' or $_[1] eq 'separate') { set_from_cmdline('footnotestyle', $_[1]); } else { die sprintf(__("%s: --footnote-style arg must be `separate' or `end', not `%s'.\n"), $real_command_name, $_[1]); } }, 'split=s' => sub { my $split = $_[1]; my @messages = Texinfo::Common::warn_unknown_split($_[1], \&__); if (@messages) { foreach my $message (@messages) { document_warn($message); } $split = 'node'; } set_from_cmdline('SPLIT', $split); }, 'no-split' => sub { set_from_cmdline('SPLIT', ''); set_from_cmdline('SPLIT_SIZE', undef);}, 'headers!' => sub { set_from_cmdline('HEADERS', $_[1]); set_from_cmdline('SHOW_MENU', $_[1]); $format = 'plaintext' if (!$_[1] and $format eq 'info'); }, 'output|out|o=s' => sub { my $var = 'OUTFILE'; if ($_[1] =~ m:/$: or -d $_[1]) { $var = 'SUBDIR'; } set_from_cmdline($var, $_[1]); set_from_cmdline('OUT', $_[1]); push @texi2dvi_args, '-o', $_[1]; }, 'no-validate|no-pointer-validate' => sub { set_from_cmdline('novalidate',$_[1]); $parser_default_options->{'novalidate'} = $_[1]; }, 'no-warn' => sub { set_from_cmdline('NO_WARN', $_[1]); }, 'verbose|v!' => sub {set_from_cmdline('VERBOSE', $_[1]); push @texi2dvi_args, '--verbose'; }, 'document-language=s' => sub { set_from_cmdline('documentlanguage', $_[1]); $parser_default_options->{'documentlanguage'} = $_[1]; my @messages = Texinfo::Common::warn_unknown_language($_[1], \&__); foreach my $message (@messages) { document_warn($message); } }, 'D=s' => sub { my $var = $_[1]; my @field = split (/\s+/, $var, 2); if (@field == 1) { $parser_default_options->{'values'}->{$var} = 1; } else { $parser_default_options->{'values'}->{$field[0]} = $field[1]; } }, 'U=s' => sub {delete $parser_default_options->{'values'}->{$_[1]};}, 'init-file=s' => sub { locate_and_load_init_file($_[1], [ @conf_dirs, @program_init_dirs ]); }, 'set-customization-variable|c=s' => sub { my $var_val = $_[1]; if ($var_val =~ s/^(\w+)\s*=?\s*//) { my $var = $1; my $value = $var_val; if ($value =~ /^undef$/i) { $value = undef; } # special format if ($var eq 'TEXINFO_OUTPUT_FORMAT') { $format = set_format($value, $format, 1); } elsif ($var eq 'TEXI2HTML') { $format = set_format('html'); $parser_default_options->{'values'}->{'texi2html'} = 1; } set_from_cmdline($var, $value); # FIXME do that here or when all command line options are processed? if ($var eq 'L2H' and get_conf('L2H')) { locate_and_load_init_file($latex2html_file, [ @conf_dirs, @program_init_dirs ]); } } }, 'css-include=s' => \@css_files, 'css-ref=s' => \@css_refs, 'transliterate-file-names!' => sub {set_from_cmdline('TRANSLITERATE_FILE_NAMES', $_[1]);}, 'error-limit|e=i' => sub { set_from_cmdline('ERROR_LIMIT', $_[1]); }, 'split-size=s' => sub {set_from_cmdline('SPLIT_SIZE', $_[1])}, 'paragraph-indent|p=s' => sub { my $value = $_[1]; if ($value =~ /^([0-9]+)$/ or $value eq 'none' or $value eq 'asis') { set_from_cmdline('paragraphindent', $_[1]); } else { die sprintf(__("%s: --paragraph-indent arg must be numeric/`none'/`asis', not `%s'.\n"), $real_command_name, $value); } }, 'fill-column|f=i' => sub {set_from_cmdline('FILLCOLUMN',$_[1]);}, 'enable-encoding' => sub {set_from_cmdline('ENABLE_ENCODING',$_[1]); $parser_default_options->{'ENABLE_ENCODING'} = $_[1];}, 'disable-encoding' => sub {set_from_cmdline('ENABLE_ENCODING', 0); $parser_default_options->{'ENABLE_ENCODING'} = 0;}, 'internal-links=s' => sub {set_from_cmdline('INTERNAL_LINKS', $_[1]);}, 'force|F' => sub {set_from_cmdline('FORCE', $_[1]);}, 'commands-in-node-names' => sub { ;}, 'output-indent=i' => sub { ;}, 'reference-limit=i' => sub { ;}, 'Xopt=s' => sub {push @texi2dvi_args, $_[1]; $Xopt_arg_nr++}, 'silent|quiet' => sub {set_from_cmdline('SILENT', $_[1]); push @texi2dvi_args, '--'.$_[0];}, 'plaintext' => sub {$format = set_format($_[0]);}, 'html' => sub {$format = set_format($_[0]);}, 'info' => sub {$format = set_format($_[0]);}, 'docbook' => sub {$format = set_format($_[0]);}, 'xml' => sub {$format = set_format($_[0]);}, 'dvi' => sub {$format = set_format($_[0]);}, 'dvipdf' => sub {$format = set_format($_[0]);}, 'ps' => sub {$format = set_format($_[0]);}, 'pdf' => sub {$format = set_format($_[0]);}, 'debug=i' => sub {set_from_cmdline('DEBUG', $_[1]); $parser_default_options->{'DEBUG'} = $_[1]; push @texi2dvi_args, '--'.$_[0]; }, ); exit 1 if (!$result_options); # For tests, set some strings to values not changing with releases my %test_conf = ( 'PACKAGE_VERSION' => '', 'PACKAGE' => 'texinfo', 'PACKAGE_NAME' => 'texinfo', 'PACKAGE_AND_VERSION' => 'texinfo', 'PACKAGE_URL' => 'http://www.gnu.org/software/texinfo/', # maybe don't set this? 'PROGRAM' => 'texi2any', ); if (get_conf('TEST')) { foreach my $conf (keys (%test_conf)) { $converter_default_options->{$conf} = $test_conf{$conf}; } } my %format_names = ( 'info' => 'Info', 'html' => 'HTML', 'docbook' => 'DocBook', 'texinfoxml' => 'Texinfo XML', 'plaintext' => 'Plain Text', ); sub format_name($) { my $format = shift; if ($format_names{$format}) { return $format_names{$format}; } else { return $format; } } if (defined($ENV{'TEXINFO_OUTPUT_FORMAT'}) and $ENV{'TEXINFO_OUTPUT_FORMAT'} ne '') { $format = set_format($ENV{'TEXINFO_OUTPUT_FORMAT'}, $format, 1); } if ($call_texi2dvi) { if (defined(get_conf('OUT')) and @ARGV > 1) { die sprintf(__('%s: when generating %s, only one input FILE may be specified with -o'."\n"), $real_command_name, format_name($format)); } } elsif($Xopt_arg_nr) { document_warn(__('--Xopt option without printed output')); } my %tree_transformations; if (get_conf('TREE_TRANSFORMATIONS')) { my @transformations = split /,/, get_conf('TREE_TRANSFORMATIONS'); foreach my $transformation (@transformations) { if (Texinfo::Common::valid_tree_transformation($transformation)) { $tree_transformations{$transformation} = 1; } else { document_warn(sprintf(__('unknown tree transformation %s'), $transformation)); } } } if (get_conf('SPLIT') and !$formats_table{$format}->{'split'}) { document_warn(sprintf(__('ignoring splitting for format %s'), format_name($format))); set_from_cmdline('SPLIT', ''); } foreach my $expanded_format (@{$default_expanded_format}) { push @{$parser_default_options->{'expanded_formats'}}, $expanded_format unless (grep {$_ eq $expanded_format} @{$parser_default_options->{'expanded_formats'}}); } my $converter_class; my %converter_defaults; # This gets the class right, even though there is a sub... if (defined($formats_table{$format}->{'converter'})) { $converter_class = ref(&{$formats_table{$format}->{'converter'}}); %converter_defaults = $converter_class->converter_defaults(); } # FIXME should this be set when the --set is set too? The corresponding # code is ready above, but commented out. # using no warnings is wrong, but a way to avoid a spurious warning. no warnings 'once'; foreach my $parser_settable_option ( keys(%Texinfo::Parser::default_customization_values)) { if (defined(get_conf($parser_settable_option))) { $parser_default_options->{$parser_settable_option} = get_conf($parser_settable_option); } elsif (defined($converter_class) and defined($converter_defaults{$parser_settable_option})) { $parser_default_options->{$parser_settable_option} = $converter_defaults{$parser_settable_option}; } } ## using no warnings is wrong, but a way to avoid a spurious warning. #no warnings 'once'; # The configuration options are upper-cased when considered as # customization variables, and lower-cased when passed to the Parser foreach my $parser_option (map {uc($_)} (keys (%Texinfo::Common::default_parser_state_configuration))) { $parser_default_options->{lc($parser_option)} = get_conf($parser_option) if (defined(get_conf($parser_option))); } # Main processing, process all the files given on the command line my @input_files = @ARGV; # use STDIN if not a tty, like makeinfo does @input_files = ('-') if (!scalar(@input_files) and !-t STDIN); die sprintf(__("%s: missing file argument.\n"), $real_command_name) .sprintf(__("Try `%s --help' for more information.\n"), $real_command_name) unless (scalar(@input_files) >= 1); my $file_number = -1; my @opened_files = (); my %unclosed_files; my $error_count = 0; # main processing while(@input_files) { $file_number++; my $input_file_arg = shift(@input_files); my $input_file_name; # try to concatenate with different suffixes. The last suffix is '' # such that the plain file name is checked. foreach my $suffix (@input_file_suffixes) { if (-e $input_file_arg.$suffix) { $input_file_name = $input_file_arg.$suffix; last; } } # in case no file was found, still set the file name $input_file_name = $input_file_arg if (!defined($input_file_name)); my ($input_filename, $input_directory, $suffix) = fileparse($input_file_name); if (!defined($input_directory) or $input_directory eq '') { $input_directory = $curdir; } my $input_file_base = $input_file_name; $input_file_base =~ s/\.te?x(i|info)?$//; my @htmlxref_dirs; if (get_conf('TEST')) { # to have reproducible tests, do not use system or user # directories if TEST is set. @htmlxref_dirs = File::Spec->catdir($curdir, '.texinfo'); } else { @htmlxref_dirs = @language_config_dirs; } if ($input_directory ne '.' and $input_directory ne '') { unshift @htmlxref_dirs, $input_directory; } unshift @htmlxref_dirs, '.'; my @texinfo_htmlxref_files = locate_init_file ($texinfo_htmlxref, \@htmlxref_dirs, 1); my $parser_options = { %$parser_default_options }; $parser_options->{'include_directories'} = [@include_dirs]; my @prependended_include_directories = ('.'); push @prependended_include_directories, $input_directory if ($input_directory ne '.'); unshift @{$parser_options->{'include_directories'}}, @prependended_include_directories; unshift @{$parser_options->{'include_directories'}}, @prepend_dirs; my $parser = Texinfo::Parser::parser($parser_options); my $tree = $parser->parse_texi_file($input_file_name); if (!defined($tree) or $format eq 'parse') { handle_errors($parser, $error_count, \@opened_files); next; } if (defined(get_conf('DUMP_TREE')) or (get_conf('DEBUG') and get_conf('DEBUG') >= 10)) { # this is very wrong, but a way to avoid a spurious warning. no warnings 'once'; local $Data::Dumper::Purity = 1; no warnings 'once'; local $Data::Dumper::Indent = 1; print STDERR Data::Dumper->Dump([$tree]); } if ($tree_transformations{'fill_gaps_in_sectioning'}) { my ($filled_contents, $added_sections) = Texinfo::Structuring::fill_gaps_in_sectioning($tree); if (!defined($filled_contents)) { document_warn(__("fill_gaps_in_sectioning transformation return no result. No section?")); } else { $tree->{'contents'} = $filled_contents; } } if ((get_conf('SIMPLE_MENU') and $formats_table{$format}->{'simple_menu'}) or $tree_transformations{'simple_menus'}) { $parser->Texinfo::Structuring::set_menus_to_simple_menu(); } if (defined(get_conf('MACRO_EXPAND')) and $file_number == 0) { my $texinfo_text = Texinfo::Convert::Texinfo::convert ($tree, 1); #print STDERR "$texinfo_text\n"; my $macro_expand_file = get_conf('MACRO_EXPAND'); my $macro_expand_fh = Texinfo::Common::open_out($parser, $macro_expand_file, $parser->{'INPUT_PERL_ENCODING'}); my $error_macro_expand_file; if (defined($macro_expand_fh)) { print $macro_expand_fh $texinfo_text; if (!close($macro_expand_fh)) { document_warn(sprintf(__("error on closing macro expand file %s: %s\n"), $macro_expand_file, $!)); $error_macro_expand_file = 1; } $parser->Texinfo::Convert::Converter::register_close_file($macro_expand_file); } else { document_warn(sprintf(__("could not open %s for writing: %s\n"), $macro_expand_file, $!)); $error_macro_expand_file = 1; } if ($error_macro_expand_file) { $error_count++; _exit($error_count, \@opened_files); } } if (get_conf('DUMP_TEXI') or $formats_table{$format}->{'texi2dvi_format'}) { handle_errors($parser, $error_count, \@opened_files); next; } if ($formats_table{$format}->{'move_index_entries_after_items'} or $tree_transformations{'move_index_entries_after_items'}) { Texinfo::Common::move_index_entries_after_items_in_tree($tree); } if ($tree_transformations{'insert_nodes_for_sectioning_commands'}) { my ($modified_contents, $added_nodes) = Texinfo::Structuring::insert_nodes_for_sectioning_commands($parser, $tree); if (!defined($modified_contents)) { document_warn(__( "insert_nodes_for_sectioning_commands transformation return no result. No section?")); } else { $tree->{'contents'} = $modified_contents; } } Texinfo::Structuring::associate_internal_references($parser); # every format needs the sectioning structure # FIXME this adjusts the level of sectioning commands. Maybe should be # done before dumping the tree? my $structure = Texinfo::Structuring::sectioning_structure($parser, $tree); if ($tree_transformations{'complete_tree_nodes_menus'}) { Texinfo::Structuring::complete_tree_nodes_menus($parser, $tree); } if ($tree_transformations{'indent_menu_descriptions'}) { Texinfo::Convert::Plaintext::indent_menu_descriptions(undef, $parser); } if ($tree_transformations{'regenerate_master_menu'}) { Texinfo::Structuring::regenerate_master_menu($parser); } # this can be done for every format, since information is already gathered my $floats = $parser->floats_information(); my $top_node; if ($formats_table{$format}->{'nodes_tree'}) { $top_node = Texinfo::Structuring::nodes_tree($parser); } if ($formats_table{$format}->{'floats'}) { Texinfo::Structuring::number_floats($floats); } $error_count = handle_errors($parser, $error_count, \@opened_files); if ($format eq 'structure') { next; } if ($file_number != 0) { delete $cmdline_options->{'OUTFILE'} if exists($cmdline_options->{'OUTFILE'}); delete $cmdline_options->{'OUT'} if exists($cmdline_options->{'OUT'}); delete $cmdline_options->{'PREFIX'} if exists($cmdline_options->{'PREFIX'}); delete $cmdline_options->{'SUBDIR'} if (exists($cmdline_options->{'SUBDIR'}) and get_conf('SPLIT')); } my $converter_options = { %$converter_default_options, %$cmdline_options, %$Texinfo::Config::options }; $converter_options->{'parser'} = $parser; $converter_options->{'output_format'} = $format; $converter_options->{'htmlxref_files'} = \@texinfo_htmlxref_files; my $converter = &{$formats_table{$format}->{'converter'}}($converter_options); $converter->output($tree); push @opened_files, $converter->converter_opened_files(); handle_errors($converter, $error_count, \@opened_files); my $converter_unclosed_files = $converter->converter_unclosed_files(); if ($converter_unclosed_files) { foreach my $unclosed_file (keys(%$converter_unclosed_files)) { if ($unclosed_file eq '-') { $unclosed_files{$unclosed_file} = $converter_unclosed_files->{$unclosed_file}; } else { if (!close($converter_unclosed_files->{$unclosed_file})) { warn(sprintf(__("%s: error on closing %s: %s\n"), $real_command_name, $unclosed_file, $!)); $error_count++; _exit($error_count, \@opened_files); } } } } if (defined(get_conf('INTERNAL_LINKS')) and $file_number == 0 and $formats_table{$format}->{'internal_links'}) { my $internal_links_text = $converter->output_internal_links(); # always create a file, even if empty. $internal_links_text = '' if (!defined($internal_links_text)); my $internal_links_file = get_conf('INTERNAL_LINKS'); my $internal_links_fh = Texinfo::Common::open_out($converter, $internal_links_file); my $error_internal_links_file; if (defined ($internal_links_fh)) { print $internal_links_fh $internal_links_text; if (!close ($internal_links_fh)) { warn(sprintf(__("%s: error on closing internal links file %s: %s\n"), $real_command_name, $internal_links_file, $!)); $error_internal_links_file = 1; } $converter->register_close_file($internal_links_file); } else { warn(sprintf(__("%s: could not open %s for writing: %s\n"), $real_command_name, $internal_links_file, $!)); $error_internal_links_file = 1; } if ($error_internal_links_file) { $error_count++; _exit($error_count, \@opened_files); } } if (defined(get_conf('SORT_ELEMENT_COUNT')) and $file_number == 0) { my $converter_element_count_file = Texinfo::Convert::TextContent->converter($converter_options); my $use_sections = (! $formats_table{$format}->{'nodes_tree'} or (defined($converter->get_conf('USE_NODES')) and !$converter->get_conf('USE_NODES'))); my ($sorted_name_counts_array, $sort_element_count_text) = Texinfo::Convert::Converter::sort_element_counts( $converter_element_count_file, $tree, $use_sections, get_conf('SORT_ELEMENT_COUNT_WORDS')); my $sort_element_count_file = get_conf('SORT_ELEMENT_COUNT'); my $sort_element_count_fh = Texinfo::Common::open_out($converter, $sort_element_count_file); my $error_sort_element_count_file; if (defined ($sort_element_count_fh)) { print $sort_element_count_fh $sort_element_count_text; if (!close ($sort_element_count_fh)) { warn(sprintf(__("%s: error on closing internal links file %s: %s\n"), $real_command_name, $sort_element_count_file, $!)); $error_sort_element_count_file = 1; } $converter->register_close_file($sort_element_count_file); } else { warn(sprintf(__("%s: could not open %s for writing: %s\n"), $real_command_name, $sort_element_count_file, $!)); $error_sort_element_count_file = 1; } if ($error_sort_element_count_file) { $error_count++; _exit($error_count, \@opened_files); } } } foreach my $unclosed_file (keys(%unclosed_files)) { if (!close($unclosed_files{$unclosed_file})) { warn(sprintf(__("%s: error on closing %s: %s\n"), $real_command_name, $unclosed_file, $!)); $error_count++; _exit($error_count, \@opened_files); } } if ($call_texi2dvi) { if (get_conf('DEBUG') or get_conf('VERBOSE')) { print STDERR "EXEC ".join('|', (get_conf('TEXI2DVI'), @texi2dvi_args, @ARGV)) ."\n"; } exec { get_conf('TEXI2DVI') } (get_conf('TEXI2DVI'), @texi2dvi_args, @ARGV); } 1;
Close