Разработка / компиляция и сборка rpm

Ответить
Аватара пользователя
Shura
Сообщения: 258
Зарегистрирован: 14 янв 2013, 14:50
Operating system: Rosa 2013
Контактная информация:

Разработка / компиляция и сборка rpm

Сообщение Shura » 08 фев 2013, 15:12

Порой хотелось бы собирать некоторые пакеты самому, ибо компьютер есть, почему бы не помочь сообществу. В связи с этим есть ряд вопросов.

1. Не хочется засирать систему горой всяких библиотек для разработки и черте чего еще. Вдобавок некоторые исходные коды требуют версий библиотек, отличных от установленных.
В связи с этим вопрос - как проще всего организовать сборочную песочницу? Есть готовые мануалы? chroot, openVZ, что-то еще. Как организовать с минимальными усилиями Росу в качестве гостевой системы.

2. Вот этот вот кошмар со сборкой rpm с созданием дерева rpm/BUILD и ручным прописыванием зависимостей. Это навсегда? Есть пути обхода? Неужели так сложно обнаружить зависимости автоматически? Может есть волшебные утилиты?
Открываю вот это http://wiki.mandriva.com/ru/Development/Howto/RPM и немедленно закрываю. Для кого весь этот ад? Есть скрипты, делающие всё это автоматически? Чтобы я только описание программы написал и её название.
Linux home 3.6.10-nrj-desktop-1rosa #1 SMP PREEMPT Wed Dec 12 13:59:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

d_uragan
Сообщения: 505
Зарегистрирован: 23 ноя 2011, 21:27

Re: Разработка / компиляция и сборка rpm

Сообщение d_uragan » 08 фев 2013, 16:09

Попробуйте http://wiki.rosalab.ru/ru/index.php/Mock-urpm

При первом запуске достаточно много времени уйдет на создание chroot, но потом можно переиспользовать уже имеющееся окружение.

Аватара пользователя
Shura
Сообщения: 258
Зарегистрирован: 14 янв 2013, 14:50
Operating system: Rosa 2013
Контактная информация:

Re: Разработка / компиляция и сборка rpm

Сообщение Shura » 08 фев 2013, 16:16

Спасибо, попробую. Он собирает только из src-rpm или и простых исходников тоже может?
Linux home 3.6.10-nrj-desktop-1rosa #1 SMP PREEMPT Wed Dec 12 13:59:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 08 фев 2013, 16:23

Да не так серьезно. Я для этого держу ОС на внешнем диске.
Правда это только задумка, в основном превращаю основную систему в сборочную (лень перезагружать туда сюда). Из минусов этого, когда пользовался разрабатываемой версией и шло постоянное обновление большого количества пакетов (у меня девелов было около тысячи), быстрая фрагментация корневого раздела.
А в остальном не так все страшно. Спеки можно найти в старых пакетах или других дистрах.
Если не хватает зависимостей или версия в репах не подходит, можно сначала ее собрать или обновить.
Если в репах совсем нет нужных src для того чтобы стянуть оттуда, можно поискать тут
http://pkgs.org/. Там очень удобно искать. Даже вбив в поиску библиотеку, мы получим необходимый пакет
в котором она лежит. А потом скачать src не проблема. Раньше там были сразу прямые ссылки
на пакеты и src.
По спекам тоже не так все страшно (только не для меня), Если не знаем нужных зависимостей,
то при сборке увидим в ошибке. Или можно запустить компиляцию и посмотреть и дописать нужные.
Ну и пути. Если при сборке получаем сообщение об ошибке и что остались неупакованные файлы,
заходим в ~/rpmbuild/BUILDROOT/ и далее в каталог с несобранной программой, смотрим где лежат эти
файлы и дописываем их в спек. Но возможно и наоборот, что-то придется из спека убрать.
Это только мое видение. Я довольно малограмотный и это все до меня дошло методом тыка.
Возможно так не верно и правильнее по другому. Тут майнтейнеры пакетов особо не подскажут.
Им и некогда, и просто нянчится с почемучкой которому приспичило поиграть со сборкой не хочется.
Но правильную подсказку может дадут. Кто действительно хочет, разберется и получит некоторые необходимые знания.
Но по любому нужно смотреть чужие спеки и с них брать пример или копировать их, меняя что необходимо.
Спасибо за тему. Может получится интересная или будут по возможности давать советы
майнтейнеры по аналогии с темой по русификации.

Аватара пользователя
Константин
Сообщения: 373
Зарегистрирован: 10 дек 2012, 12:41
Operating system: Rosa Linux 2012 Fresh
Откуда: European Union

Re: Разработка / компиляция и сборка rpm

Сообщение Константин » 08 фев 2013, 18:18

Да простят меня гуру, я пользуюсь checkinstall
Для того чтобы он мог сразу устанавливать пакеты, надо в источниках пакетов добавить локальный /root/rpmbuild/rpms/i586
Работает достаточно просто - собрал проект и вместо
# make install
делаю
# checkinstall
Отвечаю на несколько вопросов (автоматом) заполняю описание, если надо подправляю название пакета и.. как его.. 11 номером идет - то-же что и название. И всё.
А, иногда бывают проблемы и приходится сначала
# make install
и следом
# checkinstall
Тогда всё встаёт на свои места.
Зависимости не прописывю, в rpm среде зависимости как-то сами встают, вроде :) Попробовал вчера libkdeaccessibilityclient удалить, а он говорит - этот пакет нужен Simon'у Значит работают зависимости?
Форумный троль обыкновенный.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 08 фев 2013, 18:58

