Пакета нет в Sisyphus

Материал из ALT Linux Wiki
Перейти к: навигация, поиск

Предварительная подготовка[править]

Статья предполагает применение etersoft-build-utils (см. Etersoft-build-utils howto).

Ищем инородный src.rpm[править]

1. Поиск по дистрибутивам с пакетами rpm[править]

$ rpmgp -a Имя_пакета

$  rpmgp -a synapse

List for alt:
    synapse-0.2.99.1-alt2.src.rpm

List for altautoimports:
    perl-Business-OnlinePayment-SynapseGateway-0.01-alt1.src.rpm
    perl-Synapse-CLI-Config-0.1-alt1.src.rpm
    perl-Synapse-Logger-0.1-alt1.src.rpm
    perl-Synapse-MailSender-1.4-alt1.src.rpm
    perl-Synapse-Monitor-Listener-0.3-alt1.src.rpm

List for rosa2014c:
    synapse-0.2.10-2.src.rpm

List for suse:
    synapse-0.2.10-10.1.6.src.rpm.mirrorlist

List for suse-factory:
    synapse-0.2.99.1-1.2.src.rpm

List for gitaltgears:
    /gears/s/synapse.git

2. Качаем нужный src.rpm[править]

$ rpmgp -da Имя_пакета.src.rpm

$  rpmgp -da synapse-0.2.99.1-1.2.src.rpm
--2015-10-05 21:08:01--  http://ftp5.gwdg.de/pub/opensuse/source/factory/repo/oss/suse/src//synapse-0.2.99.1-1.2.src.rpm
Распознаётся ftp5.gwdg.de (ftp5.gwdg.de)… 134.76.12.5, 2001:638:60f:110::1:1
Подключение к ftp5.gwdg.de (ftp5.gwdg.de)|134.76.12.5|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 440583 (430K) [application/x-rpm]
Сохранение в: «synapse-0.2.99.1-1.2.src.rpm»

100%[=====================================================================================>] 440 583     42,9KB/s   за 9,9s   

2015-10-05 21:08:12 (43,6 KB/s) - «synapse-0.2.99.1-1.2.src.rpm» сохранён [440583/440583]


List for suse-factory:
    synapse-0.2.99.1-1.2.src.rpm

$  ls
synapse-0.2.99.1-1.2.src.rpm

3. Готовим gear-репозиторий[править]

$ gear-srpimport Имя_пакета.src.rpm

$  mkdir synapse
$  cd synapse
$  git init
$  gear-srpmimport ../synapse-0.2.99.1-1.2.src.rpm

4. Подгоняем spec под alt linux policy[править]

$ rpmcs

Читаем об ошибках и исправляем их.

Успешное завершение выглядит примерно так

$  rpmcs                                                                               
Using autodetected spec /home/users/wikitest/synapse/synapse.spec...
Packager: bla-bla <bla-bla@altlinux.org>
предупреждение: Macro %suse_update_desktop_file not found
cleanup_spec for /home/users/wikitest/synapse/synapse.spec.tmpspecbeforechangelog...
исправляем название и релиз...
предупреждение: Macro %suse_update_desktop_file not found
fix obsoleted constructions...DONE
fix build requires...
предупреждение: Macro %suse_update_desktop_file not found
fix package requires...
предупреждение: Macro %suse_update_desktop_file not found
fix groups...
предупреждение: Macro %suse_update_desktop_file not found

Total used replacement rules: 
Add changelog with initial build
предупреждение: Macro %suse_update_desktop_file not found
предупреждение: Macro %suse_update_desktop_file not found
предупреждение: Macro %suse_update_desktop_file not found
DONE

В данном примере макрос %suse_update_desktop_file всё таки нужно подправить( найти аналоги в alt или узнать во что раскрывается этот макрос в suse )

5. Собираем в Hasher[править]

 
$ rpmbsh

6. Оправляем в Сизиф[править]

$ ginit git.alt
$ rpmbs git.alt -u

Качаем исходники[править]

1. Качаем исходники[править]

$ wget www.internet.net/Имя_пакета.{bz2,gzip,xz}

2. Создаём gear-репозиторий[править]

$ mkdir -p synapse/.gear
$ cd synapse
$ git init
$ touch .gear/rules
$ gear-update -c ../synapse.tar.xz synapse

3. Заполняем согласно Alt linux policy файл .gear/rules Руководство по gear[править]

4. Пишем spec SampleSpecs[править]

5. Фиксируем изменения в gear-репозитории[править]

$ git add .
$ gear-commit -a

6. Собираем в Hasher[править]

 
$ rpmbsh

7. Оправляем в Сизиф[править]

$ ginit git.alt
$ rpmbs git.alt -u