[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