centericq
> Ну-ка покажи dpkg -l libncurses\* и ls -l /usr/include/ncurses.h
он не при чем уже выяснили: 2-3 апреля сломали
ща разгребаемся где
>>>>>> а репозитарий самое просто создается dpkg-scanpackage+dpkg-scansource :)
>>>>> Это всё не то. Помимо того, что их надо найти - их надо переложить по нужным
>>>>> каталогам, т.е. создать дерево.
>>>> rsync замечтательно с этим справляется
>>> rsync справляется с переносом откуда скажут в куда скажут. А мне нужно -
>>> найти в куче директорий с исходниками и прочей билебердой уже готовые
>>> пакаджи, распихать их по $dist/main/binary-$arch/([a-z]|libимя|имя)/ и
>>> сгенерить Packages.bz2 + всё необходимое.
>>>> хотя я для себя какой-то скрипт помнится писал
>>> На эту тему?
>> ага, сперва скрипт делал dpkg-scanpackage и scansource
>> а потом парсил Packages и Sources и строил такое же дерево
>> а уж потом это дерево rsync'ал на сервер.
>> вернее rsync'ает
> Покажи?
тут только имя хоста в конце скрипта встречается
надо в переменную вынести если по ssh rsync'ать
я сперва синкал по nfs
а потом ssh приписал быстро когда с работы надо было синкнуть
ну и получилось не красиво, ну да ладно
для себя пойдет :)
#!/usr/bin/perl
use strict;
use warnings;
umask 022;
our $pub_dir="/share/www/uvw.ru/debian";
our $myhost=`hostname`;
sub sys_command(@)
{
print join(' ', @_), "\n";
system @_;
if ($?)
{
print "return code: $?\n";
return 0;
}
return 1;
}
sys_command "rm -fr .pub";
{
local $pub_dir=".pub";
sys_command "dpkg-scanpackages . /dev/null >Packages";
sys_command "dpkg-scansources . /dev/null >Sources";
open PACKAGES, "<", 'Packages';
my @files=grep /^Filename:/, <PACKAGES>;
close PACKAGES;
s/\s+$//, s/Filename: .\/// for @files;
open SOURCES, '<', 'Sources';
my $dir='.';
while (<SOURCES>)
{
s/\s+$//;
/^Directory:\s*(\S+)/ and $dir=$1;
/^Files:/ or next;
while(<SOURCES>)
{
s/\s+$//;
/\s+[a-fA-F0-9]{32}\s+\d+\s+(.*)$/ or last;
push @files, "$dir/$1";
}
}
sys_command "gzip -9f Sources Packages";
-d $pub_dir or sys_command "mkdir $pub_dir";
sys_command "rm -fr $pub_dir/*";
sys_command "cp -avf Packages.gz Sources.gz $pub_dir/";
for (@files)
{
my ($dir, $file)=(undef, $_);
/(.*)\/(\S+)$/ and ($dir, $file)=($1, $2);
$dir and -d "$pub_dir/$dir" or sys_command "mkdir -p $pub_dir/$dir";
sys_command "cp -avf $_ $pub_dir/$dir/";
}
}
my $rsync_opts='--no-p --no-g --no-o --no-l -L --delete -zrtODv ';
unless ($myhost =~ /^nb/)
{
$rsync_opts.='-e ssh dimka@uvw.ru:';
}
sys_command "rsync .pub/* ${rsync_opts}${pub_dir}";
sys_command "rm -fr .pub"
Reply to:
- References:
- centericq
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: centericq
- From: Andrey Melnikoff <temnota+news@kmv.ru>
- centericq
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: centericq
- From: Andrey Melnikoff <temnota+news@kmv.ru>
- centericq
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: centericq
- From: Andrey Melnikoff <temnota+news@kmv.ru>
- centericq
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: centericq
- From: Andrey Melnikoff <temnota+news@kmv.ru>
- centericq
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>
- Re: centericq
- From: Andrey Melnikoff <temnota+news@kmv.ru>