Пакета нет в Sisyphus
Версия от 13:57, 14 октября 2015; 192.168.1.10 (обсуждение) (→4. Подгоняем spec под altlinux policy)
Ищем инородный 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 под altlinux 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. Заполняем согласно Altlinux policy файл .gear/rules Руководство_по_gear
4. Пишем spec https://www.altlinux.org/SampleSpecs
5. Фиксируем изменения в gear-репозитории
$ git add . $ gear-commit -a
6. Собираем в Hasher
$ rpmbsh
7. Оправляем в Сизиф
$ ginit git.alt $ rpmbs git.alt -u