ALT Linux repositórios
Group :: Rede/Outros
RPM: redirector
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
dbl/ 0000755 0000000 0000000 00000000000 11037710044 0011612 5 ustar 00root root 0000000 0000000 dbl/FAST 0000755 0000000 0000000 00000000206 11037710044 0012273 0 ustar 00root root 0000000 0000000 #!/bin/bash
/usr/local/rejik3/dbl/Update.Fast
/usr/local/rejik3/dbl/dbl_expand /usr/local/rejik3/dbl/fast.dbl
squid -k reconfigure dbl/FULL 0000755 0000000 0000000 00000000201 11037710044 0012273 0 ustar 00root root 0000000 0000000 #!/bin/bash
/usr/local/rejik3/dbl/Update
/usr/local/rejik3/dbl/dbl_expand /usr/local/rejik3/dbl/list.dbl
squid -k reconfigure dbl/Update 0000755 0000000 0000000 00000007645 11037710044 0012776 0 ustar 00root root 0000000 0000000 #!/usr/bin/perl -w
use File::Copy;
$login="";
$pass="";
$WGET="/usr/bin/wget";
$dir="/usr/local/rejik3/dbl";
# Write log function
sub wlog
{
my ($sec, $min, $hour, $mday, $mon, $year) = localtime ;
open (LOG,">>$dir/update.log") or die "Can't open $dir/update.log log: $!\n";
printf LOG "%4d-%02d-%02d %2d:%02d:%02d %s\n", $year + 1900,$mon+1, $mday, $hour, $min, $sec,$_[0];
close (LOG);
}
wlog("======= Start update ========");
# Get local dbl version
if (-e "$dir/VERSION")
{
open(VER,"<$dir/VERSION") or die "Can't open $dir/VERSION: $!\n";
$version=<VER>;
close (VER);
}
else
{$version="1";}
# Download new file's
wlog("Download new files (curent local version is $version)");
$ret=system("$WGET -t 1 -o $dir/wget.log \"http://rejik.ru/cgi-bin/download2.cgi?Login=$login\&Pass=$pass\&Version=$version\" -O $dir/new.tmp");
if ($ret!=0)
{
wlog("Can't download. See $dir/wget.log for error\n");
exit;
}
#Check to html
open (FD,"<$dir/new.tmp") or die "Can't open $dir/new.tmp: $!\n";
$line=<FD>;
if ($line =~/\<\!DOCTYPE HTML PUBLIC/)
{
wlog("Download html file. See $dir/new.html\n");
close(FD);
move("$dir/new.tmp","$dir/new.html");
exit;
}
# Untar new file's
wlog("Untar new files to $dir/NEW");
system("rm -f $dir/NEW/*; rmdir $dir/NEW");
system("mkdir $dir/NEW");
$ret=system("tar xf $dir/new.tmp -C $dir/NEW >$dir/tar.log 2>$dir/tar.log");
if ($ret!=0)
{
wlog("Can't untar. Command \"tar xzf $dir/new.tmp -C $dir/NEW >$dir/tar.log 2>$dir/tar.log\" return error. See $dir/tar.log for error\n");
exit;
}
# Get new file's list
opendir(DIR,"$dir/NEW") or die "Can't opendir $dir/NEW: $!\n";
while (defined($file=readdir(DIR)))
{
next if $file =~/^\.\.?$/;
push (@files,$file);
}
# Check for one x.gz file
if ($files[0]=~/^(\d+)\.gz/)
{
copy("$dir/NEW/$1.gz", "$dir/list.dbl");
open(VER,">$dir/VERSION") or die "Can't open $dir/VERSION: $!\n";
print VER "$1";
close (VER);
unlink("$dir/new.tmp","$dir/tar.log","$dir/wget.log");
wlog("Copy new file to $dir/list.dbl\n");
exit;
}
# Check for NONE file
if ($files[0] eq "NONE")
{
unlink("$dir/new.tmp","$dir/tar.log","$dir/wget.log");
wlog("New data not found. You have last version.\n");
exit;
}
# Check for SCORE file
if ($files[0] eq "SCORE")
{
unlink("$dir/new.tmp","$dir/tar.log","$dir/wget.log");
wlog("You dont have score to download dbl list.\n");
exit;
}
## Unpack list.dbl to list.tmp
wlog("Unpack list.dbl to list.tmp");
$ret=system("cat $dir/list.dbl | gzip -d >$dir/list.tmp");
if ($ret!=0)
{
wlog("Can\'t ungzip. Command \"cat $dir/list.dbl | gzip -d >$dir/list.tmp\" return error.\n");
exit;
}
$continue_flag=1;
while ($continue_flag)
{
$continue_flag=0;
foreach $file (@files)
{
if ($file =~/${version}_(\d+)\.gz/)
{
#ungzip patch
wlog("ungzip $dir/NEW/${version}_$1\.gz to $dir/NEW/${version}_$1");
$ret=system("cat $dir/NEW/${version}_$1\.gz | gzip -d >$dir/NEW/${version}_$1");
if ($ret!=0)
{
wlog("Can't ungzip. Command \"cat $dir/NEW/${version}_$1\.gz | gzip -d >$dir/NEW/${version}_$1\" return error.\n");
exit;
}
wlog("patch $dir/list.tmp by ${version}_$1");
$ret=system("patch -s $dir/list.tmp -i $dir/NEW/${version}_$1");
if ($ret!=0)
{
wlog("Can't patch. Command \"patch -s $dir/list.tmp -i $dir/NEW/${version}_$1\" return error.\n");
exit;
}
$version=$1;
$continue_flag=1;
}
}
}
## Pack list.dbl to list.tmp
wlog("Pack list.tmp to list.dbl\n");
$ret=system("cat $dir/list.tmp | gzip -c >$dir/list.dbl");
if ($ret!=0)
{
wlog("Can\'t ungzip. Command \"cat $dir/list.tmp | gzip -c >$dir/list.dbl\" return error.\n");
exit;
}
# Set new verion
open(VER,">$dir/VERSION") or die "Can't open $dir/VERSION: $!\n";
print VER $version;
close (VER);
# Delete temp files
unlink("$dir/new.tmp","$dir/tar.log","$dir/wget.log","$dir/list.tmp");