Автор Тема: Ошибка зависимости /usr/bin/bash  (Прочитано 434 раз)

Оффлайн Dmevsk

  • Начинающий
  • *
  • Сообщений: 7
    • Email
Коллеги, доброго дня.
Собрали пакет вот так:



Name:           socit-common
Version:        0.0.2
Release:        1.rhel
Summary:        Инсталлятор продуктов
Packager:       DEVOPS
License:        Commercial
URL:            https://socit.ru/

Source0:        socit-common.tar.gz

BuildArch:      noarch

%description
Скрипты для установки и обновления программных продуктов компании

%install
mkdir -p %{buildroot}/usr/lib/socit-common
cd %{buildroot}/usr/lib/socit-common
tar xvzf  %{SOURCE0}
chmod 544 ./install.sh
chmod 544 ./uninstall.sh

%files
/usr/lib/socit-common/*

%post
/bin/bash /usr/lib/socit-common/install.sh

%preun
/bin/bash /usr/lib/socit-common/uninstall.sh


При установке получаем ошибку зависимостей

# apt-get install ./socit-common-0.0.1-1.rhel.noarch.rpm
Чтение списков пакетов... Завершено
...
Следующие пакеты имеют неудовлетворенные зависимости:
  socit-common: Depends: /usr/bin/bash но пакет не может быть установлен


Такая проблема только на Альте, на Ред ОС пакет устанавливается и скрипты все отрабатывают при установке

Подскажите, пожалуйста, в чем может быть дело?

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #1 : 18.04.2024 12:58:47 »
в чем может быть дело?
В том, что alt не rhel и не redos?
В альтах bash находится не в /usr/bin, и пакета /usr/bin/bash не существует?
Девопсы не могут нормально указать зависимости при сборке?

Или это такой топорный способ рекламы?

Оффлайн Dmevsk

  • Начинающий
  • *
  • Сообщений: 7
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #2 : 18.04.2024 13:38:47 »
в чем может быть дело?
В том, что alt не rhel и не redos?
В альтах bash находится не в /usr/bin, и пакета /usr/bin/bash не существует?
Девопсы не могут нормально указать зависимости при сборке?

Или это такой топорный способ рекламы?

указание зависимостей не помогает, пробовал
откуда он вообще берет /usr/bin/bash я не понимаю
и причем здесь реклама?

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #3 : 18.04.2024 14:02:52 »
откуда он вообще берет /usr/bin/bash я не понимаю
А кто ж вам скажет без пакета, без исходников, не зная в какой системе и в каком окружении пакет собирался?
Что говорит
rpm -qp --requires /путь/до/пакета.rpm

Оффлайн Dmevsk

  • Начинающий
  • *
  • Сообщений: 7
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #4 : 18.04.2024 14:11:18 »
откуда он вообще берет /usr/bin/bash я не понимаю
А кто ж вам скажет без пакета, без исходников, не зная в какой системе и в каком окружении пакет собирался?
Что говорит
rpm -qp --requires /путь/до/пакета.rpm

$ sudo rpm -qp --requires socit-common-0.0.1-1.rhel.noarch.rpm
/bin/bash
/bin/sh
/bin/sh
/usr/bin/bash
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

в исходниках нет ни слова об /usr/bin/bash

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: Ошибка зависимости /usr/bin/bash
« Ответ #5 : 18.04.2024 14:27:35 »
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
Данных пакетов в репозиториях Альта я не вижу совсем...

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #6 : 18.04.2024 14:36:07 »
$ sudo rpm -qp --requires socit-common-0.0.1-1.rhel.noarch.rpm
/bin/bash
/bin/sh
/bin/sh
/usr/bin/bash
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

в исходниках нет ни слова об /usr/bin/bash
Раз в исходниках нет, тогда берётся из пакета. Значит в сборочнице bash находится в /usr/bin и в пакете соответственно есть линки на него.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #8 : 18.04.2024 14:50:58 »
https://www.altlinux.org/RPM-repair
Это костыль, для попытки исправления пакетов, когда другого выхода нет.
В данном случае пакет должен собираться в сборочнице настроенной под целевую систему.

Оффлайн gosts 87

  • Завсегдатай
  • *
  • Сообщений: 2 636
  • Дмитрий/Dmitry/德米特里/दिमित्री
Re: Ошибка зависимости /usr/bin/bash
« Ответ #9 : 18.04.2024 15:06:45 »
В данном случае пакет должен собираться в сборочнице настроенной под целевую систему
Dmevsk, пакет собирали не на Альте?


Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #11 : 18.04.2024 15:36:29 »
пакет собирали не на Альте?
Это же очевидно.
Вообще говоря, пакеты которые устанавливаются и работают если не во всех, то по крайней мере во многих дистрибутивах, собираются. Те же LibreOffice, Blender и т.д. Только это не означает, что можно тупо взять условный rhel, его дефолными штатными средствами собрать rpm пакет и ожидать, что этот пакет во всех rpm-дистрибутивах установится и/или будет работать.

Оффлайн Dmevsk

  • Начинающий
  • *
  • Сообщений: 7
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #12 : 18.04.2024 15:49:48 »
Dmevsk, пакет собирали не на Альте?

неа, в rhel


Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 451
    • Email
Re: Ошибка зависимости /usr/bin/bash
« Ответ #14 : 18.04.2024 16:37:56 »
Остаётся ещё вопрос — а можно ли линковать проприетарь с bash или rpmlib (у которых GPL)?
« Последнее редактирование: 18.04.2024 16:40:02 от stranger573 »