Константин писал(а):Зависимости не прописывю, в rpm среде зависимости как-то сами встают, вроде :) Попробовал вчера libkdeaccessibilityclient удалить, а он говорит - этот пакет нужен Simon'у Значит работают зависимости?
Немного не так. По пакету libkdeaccessibilityclient я не очень разбирался. Но как понял,
при компиляции Simon, он там прописан в cmake. Если нет в наличии, он должен подтянуться через
интернет и скомпилиться. Поэтому он наверное и попал у вас в зависимости.
И часто при большом количестве установленных девелах можно пропустить зависимость.

Аватара пользователя
Константин
Сообщения: 373
Зарегистрирован: 10 дек 2012, 12:41
Operating system: Rosa Linux 2012 Fresh
Откуда: European Union

Re: Разработка / компиляция и сборка rpm

Сообщение Константин » 09 фев 2013, 05:50

Ну, для сравнения, я обновил все пакеты. Когда запустил Криту, она вывалилась с ошибкой - не хватает LitleCMS. И такое в репозитории. Ну по сравнению с таким - чекинсталл очень даже не плохо собирает :)
Форумный троль обыкновенный.

Аватара пользователя
Shura
Сообщения: 258
Зарегистрирован: 14 янв 2013, 14:50
Operating system: Rosa 2013
Контактная информация:

Re: Разработка / компиляция и сборка rpm

Сообщение Shura » 09 фев 2013, 10:13

Константин писал(а):Да простят меня гуру, я пользуюсь checkinstall
Для того чтобы он мог сразу устанавливать пакеты, надо в источниках пакетов добавить локальный /root/rpmbuild/rpms/i586
Работает достаточно просто - собрал проект и вместо
# make install
делаю
# checkinstall
Отвечаю на несколько вопросов (автоматом) заполняю описание, если надо подправляю название пакета и.. как его.. 11 номером идет - то-же что и название. И всё.
А, иногда бывают проблемы и приходится сначала
# make install
и следом
# checkinstall
Тогда всё встаёт на свои места.
Зависимости не прописывю, в rpm среде зависимости как-то сами встают, вроде :) Попробовал вчера libkdeaccessibilityclient удалить, а он говорит - этот пакет нужен Simon'у Значит работают зависимости?
При таком подходе в системе срач будет. Хотелось бы именно в отдельном окружении всё это собирать
Linux home 3.6.10-nrj-desktop-1rosa #1 SMP PREEMPT Wed Dec 12 13:59:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Аватара пользователя
Shura
Сообщения: 258
Зарегистрирован: 14 янв 2013, 14:50
Operating system: Rosa 2013
Контактная информация:

Re: Разработка / компиляция и сборка rpm

Сообщение Shura » 09 фев 2013, 10:14

d_uragan писал(а):Попробуйте http://wiki.rosalab.ru/ru/index.php/Mock-urpm

При первом запуске достаточно много времени уйдет на создание chroot, но потом можно переиспользовать уже имеющееся окружение.
Да что ж такое!!!

Код: Выделить всё

sudo urpmi mock-urpm
[sudo] password for shura: 
Не удаётся установить следующие пакеты, т.к. они зависят от пакетов,
более старых, чем установленные:
rpm-build-5.4.10-6
mock-urpm-1.1.12-16
Продолжить установку?
Продолжить установку? (Y/n) 
Хоть часть пакетов и могла быть установлена, произошли ошибки.
Не удаётся установить следующие пакеты, т.к. они зависят от пакетов,
более старых, чем установленные:
rpm-build-5.4.10-6
mock-urpm-1.1.12-16
Продолжить установку?
shura [/home/shura]$
Linux home 3.6.10-nrj-desktop-1rosa #1 SMP PREEMPT Wed Dec 12 13:59:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Аватара пользователя
Shura
Сообщения: 258
Зарегистрирован: 14 янв 2013, 14:50
Operating system: Rosa 2013
Контактная информация:

Re: Разработка / компиляция и сборка rpm

Сообщение Shura » 09 фев 2013, 16:07

Поставился, но теперь не запускается

Код: Выделить всё

$ sudo mock-urpm --init
/usr/sbin/../../etc/mock-urpm
Avaliable configurations: 
Rosa-2012.1-x86_64, Mandriva-cooker-x86_64, Mandriva-2011-i586, Mandriva-2011-x86_64, Mandriva-cooker-i586, Rosa-2012lts-x86_64, Rosa-2012lts-i586, Rosa-2012.1-i586
Select one (it will be remembered): Rosa-2012.1-x86_64
Traceback (most recent call last):
  File "/usr/sbin/mock-urpm", line 497, in <module>
    def do_buildsrpm(config_opts, chroot, options, args):
  File "/usr/sbin/mock-urpm", line 614, in main
    fix_configs(config_path)
  File "/usr/sbin/mock-urpm", line 890, in fix_configs
    os.symlink(config_path + '/%s.cfg' % res, config_path + '/default.cfg')
