[devel] changelogs for apt repo
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Май 19 01:35:58 MSD 2008
On Sun, May 18, 2008 at 01:26:20PM +0400, Alexey Gladkov wrote:
> Alexey Tourbin wrote:
> >Я сделал предварительную реализацию
> >сортировки по %{SOURCERPM}.
> >Результаты теперь такие:
>
> У меня вопрос: изменив сортировку по
> алфавиту на сортировку по %{SOURCERPM} ты не
> ухудшил скорость поиска `apt-cache search` ?
А как могла скорость ухудшиться? Однако появилась особенность:
в выдаче 'apt-cache search' найденные пакеты отсортированы не по
названию, а по %{SOURCERPM}.
(Старое поведение)
$ apt-cache search apt |awk '$1~/apt\>/'
apt - Debian's Advanced Packaging Tool with RPM support
apt-conf-desktop - A set of apt configuration files for ALT Linux Desktop
apt-conf-server - A set of apt configuration files for ALT Linux Server
apt-conf-sisyphus - A set of apt configuration files for ALT Linux Sisyphus
apt-rsync - rsync method support for APT
apt-utils - Utilities to create APT repositaries (the indices)
capt - CAPT Linux driver
kio-apt - An apt:/ protocol in konqueror
libapt - APT's core libraries
libapt-devel - Development files and documentation for APT's core libs
apt-log - Log support for APT
apt-scripts - Lua scripts for APT
docs-alterator_apt-kirill - Extra packages
docs-packages_apt - Install and remove programs (packages)
$
(Новое поведение)
$ ./build/aptbox/apt-cache search apt |awk '$1~/apt\>/'
apt - Debian's Advanced Packaging Tool with RPM support
apt-rsync - rsync method support for APT
apt-utils - Utilities to create APT repositaries (the indices)
libapt - APT's core libraries
libapt-devel - Development files and documentation for APT's core libs
apt-conf-desktop - A set of apt configuration files for ALT Linux Desktop
apt-conf-server - A set of apt configuration files for ALT Linux Server
apt-conf-sisyphus - A set of apt configuration files for ALT Linux Sisyphus
capt - CAPT Linux driver
kio-apt - An apt:/ protocol in konqueror
apt-log - Log support for APT
apt-scripts - Lua scripts for APT
docs-alterator_apt-kirill - Extra packages
docs-packages_apt - Install and remove programs (packages)
$
Теперь libapt* "примыкает" к пакетам apt*. В принципе это изменение
нельзя однозначно квалифицировать как нежелательное или неправильное,
потому что нарушение алфавитного порядка позволяет нам догадаться,
что речь идёт о подпакетах, собранных из одного src.rpm пакета
(группировку по src.rpm при поиске можно даже считать интересной фичей,
просто это информация здесь не выражена явно).
К тому же на самом деле сортировка действует только в пределах
репозитария, так что при переходе к noarch пакеты опять начинаются
с буквы "a".
> Не нужно ли ввести корректировку
> алгоритма поиска (apt-cache search), чтобы он
> искал только в первом changelog'е при условии
> что поле %{SOURCERPM} у нескольких пакетов в
> pkglist совпадает?
Наверное, нужно. То есть при совпадении по changelog'у следовало
бы игнорировать все последующие (adjacent) пакеты с совпадающим SOURCERPM.
Но я боюсь что жесткая структурная декомпозиция снизу вверх, то есть
поиск идёт per header, и протощить нужную информацию будет сложновато.
Точнее, не знаю, нужно или не нужно.
Я пока ещё не добавил поиск по changelog'ам.
> Вообще, очень неприятно что changelog'и
> дублируются в этой реализации.
Но если дубли сгруппировать, то они очень хорошо сжимаются.
Если же выносить дублирующуюся информацию в отдельное место,
то, прежде всего, придётся распустить Header как структуру;
а это дополнительный оверхед на bookkeeping + проверка целостности.
Попробуй распустить хедер на два "подхедера", сразу встанет вопрос,
соответствует ли первый подхедер второму или нет.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080519/76653cae/attachment-0002.bin>
Подробная информация о списке рассылки Devel