Как установить src .rpm

Вопрос или проблема

Я скачал исходный файл rmp src.rpm для audacity. Когда я запускаю [root@09PC148B Downloads]# rpmbuild --rebuild audacity-2.1.0-2.fc23.src.rpm, я получаю следующий ответ:

flac-devel требуется для audacity-2.1.0-2.el6.i686
    jack-audio-connection-kit-devel требуется для audacity-2.1.0-2.el6.i686
    ladspa-devel требуется для audacity-2.1.0-2.el6.i686
    libid3tag-devel требуется для audacity-2.1.0-2.el6.i686
    taglib-devel требуется для audacity-2.1.0-2.el6.i686
    libogg-devel требуется для audacity-2.1.0-2.el6.i686
    libsndfile-devel требуется для audacity-2.1.0-2.el6.i686
    libvorbis-devel требуется для audacity-2.1.0-2.el6.i686
    portaudio-devel >= 19-16 требуется для audacity-2.1.0-2.el6.i686
    soundtouch-devel требуется для audacity-2.1.0-2.el6.i686
    soxr-devel требуется для audacity-2.1.0-2.el6.i686
    vamp-plugin-sdk-devel >= 2.0 требуется для audacity-2.1.0-2.el6.i686
    wxGTK-devel требуется для audacity-2.1.0-2.el6.i686
    libappstream-glib требуется для audacity-2.1.0-2.el6.i686

Когда я запускаю эту команду:

[root@09PC148B Downloads]# rpm -ivv audacity-2.1.0-2.fc23.src.rpm
моя реакция такова:
D: ============== audacity-2.1.0-2.fc23.src.rpm
D: загрузка ключей из pubkeys в /var/lib/rpm/pubkeys/*.key
D: не удалось найти ключи в /var/lib/rpm/pubkeys/*.key
D: загрузка ключей из rpmdb
D: открытие окружения db /var/lib/rpm cdb:mpool:joinenv
D: открытие индекса db /var/lib/rpm/Packages в режиме rdonly mode=0x0
D: заблокирован индекс db /var/lib/rpm/Packages
D: открытие индекса db /var/lib/rpm/Name в режиме rdonly mode=0x0
D: прочитано h# 1438 Проверка корректности заголовка: OK
D: добавлен ключ gpg-pubkey-6b8d79e6-3f49313d в связку ключей
D: Используются устаревшие gpg-публичные ключи из rpmdb
D: Ожидаемый размер: 24389466 = lead(96)+sigs(4292)+pad(4)+data(24385074)
D: Фактический размер: 24389466
D: audacity-2.1.0-2.fc23.src.rpm: SHA1-хеш заголовка: OK (6b5705fc00764be7bc14578e1976d33d86ac2a3d)
D: добавлен исходный пакет [0]
D: найдено 1 исходный и 0 бинарных пакетов
D: Ожидаемый размер: 24389466 = lead(96)+sigs(4292)+pad(4)+data(24385074)
D: Фактический размер: 24389466
D: InstallSourcePackage на: psm.c:244: SHA1-хеш заголовка: OK (6b5705fc00764be7bc14578e1976d33d86ac2a3d)
audacity-2.1.0-2.fc23
D: ========== Каталоги, не включенные в пакет явно:
D:          0 /root/rpmbuild/SOURCES/
D:          1 /root/rpmbuild/SPECS/
D: ==========
D: завершено 100664 1 (501, 501) 19390331 /root/rpmbuild/SOURCES/audacity-manual-2.1.0.zip;55486cb6 неизвестно
D: завершено 100664 1 (501, 501) 5104924 /root/rpmbuild/SOURCES/audacity-minsrc-2.1.0.tar.xz;55486cb6 неизвестно
D: завершено 100644 1 (501, 501) 23062 /root/rpmbuild/SPECS/audacity.spec;55486cb6 неизвестно
GZDIO: 2994 чтения, 24518844 всего байт за 0.074680 сек
D: закрыт индекс db /var/lib/rpm/Name
D: закрыт индекс db /var/lib/rpm/Packages
D: закрыто окружение db /var/lib/rpm

в чем ошибка

Вам нужно установить пакеты-зависимости до сборки требуемого
Попробуйте использовать

yum install <package>

это решит проблему с зависимостями

Ответ или решение

Теория

Установка пакетов из исходных RPM (.src.rpm) на Linux системах—задача, которая может потребовать определенной подготовки и понимания процесса. Исходные RPM пакеты содержат исходный код и скрипты сборки, которые после сборки позволяют создать бинарный RPM пакет, готовый к установке. Процесс установки .src.rpm пакета включает в себя несколько ключевых шагов: установка необходимых инструментов для сборки, установка зависимостей, сборка бинарного пакета и его последующая установка. Ниже я расскажу, как выполнить этот процесс на примере Audacity, основываясь на предоставленной вами информации.

Пример

  1. Предварительная установка инструментов: Прежде чем начать работу с .src.rpm файлом, вам необходимо убедиться, что ваш дистрибутив имеет все необходимые инструменты для сборки ПО из исходников. Как правило, минимальный набор инструментов включает в себя rpm-build, gcc, и дополнительные утилиты, необходимые для конфигурации и компиляции аудиопакетов. Для установки используйте команду:

    yum install rpm-build gcc
  2. Установка зависимостей: В вашем случае система сигнализирует о нехватке ряда библиотек, которые являются обязательными для сборки Audacity. Они перечислены как flac-devel, jack-audio-connection-kit-devel, и так далее. Эти библиотеки обычно инсталлируются через yum:

    yum install flac-devel jack-audio-connection-kit-devel ladspa-devel libid3tag-devel taglib-devel libogg-devel libsndfile-devel libvorbis-devel portaudio-devel soundtouch-devel soxr-devel vamp-plugin-sdk-devel wxGTK-devel libappstream-glib

    Убедитесь, что все зависимости установлены, так как без них сборка пакета завершится с ошибкой.

  3. Сборка пакета: Используя rpmbuild, вы можете попробовать пересобрать пакет:

    rpmbuild --rebuild audacity-2.1.0-2.fc23.src.rpm

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

  4. Установка бинарного .rpm пакета: Если сборка прошла успешно, в директории ~/rpmbuild/RPMS/ появится бинарный RPM файл. Вы можете установить его с помощью следующей команды:

    rpm -Uvh ~/rpmbuild/RPMS/i686/audacity-2.1.0-2.el6.i686.rpm

    Или же вы можете использовать yum localinstall, которая автоматически учитывает еще неизведанные зависимости:

    yum localinstall ~/rpmbuild/RPMS/i686/audacity-2.1.0-2.el6.i686.rpm

Применение

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

Работая с .src.rpm, всегда важно следить за версией дистрибутива и использовать соответствующие репозитории для получения зависимостей, так как соответствие версий библиотек и программного обеспечения критически важно для успешной сборки и стабильной работы программы. В этом отношении лучшей практикой является периодическое обновление системы и использование современных источников пакетов.

Для дополнительной информации рекомендуется ознакомление с документацией по работе с RPM, а также поддержку, предоставляемую вашим Linux-дистрибутивом. Знание процессов работы с исходниками также может помочь вам вносить более сложные изменения и оптимизации в устанавливаемое ПО, что особенно актуально в профессиональной и производственной среде, где стабильность и производительность процессов имеют приоритетное значение.

Оцените материал
Добавить комментарий

Капча загружается...