diff options
author | Jory Pratt <anarchy@gentoo.org> | 2010-02-18 00:09:52 +0000 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2010-02-18 00:09:52 +0000 |
commit | f6c10039320883c442f162f96745a5c2a35ebb56 (patch) | |
tree | 0245cb18c4212a9ef1c95630797137e4a0d5c66d /www-client | |
parent | [x11-libs/qt-phonon] added exceptions USE flag description (diff) | |
download | historical-f6c10039320883c442f162f96745a5c2a35ebb56.tar.gz historical-f6c10039320883c442f162f96745a5c2a35ebb56.tar.bz2 historical-f6c10039320883c442f162f96745a5c2a35ebb56.zip |
Readd seamonkey-rebuild-databases.pl bug #302694
Package-Manager: portage-2.1.7.17/cvs/Linux x86_64
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/seamonkey/ChangeLog | 5 | ||||
-rw-r--r-- | www-client/seamonkey/Manifest | 3 | ||||
-rw-r--r-- | www-client/seamonkey/files/seamonkey-rebuild-databases.pl | 99 |
3 files changed, 105 insertions, 2 deletions
diff --git a/www-client/seamonkey/ChangeLog b/www-client/seamonkey/ChangeLog index 9070f4185969..0c9c5c6f1907 100644 --- a/www-client/seamonkey/ChangeLog +++ b/www-client/seamonkey/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for www-client/seamonkey # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/seamonkey/ChangeLog,v 1.210 2010/01/15 01:18:57 anarchy Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/seamonkey/ChangeLog,v 1.211 2010/02/18 00:09:51 anarchy Exp $ + + 18 Feb 2010; <anarchy@gentoo.org> +files/seamonkey-rebuild-databases.pl: + Readd seamonkey-rebuild-databases.pl bug #302694 *seamonkey-2.0.2 (15 Jan 2010) diff --git a/www-client/seamonkey/Manifest b/www-client/seamonkey/Manifest index 9b38a8218449..cf8b17464c21 100644 --- a/www-client/seamonkey/Manifest +++ b/www-client/seamonkey/Manifest @@ -6,6 +6,7 @@ AUX google.src 706 RMD160 083b439d5aeb27cdf35345b043e7cf2cbf92d369 SHA1 462c353b AUX icon/seamonkey.desktop 154 RMD160 7e1712122cee7510bf058024338e0b75ea7a5e9a SHA1 6f5e33c702fbaa86974e139e398399927462e31e SHA256 78ebd5d753065f6ecf148a010cb59a4756a8c94447cfac6f4db502864bac5d8c AUX icon/seamonkey.png 4172 RMD160 d296c4d4e0920e4476f4c6c607946434202ad521 SHA1 f76213195e2dc002ff2e411ed0247d2624ce7b09 SHA256 7ffc1911a62b526702f3c991365dd8f18b6427c7e173456a101db4fb4c43ae59 AUX seamonkey-1.1.17-fix-fno-strict-aliasing.patch 793 RMD160 07705e8c0bb41eb7af8e4339913e6f0c2f84eb8b SHA1 0da75e53380a3fe08de8cb617ef761ddd216078d SHA256 db3038447f22c9798d39b556714b197b95e150caca5e42c57c5b13f9c181b466 +AUX seamonkey-rebuild-databases.pl 2344 RMD160 27ae162b4028d80faeb802e575b41590f6ab314e SHA1 678cec60179997d1957a0c8ecb50169985f0b4e2 SHA256 fde49923b949fc300040490e404a9f65b5777e8e7440fd8f0907d17b041fb2af DIST enigmail-0.96.0.tar.gz 1231329 RMD160 62fc1f4d8c5a12ca0b2e49f2aa7ddd28361e736f SHA1 ad9a28ab632a5480bd138a0f60e43a5c07a56646 SHA256 80ad781236f43d9a291205eefd92cf49e75a5836826198f46d3cb90b7eae09d1 DIST enigmail-1.0.0.tar.gz 1221348 RMD160 95ce3576033362de7ff3c82a15415e1275484c18 SHA1 22feb6e6cd592c4c67fd0d0b73ca6a340c3a09f2 SHA256 02469a399d1a06786151ef8a537ad21db37bbbeb5b3750c5edae6965f4b6339d DIST seamonkey-1.1.18-patches-0.1.tar.bz2 21939 RMD160 8c4b268938d02eef8939e155cc4ee45d7d0db476 SHA1 cda3ad61328babe634711dae99d61d068f5803fc SHA256 9575879c9feff93cf2d4a631a9cc986e43c17acf75226782421fa3b6b9fe037b @@ -56,5 +57,5 @@ DIST seamonkey-2.0.2.source.tar.bz2 60965381 RMD160 61868933334a76ac2686fe3b3350 EBUILD seamonkey-1.1.18.ebuild 8466 RMD160 bb9a6edac01774c529f935debb12fe3035924448 SHA1 27d523923b685467a79ed5a9c9de68169011288c SHA256 ba5a5d1b72c4e157f8667e69457843b3ad6c02841c8cf75c67edb0752ef25938 EBUILD seamonkey-2.0.1.ebuild 8732 RMD160 8b0481fa10642abe7729a812120720e619fbff99 SHA1 358b53bdb0d8a0611b45c8e85d85d3d98f6260cc SHA256 983c46a5dc02e039fa1bc157845ad4ea7f566c715b976055da2f995cdeb35804 EBUILD seamonkey-2.0.2.ebuild 8588 RMD160 e600524cdb5c7bf2f3716280ccf5c7b1b89da155 SHA1 44c71d62afd59e37557437dd50e148b90da03da5 SHA256 99e7c1d09201ac8e9975190af73fad3521edfdf81961bde9b7575ed279ade370 -MISC ChangeLog 26311 RMD160 04ab7babcc959ea555ca8749dcb4e5d47f0e1b1a SHA1 0e633bf822d8b43bfde1fca1a02a34096b0596d0 SHA256 36d594563c03e74c235094b8849f3fa3b8102a427944ded56862ffe51deb2c2d +MISC ChangeLog 26438 RMD160 f5b19958ba0f8585be074d359b263adbc6a779de SHA1 1b63f1dfd6a9e8def92f1092d1c78d4d47baccfa SHA256 2822409e4de05315531665fdcf07da676fae8c9a468d7dfa356368cb37ab2d77 MISC metadata.xml 829 RMD160 c182a2e8ace91c991d48bfae65e6c0d0bd974c56 SHA1 4ba2c78927904fd63cbdf642ae398622e8473ec0 SHA256 e1a703d901609365077efc040066b327a6a7641c0a0cc8502fe4557374f550e9 diff --git a/www-client/seamonkey/files/seamonkey-rebuild-databases.pl b/www-client/seamonkey/files/seamonkey-rebuild-databases.pl new file mode 100644 index 000000000000..2556041dae11 --- /dev/null +++ b/www-client/seamonkey/files/seamonkey-rebuild-databases.pl @@ -0,0 +1,99 @@ +#!/usr/bin/perl + +use File::Path; +use File::Copy; +use File::Glob ":glob"; +use POSIX ":sys_wait_h"; + +$timeout = 60; + +%{ENV}->{"MOZILLA_FIVE_HOME"}="/usr/lib/seamonkey"; +%{ENV}->{"LD_LIBRARY_PATH"}="/usr/lib/seamonkey"; + +umask 022; + +if ( -f "/usr/lib/seamonkey/regxpcom" ) +{ + # remove all of the old files + rmtree("/usr/lib/seamonkey/chrome/overlayinfo"); + unlink </usr/lib/seamonkey/chrome/*.rdf>; + unlink("/usr/lib/seamonkey/component.reg"); + unlink("/usr/lib/seamonkey/components/compreg.dat"); + unlink("/usr/lib/seamonkey/components/xpti.dat"); + + # create a new clean path + mkpath("/usr/lib/seamonkey/chrome/overlayinfo"); + + # rebuild the installed-chrome.txt file from the installed + # languages + if ( -f "/usr/lib/seamonkey/chrome/lang/installed-chrome.txt" ) { + rebuild_lang_files(); + } + + # run regxpcom + $pid = fork(); + + # I am the child. + if ($pid == 0) { + exec("/usr/lib/seamonkey/regxpcom > /dev/null 2> /dev/null"); + } + # I am the parent. + else { + my $timepassed = 0; + do { + $kid = waitpid($pid, &WNOHANG); + sleep(1); + $timepassed++; + } until $kid == -1 || $timepassed > $timeout; + + # should we kill? + if ($timepassed > $timeout) { + kill (9, $pid); + # kill -9 can leave threads hanging around + system("/usr/bin/killall -9 regxpcom"); + } + } + + # and run regchrome for good measure + $pid = fork(); + + # I am the child. + if ($pid == 0) { + exec("/usr/lib/seamonkey/regchrome > /dev/null 2> /dev/null"); + } + # I am the parent. + else { + my $timepassed = 0; + do { + $kid = waitpid($pid, &WNOHANG); + sleep(1); + $timepassed++; + } until $kid == -1 || $timepassed > $timeout; + + # should we kill? + if ($timepassed > $timeout) { + kill (9, $pid); + # kill -9 can leave threads hanging around + system("/usr/bin/killall -9 regchrome"); + } + } + +} + + +sub rebuild_lang_files { + unlink("/usr/lib/seamonkey/chrome/installed-chrome.txt"); + + open (OUTPUT, "+>", "/usr/lib/seamonkey/chrome/installed-chrome.txt")|| + die("Failed to open installed-chrome.txt: $!\n"); + + copy("/usr/lib/seamonkey/chrome/lang/installed-chrome.txt", + \*OUTPUT); + + foreach (bsd_glob("/usr/lib/seamonkey/chrome/lang/lang-*.txt")) { + copy($_, \*OUTPUT); + } + + copy("/usr/lib/seamonkey/chrome/lang/default.txt", + \*OUTPUT); +} |