From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.1 To: Anton Farygin , ALT Linux Team development discussions References: <20180725150825.GA26152@gyle.altlinux.org> <0c923f97-3e8e-9df5-abe7-323a648b660b@altlinux.org> <20180726095325.GB6504@altlinux.org> <3f7d509c-4dbf-0422-fcf4-26696ba4a745@altlinux.org> <20180803085849.GA4095@altlinux.org> <20180803145122.GA14682@altlinux.org> <291a3b33-1e29-201f-5f52-764e6ef1285a@altlinux.org> <20180803151636.GA15252@altlinux.org> <20180803152349.GA15346@altlinux.org> <7b165a21-c694-da49-1488-d25a911e9051@altlinux.org> <6b7f4808-ba7f-128a-d04a-b26c7dd1694b@basealt.ru> From: Aleksei Nikiforov Message-ID: <46130b40-858e-e253-22f4-e6869da327e2@altlinux.org> Date: Fri, 3 Aug 2018 18:39:52 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.0 MIME-Version: 1.0 In-Reply-To: <6b7f4808-ba7f-128a-d04a-b26c7dd1694b@basealt.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: ru Content-Transfer-Encoding: 8bit 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 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2018 15:39:58 -0000 Archived-At: List-Archive: List-Post: 03.08.2018 18:36, Anton Farygin пишет: > 03.08.2018 18:26, Aleksei Nikiforov пишет: >> >> >> 03.08.2018 18:23, Dmitry V. Levin пишет: >>> On Fri, Aug 03, 2018 at 06:20:28PM +0300, Aleksei Nikiforov wrote: >>>> 03.08.2018 18:16, Dmitry V. Levin пишет: >>>>> On Fri, Aug 03, 2018 at 06:05:17PM +0300, Aleksei Nikiforov wrote: >>>>>> 03.08.2018 17:51, Dmitry V. Levin пишет: >>>>>>> On Fri, Aug 03, 2018 at 11:58:50AM +0300, Dmitry V. Levin wrote: >>>>>>>> On Thu, Aug 02, 2018 at 10:19:26PM +0300, Alexey Tourbin wrote: >>>>>>>>> 2018-08-02 11:38 GMT+03:00 Aleksei Nikiforov >>>>>>>>> : >>>>>>>>>> Я попробовал собрать bash3 и bash4 таким образом, с отдельными >>>>>>>>>> пакетами sh и >>>>>>>>>> bash с симлинками и зависимостями на последнюю версию sh4 и bash4 >>>>>>>>>> соответственно. >>>>>>>>>> >>>>>>>>>> Проблема при такой сборке возникает с плагинами bash. Сейчас >>>>>>>>>> плагины для >>>>>>>>>> bash3 лежат в /usr/lib/bash. Плагины bash4 лучше держать >>>>>>>>>> отдельно - их >>>>>>>>>> больше по сравнению с bash3, да и совместимость не >>>>>>>>>> гарантированна. То, что >>>>>>>>>> собранный для bash3 пакет bash-builtin-lockf работает с bash4 >>>>>>>>>> скорее стоит >>>>>>>>>> считать удачей и не рассчитывать на такое поведение, особенно >>>>>>>>>> при обновлении >>>>>>>>>> до следующих версий bash. >>>>>>>>> >>>>>>>>> От добра добра не ищут, то есть не надо разделять >>>>>>>>> /usr/lib/bash, если >>>>>>>>> и с ним все работает. Для bash3 все равно только один плагин, и >>>>>>>>> новых >>>>>>>>> не будет.  И вообще проблема в миграции скриптов. >>>>>>>> >>>>>>>> Я бы тоже с плагинами не заморачивался.  Пусть все пакеты со >>>>>>>> сторонними >>>>>>>> плагинами используют каталог /usr/lib/bash/. >>>>>>> >>>>>>> Давайте сделаем так: >>>>>>> - плагины, собираемые в составе bash, упаковываются в >>>>>>> /usr/lib/bashN/; >>>>>>> - сторонние плагины упаковываются в /usr/lib/bash/. >>>>>> >>>>>> А почему бы не сделать следующим образом? >>>>>> - плагины для текущей версии баш в /usr/lib/bash/ >>>>>> - плагины для других версий баш в /usr/lib/bashN/ >>>>>> >>>>>> В таком случае, если нужны сторонные плагины для нескольких версий >>>>>> bash, >>>>>> их можно положить в соседние директории. >>>>> >>>>> Поскольку, в отличие от скриптов, плагины для bash - явление >>>>> чрезвычайно >>>>> редкое, то держать в репозитории плагины для версии bash, отличной от >>>>> текущей, я просто не вижу смысла.  Тем более что путь к плагину всё >>>>> равно >>>>> указывается в скиптах явно. >>>> >>>> Тогда можно их не собирать для другой версии bash. В таком сценарии оба >>>> сетапа равнозначны. Вопрос в том, а есть ли смысл раздельно держать >>>> внутренние и сторонние плагины для bash? >>> >>> Думаю что имеет: у внутренних плагинов связывание с конкретной версией >>> bash может быть довольно сильное, их точно следует держать в разных >>> местах, зависящих от версии bash. >>> >> >> В сторонних точно также может. В данном случае с bash-builtin-lockf, >> похоже, проблем нет, но это не значит, что теоретически с другой >> версией bash всё также гладко будет. > Может быть, всё таки всегда класть плагины bash в свои места, а в > bash-defaults  переключать симлинк /usr/lib/bash на самый последний ? Я уже пытался сделать такой сетап. Проблема с миграцией существующей директории /usr/lib/bash на соответствующий симлинк. Если кто-то знает как это сделать с текущей версией rpm из Sisyphus, то можно доделать такой сетап.