[devel] hasher: пакеты, установленные по зависимостям

Alexey Gladkov legion на altlinux.ru
Пт Окт 25 15:33:57 MSK 2024


On Fri, Oct 25, 2024 at 02:44:55PM +0300, Антон Мидюков wrote:
> 25.10.2024 14:31, Alexey Gladkov пишет:
> > On Fri, Oct 25, 2024 at 01:06:08PM +0300, Антон Мидюков wrote:
> >>> Да как раз можем. В mki-image-install мы вычисляем список пакетов, который
> >>> потом передаётся hsh-install.
> >>>
> >>
> >> Есть проблема. На вход подаются виртуальные пакеты и пакеты вида "^kernel-(image|modules-())-(std-def)$",
> >> поэтому простое вычитание пакетов для установки из установленных не даёт нужный результат.
> >> Так что я не знаю как с этим быть.
> > 
> > В mki-image-install есть вот такой код:
> > 
> > mki_list_pkgs "$@" |
> > 	xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir"
> > 
> > Функция mki_list_pkgs() разворачивает паттерны (если они есть) в список.
> > Вывод этой утилиты нужно сохранить во временный файл и после hsh-install
> > скопировать список в образ и выполнить apt-mark в image.
> > 
> 
> Я использовал mki_list_pkgs "$@" для получения входного списка.
> Но не развернулись записи вида "^kernel-(image|modules-())-(std-def)$".

Чтобы такое развернуть можно попробовать использовать tools/mki-expand-pkgs.

> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm.
> Пакета, который устанавливается по этому провайдсу, не будет во входном списке.

Можно попробовать сделать аналог mki-expand-pkgs и проверять по
"$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать
виртуальные пакеты.

-- 
Rgrds, legion



Подробная информация о списке рассылки Devel