LINUX.ORG.RU

Сборка пакетов через osc

 ,


0

1

Очень нравится openSUSE в целом, а особенно, как они собирают KDE (нигде больше не видел вырезанного akonadi в минимальной установке). Но надоело зависеть от слегка странного Packman. Обновляют они его как и когда хотят, на просьбы реагируют также. К примеру, mpd там версии 0.17.5, когда на дворе уже 0.19.3 (и таки не просто циферки, судя по changelog).

Так вот решил собрать его локально, так как в OBS некоторые его зависимости находятся в blacklist'e. Установил osc, создал локально проект. В статье на сайте openSUSE написано, что можно пакеты, необходимые для сборки закидывать вручную в кеш (для минимизации трафика). Так вот закинул нужные devel пакеты в кеш (запрещенные в OBS), но при запуске сборки пакета osc build openSUSE_13.2 x86_64 --clean возникает ошибка, что мол не хватает тех пакетов, что я указал в спеке и закинул вручную. Есть ли возможность указать ему на них? Попробовал зайти chroot'ом в сборочное окружение, но как там установтить их? rpm -ivh хочет пароль рута, пароль локального рута не подходит.

Что делать? Как собрать, не засоряя систему?

★★★★★

Последнее исправление: maxcom (всего исправлений: 1)

mpd там версии 0.17.5, когда на дворе уже 0.19.3

Так обнови его там, в чём проблема?

dinn ★★★★★
()

Попробуй добавить -o для сборки, типа офлайн режим, тогда не будет за пакетами лезть в obs, мож тогда проканает взять их из кеша.
Потом можно все нужные инклуды запихнуть в тарбол, и в %prep попробовать их разпоковать в корень.
Ну или создать пустые нужные devel пакеты в obs, заменить в кеше на нормальные и так собрать.
Короче гемор ты себе придумал, для того пакман и создан что бы не было таких мук с мультимедия.

Novell-ch ★★★★★
()
Ответ на: комментарий от dinn

на форуме opensuse тоже самое предложили. Но я нублан в сборке пакетов и лучше я буду ковырять локально, чем «для всех». Все только лучше будет.

gutaper ★★★★★
() автор топика
Ответ на: комментарий от gutaper

Но я нублан в сборке пакетов

Научишься, там ничего сложного нет. Для старта достаточно http://www.rpm.org/max-rpm/

я буду ковырять локально

Для pmbs можно так же локально собрать обновлённую версию, потом отправить в репозиторий. Да и ветку в home: никто не запрещает делать.

Все только лучше будет.

Нет, только такие как ты будут дальше ныть об отсутствии обновлений. Если человеку нужен пакет, не вижу никак проблем чтобы он его сопровождал. В конце концов это не какой-то монстр, а плеер.

dinn ★★★★★
()
Ответ на: комментарий от dinn

Нет, только такие как ты будут дальше ныть об отсутствии обновлений

ЛОР головного мозга, навверное. Я вроде и не ныл, а спросил, как собрать можно. Вот если бы лишь писал «фу, старье, пакман говно» - это ныть.

gutaper ★★★★★
() автор топика
Ответ на: комментарий от gutaper

Но надоело зависеть от слегка странного Packman.

Это уже можно так квалифицировать.

dinn ★★★★★
()
Ответ на: комментарий от dinn

В openSUSE есть OBS, только вот человек «стесняется» и городит себе проблемы на ровном месте.

Я всегда считал что OBS это в онлайн только… А оно вон как.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

И да, и нет. Во-первых никто не мешает создать там свой аккаунт и через osc собирать локально. Во-вторых, если уж надо много чего и у себя, то поднять свою копию OBS не сложно.

dinn ★★★★★
()
Ответ на: комментарий от dinn

ну ты же в курсе, что много мультимедиа пакетов находятся в черном списке OBS? И зачем тут про стесняется? Тебе хочется, чтобы пакман обновляли? Обновляй. Я спросил как собрать локально, Novell-ch подсказал, а ты тут просто серишь.

gutaper ★★★★★
() автор топика
Ответ на: комментарий от gutaper

Это так сложно?

dmitry@main:~/OBS> osc -A pm co Essentials/mpd
A    Essentials
A    Essentials/mpd
A    Essentials/mpd/README.mpd
A    Essentials/mpd/mpd-0.17.4-ffmpeg2.patch
A    Essentials/mpd/mpd-0.17.5.tar.xz
A    Essentials/mpd/mpd-mpdconf_suse.patch
A    Essentials/mpd/mpd-sndfile-vorbis.patch
A    Essentials/mpd/mpd-user.conf
A    Essentials/mpd/mpd-wavpack.patch
A    Essentials/mpd/mpd.changes
A    Essentials/mpd/mpd.init
A    Essentials/mpd/mpd.service
A    Essentials/mpd/mpd.spec
At revision 24.
dmitry@main:~/OBS> cd Essentials/mpd 
dmitry@main:~/OBS/Essentials/mpd> osc build --clean openSUSE_Tumbleweed x86_64
Building mpd.spec for openSUSE_Tumbleweed/x86_64

dinn ★★★★★
()
Ответ на: комментарий от dinn

что сложно? Как работает osc я в общих чертах разобрался. Ты хочешь сказать, что вот у тебя в OBS собирается mpd с поддержкой mms, ffmpeg, mad и прочим?

gutaper ★★★★★
() автор топика
Ответ на: комментарий от gutaper

osc help

-A URL/alias, --apiurl=URL/alias
                        specify URL to access API server at or an alias
Только не помню нужен ли обязательно аккаунт.

dinn ★★★★★
()

Может кому-нибудь пригодится:

чтобы собрать локально пакет с помощью osc, надо просто указать через ключ -x (--extra-pkgs=) нужные rpm, чтобы они были включены при построении сборочного окружения. Ну или после сборки стандартного окружения зайти в chroot не abuild'ом, а рутом и там поставить нужные пакеты.

Все собирается нормально после этого.

gutaper ★★★★★
() автор топика

Меня в Пакмане не устраивала старая версия qmmp, я просто там и обновил её. Хотя в случае с qmmp особенность была. Надо было обновить версию в OBS, а потом уже оттуда мейнтейнеры Пакмана ссылку себе добавили. Надо только было в спеке %bcond_with расставить, чтобы потом со всякими libmad в Пакмане собрался пакет.

kukuruku ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.