[devel] %post considered harmful
Arseny Maslennikov
arseny на altlinux.org
Пн Май 4 15:54:15 MSK 2026
On Mon, May 04, 2026 at 12:29:13PM +0300, Aleksandr Shamaraev wrote:
> Доброго дня всем.
>
> <...>
>
> %post
> <...>
>
> ...перестал выполняться скрипт.
>
> Сказать по правде для пакета alt-mirror-switcher ( https://packages.altlinux.org/ru/sisyphus/srpms/alt-mirror-switcher/specfiles/
> ) это критично, так как если используются какие нибудь дополнительные
> зеркала, то они могут быть сброшены во время обновления и обновление, как
> таковое, сломается из-за отсутствия источников.
Но как? К моменту установки нового пакета alt-mirror-switcher и запуска
его %post вся транзакция уже определена, а входящие в неё пакеты
выкачаны.
> Данный скрипт призван восстановить их во время обновления, чтоб дальше шло
> все как шло.
секция %post существует от безысходности и недостатков в устройстве всего
остального. Вместо %pre/%postun и %post/%preun по возможности надо
полагаться на что-то статически определяемое, неимперативное: файлы в
ФС, например. RPM неплохо умеет сохранять консистентность набора файлов,
распространяемого в пакетах, а вашей программе останется только уметь их
прочесть после установки.
В вашем случае вы сами автор своего счастья^W^W софтины в пакете, и,
наверное, можете добиться того, чтобы список зеркал, включая
дополнительные, был набором файлов в ФС. :) (Или же добиться этого от
сообщества, возложив модель хранения зеркал на него... важная же часть
пакетной системы)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 833 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20260504/9348ca19/attachment.bin>
Подробная информация о списке рассылки Devel