Linux polon 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
Apache/2.4.59 (Debian)
: 10.2.73.233 | : 216.73.216.105
Cant Read [ /etc/named.conf ]
5.6.40-64+0~20230107.71+debian10~1.gbp673146
ifk
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
bin /
[ HOME SHELL ]
Name
Size
Permission
Action
X11
[ DIR ]
drwxr-xr-x
2to3-2.7
96
B
-rwxr-xr-x
GET
15.82
KB
-rwxr-xr-x
HEAD
15.82
KB
-rwxr-xr-x
Mail
110.24
KB
-rwxr-xr-x
POST
15.82
KB
-rwxr-xr-x
[
58.66
KB
-rwxr-xr-x
aa-enabled
30.21
KB
-rwxr-xr-x
aa-exec
30.21
KB
-rwxr-xr-x
ab
54.18
KB
-rwxr-xr-x
aclocal
35.62
KB
-rwxr-xr-x
aclocal-1.16
35.62
KB
-rwxr-xr-x
acpi
23.43
KB
-rwxr-xr-x
acpi_listen
14.27
KB
-rwxr-xr-x
add-apt-repository
6.21
KB
-rwxr-xr-x
addpart
26.08
KB
-rwxr-xr-x
addr2line
31.09
KB
-rwxr-xr-x
appletviewer
6.34
KB
-rwxr-xr-x
appres
10.23
KB
-rwxr-xr-x
apropos
54.98
KB
-rwxr-xr-x
apt
18.09
KB
-rwxr-xr-x
apt-add-repository
6.21
KB
-rwxr-xr-x
apt-cache
82.16
KB
-rwxr-xr-x
apt-cdrom
26.16
KB
-rwxr-xr-x
apt-config
26.09
KB
-rwxr-xr-x
apt-extracttemplates
22.16
KB
-rwxr-xr-x
apt-ftparchive
238.16
KB
-rwxr-xr-x
apt-get
46.16
KB
-rwxr-xr-x
apt-key
27.08
KB
-rwxr-xr-x
apt-listchanges
10.61
KB
-rwxr-xr-x
apt-mark
54.16
KB
-rwxr-xr-x
apt-sortpkgs
46.09
KB
-rwxr-xr-x
aptitude
4.18
MB
-rwxr-xr-x
aptitude-create-state-bundle
1.89
KB
-rwxr-xr-x
aptitude-curses
4.18
MB
-rwxr-xr-x
aptitude-run-state-bundle
2.78
KB
-rwxr-xr-x
ar
63.07
KB
-rwxr-xr-x
arch
38.66
KB
-rwxr-xr-x
aria_chk
4.54
MB
-rwxr-xr-x
aria_dump_log
4.35
MB
-rwxr-xr-x
aria_ftdump
4.37
MB
-rwxr-xr-x
aria_pack
4.39
MB
-rwxr-xr-x
aria_read_log
4.5
MB
-rwxr-xr-x
as
872.93
KB
-rwxr-xr-x
aspell
150.34
KB
-rwxr-xr-x
aspell-import
2
KB
-rwxr-xr-x
at
54.26
KB
-rwsr-sr-x
atq
54.26
KB
-rwsr-sr-x
atrm
54.26
KB
-rwsr-sr-x
autoconf
14.42
KB
-rwxr-xr-x
autoheader
8.34
KB
-rwxr-xr-x
autom4te
31.91
KB
-rwxr-xr-x
automake
251.9
KB
-rwxr-xr-x
automake-1.16
251.9
KB
-rwxr-xr-x
autopoint
25.97
KB
-rwxr-xr-x
autoreconf
20.67
KB
-rwxr-xr-x
autoscan
16.73
KB
-rwxr-xr-x
autoupdate
33.08
KB
-rwxr-xr-x
awk
658.81
KB
-rwxr-xr-x
b2sum
58.78
KB
-rwxr-xr-x
base32
42.69
KB
-rwxr-xr-x
base64
42.69
KB
-rwxr-xr-x
basename
38.59
KB
-rwxr-xr-x
bashbug
6.63
KB
-rwxr-xr-x
batch
152
B
-rwxr-xr-x
bc
86.7
KB
-rwxr-xr-x
bootctl
46.23
KB
-rwxr-xr-x
broadwayd
118.08
KB
-rwxr-xr-x
bsd-from
10.24
KB
-rwxr-xr-x
bsd-mailx
110.24
KB
-rwxr-xr-x
bsd-write
14.39
KB
-rwxr-sr-x
buildhash
38.38
KB
-rwxr-xr-x
busctl
78.19
KB
-rwxr-xr-x
c++
1.05
MB
-rwxr-xr-x
c++filt
30.69
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
6.13
KB
-rwxr-xr-x
cal
29.15
KB
-rwxr-xr-x
calendar
31.15
KB
-rwxr-xr-x
captoinfo
86.11
KB
-rwxr-xr-x
catchsegv
3.23
KB
-rwxr-xr-x
catman
38.46
KB
-rwxr-xr-x
cc
1.05
MB
-rwxr-xr-x
cd-create-profile
21.99
KB
-rwxr-xr-x
cd-fix-profile
25.99
KB
-rwxr-xr-x
cd-iccdump
13.99
KB
-rwxr-xr-x
cd-it8
21.99
KB
-rwxr-xr-x
chacl
13.99
KB
-rwxr-xr-x
chage
70.13
KB
-rwxr-sr-x
chardet
389
B
-rwxr-xr-x
chardet3
389
B
-rwxr-xr-x
chardetect
389
B
-rwxr-xr-x
chardetect3
389
B
-rwxr-xr-x
chattr
14
KB
-rwxr-xr-x
chcon
62.91
KB
-rwxr-xr-x
checkgid
13.99
KB
-rwxr-xr-x
chfn
52.83
KB
-rwsr-xr-x
choom
50.08
KB
-rwxr-xr-x
chrt
34.08
KB
-rwxr-xr-x
chsh
43.48
KB
-rwsr-xr-x
ckbcomp
146.38
KB
-rwxr-xr-x
cksum
38.63
KB
-rwxr-xr-x
clear
14
KB
-rwxr-xr-x
clear_console
14.3
KB
-rwxr-xr-x
clhsdb
6.35
KB
-rwxr-xr-x
cmp
50.64
KB
-rwxr-xr-x
codepage
14.21
KB
-rwxr-xr-x
col
10.23
KB
-rwxr-xr-x
colcrt
10.2
KB
-rwxr-xr-x
colormgr
53.99
KB
-rwxr-xr-x
colrm
10.19
KB
-rwxr-xr-x
column
10.34
KB
-rwxr-xr-x
comm
42.69
KB
-rwxr-xr-x
compose
17.74
KB
-rwxr-xr-x
corelist
14.73
KB
-rwxr-xr-x
cpan
7.96
KB
-rwxr-xr-x
cpan5.28-x86_64-linux-gnu
7.99
KB
-rwxr-xr-x
cpio-filter
1.22
KB
-rwxr-xr-x
cpp
1.05
MB
-rwxr-xr-x
cpp-4.9
814.43
KB
-rwxr-xr-x
cpp-6
930.77
KB
-rwxr-xr-x
cpp-8
1.05
MB
-rwxr-xr-x
crc32
1.04
KB
-rwxr-xr-x
crontab
42.55
KB
-rwxr-sr-x
csplit
54.84
KB
-rwxr-xr-x
ctstat
22.74
KB
-rwxr-xr-x
curl
226.07
KB
-rwxr-xr-x
cut
42.75
KB
-rwxr-xr-x
cvtsudoers
250.29
KB
-rwxr-xr-x
dbilogstrip
1.35
KB
-rwxr-xr-x
dbiprof
6.06
KB
-rwxr-xr-x
dbiproxy
5.27
KB
-rwxr-xr-x
dbus-cleanup-sockets
13.98
KB
-rwxr-xr-x
dbus-daemon
235.04
KB
-rwxr-xr-x
dbus-monitor
25.99
KB
-rwxr-xr-x
dbus-run-session
13.98
KB
-rwxr-xr-x
dbus-send
29.98
KB
-rwxr-xr-x
dbus-update-activation-environ...
13.98
KB
-rwxr-xr-x
dbus-uuidgen
13.98
KB
-rwxr-xr-x
dc
46.09
KB
-rwxr-xr-x
deallocvt
14.31
KB
-rwxr-xr-x
deb-systemd-helper
20.83
KB
-rwxr-xr-x
deb-systemd-invoke
4.33
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-gettextize
15.97
KB
-rwxr-xr-x
debconf-set-selections
2.87
KB
-rwxr-xr-x
debconf-show
1.78
KB
-rwxr-xr-x
debconf-updatepo
4.46
KB
-rwxr-xr-x
debianbts
413
B
-rwxr-xr-x
defmt-c
5.99
KB
-rwxr-xr-x
defmt-sh
5.99
KB
-rwxr-xr-x
delpart
26.08
KB
-rwxr-xr-x
delv
44.83
KB
-rwxr-xr-x
dh
30.77
KB
-rwxr-xr-x
dh_auto_build
1.37
KB
-rwxr-xr-x
dh_auto_clean
1.51
KB
-rwxr-xr-x
dh_auto_configure
1.63
KB
-rwxr-xr-x
dh_auto_install
2.8
KB
-rwxr-xr-x
dh_auto_test
1.65
KB
-rwxr-xr-x
dh_autoreconf
6.46
KB
-rwxr-xr-x
dh_autoreconf_clean
2.1
KB
-rwxr-xr-x
dh_autotools-dev_restoreconfig
1.79
KB
-rwxr-xr-x
dh_autotools-dev_updateconfig
1.81
KB
-rwxr-xr-x
dh_bash-completion
2.39
KB
-rwxr-xr-x
dh_bugfiles
3.58
KB
-rwxr-xr-x
dh_builddeb
4.96
KB
-rwxr-xr-x
dh_clean
4.91
KB
-rwxr-xr-x
dh_compress
7.58
KB
-rwxr-xr-x
dh_dkms
4.2
KB
-rwxr-xr-x
dh_dwz
3.84
KB
-rwxr-xr-x
dh_fixperms
5.28
KB
-rwxr-xr-x
dh_gconf
2.78
KB
-rwxr-xr-x
dh_gencontrol
5.85
KB
-rwxr-xr-x
dh_icons
2.04
KB
-rwxr-xr-x
dh_install
11.24
KB
-rwxr-xr-x
dh_installcatalogs
3.25
KB
-rwxr-xr-x
dh_installchangelogs
9
KB
-rwxr-xr-x
dh_installcron
1.6
KB
-rwxr-xr-x
dh_installdeb
7.8
KB
-rwxr-xr-x
dh_installdebconf
3.21
KB
-rwxr-xr-x
dh_installdirs
3
KB
-rwxr-xr-x
dh_installdocs
14.67
KB
-rwxr-xr-x
dh_installemacsen
3.74
KB
-rwxr-xr-x
dh_installexamples
5.33
KB
-rwxr-xr-x
dh_installgsettings
2.24
KB
-rwxr-xr-x
dh_installifupdown
1.47
KB
-rwxr-xr-x
dh_installinfo
2.87
KB
-rwxr-xr-x
dh_installinit
14.31
KB
-rwxr-xr-x
dh_installinitramfs
2.18
KB
-rwxr-xr-x
dh_installlogcheck
1.94
KB
-rwxr-xr-x
dh_installlogrotate
1.14
KB
-rwxr-xr-x
dh_installman
11.07
KB
-rwxr-xr-x
dh_installmanpages
4.89
KB
-rwxr-xr-x
dh_installmenu
2.15
KB
-rwxr-xr-x
dh_installmime
1.3
KB
-rwxr-xr-x
dh_installmodules
2.63
KB
-rwxr-xr-x
dh_installpam
1.13
KB
-rwxr-xr-x
dh_installppp
1.38
KB
-rwxr-xr-x
dh_installsystemd
13.06
KB
-rwxr-xr-x
dh_installsystemduser
7.41
KB
-rwxr-xr-x
dh_installtex
17.95
KB
-rwxr-xr-x
dh_installudev
2.1
KB
-rwxr-xr-x
dh_installwm
3.25
KB
-rwxr-xr-x
dh_installxfonts
2.91
KB
-rwxr-xr-x
dh_link
4.24
KB
-rwxr-xr-x
dh_lintian
1.29
KB
-rwxr-xr-x
dh_listpackages
824
B
-rwxr-xr-x
dh_makeshlibs
10.87
KB
-rwxr-xr-x
dh_md5sums
3.4
KB
-rwxr-xr-x
dh_missing
6.32
KB
-rwxr-xr-x
dh_movefiles
4.69
KB
-rwxr-xr-x
dh_perl
4.23
KB
-rwxr-xr-x
dh_perl_dbi
1.04
KB
-rwxr-xr-x
dh_perl_openssl
1.36
KB
-rwxr-xr-x
dh_phpcomposer
3.01
KB
-rwxr-xr-x
dh_phppear
5.63
KB
-rwxr-xr-x
dh_prep
1.87
KB
-rwxr-xr-x
dh_pysupport
11.95
KB
-rwxr-xr-x
dh_python2
1.03
KB
-rwxr-xr-x
dh_shlibdeps
6.13
KB
-rwxr-xr-x
dh_strip
14.45
KB
-rwxr-xr-x
dh_strip_nondeterminism
2.68
KB
-rwxr-xr-x
dh_systemd_enable
8.97
KB
-rwxr-xr-x
dh_systemd_start
8.57
KB
-rwxr-xr-x
dh_testdir
1.3
KB
-rwxr-xr-x
dh_testroot
2.86
KB
-rwxr-xr-x
dh_ucf
2.29
KB
-rwxr-xr-x
dh_update_autotools_config
1.84
KB
-rwxr-xr-x
dh_usrlocal
4.2
KB
-rwxr-xr-x
diff
215.28
KB
-rwxr-xr-x
diff3
66.84
KB
-rwxr-xr-x
dig
146.51
KB
-rwxr-xr-x
dircolors
46.66
KB
-rwxr-xr-x
dirmngr
553.55
KB
-rwxr-xr-x
dirmngr-client
114.76
KB
-rwxr-xr-x
dirname
34.59
KB
-rwxr-xr-x
discover-config
2.86
KB
-rwxr-xr-x
dnstap-read
18.01
KB
-rwxr-xr-x
dos2unix
50.02
KB
-rwxr-xr-x
dotlockfile
18.5
KB
-rwxr-sr-x
dpkg
298.53
KB
-rwxr-xr-x
dpkg-architecture
12.55
KB
-rwxr-xr-x
dpkg-buildflags
7.39
KB
-rwxr-xr-x
dpkg-buildpackage
29.89
KB
-rwxr-xr-x
dpkg-checkbuilddeps
7.45
KB
-rwxr-xr-x
dpkg-deb
162.38
KB
-rwxr-xr-x
dpkg-distaddfile
2.72
KB
-rwxr-xr-x
dpkg-divert
150.44
KB
-rwxr-xr-x
dpkg-genbuildinfo
16.4
KB
-rwxr-xr-x
dpkg-genchanges
17.08
KB
-rwxr-xr-x
dpkg-gencontrol
13.82
KB
-rwxr-xr-x
dpkg-gensymbols
10.65
KB
-rwxr-xr-x
dpkg-maintscript-helper
20.03
KB
-rwxr-xr-x
dpkg-mergechangelogs
8.35
KB
-rwxr-xr-x
dpkg-name
6.63
KB
-rwxr-xr-x
dpkg-parsechangelog
4.46
KB
-rwxr-xr-x
dpkg-query
158.43
KB
-rwxr-xr-x
dpkg-scanpackages
8.49
KB
-rwxr-xr-x
dpkg-scansources
8.95
KB
-rwxr-xr-x
dpkg-shlibdeps
30.68
KB
-rwxr-xr-x
dpkg-source
22.48
KB
-rwxr-xr-x
dpkg-split
122.34
KB
-rwxr-xr-x
dpkg-statoverride
62.12
KB
-rwxr-xr-x
dpkg-trigger
78.34
KB
-rwxr-xr-x
dpkg-vendor
3.19
KB
-rwxr-xr-x
du
107.09
KB
-rwxr-xr-x
dumpkeys
174.91
KB
-rwxr-xr-x
dvipdf
1023
B
-rwxr-xr-x
dwp
2.74
MB
-rwxr-xr-x
dwz
164.09
KB
-rwxr-xr-x
edit
17.74
KB
-rwxr-xr-x
editor
240.39
KB
-rwxr-xr-x
editres
69.38
KB
-rwxr-xr-x
eject
30.69
KB
-rwxr-xr-x
elfedit
38.84
KB
-rwxr-xr-x
enc2xs
41.12
KB
-rwxr-xr-x
encguess
2.99
KB
-rwxr-xr-x
enchant
22.07
KB
-rwxr-xr-x
enchant-lsmod
13.99
KB
-rwxr-xr-x
env
42.66
KB
-rwxr-xr-x
envsubst
42.64
KB
-rwxr-xr-x
eps2eps
639
B
-rwxr-xr-x
eqn
201.19
KB
-rwxr-xr-x
ex
2.58
MB
-rwxr-xr-x
expand
42.69
KB
-rwxr-xr-x
expiry
30.27
KB
-rwxr-sr-x
expr
50.72
KB
-rwxr-xr-x
extcheck
6.34
KB
-rwxr-xr-x
factor
74.75
KB
-rwxr-xr-x
faillog
22.29
KB
-rwxr-xr-x
faked-sysv
26.56
KB
-rwxr-xr-x
faked-tcp
30.58
KB
-rwxr-xr-x
fakeroot
3.76
KB
-rwxr-xr-x
fakeroot-sysv
3.76
KB
-rwxr-xr-x
fakeroot-tcp
3.76
KB
-rwxr-xr-x
fallocate
30.08
KB
-rwxr-xr-x
fc-cache
18.51
KB
-rwxr-xr-x
fc-cat
18.46
KB
-rwxr-xr-x
fc-conflist
14.27
KB
-rwxr-xr-x
fc-list
14.34
KB
-rwxr-xr-x
fc-match
14.4
KB
-rwxr-xr-x
fc-pattern
14.33
KB
-rwxr-xr-x
fc-query
14.3
KB
-rwxr-xr-x
fc-scan
14.34
KB
-rwxr-xr-x
fc-validate
14.34
KB
-rwxr-xr-x
fcgistarter
13.99
KB
-rwxr-xr-x
filan
83.78
KB
-rwxr-xr-x
file
26.31
KB
-rwxr-xr-x
fincore
30.13
KB
-rwxr-xr-x
find
308.5
KB
-rwxr-xr-x
findaffix
11.74
KB
-rwxr-xr-x
finger
27.08
KB
-rwxr-xr-x
firewall-cmd
113.47
KB
-rwxr-xr-x
firewall-offline-cmd
101.17
KB
-rwxr-xr-x
flock
34.16
KB
-rwxr-xr-x
fmt
42.66
KB
-rwxr-xr-x
fold
38.66
KB
-rwxr-xr-x
formail
46.59
KB
-rwxr-xr-x
free
18.08
KB
-rwxr-xr-x
from
10.24
KB
-rwxr-xr-x
ftp
99.62
KB
-rwxr-xr-x
funzip
22.26
KB
-rwxr-xr-x
g++
1.05
MB
-rwxr-xr-x
g++-8
1.05
MB
-rwxr-xr-x
galera_new_cluster
917
B
-rwxr-xr-x
galera_recovery
3.28
KB
-rwxr-xr-x
gamma4scanimage
13.99
KB
-rwxr-xr-x
gapplication
22.07
KB
-rwxr-xr-x
gawk
658.81
KB
-rwxr-xr-x
gcc
1.05
MB
-rwxr-xr-x
gcc-4.9
813.49
KB
-rwxr-xr-x
gcc-6
926.77
KB
-rwxr-xr-x
gcc-8
1.05
MB
-rwxr-xr-x
gcc-ar
34.47
KB
-rwxr-xr-x
gcc-ar-4.9
24.25
KB
-rwxr-xr-x
gcc-ar-6
26.53
KB
-rwxr-xr-x
gcc-ar-8
34.47
KB
-rwxr-xr-x
gcc-nm
34.47
KB
-rwxr-xr-x
gcc-nm-4.9
24.19
KB
-rwxr-xr-x
gcc-nm-6
26.53
KB
-rwxr-xr-x
gcc-nm-8
34.47
KB
-rwxr-xr-x
gcc-ranlib
34.47
KB
-rwxr-xr-x
gcc-ranlib-4.9
24.19
KB
-rwxr-xr-x
gcc-ranlib-6
26.53
KB
-rwxr-xr-x
gcc-ranlib-8
34.47
KB
-rwxr-xr-x
gcov
672.09
KB
-rwxr-xr-x
gcov-4.9
440.43
KB
-rwxr-xr-x
gcov-6
507.93
KB
-rwxr-xr-x
gcov-8
672.09
KB
-rwxr-xr-x
gcov-dump
511.95
KB
-rwxr-xr-x
gcov-dump-6
439.86
KB
-rwxr-xr-x
gcov-dump-8
511.95
KB
-rwxr-xr-x
gcov-tool
548.02
KB
-rwxr-xr-x
gcov-tool-6
463.92
KB
-rwxr-xr-x
gcov-tool-8
548.02
KB
-rwxr-xr-x
gdbus
50.08
KB
-rwxr-xr-x
gdk-pixbuf-csource
14.01
KB
-rwxr-xr-x
gdk-pixbuf-pixdata
13.99
KB
-rwxr-xr-x
gdk-pixbuf-thumbnailer
18.08
KB
-rwxr-xr-x
gencat
26.6
KB
-rwxr-xr-x
geqn
201.19
KB
-rwxr-xr-x
getconf
34.37
KB
-rwxr-xr-x
getent
35.34
KB
-rwxr-xr-x
getfacl
30.62
KB
-rwxr-xr-x
getkeycodes
14.3
KB
-rwxr-xr-x
getopt
22.07
KB
-rwxr-xr-x
gettext
42.62
KB
-rwxr-xr-x
gettext.sh
4.52
KB
-rwxr-xr-x
gettextize
42.73
KB
-rwxr-xr-x
ghostscript
14.18
KB
-rwxr-xr-x
ginstall-info
47.73
KB
-rwxr-xr-x
gio
86.09
KB
-rwxr-xr-x
gio-querymodules
13.99
KB
-rwxr-xr-x
glib-compile-schemas
46.07
KB
-rwxr-xr-x
gold
2.97
MB
-rwxr-xr-x
gpasswd
82.05
KB
-rwsr-xr-x
gpg
1021.73
KB
-rwxr-xr-x
gpg-agent
396.73
KB
-rwxr-xr-x
gpg-connect-agent
158.85
KB
-rwxr-xr-x
gpg-wks-server
199.05
KB
-rwxr-xr-x
gpg-zip
3.43
KB
-rwxr-xr-x
gpg2
1021.73
KB
-rwxr-xr-x
gpgcompose
853.98
KB
-rwxr-xr-x
gpgconf
166.32
KB
-rwxr-xr-x
gpgparsemail
30.07
KB
-rwxr-xr-x
gpgsm
495.09
KB
-rwxr-xr-x
gpgsplit
82.45
KB
-rwxr-xr-x
gpgtar
151.32
KB
-rwxr-xr-x
gpgv
434.99
KB
-rwxr-xr-x
gpic
208.03
KB
-rwxr-xr-x
gprof
96.39
KB
-rwxr-xr-x
gresource
21.99
KB
-rwxr-xr-x
groff
117.22
KB
-rwxr-xr-x
grog
2.71
KB
-rwxr-xr-x
grops
177.63
KB
-rwxr-xr-x
grotty
129.25
KB
-rwxr-xr-x
groups
38.66
KB
-rwxr-xr-x
grub-editenv
369.96
KB
-rwxr-xr-x
grub-file
801.21
KB
-rwxr-xr-x
grub-fstest
922.9
KB
-rwxr-xr-x
grub-glue-efi
244.77
KB
-rwxr-xr-x
grub-kbdcomp
1.64
KB
-rwxr-xr-x
grub-menulst2cfg
228.85
KB
-rwxr-xr-x
grub-mkfont
269.46
KB
-rwxr-xr-x
grub-mkimage
349.96
KB
-rwxr-xr-x
grub-mklayout
249.09
KB
-rwxr-xr-x
grub-mknetdir
402.76
KB
-rwxr-xr-x
grub-mkpasswd-pbkdf2
249.15
KB
-rwxr-xr-x
grub-mkrelpath
240.49
KB
-rwxr-xr-x
grub-mkrescue
979.63
KB
-rwxr-xr-x
grub-mkstandalone
487.09
KB
-rwxr-xr-x
grub-mount
745.85
KB
-rwxr-xr-x
grub-ntldr-img
38.38
KB
-rwxr-xr-x
grub-render-label
817.77
KB
-rwxr-xr-x
grub-script-check
264.62
KB
-rwxr-xr-x
grub-syslinux2cfg
766.29
KB
-rwxr-xr-x
gs
14.18
KB
-rwxr-xr-x
gsbj
350
B
-rwxr-xr-x
gsdj
352
B
-rwxr-xr-x
gsdj500
352
B
-rwxr-xr-x
gsettings
30.07
KB
-rwxr-xr-x
gslj
353
B
-rwxr-xr-x
gslp
350
B
-rwxr-xr-x
gsnd
277
B
-rwxr-xr-x
gtbl
138.2
KB
-rwxr-xr-x
gtk-builder-tool
34.42
KB
-rwxr-xr-x
gtk-launch
18.15
KB
-rwxr-xr-x
gtk-query-settings
13.99
KB
-rwxr-xr-x
gtk-update-icon-cache
38.47
KB
-rwxr-xr-x
h2ph
28.54
KB
-rwxr-xr-x
h2xs
59.44
KB
-rwxr-xr-x
hd
26.55
KB
-rwxr-xr-x
head
46.72
KB
-rwxr-xr-x
helpztags
2.46
KB
-rwxr-xr-x
hexdump
26.55
KB
-rwxr-xr-x
host
126.63
KB
-rwxr-xr-x
hostid
34.59
KB
-rwxr-xr-x
hostnamectl
26.07
KB
-rwxr-xr-x
hsdb
6.35
KB
-rwxr-xr-x
htcacheclean
34
KB
-rwxr-xr-x
htdbm
25.99
KB
-rwxr-xr-x
htdigest
13.99
KB
-rwxr-xr-x
htpasswd
25.99
KB
-rwxr-xr-x
i386
22.34
KB
-rwxr-xr-x
icombine
34.38
KB
-rwxr-xr-x
iconv
59.01
KB
-rwxr-xr-x
id
42.78
KB
-rwxr-xr-x
idlj
6.34
KB
-rwxr-xr-x
ifnames
4.03
KB
-rwxr-xr-x
ijoin
14.03
KB
-rwxr-xr-x
info
242.79
KB
-rwxr-xr-x
infobrowser
242.79
KB
-rwxr-xr-x
infocmp
62.07
KB
-rwxr-xr-x
infotocap
86.11
KB
-rwxr-xr-x
innochecksum
3.46
MB
-rwxr-xr-x
innotop
445.81
KB
-rwxr-xr-x
install
151.6
KB
-rwxr-xr-x
install-info
47.73
KB
-rwxr-xr-x
instmodsh
4.27
KB
-rwxr-xr-x
ionice
30.08
KB
-rwxr-xr-x
ipcmk
30.14
KB
-rwxr-xr-x
ipcrm
30.08
KB
-rwxr-xr-x
ipcs
66.08
KB
-rwxr-xr-x
iptables-xml
100.68
KB
-rwxr-xr-x
ischroot
14.23
KB
-rwxr-xr-x
ispell
94.46
KB
-rwxr-xr-x
ispell-wrapper
7.05
KB
-rwxr-xr-x
jar
6.34
KB
-rwxr-xr-x
jarsigner
6.34
KB
-rwxr-xr-x
java
6.3
KB
-rwxr-xr-x
javac
6.34
KB
-rwxr-xr-x
javadoc
6.34
KB
-rwxr-xr-x
javah
6.34
KB
-rwxr-xr-x
javap
6.34
KB
-rwxr-xr-x
jcmd
6.34
KB
-rwxr-xr-x
jconsole
6.36
KB
-rwxr-xr-x
jdb
6.35
KB
-rwxr-xr-x
jdeps
6.34
KB
-rwxr-xr-x
jexec
10.33
KB
-rwxr-xr-x
jfr
6.34
KB
-rwxr-xr-x
jhat
6.34
KB
-rwxr-xr-x
jinfo
6.38
KB
-rwxr-xr-x
jjs
6.34
KB
-rwxr-xr-x
jmap
6.38
KB
-rwxr-xr-x
join
50.75
KB
-rwxr-xr-x
jps
6.34
KB
-rwxr-xr-x
jrunscript
6.34
KB
-rwxr-xr-x
jsadebugd
6.35
KB
-rwxr-xr-x
json_pp
4.28
KB
-rwxr-xr-x
jstack
6.38
KB
-rwxr-xr-x
jstat
6.34
KB
-rwxr-xr-x
jstatd
6.34
KB
-rwxr-xr-x
kbdinfo
14.31
KB
-rwxr-xr-x
kbxutil
162.66
KB
-rwxr-xr-x
kernel-install
4.53
KB
-rwxr-xr-x
keytool
6.34
KB
-rwxr-xr-x
killall
31.72
KB
-rwxr-xr-x
laptop-detect
3.73
KB
-rwxr-xr-x
last
46.08
KB
-rwxr-xr-x
lastb
46.08
KB
-rwxr-xr-x
lastlog
22.07
KB
-rwxr-xr-x
lcf
7.6
KB
-rwxr-xr-x
ld
1.7
MB
-rwxr-xr-x
ld.bfd
1.7
MB
-rwxr-xr-x
ld.gold
2.97
MB
-rwxr-xr-x
ldd
5.27
KB
-rwxr-xr-x
less
166.76
KB
-rwxr-xr-x
lessecho
14.02
KB
-rwxr-xr-x
lessfile
8.36
KB
-rwxr-xr-x
lesskey
23.39
KB
-rwxr-xr-x
lesspipe
8.36
KB
-rwxr-xr-x
lexgrog
94.57
KB
-rwxr-xr-x
lft
2.43
KB
-rwxr-xr-x
lft.db
2.43
KB
-rwxr-xr-x
libnetcfg
15.41
KB
-rwxr-xr-x
libtoolize
128.26
KB
-rwxr-xr-x
link
34.59
KB
-rwxr-xr-x
linux-boot-prober
1.54
KB
-rwxr-xr-x
linux-check-removal
4.56
KB
-rwxr-xr-x
linux-update-symlinks
6.17
KB
-rwxr-xr-x
linux-version
2.63
KB
-rwxr-xr-x
linux32
22.34
KB
-rwxr-xr-x
linux64
22.34
KB
-rwxr-xr-x
listres
10.62
KB
-rwxr-xr-x
lnstat
22.74
KB
-rwxr-xr-x
loadkeys
207.14
KB
-rwxr-xr-x
loadunimap
34.61
KB
-rwxr-xr-x
locale
54.04
KB
-rwxr-xr-x
localectl
26.07
KB
-rwxr-xr-x
localedef
299.75
KB
-rwxr-xr-x
locate
38.68
KB
-rwxr-sr-x
lockfile
18.25
KB
-rwxr-sr-x
logger
46.67
KB
-rwxr-xr-x
logname
34.59
KB
-rwxr-xr-x
logresolve
14
KB
-rwxr-xr-x
look
10.49
KB
-rwxr-xr-x
lorder
2.82
KB
-rwxr-xr-x
lsattr
14
KB
-rwxr-xr-x
lsb_release
3.55
KB
-rwxr-xr-x
lscpu
86.08
KB
-rwxr-xr-x
lsinitramfs
706
B
-rwxr-xr-x
lsipc
90.08
KB
-rwxr-xr-x
lslocks
34.41
KB
-rwxr-xr-x
lslogins
66.08
KB
-rwxr-xr-x
lsmem
62.08
KB
-rwxr-xr-x
lsns
50.08
KB
-rwxr-xr-x
lsof
171.47
KB
-rwxr-xr-x
lspci
80.31
KB
-rwxr-xr-x
lspgpot
1.06
KB
-rwxr-xr-x
luit
48.72
KB
-rwxr-xr-x
lwp-download
10.05
KB
-rwxr-xr-x
lwp-dump
2.65
KB
-rwxr-xr-x
lwp-mirror
2.36
KB
-rwxr-xr-x
lwp-request
15.82
KB
-rwxr-xr-x
lzcat
79.29
KB
-rwxr-xr-x
lzcmp
6.48
KB
-rwxr-xr-x
lzdiff
6.48
KB
-rwxr-xr-x
lzegrep
5.76
KB
-rwxr-xr-x
lzfgrep
5.76
KB
-rwxr-xr-x
lzgrep
5.76
KB
-rwxr-xr-x
lzless
1.76
KB
-rwxr-xr-x
lzma
79.29
KB
-rwxr-xr-x
lzmainfo
14.31
KB
-rwxr-xr-x
lzmore
2.11
KB
-rwxr-xr-x
m-a
57.17
KB
-rwxr-xr-x
m4
159.18
KB
-rwxr-xr-x
mac2unix
50.02
KB
-rwxr-xr-x
mail
110.24
KB
-rwxr-xr-x
mailq
1.13
MB
-rwsr-xr-x
mailstat
5.72
KB
-rwxr-xr-x
mailx
110.24
KB
-rwxr-xr-x
make
226.59
KB
-rwxr-xr-x
make-first-existing-target
4.79
KB
-rwxr-xr-x
makeinfo
52.78
KB
-rwxr-xr-x
man
112.5
KB
-rwxr-xr-x
mandb
134.72
KB
-rwxr-xr-x
manpath
34.47
KB
-rwxr-xr-x
mapscrn
26.58
KB
-rwxr-xr-x
mariadb
3.91
MB
-rwxr-xr-x
mariadb-check
3.67
MB
-rwxr-xr-x
mariadb-service-convert
2.45
KB
-rwxr-xr-x
mawk
119.12
KB
-rwxr-xr-x
mc
1011.96
KB
-rwxr-xr-x
mcdiff
1011.96
KB
-rwxr-xr-x
mcedit
1011.96
KB
-rwxr-xr-x
mcookie
34.14
KB
-rwxr-xr-x
mcview
1011.96
KB
-rwxr-xr-x
md5sum
46.72
KB
-rwxr-xr-x
md5sum.textutils
46.72
KB
-rwxr-xr-x
mdig
46.09
KB
-rwxr-xr-x
mesg
14.07
KB
-rwxr-xr-x
migrate-pubring-from-classic-g...
2.99
KB
-rwxr-xr-x
mk_modmap
15.78
KB
-rwxr-xr-x
mkfifo
62.91
KB
-rwxr-xr-x
mkpasswd
26.47
KB
-rwxr-xr-x
mlocate
38.68
KB
-rwxr-sr-x
mlock
14.3
KB
-rwxr-sr-x
module-assistant
57.17
KB
-rwxr-xr-x
msgattrib
26.45
KB
-rwxr-xr-x
msgcat
22.45
KB
-rwxr-xr-x
msgcmp
26.56
KB
-rwxr-xr-x
msgcomm
22.43
KB
-rwxr-xr-x
msgconv
22.41
KB
-rwxr-xr-x
msgen
22.41
KB
-rwxr-xr-x
msgexec
18.45
KB
-rwxr-xr-x
msgfilter
34.54
KB
-rwxr-xr-x
msgfmt
83.37
KB
-rwxr-xr-x
msggrep
42.79
KB
-rwxr-xr-x
msginit
67.17
KB
-rwxr-xr-x
msgmerge
71.39
KB
-rwxr-xr-x
msgunfmt
30.64
KB
-rwxr-xr-x
msguniq
22.42
KB
-rwxr-xr-x
msql2mysql
1.41
KB
-rwxr-xr-x
mtrace
6.32
KB
-rwxr-xr-x
munchlist
31.23
KB
-rwxr-xr-x
mutt
1.02
MB
-rwxr-xr-x
mutt_dotlock
14.01
KB
-rwxr-sr-x
my_print_defaults
3.37
MB
-rwxr-xr-x
myisam_ftdump
3.64
MB
-rwxr-xr-x
myisamchk
3.75
MB
-rwxr-xr-x
myisamlog
3.62
MB
-rwxr-xr-x
myisampack
3.65
MB
-rwxr-xr-x
mysql
3.91
MB
-rwxr-xr-x
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
mysql_embedded
18.94
MB
-rwxr-xr-x
mysql_find_rows
3.21
KB
-rwxr-xr-x
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
mysql_install_db
19.74
KB
-rwxr-xr-x
mysql_plugin
3.37
MB
-rwxr-xr-x
mysql_secure_installation
12.23
KB
-rwxr-xr-x
mysql_setpermission
17.13
KB
-rwxr-xr-x
mysql_tzinfo_to_sql
3.37
MB
-rwxr-xr-x
mysql_upgrade
3.46
MB
-rwxr-xr-x
mysql_waitpid
3.36
MB
-rwxr-xr-x
mysqlaccess
109.3
KB
-rwxr-xr-x
mysqladmin
3.7
MB
-rwxr-xr-x
mysqlanalyze
3.67
MB
-rwxr-xr-x
mysqlbinlog
3.92
MB
-rwxr-xr-x
mysqlcheck
3.67
MB
-rwxr-xr-x
mysqld_multi
26.67
KB
-rwxr-xr-x
mysqld_safe
30.08
KB
-rwxr-xr-x
mysqld_safe_helper
3.33
MB
-rwxr-xr-x
mysqldump
3.75
MB
-rwxr-xr-x
mysqldumpslow
8.05
KB
-rwxr-xr-x
mysqlhotcopy
34.14
KB
-rwxr-xr-x
mysqlimport
3.66
MB
-rwxr-xr-x
mysqloptimize
3.67
MB
-rwxr-xr-x
mysqlrepair
3.67
MB
-rwxr-xr-x
mysqlreport
50.03
KB
-rwxr-xr-x
mysqlshow
3.66
MB
-rwxr-xr-x
mysqlslap
3.68
MB
-rwxr-xr-x
mytop
63.3
KB
-rwxr-xr-x
namei
34.08
KB
-rwxr-xr-x
native2ascii
6.34
KB
-rwxr-xr-x
nawk
658.81
KB
-rwxr-xr-x
ncal
29.15
KB
-rwxr-xr-x
neqn
913
B
-rwxr-xr-x
netkit-ftp
99.62
KB
-rwxr-xr-x
newaliases
1.13
MB
-rwsr-xr-x
newgrp
43.4
KB
-rwsr-xr-x
ngettext
42.63
KB
-rwxr-xr-x
nice
38.63
KB
-rwxr-xr-x
nl
42.78
KB
-rwxr-xr-x
nload
138.03
KB
-rwxr-xr-x
nm
47.91
KB
-rwxr-xr-x
nohup
38.66
KB
-rwxr-xr-x
nproc
38.66
KB
-rwxr-xr-x
nroff
3.22
KB
-rwxr-xr-x
nsenter
34.28
KB
-rwxr-xr-x
nslookup
134.51
KB
-rwxr-xr-x
nstat
79.14
KB
-rwxr-xr-x
nsupdate
70.02
KB
-rwxr-xr-x
numfmt
62.81
KB
-rwxr-xr-x
objcopy
175.42
KB
-rwxr-xr-x
objdump
345.55
KB
-rwxr-xr-x
od
70.78
KB
-rwxr-xr-x
openssl
719.52
KB
-rwxr-xr-x
orbd
6.39
KB
-rwxr-xr-x
os-prober
4.44
KB
-rwxr-xr-x
pack200
6.34
KB
-rwxr-xr-x
pager
166.76
KB
-rwxr-xr-x
paperconf
14.29
KB
-rwxr-xr-x
parsechangelog
8.63
KB
-rwxr-xr-x
partx
106.08
KB
-rwxr-xr-x
passwd
62.24
KB
-rwsr-xr-x
paste
38.66
KB
-rwxr-xr-x
patch
183.44
KB
-rwxr-xr-x
pathchk
38.63
KB
-rwxr-xr-x
pcimodules
14.59
KB
-rwxr-xr-x
pcre-config
2.29
KB
-rwxr-xr-x
pcre2-config
1.93
KB
-rwxr-xr-x
pdb
45.02
KB
-rwxr-xr-x
pdb2
45.02
KB
-rwxr-xr-x
pdb2.7
45.02
KB
-rwxr-xr-x
pdb3
61.08
KB
-rwxr-xr-x
pdb3.7
61.08
KB
-rwxr-xr-x
pdf2dsc
698
B
-rwxr-xr-x
pdf2ps
909
B
-rwxr-xr-x
pdftexi2dvi
1.27
KB
-rwxr-xr-x
pear
793
B
-rwxr-xr-x
peardev
814
B
-rwxr-xr-x
pecl
727
B
-rwxr-xr-x
peekfd
14.28
KB
-rwxr-xr-x
perf
528
B
-rwxr-xr-x
perl
3.05
MB
-rwxr-xr-x
perl5.28-x86_64-linux-gnu
14.17
KB
-rwxr-xr-x
perl5.28.1
3.05
MB
-rwxr-xr-x
perlbug
45.28
KB
-rwxr-xr-x
perldoc
125
B
-rwxr-xr-x
perlivp
10.61
KB
-rwxr-xr-x
perlthanks
45.28
KB
-rwxr-xr-x
perror
3.55
MB
-rwxr-xr-x
pf2afm
498
B
-rwxr-xr-x
pfbtopfa
516
B
-rwxr-xr-x
pftp
99.62
KB
-rwxr-xr-x
pgrep
26.09
KB
-rwxr-xr-x
phar
14.88
KB
-rwxr-xr-x
phar.phar
14.88
KB
-rwxr-xr-x
phar.phar5.6
14.48
KB
-rwxr-xr-x
phar.phar7.0
14.48
KB
-rwxr-xr-x
phar.phar7.2
14.47
KB
-rwxr-xr-x
phar.phar7.3
14.47
KB
-rwxr-xr-x
phar.phar7.4
14.54
KB
-rwxr-xr-x
phar.phar8.2
14.88
KB
-rwxr-xr-x
phar5
14.48
KB
-rwxr-xr-x
phar5.6
14.48
KB
-rwxr-xr-x
phar7.0
14.48
KB
-rwxr-xr-x
phar7.2
14.47
KB
-rwxr-xr-x
phar7.3
14.47
KB
-rwxr-xr-x
phar7.4
14.54
KB
-rwxr-xr-x
phar7.4.phar
14.54
KB
-rwxr-xr-x
phar8.2
14.88
KB
-rwxr-xr-x
phar8.2.phar
14.88
KB
-rwxr-xr-x
php
4.53
MB
-rwxr-xr-x
php-cgi
4.43
MB
-rwxr-xr-x
php-cgi7.2
4.68
MB
-rwxr-xr-x
php-cgi7.3
4.47
MB
-rwxr-xr-x
php-cgi7.4
4.43
MB
-rwxr-xr-x
php-config
4.24
KB
-rwxr-xr-x
php-config7.2
4.14
KB
-rwxr-xr-x
php-config7.3
4.11
KB
-rwxr-xr-x
php-config7.4
4.24
KB
-rwxr-xr-x
php5
8.66
MB
-rwxr-xr-x
php5.6
4.3
MB
-rwxr-xr-x
php7.0
4.3
MB
-rwxr-xr-x
php7.2
4.79
MB
-rwxr-xr-x
php7.3
4.57
MB
-rwxr-xr-x
php7.4
4.53
MB
-rwxr-xr-x
php8.2
5.37
MB
-rwxr-xr-x
phpdbg
4.65
MB
-rwxr-xr-x
phpdbg7.2
4.91
MB
-rwxr-xr-x
phpdbg7.3
4.69
MB
-rwxr-xr-x
phpdbg7.4
4.65
MB
-rwxr-xr-x
phpize
4.81
KB
-rwxr-xr-x
phpize7.2
4.84
KB
-rwxr-xr-x
phpize7.3
4.87
KB
-rwxr-xr-x
phpize7.4
4.81
KB
-rwxr-xr-x
pic
208.03
KB
-rwxr-xr-x
pico
240.39
KB
-rwxr-xr-x
piconv
8.16
KB
-rwxr-xr-x
pigz
114.2
KB
-rwxr-xr-x
pinentry
86.49
KB
-rwxr-xr-x
pinentry-gtk-2
86.49
KB
-rwxr-xr-x
pinentry-x11
86.49
KB
-rwxr-xr-x
pinky
42.81
KB
-rwxr-xr-x
pkaction
14.31
KB
-rwxr-xr-x
pkcheck
22.66
KB
-rwxr-xr-x
pkcon
71.71
KB
-rwxr-xr-x
pkg-config
54.83
KB
-rwxr-xr-x
pkgtools
1.34
KB
-rwxr-xr-x
pkill
26.09
KB
-rwxr-xr-x
pkmon
22.49
KB
-rwxr-xr-x
pkttyagent
18.37
KB
-rwxr-xr-x
pl2pm
4.43
KB
-rwxr-xr-x
pldd
22.57
KB
-rwxr-xr-x
pmap
30.09
KB
-rwxr-xr-x
po2debconf
8.47
KB
-rwxr-xr-x
pod2html
4.04
KB
-rwxr-xr-x
pod2man
14.86
KB
-rwxr-xr-x
pod2texi
19.65
KB
-rwxr-xr-x
pod2text
10.85
KB
-rwxr-xr-x
pod2usage
3.86
KB
-rwxr-xr-x
podchecker
3.57
KB
-rwxr-xr-x
podebconf-display-po
12.67
KB
-rwxr-xr-x
podebconf-report-po
31.76
KB
-rwxr-xr-x
podselect
2.47
KB
-rwxr-xr-x
policytool
6.34
KB
-rwxr-xr-x
pphs
404
B
-rwxr-xr-x
pr
74.94
KB
-rwxr-xr-x
precat
5.52
KB
-rwxr-xr-x
preconv
66.2
KB
-rwxr-xr-x
preunzip
5.52
KB
-rwxr-xr-x
prezip
5.52
KB
-rwxr-xr-x
prezip-bin
13.99
KB
-rwxr-xr-x
print
17.74
KB
-rwxr-xr-x
printafm
395
B
-rwxr-xr-x
printenv
34.59
KB
-rwxr-xr-x
printerbanner
22.23
KB
-rwxr-xr-x
printf
54.69
KB
-rwxr-xr-x
prlimit
38.59
KB
-rwxr-xr-x
procan
71.68
KB
-rwxr-xr-x
procmail
95.2
KB
-rwsr-sr-x
prove
13.33
KB
-rwxr-xr-x
prtstat
18.36
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
ps2txt
631
B
-rwxr-xr-x
psfaddtable
22.31
KB
-rwxr-xr-x
psfgettable
22.31
KB
-rwxr-xr-x
psfstriptable
22.31
KB
-rwxr-xr-x
psfxtable
22.31
KB
-rwxr-xr-x
pslog
14.23
KB
-rwxr-xr-x
pstree
31.48
KB
-rwxr-xr-x
pstree.x11
31.48
KB
-rwxr-xr-x
ptar
3.47
KB
-rwxr-xr-x
ptardiff
2.57
KB
-rwxr-xr-x
ptargrep
4.29
KB
-rwxr-xr-x
ptx
74.91
KB
-rwxr-xr-x
pwdx
10.07
KB
-rwxr-xr-x
py3clean
7.62
KB
-rwxr-xr-x
py3compile
11.83
KB
-rwxr-xr-x
py3versions
11.44
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
79
B
-rwxr-xr-x
pydoc2.7
79
B
-rwxr-xr-x
pydoc3
79
B
-rwxr-xr-x
pydoc3.7
79
B
-rwxr-xr-x
pygettext
21.56
KB
-rwxr-xr-x
pygettext2
21.56
KB
-rwxr-xr-x
pygettext2.7
21.56
KB
-rwxr-xr-x
pygettext3
21.04
KB
-rwxr-xr-x
pygettext3.7
21.04
KB
-rwxr-xr-x
python
3.51
MB
-rwxr-xr-x
python2
3.51
MB
-rwxr-xr-x
python2.7
3.51
MB
-rwxr-xr-x
python3
4.65
MB
-rwxr-xr-x
python3.7
4.65
MB
-rwxr-xr-x
python3.7m
4.65
MB
-rwxr-xr-x
python3m
4.65
MB
-rwxr-xr-x
pyversions
14.76
KB
-rwxr-xr-x
querybts
10.75
KB
-rwxr-xr-x
ranlib
63.1
KB
-rwxr-xr-x
rcp
98.14
KB
-rwxr-xr-x
rdma
107.16
KB
-rwxr-xr-x
readelf
583.06
KB
-rwxr-xr-x
realpath
46.69
KB
-rwxr-xr-x
recode-sr-latin
14.4
KB
-rwxr-xr-x
rename.ul
22.07
KB
-rwxr-xr-x
renice
14.07
KB
-rwxr-xr-x
replace
3.34
MB
-rwxr-xr-x
report-hw
2.05
KB
-rwxr-xr-x
reportbug
105.14
KB
-rwxr-xr-x
reset
30
KB
-rwxr-xr-x
resizecons
22.58
KB
-rwxr-xr-x
resizepart
58.08
KB
-rwxr-xr-x
resolve_stack_dump
3.37
MB
-rwxr-xr-x
resolvectl
114.22
KB
-rwxr-xr-x
resolveip
3.36
MB
-rwxr-xr-x
rev
14.07
KB
-rwxr-xr-x
rgrep
30
B
-rwxr-xr-x
rlogin
714.79
KB
-rwxr-xr-x
rmic
6.34
KB
-rwxr-xr-x
rmid
6.34
KB
-rwxr-xr-x
rmiregistry
6.34
KB
-rwxr-xr-x
rotatelogs
26.07
KB
-rwxr-xr-x
routef
208
B
-rwxr-xr-x
routel
1.62
KB
-rwxr-xr-x
rpcgen
90.98
KB
-rwxr-xr-x
rpcinfo
34.16
KB
-rwxr-xr-x
rsh
714.79
KB
-rwxr-xr-x
rsync
488.37
KB
-rwxr-xr-x
rtstat
22.74
KB
-rwxr-xr-x
run-mailcap
17.74
KB
-rwxr-xr-x
run-with-aspell
57
B
-rwxr-xr-x
runcon
38.72
KB
-rwxr-xr-x
rview
2.58
MB
-rwxr-xr-x
rvim
2.58
MB
-rwxr-xr-x
sane-find-scanner
114.7
KB
-rwxr-xr-x
savelog
10.22
KB
-rwxr-xr-x
scanimage
50.77
KB
-rwxr-xr-x
schemagen
6.34
KB
-rwxr-xr-x
scp
98.14
KB
-rwxr-xr-x
screendump
14.29
KB
-rwxr-xr-x
script
50.08
KB
-rwxr-xr-x
scriptreplay
30.08
KB
-rwxr-xr-x
sdiff
50.77
KB
-rwxr-xr-x
see
17.74
KB
-rwxr-xr-x
select-default-iwrap
474
B
-rwxr-xr-x
select-editor
2.38
KB
-rwxr-xr-x
sensible-browser
1.18
KB
-rwxr-xr-x
sensible-editor
1.08
KB
-rwxr-xr-x
sensible-pager
433
B
-rwxr-xr-x
seq
50.69
KB
-rwxr-xr-x
serialver
6.34
KB
-rwxr-xr-x
servertool
6.34
KB
-rwxr-xr-x
setarch
22.34
KB
-rwxr-xr-x
setfacl
38.68
KB
-rwxr-xr-x
setkeycodes
14.3
KB
-rwxr-xr-x
setleds
14.29
KB
-rwxr-xr-x
setlogcons
14.3
KB
-rwxr-xr-x
setmetamode
14.34
KB
-rwxr-xr-x
setpci
22.54
KB
-rwxr-xr-x
setpriv
42.08
KB
-rwxr-xr-x
setsid
14.07
KB
-rwxr-xr-x
setterm
42.08
KB
-rwxr-xr-x
setvtrgb
14.42
KB
-rwxr-xr-x
sftp
150.35
KB
-rwxr-xr-x
sg
43.4
KB
-rwsr-xr-x
sha1sum
50.72
KB
-rwxr-xr-x
sha224sum
54.72
KB
-rwxr-xr-x
sha256sum
54.72
KB
-rwxr-xr-x
sha384sum
62.72
KB
-rwxr-xr-x
sha512sum
62.72
KB
-rwxr-xr-x
shasum
9.74
KB
-rwxr-xr-x
showconsolefont
18.38
KB
-rwxr-xr-x
showkey
18.34
KB
-rwxr-xr-x
shred
58.94
KB
-rwxr-xr-x
shtool
138.76
KB
-rwxr-xr-x
shtoolize
15.16
KB
-rwxr-xr-x
shuf
58.81
KB
-rwxr-xr-x
size
34.97
KB
-rwxr-xr-x
skill
26.08
KB
-rwxr-xr-x
slabtop
18.08
KB
-rwxr-xr-x
slogin
714.79
KB
-rwxr-xr-x
smime_keys
30.08
KB
-rwxr-xr-x
snice
26.08
KB
-rwxr-xr-x
socat
369.43
KB
-rwxr-xr-x
soelim
42.2
KB
-rwxr-xr-x
sort
111.45
KB
-rwxr-xr-x
sotruss
4.18
KB
-rwxr-xr-x
splain
18.7
KB
-rwxr-xr-x
split
59.32
KB
-rwxr-xr-x
splitfont
14.19
KB
-rwxr-xr-x
sprof
26.69
KB
-rwxr-xr-x
sq
5.99
KB
-rwxr-xr-x
ssh
714.79
KB
-rwxr-xr-x
ssh-add
334.13
KB
-rwxr-xr-x
ssh-agent
314.13
KB
-rwxr-sr-x
ssh-argv0
1.42
KB
-rwxr-xr-x
ssh-copy-id
10.41
KB
-rwxr-xr-x
ssh-keygen
406.15
KB
-rwxr-xr-x
ssh-keyscan
410.15
KB
-rwxr-xr-x
stat
79.03
KB
-rwxr-xr-x
stdbuf
50.69
KB
-rwxr-xr-x
strings
31.13
KB
-rwxr-xr-x
strip
175.43
KB
-rwxr-xr-x
sudo
153.51
KB
-rwsr-xr-x
sudoedit
153.51
KB
-rwsr-xr-x
sudoreplay
62.84
KB
-rwxr-xr-x
sum
42.73
KB
-rwxr-xr-x
symcryptrun
118.73
KB
-rwxr-xr-x
systemd-analyze
1.38
MB
-rwxr-xr-x
systemd-cat
14.08
KB
-rwxr-xr-x
systemd-cgls
18.17
KB
-rwxr-xr-x
systemd-cgtop
38.09
KB
-rwxr-xr-x
systemd-delta
26.07
KB
-rwxr-xr-x
systemd-detect-virt
14.06
KB
-rwxr-xr-x
systemd-id128
14.06
KB
-rwxr-xr-x
systemd-mount
46.29
KB
-rwxr-xr-x
systemd-path
18.06
KB
-rwxr-xr-x
systemd-resolve
114.22
KB
-rwxr-xr-x
systemd-run
50.27
KB
-rwxr-xr-x
systemd-socket-activate
26.07
KB
-rwxr-xr-x
systemd-stdio-bridge
18.07
KB
-rwxr-xr-x
systemd-umount
46.29
KB
-rwxr-xr-x
tabs
17.99
KB
-rwxr-xr-x
tac
42.72
KB
-rwxr-xr-x
tail
70.91
KB
-rwxr-xr-x
tasksel
16.1
KB
-rwxr-xr-x
taskset
34.08
KB
-rwxr-xr-x
tbl
138.2
KB
-rwxr-xr-x
tee
38.72
KB
-rwxr-xr-x
telnet
113.37
KB
-rwxr-xr-x
telnet.netkit
113.37
KB
-rwxr-xr-x
test
50.66
KB
-rwxr-xr-x
texi2any
52.78
KB
-rwxr-xr-x
texi2dvi
60.31
KB
-rwxr-xr-x
texi2pdf
1.27
KB
-rwxr-xr-x
texindex
3.96
KB
-rwxr-xr-x
tic
86.11
KB
-rwxr-xr-x
time
14.73
KB
-rwxr-xr-x
timedatectl
38.07
KB
-rwxr-xr-x
timeout
43.26
KB
-rwxr-xr-x
tload
14.09
KB
-rwxr-xr-x
tnameserv
6.39
KB
-rwxr-xr-x
toe
21.99
KB
-rwxr-xr-x
top
113.89
KB
-rwxr-xr-x
touch
94.88
KB
-rwxr-xr-x
tput
22.02
KB
-rwxr-xr-x
tr
50.69
KB
-rwxr-xr-x
traceproto
2.82
KB
-rwxr-xr-x
traceproto.db
2.82
KB
-rwxr-xr-x
traceroute
67.16
KB
-rwxr-xr-x
traceroute-nanog
1.58
KB
-rwxr-xr-x
traceroute.db
67.16
KB
-rwxr-xr-x
traceroute6
67.16
KB
-rwxr-xr-x
traceroute6.db
67.16
KB
-rwxr-xr-x
troff
723.59
KB
-rwxr-xr-x
truncate
42.66
KB
-rwxr-xr-x
tryaffix
4.8
KB
-rwxr-xr-x
tset
30
KB
-rwxr-xr-x
tsort
42.66
KB
-rwxr-xr-x
tty
34.63
KB
-rwxr-xr-x
txixml2texi
14.67
KB
-rwxr-xr-x
tzselect
15.01
KB
-rwxr-xr-x
ucf
39.73
KB
-rwxr-xr-x
ucfq
18.91
KB
-rwxr-xr-x
ucfr
10.47
KB
-rwxr-xr-x
ul
14.3
KB
-rwxr-xr-x
umax_pp
179.07
KB
-rwxr-xr-x
unattended-upgrade
83.83
KB
-rwxr-xr-x
unattended-upgrades
83.83
KB
-rwxr-xr-x
unexpand
42.69
KB
-rwxr-xr-x
unicode_stop
530
B
-rwxr-xr-x
uniq
50.75
KB
-rwxr-xr-x
unix2dos
50.02
KB
-rwxr-xr-x
unix2mac
50.02
KB
-rwxr-xr-x
unlink
34.59
KB
-rwxr-xr-x
unlzma
79.29
KB
-rwxr-xr-x
unmkinitramfs
3.51
KB
-rwxr-xr-x
unpack200
101.48
KB
-rwxr-xr-x
unpigz
114.2
KB
-rwxr-xr-x
unshare
26.27
KB
-rwxr-xr-x
unsq
5.99
KB
-rwxr-xr-x
unxz
79.29
KB
-rwxr-xr-x
unzip
178.84
KB
-rwxr-xr-x
unzipsfx
82.66
KB
-rwxr-xr-x
update-alternatives
54.25
KB
-rwxr-xr-x
update-mime-database
55.19
KB
-rwxr-xr-x
update-perl-sax-parsers
6.03
KB
-rwxr-xr-x
updatedb
46.82
KB
-rwxr-xr-x
updatedb.mlocate
46.82
KB
-rwxr-xr-x
uptime
10.07
KB
-rwxr-xr-x
users
34.66
KB
-rwxr-xr-x
utmpdump
30.07
KB
-rwxr-xr-x
vi
2.58
MB
-rwxr-xr-x
view
2.58
MB
-rwxr-xr-x
viewres
27.38
KB
-rwxr-xr-x
vim
2.58
MB
-rwxr-xr-x
vim.basic
2.58
MB
-rwxr-xr-x
vim.tiny
1.15
MB
-rwxr-xr-x
vimdiff
2.58
MB
-rwxr-xr-x
vimtutor
2.07
KB
-rwxr-xr-x
vmstat
34.09
KB
-rwxr-xr-x
volname
5.99
KB
-rwxr-xr-x
w
18.07
KB
-rwxr-xr-x
w.procps
18.07
KB
-rwxr-xr-x
w3m
1.4
MB
-rwxr-xr-x
w3mman
1.18
KB
-rwxr-xr-x
wall
34.08
KB
-rwxr-xr-x
watch
26.41
KB
-rwxr-xr-x
watchgnupg
17.99
KB
-rwxr-xr-x
wc
46.76
KB
-rwxr-xr-x
wget
455.56
KB
-rwxr-xr-x
whatis
54.98
KB
-rwxr-xr-x
whereis
30.51
KB
-rwxr-xr-x
which
946
B
-rwxr-xr-x
whiptail
26.7
KB
-rwxr-xr-x
who
54.81
KB
-rwxr-xr-x
whoami
34.63
KB
-rwxr-xr-x
whois
153.27
KB
-rwxr-xr-x
word-list-compress
13.99
KB
-rwxr-xr-x
write
14.39
KB
-rwxr-sr-x
wsgen
6.34
KB
-rwxr-xr-x
wsimport
6.34
KB
-rwxr-xr-x
wsrep_sst_common
54.05
KB
-rwxr-xr-x
wsrep_sst_mariabackup
50.87
KB
-rwxr-xr-x
wsrep_sst_mysqldump
7.67
KB
-rwxr-xr-x
wsrep_sst_rsync
32.17
KB
-rwxr-xr-x
wsrep_sst_rsync_wan
32.17
KB
-rwxr-xr-x
www-browser
1.4
MB
-rwxr-xr-x
x86_64
22.34
KB
-rwxr-xr-x
x86_64-linux-gnu-addr2line
31.09
KB
-rwxr-xr-x
x86_64-linux-gnu-ar
63.07
KB
-rwxr-xr-x
x86_64-linux-gnu-as
872.93
KB
-rwxr-xr-x
x86_64-linux-gnu-c++filt
30.69
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp
1.05
MB
-rwxr-xr-x
x86_64-linux-gnu-cpp-4.9
814.43
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp-6
930.77
KB
-rwxr-xr-x
x86_64-linux-gnu-cpp-8
1.05
MB
-rwxr-xr-x
x86_64-linux-gnu-dwp
2.74
MB
-rwxr-xr-x
x86_64-linux-gnu-elfedit
38.84
KB
-rwxr-xr-x
x86_64-linux-gnu-g++
1.05
MB
-rwxr-xr-x
x86_64-linux-gnu-g++-8
1.05
MB
-rwxr-xr-x
x86_64-linux-gnu-gcc
1.05
MB
-rwxr-xr-x
x86_64-linux-gnu-gcc-4.9
813.49
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-6
926.77
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-8
1.05
MB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar
34.47
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-4.9
24.25
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-6
26.53
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ar-8
34.47
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm
34.47
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-4.9
24.19
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-6
26.53
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-nm-8
34.47
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib
34.47
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-4....
24.19
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-6
26.53
KB
-rwxr-xr-x
x86_64-linux-gnu-gcc-ranlib-8
34.47
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov
672.09
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-4.9
440.43
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-6
507.93
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-8
672.09
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump
511.95
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump-6
439.86
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-dump-8
511.95
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool
548.02
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool-6
463.92
KB
-rwxr-xr-x
x86_64-linux-gnu-gcov-tool-8
548.02
KB
-rwxr-xr-x
x86_64-linux-gnu-gold
2.97
MB
-rwxr-xr-x
x86_64-linux-gnu-gprof
96.39
KB
-rwxr-xr-x
x86_64-linux-gnu-ld
1.7
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.bfd
1.7
MB
-rwxr-xr-x
x86_64-linux-gnu-ld.gold
2.97
MB
-rwxr-xr-x
x86_64-linux-gnu-nm
47.91
KB
-rwxr-xr-x
x86_64-linux-gnu-objcopy
175.42
KB
-rwxr-xr-x
x86_64-linux-gnu-objdump
345.55
KB
-rwxr-xr-x
x86_64-linux-gnu-pkg-config
2
KB
-rwxr-xr-x
x86_64-linux-gnu-ranlib
63.1
KB
-rwxr-xr-x
x86_64-linux-gnu-readelf
583.06
KB
-rwxr-xr-x
x86_64-linux-gnu-size
34.97
KB
-rwxr-xr-x
x86_64-linux-gnu-strings
31.13
KB
-rwxr-xr-x
x86_64-linux-gnu-strip
175.43
KB
-rwxr-xr-x
x86_64-pc-linux-gnu-pkg-config
54.83
KB
-rwxr-xr-x
xargs
70.21
KB
-rwxr-xr-x
xauth
47.45
KB
-rwxr-xr-x
xdg-user-dir
234
B
-rwxr-xr-x
xdg-user-dirs-update
26.07
KB
-rwxr-xr-x
xdpyinfo
31.49
KB
-rwxr-xr-x
xdriinfo
10.19
KB
-rwxr-xr-x
xev
30.96
KB
-rwxr-xr-x
xfd
32.33
KB
-rwxr-xr-x
xfontsel
40.33
KB
-rwxr-xr-x
xgettext
269.8
KB
-rwxr-xr-x
xjc
6.34
KB
-rwxr-xr-x
xkill
14.32
KB
-rwxr-xr-x
xlsatoms
10.26
KB
-rwxr-xr-x
xlsclients
14.34
KB
-rwxr-xr-x
xlsfonts
18.44
KB
-rwxr-xr-x
xmessage
23.33
KB
-rwxr-xr-x
xprop
40.9
KB
-rwxr-xr-x
xsubpp
5.04
KB
-rwxr-xr-x
xvinfo
14.26
KB
-rwxr-xr-x
xwininfo
42.78
KB
-rwxr-xr-x
xxd
18.12
KB
-rwxr-xr-x
xz
79.29
KB
-rwxr-xr-x
xzcat
79.29
KB
-rwxr-xr-x
xzcmp
6.48
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
yes
34.59
KB
-rwxr-xr-x
zdump
18.4
KB
-rwxr-xr-x
zipdetails
47.36
KB
-rwxr-xr-x
zipgrep
2.88
KB
-rwxr-xr-x
zipinfo
178.84
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : aclocal-1.16
#!/usr/bin/perl -w # -*- perl -*- # Generated from bin/aclocal.in; do not edit by hand. eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac' if 0; # aclocal - create aclocal.m4 by scanning configure.ac # Copyright (C) 1996-2018 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 2, 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 <https://www.gnu.org/licenses/>. # Written by Tom Tromey <tromey@redhat.com>, and # Alexandre Duret-Lutz <adl@gnu.org>. BEGIN { unshift (@INC, '/usr/share/automake-1.16') unless $ENV{AUTOMAKE_UNINSTALLED}; } use strict; use Automake::Config; use Automake::General; use Automake::Configure_ac; use Automake::Channels; use Automake::ChannelDefs; use Automake::XFile; use Automake::FileUtils; use File::Basename; use File::Path (); # Some globals. # Support AC_CONFIG_MACRO_DIRS also with older autoconf. # FIXME: To be removed in Automake 2.0, once we can assume autoconf # 2.70 or later. # FIXME: keep in sync with 'internal/ac-config-macro-dirs.m4'. my $ac_config_macro_dirs_fallback = 'm4_ifndef([AC_CONFIG_MACRO_DIRS], [' . 'm4_defun([_AM_CONFIG_MACRO_DIRS], [])' . 'm4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])' . '])'; # We do not operate in threaded mode. $perl_threads = 0; # Include paths for searching macros. We search macros in this order: # user-supplied directories first, then the directory containing the # automake macros, and finally the system-wide directories for # third-party macros. # @user_includes can be augmented with -I or AC_CONFIG_MACRO_DIRS. # @automake_includes can be reset with the '--automake-acdir' option. # @system_includes can be augmented with the 'dirlist' file or the # ACLOCAL_PATH environment variable, and reset with the '--system-acdir' # option. my @user_includes = (); my @automake_includes = ('/usr/share/aclocal-' . $APIVERSION); my @system_includes = ('/usr/share/aclocal'); # Whether we should copy M4 file in $user_includes[0]. my $install = 0; # --diff my @diff_command; # --dry-run my $dry_run = 0; # configure.ac or configure.in. my $configure_ac; # Output file name. my $output_file = 'aclocal.m4'; # Option --force. my $force_output = 0; # Modification time of the youngest dependency. my $greatest_mtime = 0; # Which macros have been seen. my %macro_seen = (); # Remember the order into which we scanned the files. # It's important to output the contents of aclocal.m4 in the opposite order. # (Definitions in first files we have scanned should override those from # later files. So they must appear last in the output.) my @file_order = (); # Map macro names to file names. my %map = (); # Ditto, but records the last definition of each macro as returned by --trace. my %map_traced_defs = (); # Map basenames to macro names. my %invmap = (); # Map file names to file contents. my %file_contents = (); # Map file names to file types. my %file_type = (); use constant FT_USER => 1; use constant FT_AUTOMAKE => 2; use constant FT_SYSTEM => 3; # Map file names to included files (transitively closed). my %file_includes = (); # Files which have already been added. my %file_added = (); # Files that have already been scanned. my %scanned_configure_dep = (); # Serial numbers, for files that have one. # The key is the basename of the file, # the value is the serial number represented as a list. my %serial = (); # Matches a macro definition. # AC_DEFUN([macroname], ...) # or # AC_DEFUN(macroname, ...) # When macroname is '['-quoted , we accept any character in the name, # except ']'. Otherwise macroname stops on the first ']', ',', ')', # or '\n' encountered. my $ac_defun_rx = "(?:AU_ALIAS|A[CU]_DEFUN|AC_DEFUN_ONCE)\\((?:\\[([^]]+)\\]|([^],)\n]+))"; # Matches an AC_REQUIRE line. my $ac_require_rx = "AC_REQUIRE\\((?:\\[([^]]+)\\]|([^],)\n]+))\\)"; # Matches an m4_include line. my $m4_include_rx = "(m4_|m4_s|s)include\\((?:\\[([^]]+)\\]|([^],)\n]+))\\)"; # Match a serial number. my $serial_line_rx = '^#\s*serial\s+(\S*)'; my $serial_number_rx = '^\d+(?:\.\d+)*$'; # Autoconf version. This variable is set by 'trace_used_macros'. my $ac_version; # User directory containing extra m4 files for macros definition, # as extracted from calls to the macro AC_CONFIG_MACRO_DIRS. # This variable is updated by 'trace_used_macros'. my @ac_config_macro_dirs; # If set, names a temporary file that must be erased on abnormal exit. my $erase_me; # Constants for the $ERR_LEVEL parameter of the 'scan_m4_dirs' function. use constant SCAN_M4_DIRS_SILENT => 0; use constant SCAN_M4_DIRS_WARN => 1; use constant SCAN_M4_DIRS_ERROR => 2; ################################################################ # Prototypes for all subroutines. sub add_file ($); sub add_macro ($); sub check_acinclude (); sub install_file ($$); sub list_compare (\@\@); sub parse_ACLOCAL_PATH (); sub parse_arguments (); sub reset_maps (); sub scan_configure (); sub scan_configure_dep ($); sub scan_file ($$$); sub scan_m4_dirs ($$@); sub scan_m4_files (); sub strip_redundant_includes (%); sub trace_used_macros (); sub unlink_tmp (;$); sub usage ($); sub version (); sub write_aclocal ($@); sub xmkdir_p ($); ################################################################ # Erase temporary file ERASE_ME. Handle signals. sub unlink_tmp (;$) { my ($sig) = @_; if ($sig) { verb "caught SIG$sig, bailing out"; } if (defined $erase_me && -e $erase_me && !unlink ($erase_me)) { fatal "could not remove '$erase_me': $!"; } undef $erase_me; # reraise default handler. if ($sig) { $SIG{$sig} = 'DEFAULT'; kill $sig => $$; } } $SIG{'INT'} = $SIG{'TERM'} = $SIG{'QUIT'} = $SIG{'HUP'} = 'unlink_tmp'; END { unlink_tmp } sub xmkdir_p ($) { my $dir = shift; local $@ = undef; return if -d $dir or eval { File::Path::mkpath $dir }; chomp $@; $@ =~ s/\s+at\s.*\bline\s\d+.*$//; fatal "could not create directory '$dir': $@"; } # Check macros in acinclude.m4. If one is not used, warn. sub check_acinclude () { foreach my $key (keys %map) { # FIXME: should print line number of acinclude.m4. msg ('syntax', "macro '$key' defined in acinclude.m4 but never used") if $map{$key} eq 'acinclude.m4' && ! exists $macro_seen{$key}; } } sub reset_maps () { $greatest_mtime = 0; %macro_seen = (); @file_order = (); %map = (); %map_traced_defs = (); %file_contents = (); %file_type = (); %file_includes = (); %file_added = (); %scanned_configure_dep = (); %invmap = (); %serial = (); undef &search; } # install_file ($SRC, $DESTDIR) sub install_file ($$) { my ($src, $destdir) = @_; my $dest = $destdir . "/" . basename ($src); my $diff_dest; verb "installing $src to $dest"; if ($force_output || !exists $file_contents{$dest} || $file_contents{$src} ne $file_contents{$dest}) { if (-e $dest) { msg 'note', "overwriting '$dest' with '$src'"; $diff_dest = $dest; } else { msg 'note', "installing '$dest' from '$src'"; } if (@diff_command) { if (! defined $diff_dest) { # $dest does not exist. We create an empty one just to # run diff, and we erase it afterward. Using the real # the destination file (rather than a temporary file) is # good when diff is run with options that display the # file name. # # If creating $dest fails, fall back to /dev/null. At # least one diff implementation (Tru64's) cannot deal # with /dev/null. However working around this is not # worth the trouble since nobody run aclocal on a # read-only tree anyway. $erase_me = $dest; my $f = new IO::File "> $dest"; if (! defined $f) { undef $erase_me; $diff_dest = '/dev/null'; } else { $diff_dest = $dest; $f->close; } } my @cmd = (@diff_command, $diff_dest, $src); $! = 0; verb "running: @cmd"; my $res = system (@cmd); Automake::FileUtils::handle_exec_errors "@cmd", 1 if $res; unlink_tmp; } elsif (!$dry_run) { xmkdir_p ($destdir); xsystem ('cp', $src, $dest); } } } # Compare two lists of numbers. sub list_compare (\@\@) { my @l = @{$_[0]}; my @r = @{$_[1]}; while (1) { if (0 == @l) { return (0 == @r) ? 0 : -1; } elsif (0 == @r) { return 1; } elsif ($l[0] < $r[0]) { return -1; } elsif ($l[0] > $r[0]) { return 1; } shift @l; shift @r; } } ################################################################ # scan_m4_dirs($TYPE, $ERR_LEVEL, @DIRS) # ----------------------------------------------- # Scan all M4 files installed in @DIRS for new macro definitions. # Register each file as of type $TYPE (one of the FT_* constants). # If a directory in @DIRS cannot be read: # - fail hard if $ERR_LEVEL == SCAN_M4_DIRS_ERROR # - just print a warning if $ERR_LEVEL == SCAN_M4_DIRS_WA # - continue silently if $ERR_LEVEL == SCAN_M4_DIRS_SILENT sub scan_m4_dirs ($$@) { my ($type, $err_level, @dirlist) = @_; foreach my $m4dir (@dirlist) { if (! opendir (DIR, $m4dir)) { # TODO: maybe avoid complaining only if errno == ENONENT? my $message = "couldn't open directory '$m4dir': $!"; if ($err_level == SCAN_M4_DIRS_ERROR) { fatal $message; } elsif ($err_level == SCAN_M4_DIRS_WARN) { msg ('unsupported', $message); next; } elsif ($err_level == SCAN_M4_DIRS_SILENT) { next; # Silently ignore. } else { prog_error "invalid \$err_level value '$err_level'"; } } # We reverse the directory contents so that foo2.m4 gets # used in preference to foo1.m4. foreach my $file (reverse sort grep (! /^\./, readdir (DIR))) { # Only examine .m4 files. next unless $file =~ /\.m4$/; # Skip some files when running out of srcdir. next if $file eq 'aclocal.m4'; my $fullfile = File::Spec->canonpath ("$m4dir/$file"); scan_file ($type, $fullfile, 'aclocal'); } closedir (DIR); } } # Scan all the installed m4 files and construct a map. sub scan_m4_files () { # First, scan configure.ac. It may contain macro definitions, # or may include other files that define macros. scan_file (FT_USER, $configure_ac, 'aclocal'); # Then, scan acinclude.m4 if it exists. if (-f 'acinclude.m4') { scan_file (FT_USER, 'acinclude.m4', 'aclocal'); } # Finally, scan all files in our search paths. if (@user_includes) { # Don't explore the same directory multiple times. This is here not # only for speedup purposes. We need this when the user has e.g. # specified 'ACLOCAL_AMFLAGS = -I m4' and has also set # AC_CONFIG_MACRO_DIR[S]([m4]) in configure.ac. This makes the 'm4' # directory to occur twice here and fail on the second call to # scan_m4_dirs([m4]) when the 'm4' directory doesn't exist. # TODO: Shouldn't there be rather a check in scan_m4_dirs for # @user_includes[0]? @user_includes = uniq @user_includes; # Don't complain if the first user directory doesn't exist, in case # we need to create it later (can happen if '--install' was given). scan_m4_dirs (FT_USER, $install ? SCAN_M4_DIRS_SILENT : SCAN_M4_DIRS_WARN, $user_includes[0]); scan_m4_dirs (FT_USER, SCAN_M4_DIRS_ERROR, @user_includes[1..$#user_includes]); } scan_m4_dirs (FT_AUTOMAKE, SCAN_M4_DIRS_ERROR, @automake_includes); scan_m4_dirs (FT_SYSTEM, SCAN_M4_DIRS_ERROR, @system_includes); # Construct a new function that does the searching. We use a # function (instead of just evaluating $search in the loop) so that # "die" is correctly and easily propagated if run. my $search = "sub search {\nmy \$found = 0;\n"; foreach my $key (reverse sort keys %map) { $search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { add_macro ("' . $key . '"); $found = 1; }' . "\n"); } $search .= "return \$found;\n};\n"; eval $search; prog_error "$@\n search is $search" if $@; } ################################################################ # Add a macro to the output. sub add_macro ($) { my ($macro) = @_; # Ignore unknown required macros. Either they are not really # needed (e.g., a conditional AC_REQUIRE), in which case aclocal # should be quiet, or they are needed and Autoconf itself will # complain when we trace for macro usage later. return unless defined $map{$macro}; verb "saw macro $macro"; $macro_seen{$macro} = 1; add_file ($map{$macro}); } # scan_configure_dep ($file) # -------------------------- # Scan a configure dependency (configure.ac, or separate m4 files) # for uses of known macros and AC_REQUIREs of possibly unknown macros. # Recursively scan m4_included files. sub scan_configure_dep ($) { my ($file) = @_; # Do not scan a file twice. return () if exists $scanned_configure_dep{$file}; $scanned_configure_dep{$file} = 1; my $mtime = mtime $file; $greatest_mtime = $mtime if $greatest_mtime < $mtime; my $contents = exists $file_contents{$file} ? $file_contents{$file} : contents $file; my $line = 0; my @rlist = (); my @ilist = (); foreach (split ("\n", $contents)) { ++$line; # Remove comments from current line. s/\bdnl\b.*$//; s/\#.*$//; # Avoid running all the following regexes on white lines. next if /^\s*$/; while (/$m4_include_rx/go) { my $ifile = $2 || $3; # Skip missing 'sinclude'd files. next if $1 ne 'm4_' && ! -f $ifile; push @ilist, $ifile; } while (/$ac_require_rx/go) { push (@rlist, $1 || $2); } # The search function is constructed dynamically by # scan_m4_files. The last parenthetical match makes sure we # don't match things that look like macro assignments or # AC_SUBSTs. if (! &search && /(^|\s+)(AM_[A-Z0-9_]+)($|[^\]\)=A-Z0-9_])/) { # Macro not found, but AM_ prefix found. # Make this just a warning, because we do not know whether # the macro is actually used (it could be called conditionally). msg ('unsupported', "$file:$line", "macro '$2' not found in library"); } } add_macro ($_) foreach (@rlist); scan_configure_dep ($_) foreach @ilist; } # add_file ($FILE) # ---------------- # Add $FILE to output. sub add_file ($) { my ($file) = @_; # Only add a file once. return if ($file_added{$file}); $file_added{$file} = 1; scan_configure_dep $file; } # Point to the documentation for underquoted AC_DEFUN only once. my $underquoted_manual_once = 0; # scan_file ($TYPE, $FILE, $WHERE) # -------------------------------- # Scan a single M4 file ($FILE), and all files it includes. # Return the list of included files. # $TYPE is one of FT_USER, FT_AUTOMAKE, or FT_SYSTEM, depending # on where the file comes from. # $WHERE is the location to use in the diagnostic if the file # does not exist. sub scan_file ($$$) { my ($type, $file, $where) = @_; my $basename = basename $file; # Do not scan the same file twice. return @{$file_includes{$file}} if exists $file_includes{$file}; # Prevent potential infinite recursion (if two files include each other). return () if exists $file_contents{$file}; unshift @file_order, $file; $file_type{$file} = $type; fatal "$where: file '$file' does not exist" if ! -e $file; my $fh = new Automake::XFile $file; my $contents = ''; my @inc_files = (); my %inc_lines = (); my $defun_seen = 0; my $serial_seen = 0; my $serial_older = 0; while ($_ = $fh->getline) { # Ignore '##' lines. next if /^##/; $contents .= $_; my $line = $_; if ($line =~ /$serial_line_rx/go) { my $number = $1; if ($number !~ /$serial_number_rx/go) { msg ('syntax', "$file:$.", "ill-formed serial number '$number', " . "expecting a version string with only digits and dots"); } elsif ($defun_seen) { # aclocal removes all definitions from M4 file with the # same basename if a greater serial number is found. # Encountering a serial after some macros will undefine # these macros... msg ('syntax', "$file:$.", 'the serial number must appear before any macro definition'); } # We really care about serials only for non-automake macros # and when --install is used. But the above diagnostics are # made regardless of this, because not using --install is # not a reason not the fix macro files. elsif ($install && $type != FT_AUTOMAKE) { $serial_seen = 1; my @new = split (/\./, $number); verb "$file:$.: serial $number"; if (!exists $serial{$basename} || list_compare (@new, @{$serial{$basename}}) > 0) { # Delete any definition we knew from the old macro. foreach my $def (@{$invmap{$basename}}) { verb "$file:$.: ignoring previous definition of $def"; delete $map{$def}; } $invmap{$basename} = []; $serial{$basename} = \@new; } else { $serial_older = 1; } } } # Remove comments from current line. # Do not do it earlier, because the serial line is a comment. $line =~ s/\bdnl\b.*$//; $line =~ s/\#.*$//; while ($line =~ /$ac_defun_rx/go) { $defun_seen = 1; if (! defined $1) { msg ('syntax', "$file:$.", "underquoted definition of $2" . "\n run info Automake 'Extending aclocal'\n" . " or see https://www.gnu.org/software/automake/manual/" . "automake.html#Extending-aclocal") unless $underquoted_manual_once; $underquoted_manual_once = 1; } # If this macro does not have a serial and we have already # seen a macro with the same basename earlier, we should # ignore the macro (don't exit immediately so we can still # diagnose later #serial numbers and underquoted macros). $serial_older ||= ($type != FT_AUTOMAKE && !$serial_seen && exists $serial{$basename}); my $macro = $1 || $2; if (!$serial_older && !defined $map{$macro}) { verb "found macro $macro in $file: $."; $map{$macro} = $file; push @{$invmap{$basename}}, $macro; } else { # Note: we used to give an error here if we saw a # duplicated macro. However, this turns out to be # extremely unpopular. It causes actual problems which # are hard to work around, especially when you must # mix-and-match tool versions. verb "ignoring macro $macro in $file: $."; } } while ($line =~ /$m4_include_rx/go) { my $ifile = $2 || $3; # Skip missing 'sinclude'd files. next if $1 ne 'm4_' && ! -f $ifile; push (@inc_files, $ifile); $inc_lines{$ifile} = $.; } } # Ignore any file that has an old serial (or no serial if we know # another one with a serial). return () if ($serial_older || ($type != FT_AUTOMAKE && !$serial_seen && exists $serial{$basename})); $file_contents{$file} = $contents; # For some reason I don't understand, it does not work # to do "map { scan_file ($_, ...) } @inc_files" below. # With Perl 5.8.2 it undefines @inc_files. my @copy = @inc_files; my @all_inc_files = (@inc_files, map { scan_file ($type, $_, "$file:$inc_lines{$_}") } @copy); $file_includes{$file} = \@all_inc_files; return @all_inc_files; } # strip_redundant_includes (%FILES) # --------------------------------- # Each key in %FILES is a file that must be present in the output. # However some of these files might already include other files in %FILES, # so there is no point in including them another time. # This removes items of %FILES which are already included by another file. sub strip_redundant_includes (%) { my %files = @_; # Always include acinclude.m4, even if it does not appear to be used. $files{'acinclude.m4'} = 1 if -f 'acinclude.m4'; # File included by $configure_ac are redundant. $files{$configure_ac} = 1; # Files at the end of @file_order should override those at the beginning, # so it is important to preserve these trailing files. We can remove # a file A if it is going to be output before a file B that includes # file A, not the converse. foreach my $file (reverse @file_order) { next unless exists $files{$file}; foreach my $ifile (@{$file_includes{$file}}) { next unless exists $files{$ifile}; delete $files{$ifile}; verb "$ifile is already included by $file"; } } # configure.ac is implicitly included. delete $files{$configure_ac}; return %files; } sub trace_used_macros () { my %files = map { $map{$_} => 1 } keys %macro_seen; %files = strip_redundant_includes %files; # When AC_CONFIG_MACRO_DIRS is used, avoid possible spurious warnings # from autom4te about macros being "m4_require'd but not m4_defun'd"; # for more background, see: # https://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00004.html # as well as autoconf commit 'v2.69-44-g1ed0548', "warn: allow aclocal # to silence m4_require warnings". my $early_m4_code .= "m4_define([m4_require_silent_probe], [-])"; my $traces = ($ENV{AUTOM4TE} || 'autom4te'); $traces .= " --language Autoconf-without-aclocal-m4 "; $traces = "echo '$early_m4_code' | $traces - "; # Support AC_CONFIG_MACRO_DIRS also with older autoconf. # Note that we can't use '$ac_config_macro_dirs_fallback' here, because # a bug in option parsing code of autom4te 2.68 and earlier will cause # it to read standard input last, even if the "-" argument is specified # early. # FIXME: To be removed in Automake 2.0, once we can assume autoconf # 2.70 or later. $traces .= "$automake_includes[0]/internal/ac-config-macro-dirs.m4 "; # All candidate files. $traces .= join (' ', (map { "'$_'" } (grep { exists $files{$_} } @file_order))) . " "; # All candidate macros. $traces .= join (' ', (map { "--trace='$_:\$f::\$n::\${::}%'" } ('AC_DEFUN', 'AC_DEFUN_ONCE', 'AU_DEFUN', '_AM_AUTOCONF_VERSION', 'AC_CONFIG_MACRO_DIR_TRACE', # FIXME: Tracing the next two macros is a hack for # compatibility with older autoconf. Remove this in # Automake 2.0, when we can assume Autoconf 2.70 or # later. 'AC_CONFIG_MACRO_DIR', '_AM_CONFIG_MACRO_DIRS')), # Do not trace $1 for all other macros as we do # not need it and it might contains harmful # characters (like newlines). (map { "--trace='$_:\$f::\$n'" } (keys %macro_seen))); verb "running $traces $configure_ac"; my $tracefh = new Automake::XFile ("$traces $configure_ac |"); @ac_config_macro_dirs = (); my %traced = (); while ($_ = $tracefh->getline) { chomp; my ($file, $macro, $arg1) = split (/::/); $traced{$macro} = 1 if exists $macro_seen{$macro}; if ($macro eq 'AC_DEFUN' || $macro eq 'AC_DEFUN_ONCE' || $macro eq 'AU_DEFUN') { $map_traced_defs{$arg1} = $file; } elsif ($macro eq '_AM_AUTOCONF_VERSION') { $ac_version = $arg1; } elsif ($macro eq 'AC_CONFIG_MACRO_DIR_TRACE') { push @ac_config_macro_dirs, $arg1; } # FIXME: We still need to trace AC_CONFIG_MACRO_DIR # for compatibility with older autoconf. Remove this # once we can assume Autoconf 2.70 or later. elsif ($macro eq 'AC_CONFIG_MACRO_DIR') { @ac_config_macro_dirs = ($arg1); } # FIXME:This is an hack for compatibility with older autoconf. # Remove this once we can assume Autoconf 2.70 or later. elsif ($macro eq '_AM_CONFIG_MACRO_DIRS') { # Empty leading/trailing fields might be produced by split, # hence the grep is really needed. push @ac_config_macro_dirs, grep (/./, (split /\s+/, $arg1)); } } # FIXME: in Autoconf >= 2.70, AC_CONFIG_MACRO_DIR calls # AC_CONFIG_MACRO_DIR_TRACE behind the scenes, which could # leave unwanted duplicates in @ac_config_macro_dirs. # Remove this in Automake 2.0, when we'll stop tracing # AC_CONFIG_MACRO_DIR explicitly. @ac_config_macro_dirs = uniq @ac_config_macro_dirs; $tracefh->close; return %traced; } sub scan_configure () { # Make sure we include acinclude.m4 if it exists. if (-f 'acinclude.m4') { add_file ('acinclude.m4'); } scan_configure_dep ($configure_ac); } ################################################################ # Write output. # Return 0 iff some files were installed locally. sub write_aclocal ($@) { my ($output_file, @macros) = @_; my $output = ''; my %files = (); # Get the list of files containing definitions for the macros used. # (Filter out unused macro definitions with $map_traced_defs. This # can happen when an Autoconf macro is conditionally defined: # aclocal sees the potential definition, but this definition is # actually never processed and the Autoconf implementation is used # instead.) for my $m (@macros) { $files{$map{$m}} = 1 if (exists $map_traced_defs{$m} && $map{$m} eq $map_traced_defs{$m}); } # Do not explicitly include a file that is already indirectly included. %files = strip_redundant_includes %files; my $installed = 0; for my $file (grep { exists $files{$_} } @file_order) { # Check the time stamp of this file, and of all files it includes. for my $ifile ($file, @{$file_includes{$file}}) { my $mtime = mtime $ifile; $greatest_mtime = $mtime if $greatest_mtime < $mtime; } # If the file to add looks like outside the project, copy it # to the output. The regex catches filenames starting with # things like '/', '\', or 'c:\'. if ($file_type{$file} != FT_USER || $file =~ m,^(?:\w:)?[\\/],) { if (!$install || $file_type{$file} != FT_SYSTEM) { # Copy the file into aclocal.m4. $output .= $file_contents{$file} . "\n"; } else { # Install the file (and any file it includes). my $dest; for my $ifile (@{$file_includes{$file}}, $file) { install_file ($ifile, $user_includes[0]); } $installed = 1; } } else { # Otherwise, simply include the file. $output .= "m4_include([$file])\n"; } } if ($installed) { verb "running aclocal anew, because some files were installed locally"; return 0; } # Nothing to output?! # FIXME: Shouldn't we diagnose this? return 1 if ! length ($output); if ($ac_version) { # Do not use "$output_file" here for the same reason we do not # use it in the header below. autom4te will output the name of # the file in the diagnostic anyway. $output = "m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [$ac_version],, [m4_warning([this file was generated for autoconf $ac_version. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) $output"; } # We used to print "# $output_file generated automatically etc." But # this creates spurious differences when using autoreconf. Autoreconf # creates aclocal.m4t and then rename it to aclocal.m4, but the # rebuild rules generated by Automake create aclocal.m4 directly -- # this would gives two ways to get the same file, with a different # name in the header. $output = "# generated automatically by aclocal $VERSION -*- Autoconf -*- # Copyright (C) 1996-$RELEASE_YEAR Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. $ac_config_macro_dirs_fallback $output"; # We try not to update $output_file unless necessary, because # doing so invalidate Autom4te's cache and therefore slows down # tools called after aclocal. # # We need to overwrite $output_file in the following situations. # * The --force option is in use. # * One of the dependencies is younger. # (Not updating $output_file in this situation would cause # make to call aclocal in loop.) # * The contents of the current file are different from what # we have computed. if (!$force_output && $greatest_mtime < mtime ($output_file) && $output eq contents ($output_file)) { verb "$output_file unchanged"; return 1; } verb "writing $output_file"; if (!$dry_run) { if (-e $output_file && !unlink $output_file) { fatal "could not remove '$output_file': $!"; } my $out = new Automake::XFile "> $output_file"; print $out $output; } return 1; } ################################################################ # Print usage and exit. sub usage ($) { my ($status) = @_; print <<'EOF'; Usage: aclocal [OPTION]... Generate 'aclocal.m4' by scanning 'configure.ac' or 'configure.in' Options: --automake-acdir=DIR directory holding automake-provided m4 files --system-acdir=DIR directory holding third-party system-wide files --diff[=COMMAND] run COMMAND [diff -u] on M4 files that would be changed (implies --install and --dry-run) --dry-run pretend to, but do not actually update any file --force always update output file --help print this help, then exit -I DIR add directory to search list for .m4 files --install copy third-party files to the first -I directory --output=FILE put output in FILE (default aclocal.m4) --print-ac-dir print name of directory holding system-wide third-party m4 files, then exit --verbose don't be silent --version print version number, then exit -W, --warnings=CATEGORY report the warnings falling in CATEGORY Warning categories include: syntax dubious syntactic constructs (default) unsupported unknown macros (default) all all the warnings (default) no-CATEGORY turn off warnings in CATEGORY none turn off all the warnings error treat warnings as errors Report bugs to <bug-automake@gnu.org>. GNU Automake home page: <http://www.gnu.org/software/automake/>. General help using GNU software: <https://www.gnu.org/gethelp/>. EOF exit $status; } # Print version and exit. sub version () { print <<EOF; aclocal (GNU $PACKAGE) $VERSION Copyright (C) $RELEASE_YEAR Free Software Foundation, Inc. License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl-2.0.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Tom Tromey <tromey\@redhat.com> and Alexandre Duret-Lutz <adl\@gnu.org>. EOF exit 0; } # Parse command line. sub parse_arguments () { my $print_and_exit = 0; my $diff_command; my %cli_options = ( 'help' => sub { usage(0); }, 'version' => \&version, 'system-acdir=s' => sub { shift; @system_includes = @_; }, 'automake-acdir=s' => sub { shift; @automake_includes = @_; }, 'diff:s' => \$diff_command, 'dry-run' => \$dry_run, 'force' => \$force_output, 'I=s' => \@user_includes, 'install' => \$install, 'output=s' => \$output_file, 'print-ac-dir' => \$print_and_exit, 'verbose' => sub { setup_channel 'verb', silent => 0; }, 'W|warnings=s' => \&parse_warnings, ); use Automake::Getopt (); Automake::Getopt::parse_options %cli_options; if (@ARGV > 0) { fatal ("non-option arguments are not accepted: '$ARGV[0]'.\n" . "Try '$0 --help' for more information."); } if ($print_and_exit) { print "@system_includes\n"; exit 0; } if (defined $diff_command) { $diff_command = 'diff -u' if $diff_command eq ''; @diff_command = split (' ', $diff_command); $install = 1; $dry_run = 1; } # Finally, adds any directory listed in the 'dirlist' file. if (@system_includes && open (DIRLIST, "$system_includes[0]/dirlist")) { while (<DIRLIST>) { # Ignore '#' lines. next if /^#/; # strip off newlines and end-of-line comments s/\s*\#.*$//; chomp; foreach my $dir (glob) { push (@system_includes, $dir) if -d $dir; } } close (DIRLIST); } } # Add any directory listed in the 'ACLOCAL_PATH' environment variable # to the list of system include directories. sub parse_ACLOCAL_PATH () { return if not defined $ENV{"ACLOCAL_PATH"}; # Directories in ACLOCAL_PATH should take precedence over system # directories, so we use unshift. However, directories that # come first in ACLOCAL_PATH take precedence over directories # coming later, which is why the result of split is reversed. foreach my $dir (reverse split /:/, $ENV{"ACLOCAL_PATH"}) { unshift (@system_includes, $dir) if $dir ne '' && -d $dir; } } ################################################################ # Don't refer to installation directories from the build environment if (exists $ENV{"AUTOMAKE_UNINSTALLED"}) { @automake_includes = (); @system_includes = (); } @automake_includes = ($ENV{"ACLOCAL_AUTOMAKE_DIR"}) if (exists $ENV{"ACLOCAL_AUTOMAKE_DIR"}); parse_WARNINGS; # Parse the WARNINGS environment variable. parse_arguments; parse_ACLOCAL_PATH; $configure_ac = require_configure_ac; # We may have to rerun aclocal if some file have been installed, but # it should not happen more than once. The reason we must run again # is that once the file has been moved from /usr/share/aclocal/ to the # local m4/ directory it appears at a new place in the search path, # hence it should be output at a different position in aclocal.m4. If # we did not rerun aclocal, the next run of aclocal would produce a # different aclocal.m4. my $loop = 0; my $rerun_due_to_macrodir = 0; while (1) { ++$loop; prog_error "too many loops" if $loop > 2 + $rerun_due_to_macrodir; reset_maps; scan_m4_files; scan_configure; last if $exit_code; my %macro_traced = trace_used_macros; if (!$rerun_due_to_macrodir && @ac_config_macro_dirs) { # The directory specified in calls to the AC_CONFIG_MACRO_DIRS # m4 macro (if any) must go after the user includes specified # explicitly with the '-I' option. push @user_includes, @ac_config_macro_dirs; # We might have to scan some new directory of .m4 files. $rerun_due_to_macrodir++; next; } if ($install && !@user_includes) { fatal "installation of third-party macros impossible without " . "-I options nor AC_CONFIG_MACRO_DIR{,S} m4 macro(s)"; } last if write_aclocal ($output_file, keys %macro_traced); last if $dry_run; } check_acinclude; exit $exit_code;
Close