Bug 15219 - shell-quote collision
: shell-quote collision
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/libshell)
: unstable
: all Linux
: P2 critical
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2008-04-02 15:43 by
Modified: 2008-11-21 19:06 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-04-02 15:43:48
Система - текущий Sisyphus.

$ /bin/sh -efux gear-update-tag -a -d
+ . gear-sh-functions
++ . shell-error
+++ '[' -z '' ']'
+++ __included_shell_error=1
+++ PROG=gear-update-tag
+++ quiet=
+++ verbose=
++ . shell-quote
+++ use strict

$ echo $PATH
/home/rider/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin:/usr/games:/usr/X11R6/bin

$ which shell-quote
/usr/bin/shell-quote

$ file /usr/bin/shell-quote
/usr/bin/shell-quote: perl script text executable

$ rpm -qf /usr/bin/shell-quote
perl-String-ShellQuote-1.03-alt1
------- Comment #1 From 2008-04-02 15:46:58 -------
(In reply to comment #0)
> $ echo $PATH
/home/rider/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin:/usr/games:/usr/X11R6/bin

Please fix your $PATH; just set it to
$HOME/bin:/bin:/usr/bin:/usr/local/bin
------- Comment #2 From 2008-04-02 15:52:35 -------
Тогда надо перевесить на KDM ?
------- Comment #3 From 2008-04-02 15:54:47 -------
(In reply to comment #1)
> /usr/bin:/usr/local/bin
А точно не наоборот?
Если не сложно, дайте ссылку, где написано об этом

------- Comment #4 From 2008-04-02 16:05:41 -------
Насколько правильно существование двух скриптов в /bin и в /usr/bin с
одинаковыми именами и разной функциональностью ?
------- Comment #5 From 2008-04-02 17:05:08 -------
(In reply to comment #4)
> Насколько правильно существование двух скриптов в /bin и в /usr/bin с
> одинаковыми именами и разной функциональностью ?

Это плохо, но что тут можно сделать непонятно.
------- Comment #6 From 2008-04-02 17:09:29 -------
Неправильно, что эта бага висит на gear. Этот пакет использует libshell и не
виноват что присутствует дублирование имён.

Component => libshell
Severity => critical
------- Comment #7 From 2008-04-02 17:52:13 -------
Если include делать по абсолютному пути, а не по PATH ?
------- Comment #8 From 2008-04-02 17:52:51 -------
Кстати, как вариант - переименовать в libshell имя скрипта.
------- Comment #9 From 2008-04-02 18:06:12 -------
(In reply to comment #8)
> Кстати, как вариант - переименовать в libshell имя скрипта.

Это не вариант (как первый, так и второй). Скрипт shell-quote давно создан и
используется в разных скрпитах. Причём эти скрипты могут быть не запакованы в
сизифе. libshell хоть находится в PATH, но имеет функции библиотеки.

Кроме того, это решение ведёт в никуда. Что ты предложешь когда появится утилита
пересекающаяся с новым названием?
------- Comment #10 From 2008-04-02 19:32:42 -------
Хм, а можешь пояснить, какой сакральный смысл класть неисполняемую библиотеку в
/bin ?
# l /bin/shell-quote
-rw-r--r-- 1 root root 1081 Mar  9 23:01 /bin/shell-quote
------- Comment #11 From 2008-04-02 20:58:37 -------
(In reply to comment #10)
> Хм, а можешь пояснить, какой сакральный смысл класть неисполняемую библиотеку в
> /bin ?

Этот подход достаточно стандартен. Эти делается для возможности подключения
этого файла без указания полного пути. Эти файлы находятся шеллом по стандартным
путям (в PATH). Они сделаны неисполняемыми чтобы табкомплишн не подхватывал их
при работе.

Этими приёмами пользуются git, hasher, gear и другие проекты написанные на
shell. Собственно, эта библиотека предназначена для таких проектов.
------- Comment #12 From 2008-04-03 03:39:22 -------
(In reply to comment #3)
> (In reply to comment #1)
> > /usr/bin:/usr/local/bin
> А точно не наоборот?
> Если не сложно, дайте ссылку, где написано об этом

Такой $PATH у нас практически везде по умолчанию,
см. хотя бы /etc/profile

Кстати, у меня возникло нехорошее подозрение на то,
что KDM не запускает /etc/X11/Xsession, из-за чего инициализация
на 3-м и 5-м runlevel'ах сильно отличается, что недопустимо.
Возможно что и $PATH в разных runlevel'ах получается разный, что тоже недопустимо.

Это может иметь очень неприятные последствия.
------- Comment #13 From 2008-04-03 04:57:48 -------
(In reply to comment #9)
> Кроме того, это решение ведёт в никуда. Что ты предложешь когда появится утилита
> пересекающаяся с новым названием?

Если коллизий не удастся избегать, будем ставить конфликты в пакетах.

Кстати, никто не помнит, зачем мне понадобилось собирать пакет
perl-String-ShellQuote более 2 лет назад?
------- Comment #14 From 2008-04-03 06:23:41 -------
(In reply to comment #13)
> Если коллизий не удастся избегать, будем ставить конфликты в пакетах.

Конфликт наверное самое лучшее решение.

> Кстати, никто не помнит, зачем мне понадобилось собирать пакет
> perl-String-ShellQuote более 2 лет назад?

Я когда увидел кто собрал этот пакет глазам своим не поверил.
------- Comment #15 From 2008-05-27 02:30:25 -------
(In reply to comment #14)
> (In reply to comment #13)
> > Если коллизий не удастся избегать, будем ставить конфликты в пакетах.
> 
> Конфликт наверное самое лучшее решение.
> 
> > Кстати, никто не помнит, зачем мне понадобилось собирать пакет
> > perl-String-ShellQuote более 2 лет назад?
> 
> Я когда увидел кто собрал этот пакет глазам своим не поверил.

Ну так что будем делать?  Закапываем perl-String-ShellQuote?
------- Comment #16 From 2008-11-21 12:50:40 -------
(In reply to comment #15)
> Ну так что будем делать?  Закапываем perl-String-ShellQuote?

Раз ты сам не помнишь, зачем этот пакет тебе, то тогда стоит закопать.
------- Comment #17 From 2008-11-21 19:06:31 -------
perl-String-ShellQuote в Сизифе больше нет.