Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.35
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
sbin /
Delete
Unzip
Name
Size
Permission
Date
Action
a2disconf
15.89
KB
-rwxr-xr-x
2019-06-16 11:49
a2dismod
15.89
KB
-rwxr-xr-x
2019-06-16 11:49
a2dissite
15.89
KB
-rwxr-xr-x
2019-06-16 11:49
a2enconf
15.89
KB
-rwxr-xr-x
2019-06-16 11:49
a2enmod
15.89
KB
-rwxr-xr-x
2019-06-16 11:49
a2ensite
15.89
KB
-rwxr-xr-x
2019-06-16 11:49
a2query
9.64
KB
-rwxr-xr-x
2022-03-18 13:54
accessdb
10.23
KB
-rwxrwxrwx
2016-12-13 14:10
add-shell
860
B
-rwxrwxrwx
2017-04-02 19:10
addgnupghome
3.01
KB
-rwxrwxrwx
2019-02-07 21:57
addgroup
33.7
KB
-rwxrwxrwx
2016-06-27 00:55
adduser
33.7
KB
-rwxrwxrwx
2016-06-27 00:55
anacron
34.02
KB
-rwxr-xr-x
2017-05-29 18:36
apache2
651.16
KB
-rwxr-xr-x
2022-03-18 13:54
apache2ctl
7.05
KB
-rwxr-xr-x
2019-10-13 17:39
apachectl
7.05
KB
-rwxr-xr-x
2019-10-13 17:39
applygnupgdefaults
2.17
KB
-rwxrwxrwx
2019-02-07 21:57
arp
62.03
KB
-rwxrwxrwx
2016-12-26 06:58
arpaname
9.99
KB
-rwxr-xr-x
2022-03-19 14:43
arpd
46.84
KB
-rwxrwxrwx
2017-11-24 10:22
aspell-autobuildhash
13.22
KB
-rwxrwxrwx
2016-10-10 11:58
backup-manager
6.94
KB
-rwxrwxrwx
2016-08-23 12:51
bacula-console
44.77
KB
-rwxr-xr-x
2020-08-26 20:03
bacula-fd
239.47
KB
-rwxr-xr-x
2020-08-26 20:03
bconsole
44.77
KB
-rwxr-xr-x
2020-08-26 20:03
biosdecode
18.82
KB
-rwxrwxrwx
2016-09-01 04:59
bsmtp
18.52
KB
-rwxr-xr-x
2020-08-26 20:03
btraceback
2.27
KB
-rwxr-xr-x
2020-08-26 20:03
check_forensic
952
B
-rwxr-xr-x
2011-04-26 17:10
chgpasswd
57.8
KB
-rwxr-xr-x
2021-03-17 10:27
chpasswd
49.9
KB
-rwxr-xr-x
2021-03-17 10:27
chroot
38.88
KB
-rwxrwxrwx
2017-02-22 13:23
clamd
202.1
KB
-rwxr-xr-x
2022-05-27 11:18
clamonacc
190.09
KB
-rwxr-xr-x
2022-05-27 11:18
convertquota
71.74
KB
-rwxrwxrwx
2018-02-24 07:55
cpgr
52
KB
-rwxr-xr-x
2021-03-17 10:27
cppw
52
KB
-rwxr-xr-x
2021-03-17 10:27
cron
47.48
KB
-rwxr-xr-x
2021-10-29 22:04
dbconfig-generate-include
12.37
KB
-rwxrwxrwx
2017-01-05 20:23
dbconfig-load-include
5.57
KB
-rwxrwxrwx
2017-01-05 20:23
ddns-confgen
17.99
KB
-rwxr-xr-x
2022-03-19 14:43
delgroup
15.43
KB
-rwxrwxrwx
2016-06-27 00:55
deluser
15.43
KB
-rwxrwxrwx
2016-06-27 00:55
dmidecode
102.49
KB
-rwxrwxrwx
2016-09-01 04:59
dnssec-checkds
10.66
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-coverage
28.07
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-dsfromkey
50
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-dsfromkey-pkcs11
50
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-importkey
50
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-importkey-pkcs11
50
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-keyfromlabel
54
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-keyfromlabel-pkcs11
54
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-keygen
62
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-keygen-pkcs11
62
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-revoke
46
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-revoke-pkcs11
46
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-settime
54
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-settime-pkcs11
54
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-signzone
102.03
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-signzone-pkcs11
102.03
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-verify
46.01
KB
-rwxr-xr-x
2022-03-19 14:43
dnssec-verify-pkcs11
46.01
KB
-rwxr-xr-x
2022-03-19 14:43
dovecot
86.09
KB
-rwxr-xr-x
2021-01-05 13:19
dpkg-preconfigure
3.52
KB
-rwxrwxrwx
2017-05-21 19:08
dpkg-reconfigure
4.23
KB
-rwxrwxrwx
2017-05-21 19:08
e2freefrag
10.07
KB
-rwxrwxrwx
2020-07-25 11:03
e4crypt
22.07
KB
-rwxrwxrwx
2020-07-25 11:03
e4defrag
25.99
KB
-rwxrwxrwx
2020-07-25 11:03
edquota
80.11
KB
-rwxrwxrwx
2018-02-24 07:55
fdformat
30.66
KB
-rwxrwxrwx
2018-03-07 19:29
filefrag
14.02
KB
-rwxrwxrwx
2020-07-25 11:03
genccode
10.59
KB
-rwxr-xr-x
2021-10-12 12:29
gencmn
10.64
KB
-rwxr-xr-x
2021-10-12 12:29
genl
50.79
KB
-rwxrwxrwx
2017-11-24 10:22
gennorm2
43.38
KB
-rwxr-xr-x
2021-10-12 12:29
genrandom
10
KB
-rwxr-xr-x
2022-03-19 14:43
gensprep
18.98
KB
-rwxr-xr-x
2021-10-12 12:29
groupadd
57.86
KB
-rwxr-xr-x
2021-03-17 10:27
groupdel
53.65
KB
-rwxr-xr-x
2021-03-17 10:27
groupmems
53.84
KB
-rwxr-xr-x
2021-03-17 10:27
groupmod
68.22
KB
-rwxr-xr-x
2021-03-17 10:27
grpck
53.77
KB
-rwxr-xr-x
2021-03-17 10:27
grpconv
49.65
KB
-rwxr-xr-x
2021-03-17 10:27
grpunconv
49.65
KB
-rwxr-xr-x
2021-03-17 10:27
grub-bios-setup
790.19
KB
-rwxrwxrwx
2019-06-12 13:20
grub-install
996.58
KB
-rwxrwxrwx
2019-06-12 13:20
grub-macbless
777.88
KB
-rwxrwxrwx
2019-06-12 13:20
grub-mkconfig
7.82
KB
-rwxrwxrwx
2019-06-12 13:20
grub-mkdevicemap
204.47
KB
-rwxrwxrwx
2019-06-12 13:20
grub-probe
790.19
KB
-rwxrwxrwx
2019-06-12 13:20
grub-reboot
4.01
KB
-rwxrwxrwx
2019-06-12 13:20
grub-set-default
3.48
KB
-rwxrwxrwx
2019-06-12 13:20
httxt2dbm
9.99
KB
-rwxr-xr-x
2022-03-18 13:54
iconvconfig
22.66
KB
-rwxrwxrwx
2019-02-06 22:17
icupkg
19.18
KB
-rwxr-xr-x
2021-10-12 12:29
inetd
34.38
KB
-rwxrwxrwx
2017-01-02 11:49
install-sgmlcatalog
4.44
KB
-rwxrwxrwx
2016-11-07 08:06
invoke-rc.d
17.69
KB
-rwxrwxrwx
2017-05-02 12:20
ip6tables-apply
6.85
KB
-rwxrwxrwx
2017-04-12 11:41
iptables-apply
6.85
KB
-rwxrwxrwx
2017-04-12 11:41
irqbalance
55.38
KB
-rwxrwxrwx
2017-03-10 19:56
isc-hmac-fixup
9.99
KB
-rwxr-xr-x
2022-03-19 14:43
ispell-autobuildhash
15.39
KB
-rwxrwxrwx
2016-10-10 11:58
ldattach
30.71
KB
-rwxrwxrwx
2018-03-07 19:29
locale-gen
1.5
KB
-rwxrwxrwx
2017-07-31 16:32
logrotate
75.27
KB
-rwxrwxrwx
2017-01-07 19:54
logwatch
58
KB
-rwxr-xr-x
2017-01-21 17:44
make-ssl-cert
3.78
KB
-rwxrwxrwx
2017-04-28 21:58
mkinitramfs
10.01
KB
-rwxrwxrwx
2017-04-26 03:00
mklost+found
9.99
KB
-rwxrwxrwx
2020-07-25 11:03
mysqld
17.05
MB
-rwxr-xr-x
2021-03-22 19:49
named
622.24
KB
-rwxr-xr-x
2022-03-19 14:43
named-checkconf
34.19
KB
-rwxr-xr-x
2022-03-19 14:43
named-checkzone
30.19
KB
-rwxr-xr-x
2022-03-19 14:43
named-compilezone
30.19
KB
-rwxr-xr-x
2022-03-19 14:43
named-journalprint
9.99
KB
-rwxr-xr-x
2022-03-19 14:43
named-pkcs11
622.24
KB
-rwxr-xr-x
2022-03-19 14:43
named-rrchecker
13.99
KB
-rwxr-xr-x
2022-03-19 14:43
netfilter-persistent
1.05
KB
-rwxr-xr-x
2020-05-02 21:33
newusers
78.43
KB
-rwxr-xr-x
2021-03-17 10:27
nfnl_osf
13.99
KB
-rwxrwxrwx
2017-04-12 11:41
nginx
1.01
MB
-rwxr-xr-x
2021-06-07 21:02
nologin
5.99
KB
-rwxr-xr-x
2021-03-17 10:27
nsec3hash
10
KB
-rwxr-xr-x
2022-03-19 14:43
ntp-keygen
73.77
KB
-rwxrwxrwx
2018-02-15 12:45
ntp-wait
3.13
KB
-rwxrwxrwx
2018-02-15 12:45
ntpd
713.22
KB
-rwxrwxrwx
2018-02-15 12:45
ntpdate
75.17
KB
-rwxrwxrwx
2018-02-15 12:45
ntpdate-debian
534
B
-rwxrwxrwx
2018-02-15 12:45
ntptime
18.12
KB
-rwxrwxrwx
2018-02-15 12:45
ownership
10.13
KB
-rwxrwxrwx
2016-09-01 04:59
pam-auth-update
19.03
KB
-rwxrwxrwx
2017-05-27 17:44
pam_getenv
2.82
KB
-rwxrwxrwx
2017-05-27 17:44
pam_timestamp_check
10.37
KB
-rwxrwxrwx
2017-05-27 17:44
paperconfig
4.07
KB
-rwxrwxrwx
2016-11-11 12:28
passenger-memory-stats
5.65
KB
-rwxrwxrwx
2019-03-17 19:40
passenger-status
10.68
KB
-rwxrwxrwx
2019-03-17 19:40
phpdismod
7.11
KB
-rwxrwxrwx
2017-01-01 20:43
phpenmod
7.11
KB
-rwxrwxrwx
2017-01-01 20:43
phpquery
6.26
KB
-rwxrwxrwx
2017-01-01 20:43
pkcs11-destroy
9.99
KB
-rwxr-xr-x
2022-03-19 14:43
pkcs11-keygen
15.58
KB
-rwxr-xr-x
2022-03-19 14:43
pkcs11-list
9.99
KB
-rwxr-xr-x
2022-03-19 14:43
pkcs11-tokens
9.99
KB
-rwxr-xr-x
2022-03-19 14:43
pma-configure
299
B
-rwxr-xr-x
2020-10-23 11:41
pma-secure
157
B
-rwxr-xr-x
2020-10-23 11:41
postalias
17.99
KB
-rwxr-xr-x
2020-02-16 20:59
postcat
14.06
KB
-rwxr-xr-x
2020-02-16 20:59
postconf
175.28
KB
-rwxr-xr-x
2020-02-16 20:59
postdrop
14.12
KB
-rwxr-sr-x
2020-02-16 20:59
postfix
14.07
KB
-rwxr-xr-x
2020-02-16 20:59
postfix-add-filter
4.9
KB
-rwxrwxrwx
2020-02-16 20:59
postfix-add-policy
3.83
KB
-rwxrwxrwx
2020-02-16 20:59
postkick
9.99
KB
-rwxr-xr-x
2020-02-16 20:59
postlock
9.99
KB
-rwxr-xr-x
2020-02-16 20:59
postlog
10.15
KB
-rwxr-xr-x
2020-02-16 20:59
postmap
17.99
KB
-rwxr-xr-x
2020-02-16 20:59
postmulti
26.38
KB
-rwxr-xr-x
2020-02-16 20:59
postqueue
22.07
KB
-rwxr-sr-x
2020-02-16 20:59
postsuper
22.32
KB
-rwxr-xr-x
2020-02-16 20:59
posttls-finger
34.09
KB
-rwxrwxrwx
2020-02-16 20:59
pure-authd
18.41
KB
-rwxrwxrwx
2016-12-08 13:28
pure-ftpd
161.4
KB
-rwxrwxrwx
2016-12-08 13:28
pure-ftpd-control
1.68
KB
-rwxrwxrwx
2016-12-08 13:28
pure-ftpd-virtualchroot
165.4
KB
-rwxrwxrwx
2016-12-08 13:28
pure-ftpd-wrapper
12.16
KB
-rwxrwxrwx
2016-12-08 13:28
pure-ftpwho
22.02
KB
-rwxrwxrwx
2016-12-08 13:28
pure-mrtginfo
9.99
KB
-rwxrwxrwx
2016-12-08 13:28
pure-quotacheck
14.01
KB
-rwxrwxrwx
2016-12-08 13:28
pure-uploadscript
14.26
KB
-rwxrwxrwx
2016-12-08 13:28
pwck
49.84
KB
-rwxr-xr-x
2021-03-17 10:27
pwconv
45.74
KB
-rwxr-xr-x
2021-03-17 10:27
pwunconv
41.72
KB
-rwxr-xr-x
2021-03-17 10:27
qmqp-sink
13.99
KB
-rwxrwxrwx
2020-02-16 20:59
qmqp-source
18.01
KB
-rwxrwxrwx
2020-02-16 20:59
qshape
12.55
KB
-rwxrwxrwx
2020-02-16 20:59
quot
67.48
KB
-rwxrwxrwx
2018-02-24 07:55
quota_nld
75.8
KB
-rwxrwxrwx
2018-02-24 07:55
quotastats
14.38
KB
-rwxrwxrwx
2018-02-24 07:55
quotatool
26.45
KB
-rwxrwxrwx
2014-12-21 21:54
readprofile
18.59
KB
-rwxrwxrwx
2018-03-07 19:29
remove-default-ispell
2.86
KB
-rwxrwxrwx
2016-10-10 11:58
remove-default-wordlist
2.86
KB
-rwxrwxrwx
2016-10-10 11:58
remove-shell
904
B
-rwxrwxrwx
2017-04-02 19:10
repquota
72.05
KB
-rwxrwxrwx
2018-02-24 07:55
rmail
13.99
KB
-rwxrwxrwx
2020-02-16 20:59
rmt
55.03
KB
-rwxr-xr-x
2021-11-27 22:50
rmt-tar
55.03
KB
-rwxr-xr-x
2021-11-27 22:50
rndc
29.99
KB
-rwxr-xr-x
2022-03-19 14:43
rndc-confgen
17.99
KB
-rwxr-xr-x
2022-03-19 14:43
rpc.rquotad
75.96
KB
-rwxrwxrwx
2018-02-24 07:55
rsyslogd
636.3
KB
-rwxr-xr-x
2022-05-20 21:25
rtcwake
42.81
KB
-rwxrwxrwx
2018-03-07 19:29
safe_finger
10.08
KB
-rwxrwxrwx
2016-12-26 00:08
select-default-ispell
3.23
KB
-rwxrwxrwx
2016-10-10 11:58
select-default-wordlist
3.21
KB
-rwxrwxrwx
2016-10-10 11:58
sendmail
26.15
KB
-rwxr-xr-x
2020-02-16 20:59
service
9.83
KB
-rwxrwxrwx
2017-05-02 12:20
setquota
84.11
KB
-rwxrwxrwx
2018-02-24 07:55
smartctl
663.63
KB
-rwxrwxrwx
2016-07-30 19:10
smartd
591.07
KB
-rwxrwxrwx
2016-07-30 19:10
smtp-sink
30.93
KB
-rwxrwxrwx
2020-02-16 20:59
smtp-source
22.02
KB
-rwxrwxrwx
2020-02-16 20:59
snmpd
30.01
KB
-rwxr-xr-x
2020-08-04 17:15
split-logfile
2.36
KB
-rwxr-xr-x
2022-03-18 13:54
sshd
772.48
KB
-rwxrwxrwx
2019-07-15 15:32
tarcat
936
B
-rwxr-xr-x
2021-11-27 22:50
tcpd
10
KB
-rwxrwxrwx
2016-12-26 00:08
tcpdchk
22.13
KB
-rwxrwxrwx
2016-12-26 00:08
tcpdmatch
18.04
KB
-rwxrwxrwx
2016-12-26 00:08
tcpdump
1007.6
KB
-rwxr-xr-x
2020-11-10 15:22
tcptraceroute
1.56
KB
-rwxrwxrwx
2016-08-29 17:45
tcptraceroute.db
1.56
KB
-rwxrwxrwx
2016-08-29 17:45
traceroute
67.16
KB
-rwxrwxrwx
2016-08-29 17:45
try-from
10
KB
-rwxrwxrwx
2016-12-26 00:08
tsig-keygen
17.99
KB
-rwxr-xr-x
2022-03-19 14:43
tunelp
26.61
KB
-rwxrwxrwx
2018-03-07 19:29
tzconfig
106
B
-rwxr-xr-x
2019-10-11 09:23
ufw
4.4
KB
-rwx------
2017-01-10 22:16
unhide
38.26
KB
-rwxrwxrwx
2019-12-17 18:08
unhide-linux
38.26
KB
-rwxrwxrwx
2019-12-17 18:08
unhide-posix
10
KB
-rwxrwxrwx
2019-12-17 18:08
unhide-tcp
18.85
KB
-rwxrwxrwx
2019-12-17 18:08
unhide.rb
13.97
KB
-rwxrwxrwx
2015-11-09 01:23
unhide_rb
14.09
KB
-rwxrwxrwx
2019-12-17 18:08
update-ca-certificates
4.85
KB
-rwxr-xr-x
2021-03-13 18:38
update-catalog
9.15
KB
-rwxrwxrwx
2016-11-07 08:06
update-default-aspell
1
KB
-rwxrwxrwx
2016-10-10 11:58
update-default-ispell
9.68
KB
-rwxrwxrwx
2016-10-10 11:58
update-default-wordlist
7.5
KB
-rwxrwxrwx
2016-10-10 11:58
update-dictcommon-aspell
1
KB
-rwxrwxrwx
2016-10-10 11:58
update-dictcommon-hunspell
782
B
-rwxrwxrwx
2016-10-10 11:58
update-grub
64
B
-rwxrwxrwx
2019-06-12 13:20
update-grub2
64
B
-rwxrwxrwx
2019-06-12 13:20
update-gsfontmap
450
B
-rwxr-xr-x
2022-05-01 17:15
update-inetd
6.05
KB
-rwxrwxrwx
2017-01-15 12:37
update-initramfs
8.02
KB
-rwxrwxrwx
2017-03-06 23:42
update-locale
2.99
KB
-rwxrwxrwx
2016-03-21 00:45
update-mime
8.84
KB
-rwxrwxrwx
2016-05-01 13:20
update-passwd
30.41
KB
-rwxrwxrwx
2017-01-16 16:52
update-rc.d
15.69
KB
-rwxrwxrwx
2017-05-02 12:20
update-xmlcatalog
16.88
KB
-rwxrwxrwx
2016-11-07 15:53
upgrade-from-grub-legacy
1.49
KB
-rwxrwxrwx
2019-06-12 13:20
useradd
119.29
KB
-rwxr-xr-x
2021-03-17 10:27
userdel
82.49
KB
-rwxr-xr-x
2021-03-17 10:27
usermod
119.1
KB
-rwxr-xr-x
2021-03-17 10:27
validlocale
1.73
KB
-rwxrwxrwx
2016-03-21 00:45
vigr
60.22
KB
-rwxr-xr-x
2021-03-17 10:27
vipw
60.22
KB
-rwxr-xr-x
2021-03-17 10:27
visudo
200.34
KB
-rwxr-xr-x
2021-01-23 10:10
vpddecode
14.27
KB
-rwxrwxrwx
2016-09-01 04:59
warnquota
84.11
KB
-rwxrwxrwx
2018-02-24 07:55
xqmstats
14.36
KB
-rwxrwxrwx
2018-02-24 07:55
zic
42.54
KB
-rwxrwxrwx
2019-02-06 22:17
Save
Rename
#!/usr/bin/perl -w use strict; use Debian::DictionariesCommon q(:all); use Debconf::Client::ConfModule q(:all); dico_checkroot (); my $triggered; my $skip_symlinks_setting; my $class = "ispell"; my $program = "update-default-$class"; my $debug = 1 if defined $ENV{'DICT_COMMON_DEBUG'}; # Parse options foreach my $option ( @ARGV ){ if ( $option eq "--skip-symlinks" ){ # Do not try to set symlinks at $linkdir. $skip_symlinks_setting++; } elsif ( $option eq "--rebuild" ){ # info is always rebuilt, so this option is not needed. # It is preserved as a no-op for old maintainer scripts. } elsif ( $option eq "--triggered" ){ # Do not try to enable update-default-$class} trigger but run the script. $triggered++; } else { die "update-default-$class: Bad option \"$option\". Aborting..." } } version ('2.0'); updatedb ($class); my $dictionaries = loaddb ($class); # Preprocess default symlinks dico_preprocess_default_symlinks ($class,$dictionaries); # Enable trigger if needed. Exit cleanly on success. unless ( $triggered ){ exit if dico_activate_trigger("update-default-$class"); } my $manual; my $question = "dictionaries-common/default-$class"; my $iquestion = "dictionaries-common/invalid_debconf_value"; my $debconf_dbase_corruption_question = "dictionaries-common/debconf_database_corruption"; my $newflag = "/var/cache/dictionaries-common/flag-$class-new"; # This flag is intended for remove-default-$class. If we are here we do not # need it any longer, so we reset for future apt runs by cleaning it. if ( -f $newflag ){ print STDERR "$program: Removing $newflag\n" if $debug; unlink $newflag or print STDERR " $program: Warning: could not remove $newflag\n"; } my ($ret, $value) = get ($question); if ( $ret == 0 && $value ){ # Question has a value if ( $value =~ m/^Manual.*/i ){ # Question is set to manual mode print STDERR "$program: Manual mode for \"$class\"\n" if $debug; $manual++; } elsif ( not %$dictionaries ) { # Question has a value, but no manual mode and no class elements available. Unset value. print STDERR "$program: No Manual mode and no $class elements. $question unset.\n" if $debug; $value = ""; set($question,$value); $manual++; } else { # Normal case, question has a value and is set to one of the installed class elements. print STDERR "$program: Default is set to \"$value\" for \"$class\"\n" if $debug; } } elsif ( not %$dictionaries ) { # Question is empty. No default nor class elements available. Proceed as for manual. print STDERR "$program: No \"$class\" elements left.\n" if $debug; $manual++; } else { # Question is empty, but $class elements are installed. # This seems to be debconf database corruption. Warn loudly about it. my %class_pkgs = (); foreach my $lang ( keys %{$dictionaries} ){ if ( defined $dictionaries->{$lang}->{'package'} ){ $class_pkgs{$dictionaries->{$lang}->{'package'}}++; } } my $class_packages = join (', ',sort keys %class_pkgs); subst($debconf_dbase_corruption_question,"class_packages",$class_packages); subst($debconf_dbase_corruption_question,"question",$question); fset ($debconf_dbase_corruption_question,"seen","false"); input("high",$debconf_dbase_corruption_question); title ("dictionaries-common: ispell dictionaries"); go (); # Try harder to get a value after default file my $dico_sysdefault = dico_getsysdefault($class); if ( defined $dico_sysdefault ){ # Not undef. Can be an empty or non-empty string. if ( $dico_sysdefault ){ # True: Non-empty string and not 0 if ( defined $dictionaries->{$dico_sysdefault} ){ $value = $dico_sysdefault; set($question,$value); print STDERR "$program: Missing value for \"$question\" question. Using \"$value\"\n"; } } else { # False: The empty string or 0 $value = "Manual symlinks setting (Forced after default file)"; set($question,$value); $manual++; } } } unless ( $manual ){ # Handle invalid debconf values if ( not exists $dictionaries->{$value} ){ # This can happen because either an invalid debconf value or a # void value due to debconf database corruption. Try after stored # values to stay in the safe side. my @available_keys = sort {lc $a cmp lc $b} keys %$dictionaries; my $choices = join (', ', sort {lc $a cmp lc $b} @available_keys); print STDERR "$program: Trying to get a default value from \"$choices\"\n"; my $forced_key = $available_keys[0] || die "$program: Selected ispell dictionary" . " \"$value\" \n" . "does not correspond to any installed package in the system\n" . "and no alternative ispell dictionary could be selected.\n"; # Warn about what might have happened if not debconf database corruption if ( $value ){ subst($iquestion,"value",$value); fset ($iquestion,"seen","false"); input("high",$iquestion); } # Prepare a selection box to get a default. subst ($question, "choices", $choices); # Put sane values in debconf choices field subst ($question, "echoices", $choices); # Put sane values in debconf echoices field set ($question, $forced_key); # Set debconf value to a sane one fset ($question,"seen","false"); input ("critical", $question); title ("dictionaries-common: ispell dictionaries"); go (); ($ret, $value) = get ($question); die "\n Could not get a valid value for debconf question:\n" . "$question\n" if ( $ret != 0 ); # This should never be reached # Set manual flag if needed to avoid later symlinking $manual++ if ( $value =~ m/^Manual.*/i ); } } # Set default value for ispell dictionaries and wordlists if ( $manual ){ dico_setsysdefault ($class,""); } else { dico_setsysdefault ($class,$value); } # This here is only for ispell, not wordlist my $emacsen_default = "nil"; my $cache_dir = "/var/cache/dictionaries-common"; my $emacsen_default_file = "$cache_dir/emacsen-ispell-default.el"; my $ispell_dicts_list = "$cache_dir/ispell-dicts-list.txt"; unless ( $manual ){ # Get ispell default dict for emacsen if ( exists $dictionaries->{$value}{"emacs-display"} and lc($dictionaries->{$value}{"emacs-display"}) eq "no" ){ $emacsen_default = "nil"; } elsif ( exists $dictionaries->{$value}{"emacsen-name"} ){ $emacsen_default = "\"" . $dictionaries->{$value}{"emacsen-name"} . "\""; } elsif( exists $dictionaries->{$value}{"hash-name"} ){ $emacsen_default = "\"" . $dictionaries->{$value}{"hash-name"} . "\""; } } # Printing a plain list with installed ispell dictionaries, open (IDICTS,"> $ispell_dicts_list") || die "Could not open $ispell_dicts_list for writing\n"; print IDICTS ""; # Make sure this is void if no dictionaries available. foreach ( sort keys %{$dictionaries} ){ print IDICTS "$_\n"; } close (IDICTS); # Printing the default ispell dictionary under emacs open (EMISDEFAULT,"> $emacsen_default_file"); print EMISDEFAULT ";; File automatically generated by update-default-ispell ;; ;; Do not manually edit!! Use select-default-ispell script instead (set-variable \'debian-ispell-dictionary $emacsen_default)\n"; close EMISDEFAULT; # Autobuild hashes and emacsen/jed/squirrelmail stuff where appropriate. print STDERR "update-default-$class: Calling ispell-autobuildhash\n" if $debug; system ("ispell-autobuildhash --triggered") == 0 or die "$program: Error running ispell-autobuildhash\n"; build_emacsen_support (); build_jed_support (); build_squirrelmail_support (); # Clean orphaned remove files and its contents. dico_clean_orphaned_removefiles($class,$dictionaries); # -- End of specific ispell support # Set default symlink(s) and complain if not possible. # For ispell dictionaries using auto-buildhash this should not be done # from dictionaries-common postinst, but from ispell dictionaries postinst. # Otherwise this is called before hashes are autobuild and will fail. # d-c.postinst will call update-default-ispell with --skip-symlinks option. unless ( $skip_symlinks_setting or $manual ) { dico_set_default_symlink($class,$value); } # Local Variables: # perl-indent-level: 2 # End: __END__ =head1 NAME update-default-ispell - update default ispell dictionary =head1 SYNOPSIS update-default-ispell [--skip-symlinks] [--triggered] =head1 DESCRIPTION WARNING: Not to be used from the command line unless you know very well what you are doing. This program is intended to be called from ispell dictionary package postinst, from B<select-default-ispell> or from dictionaries-common postinst. When called under dpkg control with the B<--trigger> option the script is run normally, otherwise the dictionaries-common B<update-default-ispell> trigger is enabled for later run. With the B<--skip-symlinks> option the symlinks setting is skipped. This is needed for B<update-default-ispell> when called from dictionaries-common postinst, since autobuilt hashes may not yet be available. When run normally (from the command line or with B<--trigger>) this script rebuilds the info at F</var/cache/dictionaries-common/ispell.db> after files under F</var/lib/dictionaries-common/ispell>, reads the system default from the debconf database and unless disabled, set default symlinks in F</etc/dictionaries-common> pointing to the appropriate files in F</usr/lib/ispell/>. For ispell this script also updates the system-wide setting F</etc/dictionaries-common/ispell-default> and the emacsen, jed, and SquirrelMail support after known info. =head1 OPTIONS --skip-symlinks Do not try to set symlinks at /etc/dictionaries-common dir. --triggered Run all the code instead of trying to enable update-default-ispell trigger =head1 SEE ALSO The dictionaries-common policy document =head1 AUTHORS Rafael Laboissiere, Agustin Martin Domingo =cut