firefox-esr68/firefox-rebuild-databases.pl.in.generatechrome

49 lines
1.1 KiB
Text
Raw Normal View History

2012-09-05 20:00:48 +04:00
#!/usr/bin/perl
# modified for Firefox 3 by tpg@mandriva.org
#
use File::Path;
use File::Copy;
use File::Glob ":glob";
use POSIX ":sys_wait_h";
$timeout = 60;
$ENV{HOME}="/root";
$ENV{TMP}="/tmp";
$ENV{MOZILLA_FIVE_HOME}="LIBDIR/firefox-FIREFOX_VERSION";
$ENV{LD_LIBRARY_PATH}="LIBDIR/firefox-FIREFOX_VERSION";
$ENV{MOZ_DISABLE_GNOME}="1";
umask 022;
if ( -f "LIBDIR/firefox-FIREFOX_VERSION/firefox-bin" )
{
# change cache date to cause it to be dirty
unlink <LIBDIR/firefox-FIREFOX_VERSION/components/*.dat>;
# Register firefox
$pid = fork();
# I am the child.
if ($pid == 0) {
exec("LIBDIR/firefox-FIREFOX_VERSION/firefox-bin -register> /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 LIBDIR/firefox-FIREFOX_VERSION/firefox-bin");
}
}
}