[devel] [#210757] EPERM (try 3) bash3.git=3.2.57-alt4 bash.git=4.4.23-alt1 bash-completion.git=2.8-alt1

Aleksei Nikiforov darktemplar на altlinux.org
Чт Авг 2 12:08:13 MSK 2018


02.08.2018 12:00, Alexey V. Vissarionov пишет:
> On 2018-08-02 11:38:15 +0300, Aleksei Nikiforov wrote:
> 
>   > Проблема при такой сборке возникает с плагинами bash. Сейчас
>   > плагины для bash3 лежат в /usr/lib/bash. Плагины bash4 лучше
>   > держать отдельно - их больше по сравнению с bash3, да и
>   > совместимость не гарантированна.
> 
> Они сами по себе, или могут приехать с каким-то сторонним софтом?

В bash3 таких встроенных плагинов нет, в bash4 - более десятка. Также 
есть внешние - это как минимум в пакетах bash-builtin-lockf и bashdb.

> 
>   > Если для совместимости с текущим сетапом использовать
>   > /usr/lib/bash для плагинов bash3, то плагины bash4 можно
>   > положить в /usr/lib/bash4, например.
> 
> Если они меж собой несовместимы - вплоть до %_libdir/%name-%version

Надеюсь в репозитории не будет столько версий bash, чтобы потребовалось 
столько директорий с настолько подробным разделением по версиям. И таки 
не %_libdir, а скорее %_libexecdir.

> 
>   > Но тогда в некоторых пакетах для переезда на bash4 прийдётся
>   > явно менять захардкоженный путь до /usr/lib/bash/lockf
> 
> А много ли таких пакетов?

Я нашёл пока что только 3: girar, hasher и gnupg2.

> 
>   > либо скриптовать поведение по поиску пути до lockf в зависимости
>   > от версии bash,
> 
> И это правильное решение, так как для его реализации достаточно
> одного файла /etc/profile.d/lockf.sh со строчкой export LOCKF=...
> 
>   > а если lockf для bash4 будет в отдельном пакете - ещё и
>   > менять зависимости. Например, такой путь захардкожен в girar,
>   > hasher, gnupg2
> 
> Дык и добавить туда проверку $LOCKF
> 
> Определено - пользуем, нет - export LOCKF="/usr/lib/bash/lockf" и
> опять же пользуем.
> 

Это не отменяет того факта, что нужно для таких пакетов добавлять 
зависимость на пакет, содержащий lockf для правильной версии bash помимо 
прочего. Можно конечно lockf для всех версий bash в репозитории засунуть 
в 1 пакет, но такой подход мне не особо нравится.


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