From: Aleksei Nikiforov <darktemplar@basealt.ru> To: devel@lists.altlinux.org Subject: Re: [devel] [#210757] EPERM (try 3) bash3.git=3.2.57-alt4 bash.git=4.4.23-alt1 bash-completion.git=2.8-alt1 Date: Fri, 3 Aug 2018 10:48:34 +0300 Message-ID: <b405d283-2f87-f9db-52da-72b9caa1d133@basealt.ru> (raw) In-Reply-To: <20180802102442.GB14807@altlinux.org> 02.08.2018 13:24, Alexey V. Vissarionov пишет: > On 2018-08-02 12:08:13 +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. > > Первые два - внутренние разработки, с которыми особых проблем не > предвидится. Третий - думаю, истравить не особо сложно, а там и в > апстрим пропихнуть. > Для gnupg2 это, похоже, тоже локальное изменение. > >>> либо скриптовать поведение по поиску пути до lockf в зависимости > >>> от версии bash, > >> И это правильное решение, так как для его реализации достаточно > >> одного файла /etc/profile.d/lockf.sh со строчкой export LOCKF=... > >>> Например, такой путь захардкожен в girar, hasher, gnupg2 > >> Дык и добавить туда проверку $LOCKF > >> Определено - пользуем, нет - export LOCKF="/usr/lib/bash/lockf" и > >> опять же пользуем. > > Это не отменяет того факта, что нужно для таких пакетов добавлять > > зависимость на пакет, содержащий lockf для правильной версии bash > > помимо прочего. > > Дык если оно используется - значит, нужна зависимость. > К.О. спешит на помощь, ага. > Да, зависимость нужна, но в зависимости от того, как упакованы такие плагины, возможно пакеты, зависящие от таких плагинов, с изменением версии bash нужно будет пересобирать просто для указания другой версии такого плагина, что мне собственно и не хотелось бы делать. > > Можно конечно lockf для всех версий bash в репозитории засунуть > > в 1 пакет, но такой подход мне не особо нравится. > > Зачем? Пусть будут bash4-plugin-lockf и bash5-plugin-lockf, каждый > в своем каталоге. А по файлу /etc/profile.d/lockf.sh у них будет > банальнейший конфликт (что разумно, ибо смысла держать в системе > более одной версии вообще никакого). > > Или /etc/profile.d/bash4_lockf.sh и /etc/profile.d/bash5_lockf.sh > с проверкой версии (если не та - просто вываливаемся безо всяких > ошибок). > > Вот, не поленился грепнуть `man bash`: > > BASH_VERSINFO > A readonly array variable whose members hold version information > for this instance of bash. The values assigned to the array > members are as follows: > BASH_VERSINFO[0] The major version number (the release). > BASH_VERSINFO[1] The minor version number (the version). > BASH_VERSINFO[2] The patch level. > BASH_VERSINFO[3] The build version. > BASH_VERSINFO[4] The release status (e.g., beta1). > BASH_VERSINFO[5] The value of MACHTYPE. > > BASH_VERSION > Expands to a string describing the version of this instance of > bash. > > То есть, достаточно проверять `bash -c 'echo ${BASH_VERSINFO[0]}'` > > Да, один из вариантов как такое можно было бы реализовать. Спасибо!
next prev parent reply other threads:[~2018-08-03 7:48 UTC|newest] Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-07-25 15:21 ` Aleksei Nikiforov 2018-07-26 7:12 ` Anton Farygin 2018-07-26 8:54 ` Aleksei Nikiforov 2018-07-26 9:11 ` Vladimir Didenko 2018-07-26 9:15 ` Aleksei Nikiforov 2018-07-26 9:17 ` Vladimir Didenko 2018-07-26 9:25 ` Aleksei Nikiforov 2018-07-26 9:44 ` Dmitry V. Levin 2018-07-26 16:55 ` Aleksei Nikiforov 2018-07-26 17:17 ` Anton Farygin 2018-07-26 9:53 ` Dmitry V. Levin 2018-07-26 10:52 ` Anton Farygin 2018-07-26 11:07 ` Dmitry V. Levin 2018-07-26 11:16 ` Anton Farygin 2018-07-26 11:39 ` Dmitry V. Levin 2018-07-26 11:46 ` Anton Farygin 2018-07-26 12:04 ` Igor Zubkov 2018-07-27 9:05 ` Aleksei Nikiforov 2018-08-02 8:38 ` Aleksei Nikiforov 2018-08-02 9:00 ` Alexey V. Vissarionov 2018-08-02 9:08 ` Aleksei Nikiforov 2018-08-02 10:24 ` Alexey V. Vissarionov 2018-08-03 7:48 ` Aleksei Nikiforov [this message] 2018-08-03 8:03 ` Alexey V. Vissarionov 2018-08-03 8:04 ` Anton Farygin 2018-08-03 8:41 ` Alexey V. Vissarionov 2018-08-02 19:19 ` Alexey Tourbin 2018-08-03 8:29 ` Aleksei Nikiforov 2018-08-03 8:58 ` Dmitry V. Levin 2018-08-03 14:51 ` Dmitry V. Levin 2018-08-03 15:05 ` Aleksei Nikiforov 2018-08-03 15:08 ` Alexey V. Vissarionov 2018-08-03 15:13 ` Aleksei Nikiforov 2018-08-03 15:16 ` Dmitry V. Levin 2018-08-03 15:20 ` Aleksei Nikiforov 2018-08-03 15:23 ` Dmitry V. Levin 2018-08-03 15:26 ` Aleksei Nikiforov 2018-08-03 15:36 ` Anton Farygin 2018-08-03 15:39 ` Aleksei Nikiforov 2018-08-03 15:43 ` Dmitry V. Levin 2018-08-03 15:46 ` Aleksei Nikiforov 2018-08-03 15:41 ` Dmitry V. Levin 2018-08-03 15:47 ` Anton Farygin 2018-08-03 15:49 ` Aleksei Nikiforov 2018-08-03 16:14 ` Anton Farygin 2018-08-03 17:03 ` Dmitry V. Levin 2018-08-04 6:19 ` Anton Farygin 2018-08-04 10:10 ` Dmitry V. Levin 2018-08-05 7:39 ` Anton Farygin 2018-08-03 15:33 ` Dmitry V. Levin 2018-08-03 15:43 ` Aleksei Nikiforov 2018-08-03 17:06 ` Dmitry V. Levin 2018-08-04 6:21 ` Anton Farygin 2018-08-04 10:15 ` Dmitry V. Levin 2018-08-07 18:50 ` Alexey Tourbin 2018-08-07 18:59 ` Dmitry V. Levin 2018-08-07 19:36 ` Alexey Tourbin 2018-08-06 9:43 ` Aleksei Nikiforov 2018-08-07 9:21 ` Anton Farygin 2018-08-06 6:35 ` Vitaly Lipatov 2018-08-06 7:17 ` Anton Farygin 2018-08-06 7:18 ` Anton Farygin 2018-08-06 9:20 ` Vitaly Lipatov 2018-08-07 11:48 ` Dmitry V. Levin 2018-08-07 11:49 ` Anton Farygin 2018-08-15 8:52 ` Anton Farygin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=b405d283-2f87-f9db-52da-72b9caa1d133@basealt.ru \ --to=darktemplar@basealt.ru \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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