ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Aleksei Nikiforov <darktemplar@altlinux.org>
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: Thu, 2 Aug 2018 11:38:15 +0300
Message-ID: <3f7d509c-4dbf-0422-fcf4-26696ba4a745@altlinux.org> (raw)
In-Reply-To: <20180726095325.GB6504@altlinux.org>

Здравствуйте.

26.07.2018 12:53, Dmitry V. Levin пишет:
> On Wed, Jul 25, 2018 at 06:21:46PM +0300, Aleksei Nikiforov wrote:
>> Здравствуйте.
>>
>> Сделал новую тестовую сборку bash-4, в этот раз также с отдельным bash-3
>> и свежим bash-completion. Прошу заинтересованных потестировать.
> 
> Спасибо.  Ввиду того, что у нас bash-5 не за горами, может быть, упаковать
> bash-4 как bash4 (с подпакетами sh4, bash4, bash4-devel, bash4-doc,
> bash4-examples), и, по аналогии с gcc-defaults, сделать bash-defaults
> c подпакетами sh, bash, bash-devel, bash-doc, bash-examples,
> содержащие общие файлы (такие как bashrc) и переключающие bash
> на нужную версию?
> 

Я попробовал собрать bash3 и bash4 таким образом, с отдельными пакетами 
sh и bash с симлинками и зависимостями на последнюю версию sh4 и bash4 
соответственно.

Проблема при такой сборке возникает с плагинами bash. Сейчас плагины для 
bash3 лежат в /usr/lib/bash. Плагины bash4 лучше держать отдельно - их 
больше по сравнению с bash3, да и совместимость не гарантированна. То, 
что собранный для bash3 пакет bash-builtin-lockf работает с bash4 скорее 
стоит считать удачей и не рассчитывать на такое поведение, особенно при 
обновлении до следующих версий bash.

В связи со всем вышесказанным, для плагинов bash4 нужна отдельная 
директория.

Если для совместимости с текущим сетапом использовать /usr/lib/bash для 
плагинов bash3, то плагины bash4 можно положить в /usr/lib/bash4, 
например. Но тогда в некоторых пакетах для переезда на bash4 прийдётся 
явно менять захардкоженный путь до /usr/lib/bash/lockf, либо скриптовать 
поведение по поиску пути до lockf в зависимости от версии bash, а если 
lockf для bash4 будет в отдельном пакете - ещё и менять зависимости. 
Например, такой путь захардкожен в girar, hasher, gnupg2. Для такого 
сетапа сделано тестовое задание #210913 (но указанные пакеты ещё не 
обновлены).

Если же попытаться использовать директорию /usr/lib/bash3 для плагинов 
bash3, /usr/lib/bash4 - для bash4, и сделать symlink /usr/lib/bash для 
текущей версии, то такому сетапу помешает rpm - нет прямого способа 
заменить директорию на symlink, т.е. прямая миграция невозможна. Есть 
незавершённое тестовое задание #210931 с таким сетапом.

Если же в /usr/lib/bash держать плагины для текущей версии bash, а для 
bash3 их пересобрать в /usr/lib/bash3, то такой сетап уже есть в 
тестовом задании #210757. Разве что нет симлинков sh -> sh4, bash -> 
bash4, и можно дособрать lockf для bash3 в /usr/lib/bash3, но 
актуальность всех этих действий в таком случае под вопросом, особенно 
необходимости таких симлинков. И не нужно при апгрейде bash пересобирать 
дополнительные пакеты лишь для смены захардкоженного пути и зависимостей.

Какие есть идеи по поводу данной проблемы?

С уважением,
Алексей Никифоров


  parent reply	other threads:[~2018-08-02  8:38 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 [this message]
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
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=3f7d509c-4dbf-0422-fcf4-26696ba4a745@altlinux.org \
    --to=darktemplar@altlinux.org \
    --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