#! /usr/bin/python3 # # copyright (c) 2006 Josselin Mouette <joss@debian.org> # Licensed under the GNU Lesser General Public License, version 2.1 # See COPYING for details from optparse import OptionParser import sys,os,os.path,shutil,tempfile,subprocess,re def get_valid_languages(): '''Return set of valid languages.''' langs = set() cmd = subprocess.Popen(['locale', '-a'], stdout=subprocess.PIPE) for l in cmd.communicate()[0].decode('UTF-8').split(): if l == 'POSIX': continue langs.add(l.split('_')[0]) return langs def trim(filename, valid_languages): '''Remove redundancy from given %gconf-tree.xml, for faster loading''' infile = open(filename, encoding="utf-8") outfile = open(filename + '.new', 'w', encoding="utf-8") local_schema_re = re.compile('<local_schema locale="([a-zA-Z0-9@._-]+)">') try: in_bad_locale_block = False for l in infile: if in_bad_locale_block: if '</local_schema>' in l: in_bad_locale_block = False continue m = local_schema_re.search(l) if m: if m.group(1) not in valid_languages: in_bad_locale_block = True continue l = l.replace(' short_desc=""', '') l = l.lstrip('\t') outfile.write(l) os.rename(filename + '.new', filename) except: os.unlink(filename + '.new') raise parser = OptionParser(usage="usage: %prog --[un]register file1.schemas [file2.schemas [...]]") parser.add_option("--register", action="store_true", dest="register", help="register schemas to the GConf database", default=None) parser.add_option("--unregister", action="store_false", dest="register", help="unregister schemas from the GConf database", default=None) parser.add_option("--register-all", action="store_true", dest="register_all", help="clean up the GConf database and register all schemas again", default=False) parser.add_option("--no-signal", action="store_false", default=True, dest="signal", help="do not send SIGHUP the running gconfd-2 processes") (options, args) = parser.parse_args() if options.register==None and not options.register_all: parser.error("You need to specify --register or --unregister.") if 'DPKG_RUNNING_VERSION' in os.environ and not options.register_all: # This is what happens when we are called in an obsolete postinst/prerm script # Do nothing, it will be done in the trigger sys.exit(0) schema_location="/usr/share/gconf/schemas" defaults_dest="/var/lib/gconf/defaults" schemas = [ ] if options.register_all: for f in os.listdir(schema_location): if f.endswith(".schemas"): schemas.append(os.path.join(schema_location,f)) else: for schema in args: if not os.path.isabs(schema): schema=os.path.join(schema_location,schema) if os.path.isfile(schema): schemas.append(schema) else: sys.stderr.write('Warning: %s could not be found.\n'%schema) if os.geteuid(): parser.error("You must be root to launch this program.") if options.register_all: options.register=True for f in os.listdir(defaults_dest): os.remove(os.path.join(defaults_dest,f)) open(os.path.join(defaults_dest,"%gconf-tree.xml"), "w", encoding="utf-8").close() if schemas: tmp_home=tempfile.mkdtemp(prefix='gconf-') env=os.environ.copy() env['HOME'] = tmp_home env['GCONF_CONFIG_SOURCE'] = 'xml:readwrite:'+defaults_dest if options.register: arg='--makefile-install-rule' else: arg='--makefile-uninstall-rule' fd = os.open("/dev/null",os.O_WRONLY) save_stdout=os.dup(1) save_stderr=os.dup(2) os.dup2(fd,1) os.dup2(fd,2) os.close(fd) res=os.spawnvpe(os.P_WAIT,'gconftool-2',['gconftool-2',arg]+schemas,env) os.dup2(save_stdout,1) os.close(save_stdout) os.dup2(save_stderr,2) os.close(save_stderr) shutil.rmtree(tmp_home) trim(os.path.join(defaults_dest,"%gconf-tree.xml"), get_valid_languages()) if(res): sys.exit(res) if options.register and options.signal: # tell running processes to re-read the GConf database import signal try: pids=os.popen('pidof gconfd-2').readlines()[0].split() for pid in pids: try: os.kill(int(pid),signal.SIGHUP) except OSError: pass except IndexError: pass
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
ModemManager | File | 1.37 MB | 0755 |
|
NetworkManager | File | 2.54 MB | 0755 |
|
a2disconf | File | 15.89 KB | 0755 |
|
a2dismod | File | 15.89 KB | 0755 |
|
a2dissite | File | 15.89 KB | 0755 |
|
a2enconf | File | 15.89 KB | 0755 |
|
a2enmod | File | 15.89 KB | 0755 |
|
a2ensite | File | 15.89 KB | 0755 |
|
a2query | File | 9.64 KB | 0755 |
|
aa-remove-unknown | File | 2.85 KB | 0755 |
|
aa-status | File | 8.41 KB | 0755 |
|
accessdb | File | 10.23 KB | 0755 |
|
acpid | File | 50.84 KB | 0755 |
|
add-shell | File | 860 B | 0755 |
|
addgnupghome | File | 3.01 KB | 0755 |
|
addgroup | File | 36.45 KB | 0755 |
|
adduser | File | 36.45 KB | 0755 |
|
apache2 | File | 659.69 KB | 0755 |
|
apache2ctl | File | 7.06 KB | 0755 |
|
apachectl | File | 7.06 KB | 0755 |
|
apparmor_status | File | 8.41 KB | 0755 |
|
applygnupgdefaults | File | 2.17 KB | 0755 |
|
arp | File | 61.3 KB | 0755 |
|
arpd | File | 54.03 KB | 0755 |
|
aspell-autobuildhash | File | 13.22 KB | 0755 |
|
atd | File | 26.01 KB | 0755 |
|
bcache-super-show | File | 13.99 KB | 0755 |
|
biosdecode | File | 18.87 KB | 0755 |
|
chat | File | 30.01 KB | 0755 |
|
check_forensic | File | 952 B | 0755 |
|
chgpasswd | File | 57.83 KB | 0755 |
|
chmem | File | 42.08 KB | 0755 |
|
chpasswd | File | 53.86 KB | 0755 |
|
chroot | File | 38.18 KB | 0755 |
|
cpgr | File | 55.96 KB | 0755 |
|
cppw | File | 55.96 KB | 0755 |
|
cron | File | 46.3 KB | 0755 |
|
cryptdisks_start | File | 1.11 KB | 0755 |
|
cryptdisks_stop | File | 1.16 KB | 0755 |
|
danted | File | 858.54 KB | 0755 |
|
dbconfig-generate-include | File | 12.37 KB | 0755 |
|
dbconfig-load-include | File | 5.57 KB | 0755 |
|
delgroup | File | 16.11 KB | 0755 |
|
deluser | File | 16.11 KB | 0755 |
|
dmidecode | File | 106.54 KB | 0755 |
|
dnsmasq | File | 379.6 KB | 0755 |
|
dpkg-preconfigure | File | 3.58 KB | 0755 |
|
dpkg-reconfigure | File | 4.34 KB | 0755 |
|
e2freefrag | File | 14.07 KB | 0755 |
|
e4crypt | File | 22.07 KB | 0755 |
|
e4defrag | File | 25.99 KB | 0755 |
|
escapesrc | File | 22.16 KB | 0755 |
|
faillock | File | 13.99 KB | 0755 |
|
fanatic | File | 35.21 KB | 0755 |
|
fanctl | File | 41.98 KB | 0755 |
|
fdformat | File | 30.08 KB | 0755 |
|
filefrag | File | 14.02 KB | 0755 |
|
gconf-schemas | File | 4.45 KB | 0755 |
|
genccode | File | 10.36 KB | 0755 |
|
gencmn | File | 10.44 KB | 0755 |
|
genl | File | 58.05 KB | 0755 |
|
gennorm2 | File | 54.59 KB | 0755 |
|
gensprep | File | 18.5 KB | 0755 |
|
groupadd | File | 61.92 KB | 0755 |
|
groupdel | File | 70.37 KB | 0755 |
|
groupmems | File | 57.87 KB | 0755 |
|
groupmod | File | 68.18 KB | 0755 |
|
grpck | File | 53.8 KB | 0755 |
|
grpconv | File | 49.68 KB | 0755 |
|
grpunconv | File | 49.68 KB | 0755 |
|
grub-install | File | 1003.51 KB | 0755 |
|
grub-macbless | File | 780.84 KB | 0755 |
|
grub-mkconfig | File | 8.03 KB | 0755 |
|
grub-mkdevicemap | File | 207.62 KB | 0755 |
|
grub-probe | File | 793.09 KB | 0755 |
|
grub-reboot | File | 4.73 KB | 0755 |
|
grub-set-default | File | 832 B | 0755 |
|
grub-set-default-legacy-ec2 | File | 3.13 KB | 0755 |
|
grub-set-default.real | File | 3.47 KB | 0755 |
|
hddtemp | File | 38.68 KB | 0755 |
|
httxt2dbm | File | 9.99 KB | 0755 |
|
iconvconfig | File | 30.25 KB | 0755 |
|
icupkg | File | 18.77 KB | 0755 |
|
init.lxc | File | 38.5 KB | 0755 |
|
init.lxc.static | File | 1005.91 KB | 0755 |
|
invoke-rc.d | File | 15.66 KB | 0755 |
|
ip6tables-apply | File | 6.85 KB | 0755 |
|
iptables-apply | File | 6.85 KB | 0755 |
|
irqbalance | File | 62.68 KB | 0755 |
|
irqbalance-ui | File | 34.06 KB | 0755 |
|
isadump | File | 13.99 KB | 0755 |
|
isaset | File | 9.99 KB | 0755 |
|
iscsi-iname | File | 9.99 KB | 0755 |
|
iscsi_discovery | File | 5.16 KB | 0755 |
|
iscsid | File | 398.15 KB | 0755 |
|
iscsistart | File | 358.13 KB | 0755 |
|
ispell-autobuildhash | File | 15.39 KB | 0755 |
|
ldattach | File | 30.08 KB | 0755 |
|
locale-gen | File | 4.3 KB | 0755 |
|
logrotate | File | 74.09 KB | 0755 |
|
luksformat | File | 3.32 KB | 0755 |
|
make-bcache | File | 18.07 KB | 0755 |
|
make-ssl-cert | File | 3.78 KB | 0755 |
|
mkinitramfs | File | 10.89 KB | 0755 |
|
mklost+found | File | 9.99 KB | 0755 |
|
mysqld | File | 23.16 MB | 0755 |
|
netfilter-persistent | File | 1.05 KB | 0755 |
|
netplan | File | 798 B | 0755 |
|
newusers | File | 82.39 KB | 0755 |
|
nfnl_osf | File | 13.99 KB | 0755 |
|
nologin | File | 5.99 KB | 0755 |
|
openvpn | File | 750.27 KB | 0755 |
|
overlayroot-chroot | File | 2.45 KB | 0755 |
|
ownership | File | 10.13 KB | 0755 |
|
pam-auth-update | File | 19.38 KB | 0755 |
|
pam_getenv | File | 2.82 KB | 0755 |
|
pam_timestamp_check | File | 9.99 KB | 0755 |
|
paperconfig | File | 4.07 KB | 0755 |
|
php7-fpm | File | 37.24 MB | 0755 |
|
phpdismod | File | 7.11 KB | 0755 |
|
phpenmod | File | 7.11 KB | 0755 |
|
phpquery | File | 6.24 KB | 0755 |
|
pma-configure | File | 299 B | 0755 |
|
pma-secure | File | 157 B | 0755 |
|
popcon-largest-unused | File | 543 B | 0755 |
|
popularity-contest | File | 4.92 KB | 0755 |
|
pppd | File | 369.73 KB | 4754 |
|
pppdump | File | 18.1 KB | 0755 |
|
pppoe-discovery | File | 18 KB | 0755 |
|
pppstats | File | 13.99 KB | 0755 |
|
pptp | File | 62.98 KB | 0755 |
|
pptpsetup | File | 6.46 KB | 0755 |
|
pwck | File | 49.8 KB | 0755 |
|
pwconv | File | 45.7 KB | 0755 |
|
pwunconv | File | 45.68 KB | 0755 |
|
readprofile | File | 18.11 KB | 0755 |
|
recvtty | File | 3.4 MB | 0755 |
|
remove-default-ispell | File | 2.86 KB | 0755 |
|
remove-default-wordlist | File | 2.86 KB | 0755 |
|
remove-shell | File | 904 B | 0755 |
|
rmt | File | 58.39 KB | 0755 |
|
rmt-tar | File | 58.39 KB | 0755 |
|
rsyslogd | File | 668.54 KB | 0755 |
|
rtcwake | File | 42.08 KB | 0755 |
|
rtkitctl | File | 10.06 KB | 0755 |
|
runc | File | 8.37 MB | 0755 |
|
sd-helper | File | 3.26 MB | 0755 |
|
seccompagent | File | 2.18 MB | 0755 |
|
select-default-ispell | File | 3.23 KB | 0755 |
|
select-default-wordlist | File | 3.21 KB | 0755 |
|
sensors-detect | File | 204.66 KB | 0755 |
|
service | File | 9.04 KB | 0755 |
|
setvesablank | File | 14.07 KB | 0755 |
|
split-logfile | File | 2.36 KB | 0755 |
|
sshd | File | 772.41 KB | 0755 |
|
tarcat | File | 936 B | 0755 |
|
tcpdump | File | 999.6 KB | 0755 |
|
tzconfig | File | 106 B | 0755 |
|
ufw | File | 4.82 KB | 0755 |
|
update-ca-certificates | File | 5.27 KB | 0755 |
|
update-default-aspell | File | 1 KB | 0755 |
|
update-default-ispell | File | 9.68 KB | 0755 |
|
update-default-wordlist | File | 7.5 KB | 0755 |
|
update-dictcommon-aspell | File | 1 KB | 0755 |
|
update-dictcommon-hunspell | File | 782 B | 0755 |
|
update-fonts-alias | File | 5.71 KB | 0755 |
|
update-fonts-dir | File | 3.98 KB | 0755 |
|
update-fonts-scale | File | 6.1 KB | 0755 |
|
update-grub | File | 64 B | 0755 |
|
update-grub-legacy-ec2 | File | 43.96 KB | 0755 |
|
update-grub2 | File | 64 B | 0755 |
|
update-gsfontmap | File | 450 B | 0755 |
|
update-icon-caches | File | 596 B | 0755 |
|
update-info-dir | File | 1.66 KB | 0755 |
|
update-initramfs | File | 8.04 KB | 0755 |
|
update-locale | File | 2.99 KB | 0755 |
|
update-mime | File | 8.84 KB | 0755 |
|
update-passwd | File | 30.41 KB | 0755 |
|
update-pciids | File | 2.84 KB | 0755 |
|
update-rc.d | File | 16.12 KB | 0755 |
|
update-secureboot-policy | File | 7.43 KB | 0755 |
|
update-usbids | File | 1.05 KB | 0755 |
|
usb_modeswitch | File | 59.51 KB | 0755 |
|
usb_modeswitch_dispatcher | File | 46.16 KB | 0755 |
|
usbmuxd | File | 70.38 KB | 0755 |
|
useradd | File | 123.28 KB | 0755 |
|
userdel | File | 82.48 KB | 0755 |
|
usermod | File | 123.06 KB | 0755 |
|
uuidd | File | 34.16 KB | 0755 |
|
validlocale | File | 1.73 KB | 0755 |
|
vcstime | File | 9.99 KB | 0755 |
|
vigr | File | 60.18 KB | 0755 |
|
vipw | File | 60.18 KB | 0755 |
|
visudo | File | 208.8 KB | 0755 |
|
vpddecode | File | 14.27 KB | 0755 |
|
xfce4-kiosk-query | File | 9.99 KB | 0755 |
|
xfce4-pm-helper | File | 9.99 KB | 0755 |
|
xfpm-power-backlight-helper | File | 13.99 KB | 0755 |
|
xfs_admin | File | 1.35 KB | 0755 |
|
xfs_bmap | File | 638 B | 0755 |
|
xfs_copy | File | 394.31 KB | 0755 |
|
xfs_db | File | 667.63 KB | 0755 |
|
xfs_estimate | File | 10.01 KB | 0755 |
|
xfs_freeze | File | 767 B | 0755 |
|
xfs_fsr | File | 30.02 KB | 0755 |
|
xfs_growfs | File | 382.27 KB | 0755 |
|
xfs_info | File | 472 B | 0755 |
|
xfs_io | File | 130.93 KB | 0755 |
|
xfs_logprint | File | 414.27 KB | 0755 |
|
xfs_mdrestore | File | 370.28 KB | 0755 |
|
xfs_metadump | File | 747 B | 0755 |
|
xfs_mkfile | File | 1007 B | 0755 |
|
xfs_ncheck | File | 650 B | 0755 |
|
xfs_quota | File | 86.01 KB | 0755 |
|
xfs_rtcp | File | 13.99 KB | 0755 |
|
zerofree | File | 9.99 KB | 0755 |
|
zic | File | 54.14 KB | 0755 |
|