Сборка проприетарного пакета с нуля
Материал из ALT Linux Wiki
(Различия между версиями)
Becase (обсуждение | вклад) (→Исследование пакета) |
Becase (обсуждение | вклад) (→Исследование пакета) |
||
Строка 25: | Строка 25: | ||
StarBoardSoftware: Требует: perl(strict) но пакет не может быть установлен | StarBoardSoftware: Требует: perl(strict) но пакет не может быть установлен | ||
E: Извините, `битые' пакеты | E: Извините, `битые' пакеты | ||
+ | |||
+ | Ладно, создаём фиктивный пакет со следующим спеком в {{path|~/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 | ||
+ | Выполняем {{cmd|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: {{cmd|hsh-install -v `pwd`perl-strict-1.0-alt1.noarch.rpm}} | ||
== Примечания == | == Примечания == | ||
{{примечания}} | {{примечания}} |
Версия 18:02, 5 марта 2011
Данное руководство покажет, как правильно собрать пакет RPM в Sisyphus с нуля в инфраструктуре Gear и git.alt, не имея исходного кода пакета, на примере пакета StarBoardSoftware.
Входные требования
- Желательно иметь локальное зеркало Сизифа.
- Установленный и немного настроенный hasher[1].
- Пакет, который необходимо пересобрать для Сизифа.
- Ну, и самое главное, желание этим заниматься.
Исследование пакета
Первым делом нужно исследовать пакет на его кривость.
Для начала смотрим список файлов, которые появляются после установки пакета: 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
Примечания
- ↑ После установки hasher необходимо создать вспомогательных пользователей и перезайти в систему.