* [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-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 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-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: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
* 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
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