OSError: [Errno 13] Отказано в доступе
Ну почему никогда не бывает так, чтобы просто запустилось и заработало?
Linux home 3.6.10-nrj-desktop-1rosa #1 SMP PREEMPT Wed Dec 12 13:59:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 09 фев 2013, 16:10

В другой теме было
Shura писал(а):Спасибо, но я хочу использовать новый метод сборки с использованием mock-urpm
Потом отписывайся тут пожалуйста. Интересно, как с ней работать.
Мне удобнее через rpm. Если затеете собирать через rpmbuild, там сейчас на rpm5 придется
много править спек. В секции %files не должны повторяться пути. Не очень сложно, но лишняя работа.
А через rpm этого не нужно. По любому стоит почитать rpm --help, там дофига интересного.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 09 фев 2013, 16:13

А что у вас с источниками? Что там за запрос в выборе ОС?

Аватара пользователя
Shura
Сообщения: 258
Зарегистрирован: 14 янв 2013, 14:50
Operating system: Rosa 2013
Контактная информация:

Re: Разработка / компиляция и сборка rpm

Сообщение Shura » 09 фев 2013, 16:17

Хз что там с источниками. Всё по-умолчанию.


Но меня начинают терзать смутные сомнения, что эта штука годится только для сборка src.rpm. По крайней мере других примеров использования я нигде не нашёл....
Я уже начинаю ненавидеть всё это. Ей богу, проще VirtualBox поставить и всё там внутри запустить, чем нормально чрутнуться.
Linux home 3.6.10-nrj-desktop-1rosa #1 SMP PREEMPT Wed Dec 12 13:59:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 09 фев 2013, 16:21

Да, вроде mock-urpm всегда выпадает при подключенных левых источниках.
У меня при подключении локального зеркала работает нормально, но если подключаю
каталог с пакетами не из зеркала (таких у меня несколько), то он не хочет работать.

Аватара пользователя
Shura
Сообщения: 258
Зарегистрирован: 14 янв 2013, 14:50
Operating system: Rosa 2013
Контактная информация:

Re: Разработка / компиляция и сборка rpm

Сообщение Shura » 09 фев 2013, 16:27

И chroot тоже не получается выполнить:

Код: Выделить всё

chroot .
chroot: не удалось выполнить команду «/bin/zsh»: Нет такого файла или каталога
Хотя файл такой есть.
Linux home 3.6.10-nrj-desktop-1rosa #1 SMP PREEMPT Wed Dec 12 13:59:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 09 фев 2013, 17:10

Shura писал(а):И chroot тоже не получается выполнить:

Код: Выделить всё

chroot .
chroot: не удалось выполнить команду «/bin/zsh»: Нет такого файла или каталога
Хотя файл такой есть.
А пакет zsh установлен.
Вообще не вижу смысла в таких мучениях. То, что вы будете собирать в независимой среде,
не исключает установку девелов. Поэтому может стоит собирать через rpm.
А так, похоже что у вас что-то с неразрешимыми зависимостями.
Похоже что ранее откуда-то обновились не верно и теперь не все зависимости ставятся.
С девелами в такой ситуации легко, пытаемся установить через "Установка и удаление"
видим на каком пакете ошибка. Который выдает сообщение, что не может быть установлен и т.п., Запускаем в консоли

Код: Выделить всё

urpmi имя_пакта --allow-force -v
и устанавливаем все необходимое
для сборки отвечая всегда y. На ОС это не влияет, там только для сборки. Ну и скорее всего придется повторить команду два или три раза. И возможно понадобится отдельно выполнить эту команду для каких-то файлов из получаемого списка, если не удается установить полный список и ошибка установки повторяется. Особо не парьтесь по этому поводу, у меня никогда нет нормальных зависимостей, на все
urpmi ругается, так как дофига собираю более нового и устанавливаю. Но все отлично работает.
Правда мне это привычно, несколько лет пользовался этим источником обновлений. Он ломал все зависимости. ftp://ftp.mdvrb-factory.de/mandriva/2011.0/

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 10 фев 2013, 14:50

Константин писал(а):Ну, для сравнения, я обновил все пакеты. Когда запустил Криту, она вывалилась с ошибкой - не хватает LitleCMS. И такое в репозитории. Ну по сравнению с таким - чекинсталл очень даже не плохо собирает :)
Да krita-то нормально собрана, просто пакет LitleCMS не ставится по зависимости, потому что в репах лежит криво собранный LibreOffice, который якобы предоставляет нужную библиотеку LitleCMS, хотя на самом деле это не так. Проблема с LitleCMS/LibreOffice известная, но что-то её решение сильно затянулось. :(
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

Аватара пользователя
Константин
Сообщения: 373
Зарегистрирован: 10 дек 2012, 12:41
Operating system: Rosa Linux 2012 Fresh
Откуда: European Union

Re: Разработка / компиляция и сборка rpm

Сообщение Константин » 10 фев 2013, 15:19

ааааа вот как поймать пульфера! теперь знаю на что он клюёт :)
Форумный троль обыкновенный.

