[devel] Переключение хашера между бранчами

Kharitonov A. Dmitry kharpost at rambler.ru
Mon Oct 5 15:02:19 UTC 2009


Kharitonov A. Dmitry wrote:
> Alexey Tourbin wrote:
>> On Mon, Oct 05, 2009 at 02:47:58PM +0400, Kharitonov A. Dmitry wrote:
>>  
>>> Денис Смирнов wrote:
>>>    
>>>> On Mon, Oct 05, 2009 at 09:26:56AM +0400, Alexey Rusakov wrote:
>>>>
>>>> AR> Какие-то наработки на эту тему есть в etersoft-build-utils. Там 
>>>> есть
>>>> AR> недокументированная, кажется, возможность - если спек-файл лежит в
>>>> AR> каталоге(!) вида M40/M41/M50, то сборочница формируется из
>>>> AR> соответствующего бранча. Я в итоге пришёл к набору алиасов, 
>>>> отличающихся
>>>> AR> на --apt-config=... и --repo=...
>>>>
>>>> Когда я собирал в разные репо -- я использовал скрипт, который 
>>>> смотрит на
>>>> релиз пакета.
>>>>  
>>>>       
>>> на сколько я понял --repo*= -- это куда поместить готовый пакет -- 
>>> это мне не интересно
>>>
>>> --apt-config= -- пока не получилось прикрутить локальный репозиторий 
>>> с dir:etc как-то подружиться не удалось. Может я смотрю не туда? 
>>> Есть пример?
>>>     
>>
>>     ~/.hasher/config
>> workdir=$TMPDIR/build
>> mkdir -p "$workdir"
>> known_mountpoints=/proc
>> packager="$(rpm --eval %packager)"
>> apt_config=~/.hasher/apt.conf
>> sed "s|@HOME@|$HOME|g" <"$apt_config".in >"$apt_config"
>>
>>     ~/.hasher/apt.conf.in
>> Dir::Etc::SourceList "@HOME@/.hasher/sources.list";
>> Dir::Etc::SourceParts "/var/empty/";
>> Dir::State::lists "@HOME@/.hasher/lists/";
>> Dir::Cache::archives "@HOME@/.hasher/archives/";
>>
>> Последние две строчки включают кеширование скоченых пакетов,
>> если в sources.list используется удаленный репозитарий.
>>   
> Теперь понятно, почему у меня не работает
> Финальный конфиг:
> Dir::Etc::SourceList "/etc/apt/40/";
> Dir::Etc::SourceList "/home/user/tmp/hasher/aptbox/etc/apt/sources.list";
> RPM::RootDir "/home/user/tmp/hasher/aptbox";
> APT::Install::Virtual "true";
> APT::Install::VirtualVersion "true";
>
> Здесь видно, что моё значение перекрывается значением по умолчанию
>
> [user at eeedima git&gear]$ which mkaptbox
> /usr/bin/mkaptbox
> [user at eeedima git&gear]$ rpm -qf /usr/bin/mkaptbox
> hasher-1.3.6-alt1
после исправления всё начинает работать разумно (приводит к ошибке -- 
путь-то не правильный)
Dir::Etc::SourceList "/etc/apt/40/";
RPM::RootDir "/home/user/tmp/hasher/aptbox";
APT::Install::Virtual "true";
APT::Install::VirtualVersion "true";
E: Слишком длинная запись 1 в списке источников /etc/apt/40/.

после исправления пути всё заработало.

solo@ у тебя хашер свежее посмотри /usr/bin/mkaptbox

в районе строк 270-290
# create final apt.conf file.
cat >"$apt_config_file" <<__EOF__
Dir::State "$aptbox/var/lib/apt/";
Dir::Cache "$aptbox/var/cache/apt/";
${apt_config:+$(cat "$apt_config")}
 >>>>Dir::Etc::SourceList "$aptbox/etc/apt/sources.list";<<<<
RPM::RootDir "$aptbox";
APT::Install::Virtual "true";
APT::Install::VirtualVersion "true";
__EOF__
echo "create final apt.conf file"
cat "$apt_config_file"

verbose "Created APT configuration file \`$apt_config_file'."

# create a new sources.list file.
target_config="./etc/apt/sources.list"

Если строчка, помеченная >>>>  <<<< есть -- буду вешать багу




More information about the Devel mailing list