[devel] переработанный документ SharedLibsPolicy

Anton Farygin rider на basealt.ru
Чт Авг 7 16:09:01 MSK 2025


On 8/7/25 15:57, Dmitry V. Levin wrote:
> On Thu, Aug 07, 2025 at 02:46:04PM +0300, Anton Farygin wrote:
>> Всем привет.
>>
>> Текущая версия документа |SharedLibsPolicy| в ALT Linux устарела как с
>> точки зрения структуры, так и с точки зрения стиля подачи. Она написана
>> сложным, перегруженным языком, что затрудняет понимание даже для опытных
>> мейнтейнеров. В документе отсутствует чёткое разграничение между
>> правилами, исключениями и примерами. Это приводит к неоднозначной
>> трактовке, ошибкам в упаковке библиотек и затруднениям при сопровождении
>> нескольких версий ABI.
>>
>> Я предлагаю прочитать обновлённую версию данной политики, в которой я
>> постарался сделать документ более читабельным и раскрыл некоторые
>> тяжёлые для понимания моменты.
>>
>> На мой взгляд я не забыл ничего из старого документа, если что-то
>> заметите - напишите пожалуйста.
>>
>> Текущая версия:
>> https://www.altlinux.org/Shared_Libs_Policy
>>
>>
>> Новая версия:
>>
>>
>> {{DraftPolicy
>> |responsible=PavlovKonstantin, AntonFarygin, IgorVlasenko
>> |metabug=repocop тесты library-pkgnames, lib-contains-devel-so
>> }}
>>
>> == Shared Libs Policy ==
>>
>> === Определения ===
>>
>> Разделяемая библиотека (shared library) — это файл с расширением .so,
>> который предназначен для использования сразу несколькими программами.
> Что с этим определением не так?
> - формулировка "файл с расширением .so" не подходит к GNU/Linux;
>    наверное, автор имел в виду, что имя файла заканчивается на .so,
>    но почему он это имел в виду, непонятно, ведь
> - в GNU/Linux таких разделяемых библиотек, имена которых заканчиваются
>    на .so, мало; dynamic linker загружает большую часть разделяемых
>    библиотек по именам, которые не заканчиваются на .so;
> - в GNU/Linux большинство файлов, имена которых заканчиваются на .so,
>    используются не для загрузки dynamic linker'ом.
>
> Лучше обойтись совсем без определений, чем с такими определениями.
>
> Если весь этот черновик написан с таким пренебрежением к деталям,
> то неудивительно, что он до сих пор черновик.

Лучше дать корректное определение, конечно.

*Shared library в Linux* — это ELF-файл с расширением |.so.X[.Y.Z]|, 
содержащий исполняемый код, который загружается динамически во время 
выполнения программ.

Так лучше ?



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