ALT Linux Team development discussions
 help / color / mirror / Atom feed
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]}'`
> 
> 

Да, один из вариантов как такое можно было бы реализовать. Спасибо!


  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