Сборка проприетарного пакета с нуля: различия между версиями

Материал из ALT Linux Wiki
Строка 43: Строка 43:
  Записан: /home/becase/RPM/RPMS/noarch/perl-strict-1.0-alt1.noarch.rpm
  Записан: /home/becase/RPM/RPMS/noarch/perl-strict-1.0-alt1.noarch.rpm


Ставим наш самособранный пакет в hasher: {{cmd|hsh-install -v `pwd`perl-strict-1.0-alt1.noarch.rpm}}
Ставим наш самособранный пакет в hasher: {{cmd|hsh-install -v `pwd`/perl-strict-1.0-alt1.noarch.rpm}}


== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}

Версия от 21:03, 5 марта 2011

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Данное руководство покажет, как правильно собрать пакет RPM в Sisyphus с нуля в инфраструктуре Gear и git.alt, не имея исходного кода пакета, на примере пакета StarBoardSoftware.

Входные требования

Исследование пакета

Первым делом нужно исследовать пакет на его кривость.

Для начала смотрим список файлов, которые появляются после установки пакета: rpm -qlp | less.

И видим, что все файлы ставятся в каталог /usr/local/.

Пробуем поставить этот пакет в hasher, на голую систему:

  • hsh --initroot-only -v ~/hasher
  • hsh-install -v `pwd`/StarBoardSoftware-9.2.i586.rpm
Следующие пакеты имеют неудовлетворенные зависимости:
  StarBoardSoftware: Требует: perl(strict) но пакет не может быть установлен
E: Извините, `битые' пакеты

Ладно, создаём фиктивный пакет со следующим спеком в ~/RPM/SPECS/:

Name: perl-strict
Version: 1.0
Release: alt1
Provides: perl(strict)
BuildArch: noarch
Summary: perl(strict)
Group: Test
License: test
%description
%files
%changelog

Выполняем rpmbuild -bb perl-strict.spec

Обрабатываются файлы: perl-strict-1.0-alt1
Provides: perl(strict)
Записан: /home/becase/RPM/RPMS/noarch/perl-strict-1.0-alt1.noarch.rpm

Ставим наш самособранный пакет в hasher: hsh-install -v `pwd`/perl-strict-1.0-alt1.noarch.rpm

Примечания

  1. После установки hasher необходимо создать вспомогательных пользователей и перезайти в систему.