Аватара пользователя
Константин
Сообщения: 373
Зарегистрирован: 10 дек 2012, 12:41
Operating system: Rosa Linux 2012 Fresh
Откуда: European Union

Re: Разработка / компиляция и сборка rpm

Сообщение Константин » 10 фев 2013, 15:22

И это всё равно не правильно. Тогда надо было при сборке Криты указать - без лцмс - что толку мне от неработающей криты?
Форумный троль обыкновенный.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 11 фев 2013, 02:21

Константин писал(а):И это всё равно не правильно. Тогда надо было при сборке Криты указать - без лцмс - что толку мне от неработающей криты?
Это костыли были бы. Вот что реально надо, так это как можно скорее чинить LibreOffice. Уже назначили человека им заняться.

Вообще, насколько я помню, для обхода проблемы перед релизом было принято решение включить lcms в образ по умолчанию, чтобы не было необходимости по зависимостям ставить. Поэтому достаточно неожиданно, что проблема всё-таки вылезла.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 07 июл 2013, 13:49

Собираю пакет с синтезатором. Проект на cmake. Если использовать %cmake, то компиляция останавливается на ошибках.
Причём:

Код: Выделить всё

CMake Warning:
  Manually-specified variables were not used by the project:

BUILD_STATIC_LIBS
    CMAKE_INSTALL_LIBDIR
    CMAKE_MODULE_LINKER_FLAGS
    INCLUDE_INSTALL_DIR
    LIB_INSTALL_DIR
    LIB_SUFFIX
    SHARE_INSTALL_PREFIX
    SYSCONF_INSTALL_DIR

На сайте что-то таких переменных не видать. Неужели патчить?

Если же просто cmake ./, компилируется нормально, но расположение библиотек /usr/lib, а надо /usr/lib64. Префиксом -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} избавился от /usr/local. Как быть с либами?

PS:Только начал работать со spec.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 07 июл 2013, 16:18

faithman писал(а):Собираю пакет с синтезатором. Проект на cmake. Если использовать %cmake, то компиляция останавливается на ошибках.
Причём:

Код: Выделить всё

CMake Warning:
  Manually-specified variables were not used by the project:
Это вообще не страшно, можно не обращать внимания.
faithman писал(а):Если же просто cmake ./, компилируется нормально, но расположение библиотек /usr/lib, а надо /usr/lib64. Префиксом -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} избавился от /usr/local. Как быть с либами?
Вообще, судя по тому, что с простым вызовом cmake вместо макроса %cmake программа собирается нормально, то полагаю, что всё дело во флагах сборки, которые задаёт %cmake (оптимизация, формат debug-информации и т.д.). А конкретно, в "-Wl,--no-undefined".

Поэтому можно попробовать прописать в спеке (конкретное место не так важно, но принято либо в самом начале, выше тэгов Name, Summary и т.д., либо перед вызовом %cmake):

Код: Выделить всё

%define _disable_ld_no_undefined 1
Это уберёт флаг "-Wl,--no-undefined". А потом использовать макрос %cmake для сборки.

Кстати, если интересно посмотреть, во что раскрывается этот макрос, то это можно сделать командой:

Код: Выделить всё

rpm --eval %cmake
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 07 июл 2013, 19:42

cmake отработал, но теперь проблема c %make_install:

Код: Выделить всё

