* [devel] hasher: пакеты, установленные по зависимостям @ 2024-10-14 7:47 Антон Мидюков 2024-10-14 9:57 ` Alexey Gladkov 2024-10-14 9:58 ` Ivan A. Melnikov 0 siblings, 2 replies; 29+ messages in thread From: Антон Мидюков @ 2024-10-14 7:47 UTC (permalink / raw) To: ALT Devel discussion list Здравствуйте Все пакеты, которые ставятся в hasher считаются apt'ом установленными вручную. То есть все пакеты, вытянутые по зависимостям, тоже. Это поведение как-то можно изменить? Это нужно, чтобы в live и rootfs, собираемых в mkimage, пакеты, установленные по зависимостям, можно было бы удалить при помощи apt-get autoremove. В свою очередь это требуется для того, чтобы после удаления alterator-setup в rooftfs система чистилась от лишних пакетов, как при обычной установке. -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-14 7:47 [devel] hasher: пакеты, установленные по зависимостям Антон Мидюков @ 2024-10-14 9:57 ` Alexey Gladkov 2024-10-14 9:58 ` Ivan A. Melnikov 1 sibling, 0 replies; 29+ messages in thread From: Alexey Gladkov @ 2024-10-14 9:57 UTC (permalink / raw) To: ALT Linux Team development discussions On Mon, Oct 14, 2024 at 10:47:17AM +0300, Антон Мидюков wrote: > Здравствуйте > > Все пакеты, которые ставятся в hasher считаются apt'ом установленными вручную. То есть все пакеты, вытянутые по зависимостям, тоже. > Это поведение как-то можно изменить? > > Это нужно, чтобы в live и rootfs, собираемых в mkimage, пакеты, установленные по зависимостям, можно было бы удалить при помощи apt-get autoremove. > В свою очередь это требуется для того, чтобы после удаления alterator-setup в rooftfs система чистилась от лишних пакетов, как при обычной установке. Есть run-image-scripts и там можно сделать apt-mark на то что хочется. Этот вариант не подходит ? -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-14 7:47 [devel] hasher: пакеты, установленные по зависимостям Антон Мидюков 2024-10-14 9:57 ` Alexey Gladkov @ 2024-10-14 9:58 ` Ivan A. Melnikov 2024-10-14 10:16 ` Alexey Gladkov 1 sibling, 1 reply; 29+ messages in thread From: Ivan A. Melnikov @ 2024-10-14 9:58 UTC (permalink / raw) To: ALT Linux Team development discussions On Mon, Oct 14, 2024 at 10:47:17AM GMT, Антон Мидюков wrote: > Здравствуйте > > Все пакеты, которые ставятся в hasher считаются apt'ом установленными > вручную. То есть все пакеты, вытянутые по зависимостям, тоже. Это > поведение как-то можно изменить? hasher формирует список пакетов "снаружи" chroot'а; внутри chroot'а все пакеты ставятся одинаково, через rpmi; на этом этапе уже нет информации о том, какие пакеты были указаны явно, а какие вытянуты по зависимостям. > Это нужно, чтобы в live и rootfs, собираемых в mkimage, пакеты, > установленные по зависимостям, можно было бы удалить при помощи apt-get > autoremove. В свою очередь это требуется для того, чтобы после удаления > alterator-setup в rooftfs система чистилась от лишних пакетов, как при > обычной установке. Когда я размышлял об этой проблеме, я думал, что нужен специальный шаг после установки пакетов, чтобы перемакировать пакеты с помощью apt-mark auto. -- wbr, iv m. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-14 9:58 ` Ivan A. Melnikov @ 2024-10-14 10:16 ` Alexey Gladkov 2024-10-14 10:32 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-14 10:16 UTC (permalink / raw) To: ALT Linux Team development discussions On Mon, Oct 14, 2024 at 01:58:01PM +0400, Ivan A. Melnikov wrote: > On Mon, Oct 14, 2024 at 10:47:17AM GMT, Антон Мидюков wrote: > > Здравствуйте > > > > Все пакеты, которые ставятся в hasher считаются apt'ом установленными > > вручную. То есть все пакеты, вытянутые по зависимостям, тоже. Это > > поведение как-то можно изменить? > > hasher формирует список пакетов "снаружи" chroot'а; внутри > chroot'а все пакеты ставятся одинаково, через rpmi; на этом > этапе уже нет информации о том, какие пакеты были указаны явно, > а какие вытянуты по зависимостям. А какая разница указаны ли пакеты явно или нет ? Они же все теперь часть live образа или rootfs. Их всех можно пометить как auto. Разве нет ? > > Это нужно, чтобы в live и rootfs, собираемых в mkimage, пакеты, > > установленные по зависимостям, можно было бы удалить при помощи apt-get > > autoremove. В свою очередь это требуется для того, чтобы после удаления > > alterator-setup в rooftfs система чистилась от лишних пакетов, как при > > обычной установке. > > Когда я размышлял об этой проблеме, я думал, что нужен > специальный шаг после установки пакетов, чтобы перемакировать > пакеты с помощью apt-mark auto. > > -- > wbr, > iv m. > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-14 10:16 ` Alexey Gladkov @ 2024-10-14 10:32 ` Антон Мидюков 2024-10-14 10:51 ` Alexey Gladkov 0 siblings, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-14 10:32 UTC (permalink / raw) To: devel 14.10.2024 13:16, Alexey Gladkov пишет: > On Mon, Oct 14, 2024 at 01:58:01PM +0400, Ivan A. Melnikov wrote: >> On Mon, Oct 14, 2024 at 10:47:17AM GMT, Антон Мидюков wrote: >>> Здравствуйте >>> >>> Все пакеты, которые ставятся в hasher считаются apt'ом установленными >>> вручную. То есть все пакеты, вытянутые по зависимостям, тоже. Это >>> поведение как-то можно изменить? >> >> hasher формирует список пакетов "снаружи" chroot'а; внутри >> chroot'а все пакеты ставятся одинаково, через rpmi; на этом >> этапе уже нет информации о том, какие пакеты были указаны явно, >> а какие вытянуты по зависимостям. > > А какая разница указаны ли пакеты явно или нет ? Они же все теперь часть > live образа или rootfs. Их всех можно пометить как auto. Разве нет ? apt-get autoremove их всех удалит тогда. Нужно отметить apt-mark auto только те пакеты, которых не было на входе hsh-install Мы не можем это пофиксить в mki-install, то есть в mimage непосредственно? > >>> Это нужно, чтобы в live и rootfs, собираемых в mkimage, пакеты, >>> установленные по зависимостям, можно было бы удалить при помощи apt-get >>> autoremove. В свою очередь это требуется для того, чтобы после удаления >>> alterator-setup в rooftfs система чистилась от лишних пакетов, как при >>> обычной установке. >> >> Когда я размышлял об этой проблеме, я думал, что нужен >> специальный шаг после установки пакетов, чтобы перемакировать >> пакеты с помощью apt-mark auto. >> >> -- >> wbr, >> iv m. >> _______________________________________________ >> Devel mailing list >> Devel@lists.altlinux.org >> https://lists.altlinux.org/mailman/listinfo/devel > -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-14 10:32 ` Антон Мидюков @ 2024-10-14 10:51 ` Alexey Gladkov 2024-10-25 10:06 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-14 10:51 UTC (permalink / raw) To: ALT Linux Team development discussions On Mon, Oct 14, 2024 at 01:32:22PM +0300, Антон Мидюков wrote: > 14.10.2024 13:16, Alexey Gladkov пишет: > > On Mon, Oct 14, 2024 at 01:58:01PM +0400, Ivan A. Melnikov wrote: > >> On Mon, Oct 14, 2024 at 10:47:17AM GMT, Антон Мидюков wrote: > >>> Здравствуйте > >>> > >>> Все пакеты, которые ставятся в hasher считаются apt'ом установленными > >>> вручную. То есть все пакеты, вытянутые по зависимостям, тоже. Это > >>> поведение как-то можно изменить? > >> > >> hasher формирует список пакетов "снаружи" chroot'а; внутри > >> chroot'а все пакеты ставятся одинаково, через rpmi; на этом > >> этапе уже нет информации о том, какие пакеты были указаны явно, > >> а какие вытянуты по зависимостям. > > > > А какая разница указаны ли пакеты явно или нет ? Они же все теперь часть > > live образа или rootfs. Их всех можно пометить как auto. Разве нет ? > > apt-get autoremove их всех удалит тогда. > Нужно отметить apt-mark auto только те пакеты, которых не было на входе hsh-install > Мы не можем это пофиксить в mki-install, то есть в mimage непосредственно? Да как раз можем. В mki-image-install мы вычисляем список пакетов, который потом передаётся hsh-install. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-14 10:51 ` Alexey Gladkov @ 2024-10-25 10:06 ` Антон Мидюков 2024-10-25 11:31 ` Alexey Gladkov 0 siblings, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-25 10:06 UTC (permalink / raw) To: devel 14.10.2024 13:51, Alexey Gladkov пишет: > On Mon, Oct 14, 2024 at 01:32:22PM +0300, Антон Мидюков wrote: >> 14.10.2024 13:16, Alexey Gladkov пишет: >>> On Mon, Oct 14, 2024 at 01:58:01PM +0400, Ivan A. Melnikov wrote: >>>> On Mon, Oct 14, 2024 at 10:47:17AM GMT, Антон Мидюков wrote: >>>>> Здравствуйте >>>>> >>>>> Все пакеты, которые ставятся в hasher считаются apt'ом установленными >>>>> вручную. То есть все пакеты, вытянутые по зависимостям, тоже. Это >>>>> поведение как-то можно изменить? >>>> >>>> hasher формирует список пакетов "снаружи" chroot'а; внутри >>>> chroot'а все пакеты ставятся одинаково, через rpmi; на этом >>>> этапе уже нет информации о том, какие пакеты были указаны явно, >>>> а какие вытянуты по зависимостям. >>> >>> А какая разница указаны ли пакеты явно или нет ? Они же все теперь часть >>> live образа или rootfs. Их всех можно пометить как auto. Разве нет ? >> >> apt-get autoremove их всех удалит тогда. >> Нужно отметить apt-mark auto только те пакеты, которых не было на входе hsh-install >> Мы не можем это пофиксить в mki-install, то есть в mimage непосредственно? > > Да как раз можем. В mki-image-install мы вычисляем список пакетов, который > потом передаётся hsh-install. > Есть проблема. На вход подаются виртуальные пакеты и пакеты вида "^kernel-(image|modules-())-(std-def)$", поэтому простое вычитание пакетов для установки из установленных не даёт нужный результат. Так что я не знаю как с этим быть. -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-25 10:06 ` Антон Мидюков @ 2024-10-25 11:31 ` Alexey Gladkov 2024-10-25 11:44 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-25 11:31 UTC (permalink / raw) To: ALT Linux Team development discussions 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. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-25 11:31 ` Alexey Gladkov @ 2024-10-25 11:44 ` Антон Мидюков 2024-10-25 12:33 ` Alexey Gladkov 0 siblings, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-25 11:44 UTC (permalink / raw) To: devel 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)$". И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. Пакета, который устанавливается по этому провайдсу, не будет во входном списке. -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-25 11:44 ` Антон Мидюков @ 2024-10-25 12:33 ` Alexey Gladkov 2024-10-25 13:13 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-25 12:33 UTC (permalink / raw) To: ALT Linux Team development discussions 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 ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-25 12:33 ` Alexey Gladkov @ 2024-10-25 13:13 ` Антон Мидюков 2024-10-25 13:54 ` [devel] " Sergey V Turchin 2024-10-25 14:09 ` [devel] " Alexey Gladkov 0 siblings, 2 replies; 29+ messages in thread From: Антон Мидюков @ 2024-10-25 13:13 UTC (permalink / raw) To: devel 25.10.2024 15:33, Alexey Gladkov пишет: > 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. > Спасибо. Помог mki-expand-pkgs regexp >> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. >> Пакета, который устанавливается по этому провайдсу, не будет во входном списке. > > Можно попробовать сделать аналог mki-expand-pkgs и проверять по > "$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать > виртуальные пакеты. > Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут выбраны при установке. Чтобы их не пометило как auto. -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* [devel] Re: hasher: пакеты, установленные по зависимостям 2024-10-25 13:13 ` Антон Мидюков @ 2024-10-25 13:54 ` Sergey V Turchin 2024-10-25 14:09 ` [devel] " Alexey Gladkov 1 sibling, 0 replies; 29+ messages in thread From: Sergey V Turchin @ 2024-10-25 13:54 UTC (permalink / raw) To: ALT Linux Team development discussions On Friday, 25 October 2024 16:13:01 GMT+3 Антон Мидюков wrote: [...] > Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут > выбраны при установке. Чтобы их не пометило как auto. Да. Очень бы хотелось, т.к. пользуюсь, а сейчас так получилается, что указание в списке virtual-package@META приводит к игнорированию virtual-package вообще. А хотелось бы, чтобы зависимости реально выбранного пакета и он сам пометились, как manual. -- Regards, Sergey. ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-25 13:13 ` Антон Мидюков 2024-10-25 13:54 ` [devel] " Sergey V Turchin @ 2024-10-25 14:09 ` Alexey Gladkov 2024-10-25 15:23 ` Антон Мидюков 1 sibling, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-25 14:09 UTC (permalink / raw) To: ALT Linux Team development discussions On Fri, Oct 25, 2024 at 04:13:01PM +0300, Антон Мидюков wrote: > >> Я использовал mki_list_pkgs "$@" для получения входного списка. > >> Но не развернулись записи вида "^kernel-(image|modules-())-(std-def)$". > > > > Чтобы такое развернуть можно попробовать использовать tools/mki-expand-pkgs. > > > > Спасибо. Помог mki-expand-pkgs regexp > > >> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. > >> Пакета, который устанавливается по этому провайдсу, не будет во входном списке. > > > > Можно попробовать сделать аналог mki-expand-pkgs и проверять по > > "$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать > > виртуальные пакеты. > > > > Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут выбраны при установке. > Чтобы их не пометило как auto. Я не знал этого. Я не до конца понимаю задачу. Кажется можно сделать обёртку вокруг hsh-install и сохранять /.in/.rpmi-install.list , который он создаёт. Таким образом получится суммировать xargs. Насколько это хакерство с точки зрения hasher я не знаю. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-25 14:09 ` [devel] " Alexey Gladkov @ 2024-10-25 15:23 ` Антон Мидюков 2024-10-26 12:04 ` Alexey Gladkov 0 siblings, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-25 15:23 UTC (permalink / raw) To: devel 25.10.2024 17:09, Alexey Gladkov пишет: > On Fri, Oct 25, 2024 at 04:13:01PM +0300, Антон Мидюков wrote: >>>> Я использовал mki_list_pkgs "$@" для получения входного списка. >>>> Но не развернулись записи вида "^kernel-(image|modules-())-(std-def)$". >>> >>> Чтобы такое развернуть можно попробовать использовать tools/mki-expand-pkgs. >>> >> >> Спасибо. Помог mki-expand-pkgs regexp >> >>>> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. >>>> Пакета, который устанавливается по этому провайдсу, не будет во входном списке. >>> >>> Можно попробовать сделать аналог mki-expand-pkgs и проверять по >>> "$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать >>> виртуальные пакеты. >>> >> >> Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут выбраны при установке. >> Чтобы их не пометило как auto. > > Я не знал этого. Я не до конца понимаю задачу. > Задача сделать apt-mark auto для пакетов, которые установились по зависимостям. Для этого я полагаю получить: - список пакетов, которые устанавливаются вручную (install_pkgs) - список пакетов установленных в hasher (all_pkgs) Затем получить командой comm -23 all_pkgs install_pkgs список пакетов, которые нужно пометить, как установленные автоматически. То есть вычитаем из всех пакетов пакеты, установленные вручную. Загвоздка в том, чтобы получить адекватный список install_pkgs. Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. > Кажется можно сделать обёртку вокруг hsh-install и сохранять > /.in/.rpmi-install.list , который он создаёт. Таким образом получится > суммировать xargs. Насколько это хакерство с точки зрения hasher я не > знаю. > А что в этом списке? Надеюсь, не все пакеты для установки? -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-25 15:23 ` Антон Мидюков @ 2024-10-26 12:04 ` Alexey Gladkov 2024-10-26 12:36 ` Ivan A. Melnikov 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-26 12:04 UTC (permalink / raw) To: ALT Linux Team development discussions On Fri, Oct 25, 2024 at 06:23:43PM +0300, Антон Мидюков wrote: > >>>> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. > >>>> Пакета, который устанавливается по этому провайдсу, не будет во входном списке. > >>> > >>> Можно попробовать сделать аналог mki-expand-pkgs и проверять по > >>> "$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать > >>> виртуальные пакеты. > >>> > >> > >> Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут выбраны при установке. > >> Чтобы их не пометило как auto. > > > > Я не знал этого. Я не до конца понимаю задачу. > > > > Задача сделать apt-mark auto для пакетов, которые установились по зависимостям. > Для этого я полагаю получить: > - список пакетов, которые устанавливаются вручную (install_pkgs) Даже этот шаг уже сложная задача. У mkimage есть список с регулярные выражения и список пакетов включая виртуальные пакеты. Тут мы их никак не разворачиваем. Мы можем только регэкспы развернуть. То есть у mkimage нет чистого (без виртуальных) списка пакетов. > - список пакетов установленных в hasher (all_pkgs) Если я правильно понял суть этого списка, то это как раз /.in/.rpmi-install.list. Если нужны именно установленные, то его тоже можно получить. > Затем получить командой > comm -23 all_pkgs install_pkgs > > список пакетов, которые нужно пометить, как установленные автоматически. > То есть вычитаем из всех пакетов пакеты, установленные вручную. > Загвоздка в том, чтобы получить адекватный список install_pkgs. > Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. > Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. Я пока не знаю хорошего способа как получить список выбранных пакетов. Приходит в голову что-то такое: aptbox/apt-get -s install webclient xvt | sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' Если брать пакеты по одному, то можно понять во что развернётся webclient, но этот подход займёт вечность. Если брать пакеты скопом, то реальные пакеты мы узнаем, но виртуальные пакеты останутся в списке. Возможно, стоит принять то, что в списке есть виртуальные пакеты и проверять имена пакетов перед apt-mark. Например так: xargs -r rpmquery --qf='%{name}\n' < install_with_virtual_pkgs 2>/dev/null | xargs -r apt-mark manual То есть моя текущая идея состоит в том чтобы: 1. В mki-image-install сохранить список пакетов и развернуть регулярные выражения. 2. Пройтись по этому списку и добавить в него пакеты, которые выбирает apt для виртуальных пакетов. Имена виртуальных пакетов всё ещё там и мы не знаем эти имена. 3. После hsh-install мы берём дополненный список и, фильтруя имена, используем для apt-mark. > > Кажется можно сделать обёртку вокруг hsh-install и сохранять > > /.in/.rpmi-install.list , который он создаёт. Таким образом получится > > суммировать xargs. Насколько это хакерство с точки зрения hasher я не > > знаю. > > > > А что в этом списке? Надеюсь, не все пакеты для установки? Я ошибся. Этот список получается уже после print_uris то есть после получения зависимостей. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-26 12:04 ` Alexey Gladkov @ 2024-10-26 12:36 ` Ivan A. Melnikov 2024-10-26 13:03 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Ivan A. Melnikov @ 2024-10-26 12:36 UTC (permalink / raw) To: ALT Linux Team development discussions On Sat, Oct 26, 2024 at 02:04:47PM GMT, Alexey Gladkov wrote: > On Fri, Oct 25, 2024 at 06:23:43PM +0300, Антон Мидюков wrote: > > >>>> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. > > >>>> Пакета, который устанавливается по этому провайдсу, не будет во входном списке. > > >>> > > >>> Можно попробовать сделать аналог mki-expand-pkgs и проверять по > > >>> "$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать > > >>> виртуальные пакеты. > > >>> > > >> > > >> Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут выбраны при установке. > > >> Чтобы их не пометило как auto. > > > > > > Я не знал этого. Я не до конца понимаю задачу. > > > > > > > Задача сделать apt-mark auto для пакетов, которые установились по зависимостям. > > Для этого я полагаю получить: > > - список пакетов, которые устанавливаются вручную (install_pkgs) > > Даже этот шаг уже сложная задача. У mkimage есть список с регулярные > выражения и список пакетов включая виртуальные пакеты. Тут мы их никак не > разворачиваем. Мы можем только регэкспы развернуть. > > То есть у mkimage нет чистого (без виртуальных) списка пакетов. > > > - список пакетов установленных в hasher (all_pkgs) > > Если я правильно понял суть этого списка, то это как раз > /.in/.rpmi-install.list. Если нужны именно установленные, то его тоже > можно получить. > > > Затем получить командой > > comm -23 all_pkgs install_pkgs > > > > список пакетов, которые нужно пометить, как установленные автоматически. > > То есть вычитаем из всех пакетов пакеты, установленные вручную. > > Загвоздка в том, чтобы получить адекватный список install_pkgs. > > Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. > > Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. > > Я пока не знаю хорошего способа как получить список выбранных пакетов. > Приходит в голову что-то такое: > > aptbox/apt-get -s install webclient xvt | > sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' Нельзя ли попробовать "развиртуализировать" пакеты уже внутри хешера, при выполнении apt-mark? # apt-mark manual $(rpm -q --whatprovides xvt webclient) Тут будет немного лишнего если в chroot попали несколько провайдеров, но я думаю это не страшно. -- wbr, iv m ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-26 12:36 ` Ivan A. Melnikov @ 2024-10-26 13:03 ` Антон Мидюков 2024-10-26 14:19 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-26 13:03 UTC (permalink / raw) To: devel 26.10.2024 15:36, Ivan A. Melnikov пишет: > On Sat, Oct 26, 2024 at 02:04:47PM GMT, Alexey Gladkov wrote: >> On Fri, Oct 25, 2024 at 06:23:43PM +0300, Антон Мидюков wrote: >>>>>>> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. >>>>>>> Пакета, который устанавливается по этому провайдсу, не будет во входном списке. >>>>>> >>>>>> Можно попробовать сделать аналог mki-expand-pkgs и проверять по >>>>>> "$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать >>>>>> виртуальные пакеты. >>>>>> >>>>> >>>>> Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут выбраны при установке. >>>>> Чтобы их не пометило как auto. >>>> >>>> Я не знал этого. Я не до конца понимаю задачу. >>>> >>> >>> Задача сделать apt-mark auto для пакетов, которые установились по зависимостям. >>> Для этого я полагаю получить: >>> - список пакетов, которые устанавливаются вручную (install_pkgs) >> >> Даже этот шаг уже сложная задача. У mkimage есть список с регулярные >> выражения и список пакетов включая виртуальные пакеты. Тут мы их никак не >> разворачиваем. Мы можем только регэкспы развернуть. >> >> То есть у mkimage нет чистого (без виртуальных) списка пакетов. >> >>> - список пакетов установленных в hasher (all_pkgs) >> >> Если я правильно понял суть этого списка, то это как раз >> /.in/.rpmi-install.list. Если нужны именно установленные, то его тоже >> можно получить. >> >>> Затем получить командой >>> comm -23 all_pkgs install_pkgs >>> >>> список пакетов, которые нужно пометить, как установленные автоматически. >>> То есть вычитаем из всех пакетов пакеты, установленные вручную. >>> Загвоздка в том, чтобы получить адекватный список install_pkgs. >>> Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. >>> Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. >> >> Я пока не знаю хорошего способа как получить список выбранных пакетов. >> Приходит в голову что-то такое: >> >> aptbox/apt-get -s install webclient xvt | >> sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' > > Нельзя ли попробовать "развиртуализировать" пакеты уже внутри > хешера, при выполнении apt-mark? > > # apt-mark manual $(rpm -q --whatprovides xvt webclient) > > Тут будет немного лишнего если в chroot попали несколько > провайдеров, но я думаю это не страшно. > Нам нужно пометить пакеты установленные автоматически. В hasher все пакеты помечены как manual. То есть задача обратная. Повторюсь, что для решения задачи достаточно поместить в список пакетов, установленных вручную, вместе с виртуальными пакетами все пакеты, которые их предоставляют. -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-26 13:03 ` Антон Мидюков @ 2024-10-26 14:19 ` Антон Мидюков 2024-10-26 17:01 ` Alexey Gladkov 2024-10-27 12:23 ` Alexey Gladkov 0 siblings, 2 replies; 29+ messages in thread From: Антон Мидюков @ 2024-10-26 14:19 UTC (permalink / raw) To: devel 26.10.2024 16:03, Антон Мидюков пишет: > 26.10.2024 15:36, Ivan A. Melnikov пишет: >> On Sat, Oct 26, 2024 at 02:04:47PM GMT, Alexey Gladkov wrote: >>> On Fri, Oct 25, 2024 at 06:23:43PM +0300, Антон Мидюков wrote: >>>>>>>> И всё равно остаётся проблема виртуальных пакетов, которых нет в репозитории в виде rpm. >>>>>>>> Пакета, который устанавливается по этому провайдсу, не будет во входном списке. >>>>>>> >>>>>>> Можно попробовать сделать аналог mki-expand-pkgs и проверять по >>>>>>> "$aptbox/var/cache/pkgnames" все имена из списка. Это должно отфильтровать >>>>>>> виртуальные пакеты. >>>>>>> >>>>>> >>>>>> Виртуальные пакеты нужно не отфильтровать, а заменить на те, что будут выбраны при установке. >>>>>> Чтобы их не пометило как auto. >>>>> >>>>> Я не знал этого. Я не до конца понимаю задачу. >>>>> >>>> >>>> Задача сделать apt-mark auto для пакетов, которые установились по зависимостям. >>>> Для этого я полагаю получить: >>>> - список пакетов, которые устанавливаются вручную (install_pkgs) >>> >>> Даже этот шаг уже сложная задача. У mkimage есть список с регулярные >>> выражения и список пакетов включая виртуальные пакеты. Тут мы их никак не >>> разворачиваем. Мы можем только регэкспы развернуть. >>> >>> То есть у mkimage нет чистого (без виртуальных) списка пакетов. >>> >>>> - список пакетов установленных в hasher (all_pkgs) >>> >>> Если я правильно понял суть этого списка, то это как раз >>> /.in/.rpmi-install.list. Если нужны именно установленные, то его тоже >>> можно получить. >>> >>>> Затем получить командой >>>> comm -23 all_pkgs install_pkgs >>>> >>>> список пакетов, которые нужно пометить, как установленные автоматически. >>>> То есть вычитаем из всех пакетов пакеты, установленные вручную. >>>> Загвоздка в том, чтобы получить адекватный список install_pkgs. >>>> Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. >>>> Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. >>> >>> Я пока не знаю хорошего способа как получить список выбранных пакетов. >>> Приходит в голову что-то такое: >>> >>> aptbox/apt-get -s install webclient xvt | >>> sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' >> >> Нельзя ли попробовать "развиртуализировать" пакеты уже внутри >> хешера, при выполнении apt-mark? >> >> # apt-mark manual $(rpm -q --whatprovides xvt webclient) >> >> Тут будет немного лишнего если в chroot попали несколько >> провайдеров, но я думаю это не страшно. >> > > Нам нужно пометить пакеты установленные автоматически. В hasher все пакеты помечены как manual. > То есть задача обратная. > Повторюсь, что для решения задачи достаточно поместить в список пакетов, установленных вручную, вместе с виртуальными пакетами все пакеты, которые их предоставляют. > Но идея с развиртуализацией работает. Спасибо! У меня получился такой код: diff --git a/tools/mki-install b/tools/mki-install index 8c8cad3..ac23f76 100755 --- a/tools/mki-install +++ b/tools/mki-install @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- mki_list_pkgs "$@" | xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" + +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | + sort -u > "$TMP"/install_pkgs +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | + sort -u > "$TMP"/all_pkgs +hsh-run --rooter -- "$dir" apt-mark auto \ + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-26 14:19 ` Антон Мидюков @ 2024-10-26 17:01 ` Alexey Gladkov 2024-10-27 11:26 ` Alexey Gladkov 2024-10-27 12:23 ` Alexey Gladkov 1 sibling, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-26 17:01 UTC (permalink / raw) To: ALT Linux Team development discussions On Sat, Oct 26, 2024 at 05:19:50PM +0300, Антон Мидюков wrote: > >>>> Затем получить командой > >>>> comm -23 all_pkgs install_pkgs > >>>> > >>>> список пакетов, которые нужно пометить, как установленные автоматически. > >>>> То есть вычитаем из всех пакетов пакеты, установленные вручную. > >>>> Загвоздка в том, чтобы получить адекватный список install_pkgs. > >>>> Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. > >>>> Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. > >>> > >>> Я пока не знаю хорошего способа как получить список выбранных пакетов. > >>> Приходит в голову что-то такое: > >>> > >>> aptbox/apt-get -s install webclient xvt | > >>> sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' > >> > >> Нельзя ли попробовать "развиртуализировать" пакеты уже внутри > >> хешера, при выполнении apt-mark? > >> > >> # apt-mark manual $(rpm -q --whatprovides xvt webclient) > >> > >> Тут будет немного лишнего если в chroot попали несколько > >> провайдеров, но я думаю это не страшно. > >> > > > > Нам нужно пометить пакеты установленные автоматически. В hasher все пакеты помечены как manual. > > То есть задача обратная. > > Повторюсь, что для решения задачи достаточно поместить в список пакетов, установленных вручную, вместе с виртуальными пакетами все пакеты, которые их предоставляют. > > > > Но идея с развиртуализацией работает. Спасибо! > > У меня получился такой код: > > diff --git a/tools/mki-install b/tools/mki-install > index 8c8cad3..ac23f76 100755 > --- a/tools/mki-install > +++ b/tools/mki-install > @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- Тут не хватает некоторого количества проверок )) > mki_list_pkgs "$@" | > xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" > + > +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 > +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ Зачем нужен --whatprovides ? У нас же после `mki-expand-pkgs regexp` уже список пакетов бинарных и виртуальных. Когда мы делаем `rpmquery --qf='%{name}\n'` ровно те же имена пакетов, если это пакеты. > + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | > + sort -u > "$TMP"/install_pkgs > +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | > + sort -u > "$TMP"/all_pkgs > +hsh-run --rooter -- "$dir" apt-mark auto \ > + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) Не проще будет после установки пакетов не сделать auto всем, а потом manual установленным ? Подход более топорный, но в этом случае не нужно заморачиваться с all_pkgs и comm. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-26 17:01 ` Alexey Gladkov @ 2024-10-27 11:26 ` Alexey Gladkov 2024-10-27 11:32 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-27 11:26 UTC (permalink / raw) To: ALT Linux Team development discussions On Sat, Oct 26, 2024 at 07:01:15PM +0200, Alexey Gladkov wrote: > On Sat, Oct 26, 2024 at 05:19:50PM +0300, Антон Мидюков wrote: > > >>>> Затем получить командой > > >>>> comm -23 all_pkgs install_pkgs > > >>>> > > >>>> список пакетов, которые нужно пометить, как установленные автоматически. > > >>>> То есть вычитаем из всех пакетов пакеты, установленные вручную. > > >>>> Загвоздка в том, чтобы получить адекватный список install_pkgs. > > >>>> Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. > > >>>> Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. > > >>> > > >>> Я пока не знаю хорошего способа как получить список выбранных пакетов. > > >>> Приходит в голову что-то такое: > > >>> > > >>> aptbox/apt-get -s install webclient xvt | > > >>> sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' > > >> > > >> Нельзя ли попробовать "развиртуализировать" пакеты уже внутри > > >> хешера, при выполнении apt-mark? > > >> > > >> # apt-mark manual $(rpm -q --whatprovides xvt webclient) > > >> > > >> Тут будет немного лишнего если в chroot попали несколько > > >> провайдеров, но я думаю это не страшно. > > >> > > > > > > Нам нужно пометить пакеты установленные автоматически. В hasher все пакеты помечены как manual. > > > То есть задача обратная. > > > Повторюсь, что для решения задачи достаточно поместить в список пакетов, установленных вручную, вместе с виртуальными пакетами все пакеты, которые их предоставляют. > > > > > > > Но идея с развиртуализацией работает. Спасибо! > > > > У меня получился такой код: > > > > diff --git a/tools/mki-install b/tools/mki-install > > index 8c8cad3..ac23f76 100755 > > --- a/tools/mki-install > > +++ b/tools/mki-install > > @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- > > Тут не хватает некоторого количества проверок )) > > > mki_list_pkgs "$@" | > > xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" > > + > > +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 > > +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ > > Зачем нужен --whatprovides ? > > У нас же после `mki-expand-pkgs regexp` уже список пакетов бинарных и > виртуальных. Когда мы делаем `rpmquery --qf='%{name}\n'` ровно те же имена > пакетов, если это пакеты. А, ясно. Это установленные пакеты + виртуальные. > > + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | > > + sort -u > "$TMP"/install_pkgs > > +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | > > + sort -u > "$TMP"/all_pkgs > > +hsh-run --rooter -- "$dir" apt-mark auto \ > > + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) > > Не проще будет после установки пакетов не сделать auto всем, а потом > manual установленным ? > > Подход более топорный, но в этом случае не нужно заморачиваться с all_pkgs > и comm. Да, ваш вариант хорош. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 11:26 ` Alexey Gladkov @ 2024-10-27 11:32 ` Антон Мидюков 2024-10-27 12:25 ` Alexey Gladkov 0 siblings, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-27 11:32 UTC (permalink / raw) To: devel 27.10.2024 14:26, Alexey Gladkov пишет: > On Sat, Oct 26, 2024 at 07:01:15PM +0200, Alexey Gladkov wrote: >> On Sat, Oct 26, 2024 at 05:19:50PM +0300, Антон Мидюков wrote: >>>>>>> Затем получить командой >>>>>>> comm -23 all_pkgs install_pkgs >>>>>>> >>>>>>> список пакетов, которые нужно пометить, как установленные автоматически. >>>>>>> То есть вычитаем из всех пакетов пакеты, установленные вручную. >>>>>>> Загвоздка в том, чтобы получить адекватный список install_pkgs. >>>>>>> Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. >>>>>>> Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. >>>>>> >>>>>> Я пока не знаю хорошего способа как получить список выбранных пакетов. >>>>>> Приходит в голову что-то такое: >>>>>> >>>>>> aptbox/apt-get -s install webclient xvt | >>>>>> sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' >>>>> >>>>> Нельзя ли попробовать "развиртуализировать" пакеты уже внутри >>>>> хешера, при выполнении apt-mark? >>>>> >>>>> # apt-mark manual $(rpm -q --whatprovides xvt webclient) >>>>> >>>>> Тут будет немного лишнего если в chroot попали несколько >>>>> провайдеров, но я думаю это не страшно. >>>>> >>>> >>>> Нам нужно пометить пакеты установленные автоматически. В hasher все пакеты помечены как manual. >>>> То есть задача обратная. >>>> Повторюсь, что для решения задачи достаточно поместить в список пакетов, установленных вручную, вместе с виртуальными пакетами все пакеты, которые их предоставляют. >>>> >>> >>> Но идея с развиртуализацией работает. Спасибо! >>> >>> У меня получился такой код: >>> >>> diff --git a/tools/mki-install b/tools/mki-install >>> index 8c8cad3..ac23f76 100755 >>> --- a/tools/mki-install >>> +++ b/tools/mki-install >>> @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- >> >> Тут не хватает некоторого количества проверок )) >> >>> mki_list_pkgs "$@" | >>> xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" >>> + >>> +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 >>> +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ >> >> Зачем нужен --whatprovides ? >> >> У нас же после `mki-expand-pkgs regexp` уже список пакетов бинарных и >> виртуальных. Когда мы делаем `rpmquery --qf='%{name}\n'` ровно те же имена >> пакетов, если это пакеты. > > А, ясно. Это установленные пакеты + виртуальные. > >>> + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | >>> + sort -u > "$TMP"/install_pkgs >>> +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | >>> + sort -u > "$TMP"/all_pkgs >>> +hsh-run --rooter -- "$dir" apt-mark auto \ >>> + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) >> >> Не проще будет после установки пакетов не сделать auto всем, а потом >> manual установленным ? >> >> Подход более топорный, но в этом случае не нужно заморачиваться с all_pkgs >> и comm. > > Да, ваш вариант хорош. > У меня вопрос. Нормально эти временные списки в $TMP создавать? Или есть более подходящее место? -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 11:32 ` Антон Мидюков @ 2024-10-27 12:25 ` Alexey Gladkov 0 siblings, 0 replies; 29+ messages in thread From: Alexey Gladkov @ 2024-10-27 12:25 UTC (permalink / raw) To: ALT Linux Team development discussions On Sun, Oct 27, 2024 at 02:32:34PM +0300, Антон Мидюков wrote: > 27.10.2024 14:26, Alexey Gladkov пишет: > > On Sat, Oct 26, 2024 at 07:01:15PM +0200, Alexey Gladkov wrote: > >> On Sat, Oct 26, 2024 at 05:19:50PM +0300, Антон Мидюков wrote: > >>>>>>> Затем получить командой > >>>>>>> comm -23 all_pkgs install_pkgs > >>>>>>> > >>>>>>> список пакетов, которые нужно пометить, как установленные автоматически. > >>>>>>> То есть вычитаем из всех пакетов пакеты, установленные вручную. > >>>>>>> Загвоздка в том, чтобы получить адекватный список install_pkgs. > >>>>>>> Думаю, что всё же можно заменить виртуальные пакеты в этом списке набором пакетов, предоставляющих их. > >>>>>>> Избыточность (наличие пакетов, которые не устанавливаются) в этом списке не является проблемой. > >>>>>> > >>>>>> Я пока не знаю хорошего способа как получить список выбранных пакетов. > >>>>>> Приходит в голову что-то такое: > >>>>>> > >>>>>> aptbox/apt-get -s install webclient xvt | > >>>>>> sed -n -r -e 's#^Selecting ([^ ]+) for .*#\1#p' > >>>>> > >>>>> Нельзя ли попробовать "развиртуализировать" пакеты уже внутри > >>>>> хешера, при выполнении apt-mark? > >>>>> > >>>>> # apt-mark manual $(rpm -q --whatprovides xvt webclient) > >>>>> > >>>>> Тут будет немного лишнего если в chroot попали несколько > >>>>> провайдеров, но я думаю это не страшно. > >>>>> > >>>> > >>>> Нам нужно пометить пакеты установленные автоматически. В hasher все пакеты помечены как manual. > >>>> То есть задача обратная. > >>>> Повторюсь, что для решения задачи достаточно поместить в список пакетов, установленных вручную, вместе с виртуальными пакетами все пакеты, которые их предоставляют. > >>>> > >>> > >>> Но идея с развиртуализацией работает. Спасибо! > >>> > >>> У меня получился такой код: > >>> > >>> diff --git a/tools/mki-install b/tools/mki-install > >>> index 8c8cad3..ac23f76 100755 > >>> --- a/tools/mki-install > >>> +++ b/tools/mki-install > >>> @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- > >> > >> Тут не хватает некоторого количества проверок )) > >> > >>> mki_list_pkgs "$@" | > >>> xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" > >>> + > >>> +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 > >>> +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ > >> > >> Зачем нужен --whatprovides ? > >> > >> У нас же после `mki-expand-pkgs regexp` уже список пакетов бинарных и > >> виртуальных. Когда мы делаем `rpmquery --qf='%{name}\n'` ровно те же имена > >> пакетов, если это пакеты. > > > > А, ясно. Это установленные пакеты + виртуальные. > > > >>> + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | > >>> + sort -u > "$TMP"/install_pkgs > >>> +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | > >>> + sort -u > "$TMP"/all_pkgs > >>> +hsh-run --rooter -- "$dir" apt-mark auto \ > >>> + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) > >> > >> Не проще будет после установки пакетов не сделать auto всем, а потом > >> manual установленным ? > >> > >> Подход более топорный, но в этом случае не нужно заморачиваться с all_pkgs > >> и comm. > > > > Да, ваш вариант хорош. > > > > У меня вопрос. Нормально эти временные списки в $TMP создавать? Или есть более подходящее место? Я даже написал патч, которые как раз добавляет проверки и создание временных файлов, но потом у меня появились ещё вопросы к самому этому подходу. Я в параллельном письме их задал. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-26 14:19 ` Антон Мидюков 2024-10-26 17:01 ` Alexey Gladkov @ 2024-10-27 12:23 ` Alexey Gladkov 2024-10-27 12:35 ` Антон Мидюков 2024-10-27 12:37 ` Alexey Gladkov 1 sibling, 2 replies; 29+ messages in thread From: Alexey Gladkov @ 2024-10-27 12:23 UTC (permalink / raw) To: ALT Linux Team development discussions On Sat, Oct 26, 2024 at 05:19:50PM +0300, Антон Мидюков wrote: > Но идея с развиртуализацией работает. Спасибо! > > У меня получился такой код: > > diff --git a/tools/mki-install b/tools/mki-install > index 8c8cad3..ac23f76 100755 > --- a/tools/mki-install > +++ b/tools/mki-install > @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- > > mki_list_pkgs "$@" | > xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" > + > +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 > +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ > + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | > + sort -u > "$TMP"/install_pkgs > +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | > + sort -u > "$TMP"/all_pkgs > +hsh-run --rooter -- "$dir" apt-mark auto \ > + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) Но меня всё ещё кое-что смущает. В install_pkgs оказывается изначальный список пакетов плюс виртуальные provides. Там не будет пакетов, которые выберет apt для этих виртуальных пакетов. Например в изначальном списке есть xvt, но будет xterm, который обычно вытягивается. После `rpm -q` мы уберём виртуальное имя xvt т.к. это не настоящее имя пакета. Получается, что после comm xterm, который установится по xvt будет помечен auto, а это не то, что ты хочешь, кажется. В install_pkgs необходимо добавить те пакеты, которые будут выбраны apt'ом. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 12:23 ` Alexey Gladkov @ 2024-10-27 12:35 ` Антон Мидюков 2024-10-27 12:42 ` Alexey Gladkov 2024-10-27 12:37 ` Alexey Gladkov 1 sibling, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-27 12:35 UTC (permalink / raw) To: devel 27.10.2024 15:23, Alexey Gladkov пишет: > On Sat, Oct 26, 2024 at 05:19:50PM +0300, Антон Мидюков wrote: >> Но идея с развиртуализацией работает. Спасибо! >> >> У меня получился такой код: >> >> diff --git a/tools/mki-install b/tools/mki-install >> index 8c8cad3..ac23f76 100755 >> --- a/tools/mki-install >> +++ b/tools/mki-install >> @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- >> >> mki_list_pkgs "$@" | >> xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" >> + >> +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 >> +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ >> + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | >> + sort -u > "$TMP"/install_pkgs >> +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | >> + sort -u > "$TMP"/all_pkgs >> +hsh-run --rooter -- "$dir" apt-mark auto \ >> + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) > > Но меня всё ещё кое-что смущает. В install_pkgs оказывается изначальный > список пакетов плюс виртуальные provides. Там не будет пакетов, которые > выберет apt для этих виртуальных пакетов. Например в изначальном списке > есть xvt, но будет xterm, который обычно вытягивается. После `rpm -q` мы > уберём виртуальное имя xvt т.к. это не настоящее имя пакета. > > Получается, что после comm xterm, который установится по xvt будет помечен > auto, а это не то, что ты хочешь, кажется. > > В install_pkgs необходимо добавить те пакеты, которые будут выбраны > apt'ом. > Нет, в install_pkgs будет xterm, а xvt не будет. Если xvt предоставляется несколькими пакетами, то все они попадут в install_pkgs. xterm помечается, как manual. Я проверил. --whatprovides заменяет виртуальные пакеты реальными. -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 12:35 ` Антон Мидюков @ 2024-10-27 12:42 ` Alexey Gladkov 2024-10-27 13:02 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-27 12:42 UTC (permalink / raw) To: ALT Linux Team development discussions On Sun, Oct 27, 2024 at 03:35:04PM +0300, Антон Мидюков wrote: > > Но меня всё ещё кое-что смущает. В install_pkgs оказывается изначальный > > список пакетов плюс виртуальные provides. Там не будет пакетов, которые > > выберет apt для этих виртуальных пакетов. Например в изначальном списке > > есть xvt, но будет xterm, который обычно вытягивается. После `rpm -q` мы > > уберём виртуальное имя xvt т.к. это не настоящее имя пакета. > > > > Получается, что после comm xterm, который установится по xvt будет помечен > > auto, а это не то, что ты хочешь, кажется. > > > > В install_pkgs необходимо добавить те пакеты, которые будут выбраны > > apt'ом. > > > > Нет, в install_pkgs будет xterm, а xvt не будет. > Если xvt предоставляется несколькими пакетами, то все они попадут в install_pkgs. > xterm помечается, как manual. Я проверил. > --whatprovides заменяет виртуальные пакеты реальными. Ааа. Теперь ясно. Тогда предлагаю что-нибудь типа вот такого: diff --git a/tools/mki-install b/tools/mki-install index 8c8cad3..dba877e 100755 --- a/tools/mki-install +++ b/tools/mki-install @@ -19,3 +19,32 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- mki_list_pkgs "$@" | xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" + +# shellcheck disable=SC2249 +[ -z "${PROG##*-image-*}" ] || + exit 0 + +hsh-run --rooter -- "$dir" which apt-mark >/dev/null 2>&1 || + exit 0 + +tempdir= +exit_handler() { + local rc=$? + trap - EXIT + [ -z "$tempdir" ] || rm -rf -- "$tempdir" + exit $rc +} + +trap exit_handler HUP INT QUIT TERM EXIT +tempdir="$(mktemp -d "$dir/$PROG.XXXXXX")" + +export LC_ALL=C LANG=C LANGUAGE=C + +mki-expand-pkgs regexp "$@" | + xargs -r hsh-run --rooter -- "$dir" rpm -q --whatprovides --qf='%{NAME}\n' | + sort -uo "$tempdir/install_pkgs" + +hsh-run --rooter -- "$dir" rpm -q --all --qf='%{NAME}\n' | + sort -u | + comm -23 - "$tempdir/install_pkgs" | + xargs -r hsh-run --rooter -- "$dir" apt-mark auto -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 12:42 ` Alexey Gladkov @ 2024-10-27 13:02 ` Антон Мидюков 2024-10-27 13:52 ` Alexey Gladkov 0 siblings, 1 reply; 29+ messages in thread From: Антон Мидюков @ 2024-10-27 13:02 UTC (permalink / raw) To: devel 27.10.2024 15:42, Alexey Gladkov пишет: > On Sun, Oct 27, 2024 at 03:35:04PM +0300, Антон Мидюков wrote: >>> Но меня всё ещё кое-что смущает. В install_pkgs оказывается изначальный >>> список пакетов плюс виртуальные provides. Там не будет пакетов, которые >>> выберет apt для этих виртуальных пакетов. Например в изначальном списке >>> есть xvt, но будет xterm, который обычно вытягивается. После `rpm -q` мы >>> уберём виртуальное имя xvt т.к. это не настоящее имя пакета. >>> >>> Получается, что после comm xterm, который установится по xvt будет помечен >>> auto, а это не то, что ты хочешь, кажется. >>> >>> В install_pkgs необходимо добавить те пакеты, которые будут выбраны >>> apt'ом. >>> >> >> Нет, в install_pkgs будет xterm, а xvt не будет. >> Если xvt предоставляется несколькими пакетами, то все они попадут в install_pkgs. >> xterm помечается, как manual. Я проверил. >> --whatprovides заменяет виртуальные пакеты реальными. > > Ааа. Теперь ясно. > > Тогда предлагаю что-нибудь типа вот такого: > Отлично! Работает! > diff --git a/tools/mki-install b/tools/mki-install > index 8c8cad3..dba877e 100755 > --- a/tools/mki-install > +++ b/tools/mki-install > @@ -19,3 +19,32 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- > > mki_list_pkgs "$@" | > xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" > + > +# shellcheck disable=SC2249 > +[ -z "${PROG##*-image-*}" ] || > + exit 0 > + > +hsh-run --rooter -- "$dir" which apt-mark >/dev/null 2>&1 || > + exit 0 > + > +tempdir= > +exit_handler() { > + local rc=$? > + trap - EXIT > + [ -z "$tempdir" ] || rm -rf -- "$tempdir" > + exit $rc > +} > + > +trap exit_handler HUP INT QUIT TERM EXIT > +tempdir="$(mktemp -d "$dir/$PROG.XXXXXX")" > + > +export LC_ALL=C LANG=C LANGUAGE=C > + > +mki-expand-pkgs regexp "$@" | > + xargs -r hsh-run --rooter -- "$dir" rpm -q --whatprovides --qf='%{NAME}\n' | > + sort -uo "$tempdir/install_pkgs" > + > +hsh-run --rooter -- "$dir" rpm -q --all --qf='%{NAME}\n' | > + sort -u | > + comm -23 - "$tempdir/install_pkgs" | > + xargs -r hsh-run --rooter -- "$dir" apt-mark auto > -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 13:02 ` Антон Мидюков @ 2024-10-27 13:52 ` Alexey Gladkov 2024-10-27 14:23 ` Антон Мидюков 0 siblings, 1 reply; 29+ messages in thread From: Alexey Gladkov @ 2024-10-27 13:52 UTC (permalink / raw) To: ALT Linux Team development discussions On Sun, Oct 27, 2024 at 04:02:47PM +0300, Антон Мидюков wrote: > 27.10.2024 15:42, Alexey Gladkov пишет: > > On Sun, Oct 27, 2024 at 03:35:04PM +0300, Антон Мидюков wrote: > >>> Но меня всё ещё кое-что смущает. В install_pkgs оказывается изначальный > >>> список пакетов плюс виртуальные provides. Там не будет пакетов, которые > >>> выберет apt для этих виртуальных пакетов. Например в изначальном списке > >>> есть xvt, но будет xterm, который обычно вытягивается. После `rpm -q` мы > >>> уберём виртуальное имя xvt т.к. это не настоящее имя пакета. > >>> > >>> Получается, что после comm xterm, который установится по xvt будет помечен > >>> auto, а это не то, что ты хочешь, кажется. > >>> > >>> В install_pkgs необходимо добавить те пакеты, которые будут выбраны > >>> apt'ом. > >>> > >> > >> Нет, в install_pkgs будет xterm, а xvt не будет. > >> Если xvt предоставляется несколькими пакетами, то все они попадут в install_pkgs. > >> xterm помечается, как manual. Я проверил. > >> --whatprovides заменяет виртуальные пакеты реальными. > > > > Ааа. Теперь ясно. > > > > Тогда предлагаю что-нибудь типа вот такого: > > > > Отлично! Работает! Можешь прислать патч ? Я тоже могу, но мне будет сложнее сделать хороший commit message с описанием проблемы. -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 13:52 ` Alexey Gladkov @ 2024-10-27 14:23 ` Антон Мидюков 0 siblings, 0 replies; 29+ messages in thread From: Антон Мидюков @ 2024-10-27 14:23 UTC (permalink / raw) To: devel 27.10.2024 16:52, Alexey Gladkov пишет: > On Sun, Oct 27, 2024 at 04:02:47PM +0300, Антон Мидюков wrote: >> 27.10.2024 15:42, Alexey Gladkov пишет: >>> On Sun, Oct 27, 2024 at 03:35:04PM +0300, Антон Мидюков wrote: >>>>> Но меня всё ещё кое-что смущает. В install_pkgs оказывается изначальный >>>>> список пакетов плюс виртуальные provides. Там не будет пакетов, которые >>>>> выберет apt для этих виртуальных пакетов. Например в изначальном списке >>>>> есть xvt, но будет xterm, который обычно вытягивается. После `rpm -q` мы >>>>> уберём виртуальное имя xvt т.к. это не настоящее имя пакета. >>>>> >>>>> Получается, что после comm xterm, который установится по xvt будет помечен >>>>> auto, а это не то, что ты хочешь, кажется. >>>>> >>>>> В install_pkgs необходимо добавить те пакеты, которые будут выбраны >>>>> apt'ом. >>>>> >>>> >>>> Нет, в install_pkgs будет xterm, а xvt не будет. >>>> Если xvt предоставляется несколькими пакетами, то все они попадут в install_pkgs. >>>> xterm помечается, как manual. Я проверил. >>>> --whatprovides заменяет виртуальные пакеты реальными. >>> >>> Ааа. Теперь ясно. >>> >>> Тогда предлагаю что-нибудь типа вот такого: >>> >> >> Отлично! Работает! > > Можешь прислать патч ? Я тоже могу, но мне будет сложнее сделать хороший > commit message с описанием проблемы. > Хорошо. -- С уважением, Антон Мидюков <antohami@altlinux.org> ^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [devel] hasher: пакеты, установленные по зависимостям 2024-10-27 12:23 ` Alexey Gladkov 2024-10-27 12:35 ` Антон Мидюков @ 2024-10-27 12:37 ` Alexey Gladkov 1 sibling, 0 replies; 29+ messages in thread From: Alexey Gladkov @ 2024-10-27 12:37 UTC (permalink / raw) To: ALT Linux Team development discussions On Sun, Oct 27, 2024 at 01:23:48PM +0100, Alexey Gladkov wrote: > On Sat, Oct 26, 2024 at 05:19:50PM +0300, Антон Мидюков wrote: > > Но идея с развиртуализацией работает. Спасибо! > > > > У меня получился такой код: > > > > diff --git a/tools/mki-install b/tools/mki-install > > index 8c8cad3..ac23f76 100755 > > --- a/tools/mki-install > > +++ b/tools/mki-install > > @@ -19,3 +19,12 @@ hasher_args="$verbose $quiet ${HSH_EXCLUDE_DOCS:+--excludedocs} ${HSH_NUMBER:+-- > > > > mki_list_pkgs "$@" | > > xargs -r env -i PATH="$PATH" hsh-install $hasher_args -- "$dir" > > + > > +hsh-run --rooter -- "$dir" rpm -q apt || exit 0 > > +hsh-run --rooter -- "$dir" rpm -q --whatprovides --queryformat "%{NAME}\n" \ > > + $(mki-expand-pkgs regexp $(mki_list_pkgs "$@")) | > > + sort -u > "$TMP"/install_pkgs > > +hsh-run --rooter -- "$dir" rpm -qa --queryformat "%{NAME}\n" | > > + sort -u > "$TMP"/all_pkgs > > +hsh-run --rooter -- "$dir" apt-mark auto \ > > + $(comm -23 "$TMP"/all_pkgs "$TMP"/install_pkgs) > > Но меня всё ещё кое-что смущает. В install_pkgs оказывается изначальный > список пакетов плюс виртуальные provides. Там не будет пакетов, которые > выберет apt для этих виртуальных пакетов. Например в изначальном списке > есть xvt, но будет xterm, который обычно вытягивается. После `rpm -q` мы > уберём виртуальное имя xvt т.к. это не настоящее имя пакета. > > Получается, что после comm xterm, который установится по xvt будет помечен > auto, а это не то, что ты хочешь, кажется. > > В install_pkgs необходимо добавить те пакеты, которые будут выбраны > apt'ом. Кажется должно быть как-то вот так: mki-expand-pkgs regexp "$@" | xargs -r hsh-run --rooter -- "$dir" rpm -q --qf='%{NAME}\n' | >"$tempdir/install_pkgs" "$aptbox/apt-get" -s install "$@" | sed -nr -e 's#^Selecting ([^ ]+) for .*#\1#p' >>"$tempdir/install_pkgs" sort -uo "$tempdir/install_pkgs" "$tempdir/install_pkgs" hsh-run --rooter -- "$dir" rpm -q --all --qf='%{NAME}\n' | sort -u | comm -23 - "$tempdir/install_pkgs" | xargs -r hsh-run --rooter -- "$dir" apt-mark auto -- Rgrds, legion ^ permalink raw reply [flat|nested] 29+ messages in thread
end of thread, other threads:[~2024-10-27 14:23 UTC | newest] Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-10-14 7:47 [devel] hasher: пакеты, установленные по зависимостям Антон Мидюков 2024-10-14 9:57 ` Alexey Gladkov 2024-10-14 9:58 ` Ivan A. Melnikov 2024-10-14 10:16 ` Alexey Gladkov 2024-10-14 10:32 ` Антон Мидюков 2024-10-14 10:51 ` Alexey Gladkov 2024-10-25 10:06 ` Антон Мидюков 2024-10-25 11:31 ` Alexey Gladkov 2024-10-25 11:44 ` Антон Мидюков 2024-10-25 12:33 ` Alexey Gladkov 2024-10-25 13:13 ` Антон Мидюков 2024-10-25 13:54 ` [devel] " Sergey V Turchin 2024-10-25 14:09 ` [devel] " Alexey Gladkov 2024-10-25 15:23 ` Антон Мидюков 2024-10-26 12:04 ` Alexey Gladkov 2024-10-26 12:36 ` Ivan A. Melnikov 2024-10-26 13:03 ` Антон Мидюков 2024-10-26 14:19 ` Антон Мидюков 2024-10-26 17:01 ` Alexey Gladkov 2024-10-27 11:26 ` Alexey Gladkov 2024-10-27 11:32 ` Антон Мидюков 2024-10-27 12:25 ` Alexey Gladkov 2024-10-27 12:23 ` Alexey Gladkov 2024-10-27 12:35 ` Антон Мидюков 2024-10-27 12:42 ` Alexey Gladkov 2024-10-27 13:02 ` Антон Мидюков 2024-10-27 13:52 ` Alexey Gladkov 2024-10-27 14:23 ` Антон Мидюков 2024-10-27 12:37 ` Alexey Gladkov
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git