make: *** No rule to make target `install'. 
cmake создаёт каталог build в распакованных исходниках , может в этом проблема, что нечего переносить в BUILDROOT?

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 08 июл 2013, 01:54

faithman писал(а):cmake создаёт каталог build в распакованных исходниках , может в этом проблема, что нечего переносить в BUILDROOT?
Да, тут надо команде make install (точнее даже макросу, вызывающему эту команду с доп. параметрами) указать на каталог build:

Код: Выделить всё

%makeinstall_std -C build
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 08 июл 2013, 17:40

Ага, помогло, но:

Код: Выделить всё

/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: ""
-- Installing: /home/faithman/rpmbuild/BUILDROOT/newtonator-0.6.0-1-rosa2012.1.x86_64-buildroot/usr/lib/lv2/newtonator_gtk.lv2/newt_lv2_gui.so
-- Installing: /home/faithman/rpmbuild/BUILDROOT/newtonator-0.6.0-1-rosa2012.1.x86_64-buildroot/usr/lib/lv2/newtonator_gtk.lv2/manifest.ttl
-- Installing: /home/faithman/rpmbuild/BUILDROOT/newtonator-0.6.0-1-rosa2012.1.x86_64-buildroot/usr/lib/lv2/newtonator.lv2/newt_lv2_instr.so
-- Installing: /home/faithman/rpmbuild/BUILDROOT/newtonator-0.6.0-1-rosa2012.1.x86_64-buildroot/usr/lib/lv2/newtonator.lv2/manifest.ttl
-- Installing: /home/faithman/rpmbuild/BUILDROOT/newtonator-0.6.0-1-rosa2012.1.x86_64-buildroot/usr/lib/lv2/newtonator.lv2/newt_lv2_instr.ttl
Каталог lib, но не lib64 для библиотек. Непонятно. Или можно переназначить в %files как-то? Правда %{_libdir} у меня /usr/lib64.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 08 июл 2013, 18:48

faithman писал(а):Каталог lib, но не lib64 для библиотек. Непонятно. Или можно переназначить в %files как-то? Правда %{_libdir} у меня /usr/lib64.
Хмм, тут мне лучше непосредственно на спек и код проекта глянуть, чтобы понять, как тут лучше сделать. Бывает, что в апстриме делают кривые cmake-проекты, может и тут так. Тогда либо патчить CMakeLists.txt, либо вручную файлы перемещать... А может надо просто параметр для cmake указать, куда устанавливать файлы. В общем, надо посмотреть.

Сейчас лучше собрать SRPM-пакет командой rpmbuild -bs [спек] и выложить куда-нибудь, чтобы я глянул.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 08 июл 2013, 19:07


Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 08 июл 2013, 20:24

faithman писал(а):newtonator
Вот это должно помочь:

Код: Выделить всё

%cmake -DLV2_INSTALL_DIR=%{_libdir}/lv2
Т.е. просто явно указываем cmake, куда ставить модули LV2. Чтение CMakeLists.txt в данном случае помогло разобраться :)

Кстати, совсем не обязательно явно определять макросы %name, %version и %release:

Код: Выделить всё

%define name newtonator
%define version 0.6.0
%define release 1
Потому что они и так берутся из соответствующих тэгов (т.е. из Name, Version и Release). Так что можно упростить спек :)
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 09 июл 2013, 17:19

Спасибо! Правда, на странице самого проекта была эта опция, просто не обратил внимание, столько времени зря убил :)

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 09 июл 2013, 20:48

Пакет собрался, но который с debuginfo ругается:

Код: Выделить всё

newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/include/newt_lv2_voice.h
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_core/include/INewtSettings.h
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/newt_lv2_voice.cpp
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_core/include/Newtonator2.h
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_core/include/VariSource.h
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/newt_lv2_instr.cpp
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_core/VariSource.cpp
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/include/newt_lv2_instr.h
newtonator-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/newtonator-0.6.0/src/newt_core/Newtonator2.cpp
newtonator-debuginfo.x86_64: E: non-standard-executable-perm (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/newt_lv2_voice.cpp 0700
newtonator-debuginfo.x86_64: E: non-standard-executable-perm (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_core/include/Newtonator2.h 0700
newtonator-debuginfo.x86_64: E: non-standard-executable-perm (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_core/include/VariSource.h 0700
newtonator-debuginfo.x86_64: E: non-standard-executable-perm (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/newt_lv2_instr.cpp 0700
newtonator-debuginfo.x86_64: E: non-standard-executable-perm (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_core/VariSource.cpp 0700
newtonator-debuginfo.x86_64: E: non-standard-executable-perm (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/include/newt_lv2_instr.h 0700
newtonator-debuginfo.x86_64: E: non-readable (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/newt_lv2_voice.cpp 0700
newtonator-debuginfo.x86_64: E: non-readable (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_core/include/Newtonator2.h 0700
newtonator-debuginfo.x86_64: E: non-readable (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_core/include/VariSource.h 0700
newtonator-debuginfo.x86_64: E: non-readable (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/newt_lv2_instr.cpp 0700
newtonator-debuginfo.x86_64: E: non-readable (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_core/VariSource.cpp 0700
newtonator-debuginfo.x86_64: E: non-readable (Badness: 1) /usr/src/debug/newtonator-0.6.0/src/newt_lv2_instr/include/newt_lv2_instr.h 0700
2 packages and 0 specfiles checked; 12 errors, 9 warnings.
Проблемы с правами. Пробовал %_srcdefattr(0644,root,root) , но что-то не понимаю или макрос не тот.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 09 июл 2013, 21:35

faithman писал(а):Пакет собрался, но который с debuginfo ругается:
Проблемы с правами. Пробовал %_srcdefattr(0644,root,root) , но что-то не понимаю или макрос не тот.
Тут лучше после распаковки архива (т.е. после макроса %setup) просто явно поправить права командой

Код: Выделить всё

find . -perm 0700 | xargs chmod 0644
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 10 июл 2013, 19:40

Собралось без ошибок и предупреждений.
Спасибо за подсказку, совсем утонул в макросах, а про стандартные утилиты забыл.
Это мой первый опыт успешного пакетирования.
Буду собирать другие синтезаторы.

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 16 июл 2013, 19:43

Можно ли переопределять местоположение или вообще удалять/не включать некоторые пустые каталоги в пакете с debuginfo?
Ситуация:
BUILDROOT/usr/src/debug/newtonator/build/src/4-е пустых каталога <- их я не хочу включать в пакет с debuginfo
BUILDROOT/usr/src/debug/newtonator/src/4-е одноимённых каталога c исходным текстом

%package debuginfo
%description debuginfo
%files debuginfo
Оно? Потом самому определить файлы?

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 17 июл 2013, 03:40

faithman писал(а):Можно ли переопределять местоположение или вообще удалять/не включать некоторые пустые каталоги в пакете с debuginfo?
Честно говоря, я даже не знаю, никогда не вникал :oops:
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 22 июл 2013, 20:00

Код: Выделить всё

drumkv1-debuginfo.x86_64: E: debuginfo-without-sources (Badness: 1) 
И такая ошибка у меня во втором пакете уже. Нет исходников в buildroot/usr/src. Как этот вопрос решается грамотно? Делал через патч makefile в .spec для S0-synth-LV2, но как-то грубовато.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 23 июл 2013, 03:11

faithman писал(а):

Код: Выделить всё

drumkv1-debuginfo.x86_64: E: debuginfo-without-sources (Badness: 1) 
И такая ошибка у меня во втором пакете уже. Нет исходников в buildroot/usr/src. Как этот вопрос решается грамотно?
Тут универсального решения нет, т.к. проблема возникает, когда программа собирается с нестандартными флагами, передаваемыми компилятору. Так что решение зависит от системы сборки (cmake, scons или что-то ещё) и от того, что конкретно разработчики прописали с сборочных файлах. Например, вчера исправлял эту проблему в mppenc вот таким патчем: https://abf.rosalinux.ru/openmandriva/m ... lags.patch
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 01 авг 2013, 18:00

Понятно что тянуть столько пакетов небольшому числу разработчиков трудно, а если есть хозяин своего пакета, который заинтересован в его поддержке в официальном репозитории, уже что-то. Каков процесс перевода моего spec в репозиторий? Например, newtonator? Нужен ментор или нужно как-то по другому проходить контроль качества, перед включением?

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 02 авг 2013, 06:06

faithman писал(а):Понятно что тянуть столько пакетов небольшому числу разработчиков трудно, а если есть хозяин своего пакета, который заинтересован в его поддержке в официальном репозитории, уже что-то. Каков процесс перевода моего spec в репозиторий? Например, newtonator? Нужен ментор или нужно как-то по другому проходить контроль качества, перед включением?
Тут два основных варианта, наверное. Общение по эл. почте с ментором (кем-то из основных разработчиков, почти наверняка со мной) или общение на IRC-канале, где сидят разработчики. Второй способ обычно намного оперативнее в будни в рабочее время по Москве (т.к. в случае недостатков в спеке их можно сразу обсудить и исправить), но тут уже кому как удобнее. Сейчас скину в личку контакты. UPD. Хотя нет, не скину, т.к. личные сообщения отключены, надо их сперва разрешить :oops:

В любом случае, сперва надо собрать пакет на ABF в свой частный репозиторий, потом попросить проверить его, после чего разработчики добавят его к платформе. Через какое-то время (когда разработчики убедятся, что человек уже готов самостоятельно собирать пакеты без проверки с их стороны) можно будет получить доступ к гит-группе import, из которой пакеты собираются в официальные репозитории. И будет дан доступ для самостоятельного добавления новых проектов в репозиторий Contrib.

Что касается newtonator, то я проверил спек на ABF. Спек хороший, я уже клонировал проект в гит-группу import и собрал пакет в Contrib :)
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

faithman
Сообщения: 210
Зарегистрирован: 10 янв 2012, 18:52
Operating system: Linux
Откуда: Святая Русь

Re: Разработка / компиляция и сборка rpm

Сообщение faithman » 02 авг 2013, 17:31

Исправил, высылайте. Когда заканчиваете работу (чтоб знать стоит ли туда входить) ? После 16 часов , там есть люди?

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 02 авг 2013, 20:19

faithman писал(а):Исправил, высылайте.
Отправил.
faithman писал(а):Когда заканчиваете работу (чтоб знать стоит ли туда входить) ?После 16 часов , там есть люди?
Сейчас уже 9-й час по Москве, но работа ещё активно идёт, на канале не пусто. :) До какого времени можно застать людей на канале точно не скажу, т.к. у меня в это время уже глубокая ночь (сейчас, например, уже четвёртый час утра пошёл). Возможно, что и до 12-ти ночи по Москве можно.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 27 сен 2013, 20:21

Pulfer, может быть вы в курсе, почему mock-urpm в последнее время выдает

Код: Выделить всё

Хоть часть пакетов и могла быть установлена, произошли ошибки.
Не удаётся установить запрошенный пакет:
lib64usb-compat0.1_4-0.1.4-3-rosa2012.1.x86_64 (из-за неудовлетворённости libusb-1.0.so.0()(64bit))
Приходится давать

Код: Выделить всё

bash-4.2$ mock-urpm -v --install lib64usb1.0_0
и иногда

Код: Выделить всё

bash-4.2$ mock-urpm -v --install lib64usb-compat0.1_4
Это не критично, но не получается собрать http://www.linux-info.ru/qmplay2.html
Вчера прилетел домой и увидел несколько писем разработчиков с просьбой обновить перевод.
А на qmplay2 я уже раз напортачил.
Когда делал первый перевод, часть текста отображалась только на польском.
А когда разработчик исправил проблему, выплыли орфографические ошибки.
И они ушли в апстрим.
До сих пор фигово себя чувствую. как вспомню.

Vegatron
Сообщения: 79
Зарегистрирован: 22 авг 2012, 17:29
Operating system: Rosa Linux 2012 Marathon

Re: Разработка / компиляция и сборка rpm

Сообщение Vegatron » 27 сен 2013, 20:54

Добрый вечер, а какой urpmi стоит ? попробуй пожалуйста обновиться до последнего urpmi-6.71-37

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 27 сен 2013, 21:41

Vegatron писал(а):Добрый вечер, а какой urpmi стоит ? попробуй пожалуйста обновиться до последнего urpmi-6.71-37
На нем и возникли проблемы.
Неделю назад нашел способ выхода из корпоративной сети в интернет через прокси и обновился.
И с тех пор пошла эта ошибка.
Сначала не обратил внимания.
Было некогда. Работа и иногда сон.
Вечно сырая одежда и вечная боль в теле и животе.
Как я мечтал что-бы вывезли этих двух дур поварих.
Простите за лирику.
Как назло уже синхронизировал локальные репы с ABF.
Сейчас пороюсь и если найду более старые пакеты, откачу urpmi и проверю.

Vegatron
Сообщения: 79
Зарегистрирован: 22 авг 2012, 17:29
Operating system: Rosa Linux 2012 Marathon

Re: Разработка / компиляция и сборка rpm

Сообщение Vegatron » 27 сен 2013, 22:14

Если помните какой релиз был, то найду билдлист соответствующий. 35, 36 , или еще раньше ?

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 27 сен 2013, 23:21

Vegatron писал(а):Если помните какой релиз был, то найду билдлист соответствующий. 35, 36 , или еще раньше ?
Улетал на работу 22 августа.
Тогда в последний раз синхронизировал зеркало, вечером 21 августа..
Вроде много воды утекло с тех пор.
И возможно urpmi не при чем.
Завтра попробую собрать некоторые пакеты из под другой версии Росы.
А то возможно просто это мой личный глюк и ложная тревога.
У меня были проблемы на последних версиях plasma-nm-git, homerun-1.1.git
bluedevil-1.3.2, libbluedevil-1.9.4.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 29 сен 2013, 12:10

Vegatron писал(а):Если помните какой релиз был, то найду билдлист соответствующий. 35, 36 , или еще раньше ?
Это были мои проблемы. На чистой, только что установленной системе проблемы исчезли.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 14 фев 2014, 11:34

Vegatron писал(а):Добрый вечер, а какой urpmi стоит ? попробуй пожалуйста обновиться до последнего urpmi-6.71-37
В тот раз я просто забывал подмонтировать внешний диск с локальным репозиторием.
Вообще не удобно в последний год с небольшим работает urpmi. Если не подключу диск с репами, то urpmi и rpmdrake не игнорирует источники, а просто не устанавливает пакеты.
Еще плохо, что у локальных источников нет приоритета перед сетевыми.
При подключенных локальных источниках установка всегда идет из сети.
Приходится отключать сетевые источники.
Но это лирика. Я хотел написать о mock-urpm 25 релиза.
Он у меня при работе с локальными источниками нормально разворачивает сборочную систему,
но когда доходит до установки пакетов перечисленных в спеке, то ругается что нет доступа в источникам.
Пробовал раз десять, переподключая или пересоздавая источники.
Продолжить сборку пакета удалось только когда в файле
/var/lib/mock-urpm/Rosa-2012.1-x86_64/root/etc/urpmi/urpmi.cfg
изменил пути на сетевые и дал команду mock-urpm -v --update а потом на сборку с опцией --no-clean
Но еще поковыряюсь, может я что-то пропустил.
Но если что, откачусь назад. Мне как раз нужна нормальная работа с локальными репами.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 14 фев 2014, 14:33

Переписал назад источники на локальные и запустил на сборку пакет.
Кеш обычно не чищу, а запускаю с параметром --no-clean.
В общем выдало что нет доступа к источнику.
Откатил на релиз 21 и повторил команду на сборку пакета.

Код: Выделить всё

[victor@asus ~]$ mock-urpm -v --no-clean /home/victor/rpmbuild/SRPMS/knetworkmanager-0.9.0.10-1.src.rpm
и все собралось без проблем.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 16 фев 2014, 18:12

Вот засада. Установил Fresh i586. Зазеркалил репы для него.
Раньше были только x86_64 и SRPMS.
Теперь сделал полную копию.
Но проблема с mock-urpm на i586.
При попытке собрать на ней пакет получаю такую ошибку.

Код: Выделить всё

INFO: Results and/or logs in: /var/lib/mock-urpm/Rosa-2012.1-i586/result
ERROR: Command failed: 
 # ['/usr/sbin/urpmi', '--no-suggests', '--no-verify-rpm', '--root', '/var/lib/mock-urpm/Rosa-2012.1-i586/root/', '--urpmi-root', '/var/lib/mock-urpm/Rosa-2012.1-i586/root/', '--auto', 'basesystem-minimal', 'locales', 'locales-en', 'locales-de', 'locales-uk', 'locales-es', 'locales-ru', 'basesystem-minimal', 'libmpc2', 'libmpfr4', 'libnatspec0', 'libpwl5', 'make', 'patch', 'unzip', 'mandriva-release-common', 'binutils', 'curl', 'gcc', 'gcc-c++', 'gnupg', 'rpm-build', 'urpmi']
Нет пакета с названием libmpc2

DEBUG: kill orphans
[victor@asus mirror]$
И как я помню это же было с пол года назад при попытке собрать пакет на i586.
В репах есть libmpc3, а ругается на libmpc2.
Команда "mock-urpm --help" ничего не подсказывает.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 19 фев 2014, 12:17

VictorR2007 писал(а): Нет пакета с названием libmpc2

DEBUG: kill orphans
[victor@asus mirror]$[/code]
И как я помню это же было с пол года назад при попытке собрать пакет на i586.
В репах есть libmpc3, а ругается на libmpc2.
Команда "mock-urpm --help" ничего не подсказывает.
Как оказалось, ларчик просто открывался.
В файле /etc/mock-urpm/Rosa-2012.1-i586.cfg
нужно libmpc2 заменить на libmpc3.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 19 фев 2014, 12:43

VictorR2007 писал(а):Как оказалось, ларчик просто открывался.
В файле /etc/mock-urpm/Rosa-2012.1-i586.cfg
нужно libmpc2 заменить на libmpc3.
Мейнтейнер mock-urpm передаёт спасибо. :) Сейчас починит пакет.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 26 мар 2014, 12:38

Немного о mock-urpm.
Я ранее для его использования делал корневой раздел довольно большим.
Сейчас делаю по другому.
После первого запуска удаляю каталог /var/lib/mock-urpm.
Создаю где-нибудь в домашнем каталоге папку mock-urpm и делаю на него симлинк в /var/lib.
Это очень спасает. Например при сборке пакетов libreoffice каталог mock-urpm вырастает до 30 гигов.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 27 мар 2014, 23:31

Интересно, на abf существуют квоты размера под сборочную среду.
Несколько дней пытаюсь собрать libreoffice, но сборка останавливается на определенном месте.
С похожими симптомами сталкивался при сборке локально BlueGriffon, когда каталог
/var/lib/mock-urpm был в корневом разделе.
Когда там заканчивалось свободное место, то сборка просто останавливалась на одном и том же месте.
После перенесения /var/lib/mock-urpm через символическую ссылку в домашний каталог проблема исчезла.
И сейчас возникло подозрение на это. У меня при локальной сборке libreoffice каталог /var/lib/mock-urpm
вырос на 32 гига. А на abf у него только логи при сбое занимают около гигабайта каждый.
И кстати локально у меня libreoffice собрался без проблем с первого раза.
Конечно только после добавления нужных зависимостей.
А на abf пока только сбои.

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 23 июл 2014, 13:46

В cooker нужные для сборки пакетов зависимости устанавливаются
наряду с такими записями, например

Код: Выделить всё

BuildRequires: pkgconfig(NetworkManager)
для kde 5 еще и такими, например

Код: Выделить всё

BuildRequires: cmake(KF5DesignerPlugin)
В 2014.1 rpm не понимает такие записи.
Нужно записывать имя devel пакета.
У них что, rpm или cmake патченый.
Есть ли возможность самому это исправить или может кто знает,
какие пакеты взять из кукер для исправления этого в 2014.1.

Аватара пользователя
Pulfer
Сообщения: 3358
Зарегистрирован: 15 фев 2012, 01:57
Operating system: ROSA Desktop Fresh 2016.1 i586
Откуда: Vladivostok, Russia

Re: Разработка / компиляция и сборка rpm

Сообщение Pulfer » 23 июл 2014, 14:03

VictorR2007 писал(а):В cooker нужные для сборки пакетов зависимости устанавливаются
наряду с такими записями, например

Код: Выделить всё

BuildRequires: pkgconfig(NetworkManager)
для kde 5 еще и такими, например

Код: Выделить всё

BuildRequires: cmake(KF5DesignerPlugin)
В 2014.1 rpm не понимает такие записи.
Нужно записывать имя devel пакета.
У них что, rpm или cmake патченый.
Есть ли возможность самому это исправить или может кто знает,
какие пакеты взять из кукер для исправления этого в 2014.1.
Вот эти cmake()-зависимости мне видятся явным злом. Я их потом все выкину и заменю на нормальные зависимости, когда буду KDE5 заниматься (сейчас не вижу смысла).
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586

Аватара пользователя
VictorR2007
Сообщения: 5728
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2016.1
Откуда: Северодвинск

Re: Разработка / компиляция и сборка rpm

Сообщение VictorR2007 » 23 июл 2014, 14:46

Pulfer писал(а): Я их потом все выкину и заменю на нормальные зависимости, когда буду KDE5 заниматься (сейчас не вижу смысла).
Смысла точно нет.
Это просто мне интересно повозиться со сборкой и получится ли собрать и потом запустить его в Росе.
А если просто посмотреть и увидеть что пользоваться им невозможно, то можно записать на флешку образ отсюда
http://files.kde.org/snapshots/

Ответить