сборка пакета в ABF

сборка пакета в ABF

Postby zrpg » 17 Feb 2017, 19:07

Учусь пересобирать пакеты в ABF. Взял за основу пакет с исходником gzip из main репозитория Росы.
Зашёл в ABF и нажал кнопку "Новый проект". Задал вот такие параметры и указал путь к файлу src.rpm
Screenshot_20170217_204725.png

ABF сообщил что проект создан и показал файлы пакета. Вверху видно что это всё попало в ветку "Master". Если переключится на ветку "Import" то там видно те же самые файлы. То есть проект существует сразу в двух ветках. Так должно быть?

Далее ничего вообще не изменяю и пробую собрать с такими параметрами
Screenshot_20170217_205725.png

и получаю ответ "ошибка сборки"
Screenshot_20170217_210418.png


Подскажите, что я делаю не так?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby VictorR2007 » 17 Feb 2017, 19:20

Источник main не подключен.
User avatar
VictorR2007
 
Posts: 4791
Joined: 12 Sep 2011, 12:00
Location: Северодвинск

Re: сборка пакета в ABF

Postby Алзим » 17 Feb 2017, 19:26

Если проект есть в Росе, то его можно просто клонировать.
Новый создавать необязательно. И нужные репозитории, скорее всего, подключатся сами.
User avatar
Алзим
 
Posts: 3748
Joined: 18 Jun 2015, 11:57
Location: Интернет

Re: сборка пакета в ABF

Postby Pulfer » 17 Feb 2017, 19:28

zrpg wrote:ABF сообщил что проект создан и показал файлы пакета. Вверху видно что это всё попало в ветку "Master". Если переключится на ветку "Import" то там видно те же самые файлы. То есть проект существует сразу в двух ветках. Так должно быть?


Да, это поведение ABF по умолчанию. Но фактически потом эти ветки всё равно не используются, т.к. работа с пакетами идёт в ветках, соответствующих платформам для которых они собираются. Т.е. если собираем для платформы rosa2014.1, то работаем с веткой гита rosa2014.1. А за мастер-ветку фактически считается та ветка, которая соответствует самой новой платформе, сейчас это rosa2016.1. Так что после импорта SRPM лучше сразу создать нужную ветку и работать уже с ней. А import оставить просто для истории, если надо. master можно было бы удалить, но гит/ABF не очень хорошо работает с репозиториями, где нет ветки master, так что лучше её оставить.

zrpg wrote:Подскажите, что я делаю не так?


При сборке обязательно надо подключать репозиторий Main, если только в своём частном репозитории уже не собраны все нужные для сборки текущего пакета зависимости (а это пара сотен пакетов, наверное, начиная с filesystem, basesystem и т.д.). А на скриншоте видно, что он отключен.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: сборка пакета в ABF

Postby zrpg » 18 Feb 2017, 07:24

Pulfer wrote:А на скриншоте видно, что он отключен.

Так понимаю это делается в разделе "Дополнительные репозитории"?
Пробовал там писать main, появляется подсказка на чей-то частный репозиторий. Как его подключить?
Алзим wrote:Если проект есть в Росе, то его можно просто клонировать.

Дело в том что на странице "Проекты" видно только мои, я пытался найти проекты Росы, то не вижу где они там. В статье на wiki сказано что они находятся на этой странице. Подскажи пожалуйста где они?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby trs » 18 Feb 2017, 07:48

Слева вверху, под надписью "Собрано для платформы", где выбран репозиторий "contrib", там же отметить и "main". По-моему, перечню из 4х подключаемых источникорв не хватет собственного заголовка.
trs
 
Posts: 1517
Joined: 07 Sep 2015, 16:08

Re: сборка пакета в ABF

Postby zrpg » 18 Feb 2017, 08:43

Пробовал ещё и так
сборка_2.png

сборка_3.png

Результат тот же "Ошибка сборки"

Может есть где-то логи сборки, чтобы понять что к чему?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby trs » 18 Feb 2017, 09:43

https://abf.io/build_lists/2846849
Так вроде как статус "собран"
trs
 
Posts: 1517
Joined: 07 Sep 2015, 16:08

Re: сборка пакета в ABF

Postby zrpg » 18 Feb 2017, 11:15

trs
сборка_3-1.png

ни одного собранного нет
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby trs » 18 Feb 2017, 12:38

Про картинку ничего не могу сказать, а по моей ссылке видно 4 собранных пакета, и gzip-1.6-1-rosa2014.1.x86_64.rpm скачивается.

Но они не опубликованы. Причина, насколько я понял test.log
Code: Select all
Installation is possible
unlocking urpmi database
EXITING (pid=11279)
Test code output:  0
--> Checking if same or newer version of the package already exists in repositories
A package with the same name (gzip:) and same or newer version (0:1.8-1:2014.1) already exists in repositories!
A package with the same name (gzip-utils:) and same or newer version (0:1.8-1:2014.1) already exists in repositories!

в том, что пакеты с такими же именами и версиями уже есть в оф.репозиториях. Что с этим делать (кроме увеличения Release в gzip.spec) не знаю, клонированные проекты без изменений не собирал. По-моему запрет на публикацию разумный, поскольку при установке будет не ясно, какой именно пакет следует использовать.
trs
 
Posts: 1517
Joined: 07 Sep 2015, 16:08

Re: сборка пакета в ABF

Postby zrpg » 18 Feb 2017, 14:10

Увидел что он собрался, опубликовал в персональный репозиторий. Теперь понятно как это делается. Спасибо всем за помощь!
В результатах сборки вижу ещё и "тесты не прошли" похоже что именно из-за этого пакет не попал в список собранных.

Что это за тесты и почему после простой пересборки пакета они не пройдены?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby trs » 18 Feb 2017, 14:42

По ссылке на сборочный лист снизу список логов. Там есть и тесты, я фрагмент выше скопировал.
trs
 
Posts: 1517
Joined: 07 Sep 2015, 16:08

Re: сборка пакета в ABF

Postby Алзим » 18 Feb 2017, 15:13

zrpg wrote:Что это за тесты и почему после простой пересборки пакета они не пройдены?

Выше trs уже ответил на этот вопрос.
Могу дополнить, что в Росе при просто пересборке (или с изменениями в спеке и т.п.) принято увеличивать цифру релиза в спеке.
В большинстве случаев, простая пересборка бесполезна. Но бывают ситуации когда даже простая пересборка важна. Например, когда были обновления библиотек и т.п. влияющие на определённый пакет и ломаются зависимости. В этом случае пересборка просто необходима. Собирающий пакет увеличивает цифру релиза и является хорошим тоном в комменте описать причину пересборки.
User avatar
Алзим
 
Posts: 3748
Joined: 18 Jun 2015, 11:57
Location: Интернет

Re: сборка пакета в ABF

Postby zrpg » 20 Feb 2017, 15:11

Алзим
Всё так, но пока собираю только для себя не собираясь отправлять запрос. Присматриваюсь просто :)
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby zrpg » 22 Feb 2017, 16:58

Почему-то не вижу в ABF проекты других людей. Судя по статье на wiki они там должны быть. Так и задумано?
На снимке, попытка найти проект zim
Screenshot_20170222_185650.png
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby trs » 23 Feb 2017, 07:32

Для этого предназначен "Поиск" что выше и правее.
trs
 
Posts: 1517
Joined: 07 Sep 2015, 16:08

Re: сборка пакета в ABF

Postby zrpg » 23 Feb 2017, 08:22

trs, слона то я и не приметил :oops: Спасибо за подсказку.
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby zrpg » 26 Feb 2017, 12:18

Собрал пакет gtkguitune. Получилось, но остались вопросы:
1) пакет лежит в репозитории Contrib. Проект создавал импортом из import/gtkguitune. При сборке автоматически подключился только репозиторий main. Но тем не менее пакет собрался. Разве не нужно было подключать ещё и Contrib?
2) Значка в меню приложений нет. Поиск по системе выдал что такого файла gtkguitune_logo вообще нет на диске. В spec вижу указание на этот файл в секции %files. Хотел добавить его в проект, не вижу как. Как правильнее поступить?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby trs » 27 Feb 2017, 06:54

1. Для сборки пакета могут быть необходимы другие пакеты (т.н. библиотечные файлы). Репозитории, где они находятся, и подключают. А куда после сборки булет помещён пакет (персональный репозиторий, Contrib, Main) — это определяется по иным правилам (в зависимости от лицензии и наличия официальной поддержки) и с процессом сборки не связано.

2. В собранном RPM файл gtkguitune_logo.svg присутствует. Почему он не появился в системе после установки, не знаю.
trs
 
Posts: 1517
Joined: 07 Sep 2015, 16:08

Re: сборка пакета в ABF

Postby zrpg » 28 Feb 2017, 17:01

trs, ещё подумаю. Спасибо!

Сегодня собрал пакет xfce4-pulseaudio-plugin. Хотел послать запрос (pull request), но не пойму как.
Смысл вот в чём. За основу взял проект "openmandriva/xfce4-pulseaudio-plugin", но собирал для rosa2014.1. При отправке запроса нет возможности изменить на платформу rosa2014.1. Вбил руками в стоку ниже, ответ страница не существует.
Снимок экрана_2017-02-28_18-58-51.png

Как быть?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby zrpg » 03 Mar 2017, 13:38

Сегодня пересобирал другой пакет, взятый уже из import/xfce4-terminal. Собрался, проверил - работает. Решил послать запрос. И снова тоже самое
Снимок экрана_2017-03-03_15-36-15.png

Подскажите что я делаю не так?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby trs » 03 Mar 2017, 14:37

Так пулреквест отправляется в openmandriva (поле "Куда") где нет платформы rosa2014.1. Т.е. надо "openmandriva" изменить например на "zrpg", или "import" (это если отправляете обновление в официальные репозитории, но туда примут не всё и не всегда). После нажать на кнопку "Обновить коммиты", получается примерно так:

pullrequest.png

Однако, я сам такое не далал, могу и ошибаться.
trs
 
Posts: 1517
Joined: 07 Sep 2015, 16:08

Re: сборка пакета в ABF

Postby zrpg » 03 Mar 2017, 15:40

trs wrote:Однако, я сам такое не далал, могу и ошибаться.

Не ошибаетесь. Получилось. Спасибо!

А с проектом xfce4-pulseaudio-plugin не получается. Видимо дело в том что такого проекта нет в import. То есть вообще не появляется кнопка "Обновить коммиты".
Каким образом можно попросить разработчиков добавить пакет?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Pulfer » 03 Mar 2017, 20:27

zrpg wrote:Каким образом можно попросить разработчиков добавить пакет?


Я его добавлю чуть позже. Там ещё переделать некоторые части надо (например, Summary должно быть на английском языке). Пока что скачал себе SRPM, чтобы не забыть.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: сборка пакета в ABF

Postby zrpg » 03 Mar 2017, 22:15

Pulfer wrote:например, Summary должно быть на английском языке

ну вот :cry:
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Pulfer » 08 Mar 2017, 17:09

xfce4-pulseaudio-plugin я собрал сейчас для rosa2014.1 и rosa2016.1.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: сборка пакета в ABF

Postby zrpg » 09 Mar 2017, 10:14

Pulfer, спасибо!
Только что-то в репозиториях пока не вижу. Где он?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby keleg » 09 Mar 2017, 18:17

видимо, зеркала тормозят. Вот он http://abf-downloads.rosalinux.ru/rosa2 ... x86_64.rpm
keleg
 
Posts: 4827
Joined: 15 Sep 2011, 00:58

Re: сборка пакета в ABF

Postby zrpg » 10 Mar 2017, 11:37

keleg, появился в репозитории :)

Pulfer, я пока не умею хорошо собирать пакеты, поэтому интересно всё ли сделал правильно. Есть замечания по поводу этой сборки?
Last edited by zrpg on 10 Mar 2017, 11:42, edited 1 time in total.
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Pulfer » 10 Mar 2017, 11:42

zrpg wrote:Pulfer, я пока не умею хорошо собирать пакеты, поэтому интересно всё ли сделал правильно. Усть замечания по поводу этой сборки?


Кроме Summary вроде бы всё ок было :-)
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: сборка пакета в ABF

Postby zrpg » 10 Mar 2017, 11:46

Насчёт summary. Почитал статью на wiki [url]http://wiki.rosalab.ru/ru/index.php/Основы_RPM[/url]
    совершенно особый тэг внутри заголовочной части спек-файла, потому что он содержит текст, который может занимать произвольное количество строк и параграфов. Текст содержит полное описание программного обеспечения, которое помогает пользователю решить нужно ли устанавливать данный пакет или нет. В целях улучшения восприятия спек-файлов, переводы тэгов summary и description хранятся в специальных файлах, называемых <package>.po.
    Эти файлы хранятся в poSPECS модуле в CVS Cooker. Когда создаётся новый пакет, основной po-файл автоматически создаётся в этом модуле для будущих переводов.
    Этот метод подразумевает, что весь текст внутри спек-файла написал на английском языке. Однако, есть пакеты, предназначенные для определённых языков (например, ispell-de). В этом случае рекомендуется наличие текста на двух языках: на английском и на языке, для которого предназначен этот пакет. Для этого надо будет использовать специальные тэги: Summary(de): .. и %description -l de.
То есть вот так надо описания на русском вставлять или куда можно по русски надпись сделать?
И где потом это будет видно?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Pulfer » 10 Mar 2017, 22:50

zrpg wrote:То есть вот так надо описания на русском вставлять или куда можно по русски надпись сделать?
И где потом это будет видно?


Фактически сейчас никуда вставлять нельзя. :( Как часто бывает, мануалы не успевают за развитием технологий. Например, "Эти файлы хранятся в poSPECS модуле в CVS Cooker" - уже и CVS Cooker давно нет в живых, а текст ещё остался.

Печальная история тут в том, что когда-то в Росе активно велась разработка нового центра приложений, который полноценно поддерживал бы локализацию описаний пакетов, скриншоты, рейтинги и т.д., а потом в стране случился кризис и разработку этого центра приложений постепенно заморозили, так и не доведя его до пригодного к использованию состояния.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: сборка пакета в ABF

Postby zrpg » 11 Mar 2017, 18:23

Печально. Так может пора поднять и вывести в свет старые разработки? :)
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Галахов Роман » 11 Mar 2017, 22:27

zrpg wrote:Печально. Так может пора поднять и вывести в свет старые разработки? :)

Будет спонсор - можно... Но сейчас ROSA в свободном финансовом плавании, и 90% разработок - платные версии (для организаций), а там это не не нужно...
Rosa 2014.1 Fresh х86-64 Acer TravelMate TimelineX 8372T
User avatar
Галахов Роман
 
Posts: 2207
Joined: 26 Feb 2012, 19:02
Location: Моск. обл. Волоколамск

Re: сборка пакета в ABF

Postby zrpg » 12 Mar 2017, 13:22

Галахов Роман, наивно я полагал что разработку Fresh ведут, так сказать для души. Спонсорами к сожалению помочь не могу.

Подпишусь на одно дело. Если всё-таки будет возможность добавить summary и description на русском, то возьмусь перевести 5% пакетов от всей кучи
Code: Select all
$ urpmf --name .* | sort | uniq | wc
  37253   37253  611854

Следовательно сделаю 2000 переводов этих описаний. И да, сделаю просто так, без денег. Просто для души :)

Столкнулся вот с такой проблемой при сборке пакета. Не могу понять что такое xmu, и что нужно добавить в spec раздел BuildRequires
DEBUG util.py:264: checking for xmu >= 1.1.2... not found
DEBUG util.py:264: *** The required package xmu was not found on your system.
DEBUG util.py:264: *** Please install xmu (atleast version 1.1.2) or adjust
DEBUG util.py:264: *** the PKG_CONFIG_PATH environment variable if you
DEBUG util.py:264: *** installed the package in a nonstandard prefix so that
DEBUG util.py:264: *** pkg-config is able to find it.
DEBUG util.py:264: RPM build errors:
DEBUG util.py:264: error: Bad exit status from /var/tmp/rpm-tmp.48533 (%build)
DEBUG util.py:264: Bad exit status from /var/tmp/rpm-tmp.48533 (%build)
DEBUG util.py:372: Child returncode was: 1
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby zrpg » 12 Mar 2017, 16:13

Разобрался. Это пакет libxmu
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby zrpg » 12 Mar 2017, 19:10

Наконец-то собрал пакет xfce4-taskmanager-1.2.0-1-rosa2014.1.x86_64
Но в итоге надпись "Тесты не прошли". В логах вообще почти что нет ошибок. Вижу только эти:
1) DEBUG util.py:335: Executing command: ['/usr/sbin/groupdel', 'mockbuild']
DEBUG util.py:372: Child returncode was: 6
Как понимаю, исправление этого от меня не зависит.
2) --> Checking if same or newer version of the package already exists in repositories
A package with the same name (xfce4-taskmanager:) and same or newer version (1:1.0.0-6:2014.1) already exists in repositories!
No package named xfce4-taskmanager-debuginfo
Test code output: 1
Не понимаю, что ему надо. В репозиториях РОСА такого или ещё более нового пакета не находит.

Страница результатов сборки https://abf.io/build_lists/2856225

Подскажите пожалуйста, что я сделал не так?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Pulfer » 13 Mar 2017, 07:51

zrpg wrote:2) --> Checking if same or newer version of the package already exists in repositories
A package with the same name (xfce4-taskmanager:) and same or newer version (1:1.0.0-6:2014.1) already exists in repositories!
Не понимаю, что ему надо. В репозиториях РОСА такого или ещё более нового пакета не находит.


Тут дело в том, что в репозиториях есть пакет xfce4-taskmanager, у которого хотя версия и 1.0.0, но есть ещё поле Epoch, которое как бы добавляет ещё одну цифру к версии. И сравнение идёт не между 1.0.0 и 1.2.0, а между 1:1.0.0 и 0:1.2.0. И получается, что собираемый пакет считается старее, чем пакет в репозиториях. Поле Epoch используется там, где надо откатить версию программы, если по каким-то причинам единственный способ исправить найденную ошибку - откат версии. Кроме того, в апстриме иногда меняют схему версий, после чего новые версии оказываются с меньшими цифрами, чем старые. Сперва выпускают что-нибудь типа 2014.3, а потом 1.0. В некоторых спеках можно всретить конструкцию %{EVRD}, первая буква как раз в ней означает %{epoch}, а далее идут %{version}, %{release} и %{distepoch} по мере убывания их "веса" в сравнении.

P.S. В репозиториях я сейчас xfce4-taskmanager обновил до 1.2.0.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: сборка пакета в ABF

Postby zrpg » 13 Mar 2017, 08:43

Pulfer, теперь понятно. Спасибо!
А по spec файлу замечания есть?
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Pulfer » 13 Mar 2017, 09:36

zrpg wrote:Pulfer, теперь понятно. Спасибо!
А по spec файлу замечания есть?


1. %changelog в спеке не нужен

2. "%find_lang %{name} %{name}.lang" делает то же самое, что "%find_lang %{name}", так что можно "%{name}.lang" не добавлять. Это если бы надо было несколько разных имён файлов локализаций найти и поместить в %{name}.lang, то имело бы смысл делать перечисление. А когда имя файла локализации всего одно, то оно же используется для имени файла *.lang

3. Зависимости сборки не очень правильно указаны (из-за этого при сборке видно в логе, что "Wnck: no"). Я поправил их: https://abf.io/import/xfce4-taskmanager ... nager.spec
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia

Re: сборка пакета в ABF

Postby zrpg » 13 Mar 2017, 16:54

А вот теперь не всё понимаю
1) %find_lang - что делает и почему он в секции %install ?
2) а где вообще видно какие файлы lang есть в сборке или пакете?
3) указание зависимостей со скобками и без, в чём разница. То есть pkgconfig(xmu) и libxmu-devel?
4) что такое wnck?
5) где находится каталог сборки, который в статье указан как tmp?
$ tree ~/rpmbuild
/home/evg/rpmbuild
├── BUILD
│   └── xfce4-taskmanager-1.2.0
│   ├── aclocal.m4
│   ├── AUTHORS
│   ├── ChangeLog
│   ├── compile
│   ├── config.guess
│   ├── config.h
│   ├── config.h.in
│   ├── config.log
│   ├── config.status
│   ├── config.sub
│   ├── configure
│   ├── configure.ac
│   ├── COPYING
│   ├── data
│   │   ├── icons
│   │   │   ├── 16x16
│   │   │   │   ├── Makefile
│   │   │   │   ├── Makefile.am
│   │   │   │   ├── Makefile.in
│   │   │   │   └── xc_crosshair.png
│   │   │   ├── 24x24
│   │   │   │   ├── Makefile
│   │   │   │   ├── Makefile.am
│   │   │   │   ├── Makefile.in
│   │   │   │   └── xc_crosshair.png
│   │   │   ├── Makefile
│   │   │   ├── Makefile.am
│   │   │   ├── Makefile.in
│   │   │   └── scalable
│   │   │   ├── Makefile
│   │   │   ├── Makefile.am
│   │   │   ├── Makefile.in
│   │   │   └── xc_crosshair.svg
│   │   ├── Makefile
│   │   ├── Makefile.am
│   │   └── Makefile.in
│   ├── debugfiles.list
│   ├── debuglinks.list
│   ├── debugsources.list
│   ├── depcomp
│   ├── INSTALL
│   ├── install-sh
│   ├── intltool-extract.in
│   ├── intltool-merge.in
│   ├── intltool-update.in
│   ├── libtool
│   ├── ltmain.sh
│   ├── ltmain.sh.drop
│   ├── ltmain.sh.orig
│   ├── Makefile
│   ├── Makefile.am
│   ├── Makefile.in
│   ├── missing
│   ├── NEWS
│   ├── po
│   │   ├── ar.gmo
│   │   ├── ar.po
│   │   ├── ast.gmo
│   │   ├── ast.po
│   │   ├── be.gmo
│   │   ├── be.po
│   │   ├── bg.gmo
│   │   ├── bg.po
│   │   ├── ca.gmo
│   │   ├── ca.po
│   │   ├── cs.gmo
│   │   ├── cs.po
│   │   ├── da.gmo
│   │   ├── da.po
│   │   ├── de.gmo
│   │   ├── de.po
│   │   ├── el.gmo
│   │   ├── el.po
│   │   ├── en_AU.gmo
│   │   ├── en_AU.po
│   │   ├── en_GB.gmo
│   │   ├── en_GB.po
│   │   ├── es.gmo
│   │   ├── es.po
│   │   ├── eu.gmo
│   │   ├── eu.po
│   │   ├── fi.gmo
│   │   ├── fi.po
│   │   ├── fr.gmo
│   │   ├── fr.po
│   │   ├── gl.gmo
│   │   ├── gl.po
│   │   ├── he.gmo
│   │   ├── he.po
│   │   ├── hr.gmo
│   │   ├── hr.po
│   │   ├── hu.gmo
│   │   ├── hu.po
│   │   ├── id.gmo
│   │   ├── id.po
│   │   ├── is.gmo
│   │   ├── is.po
│   │   ├── it.gmo
│   │   ├── it.po
│   │   ├── ja.gmo
│   │   ├── ja.po
│   │   ├── kk.gmo
│   │   ├── kk.po
│   │   ├── ko.gmo
│   │   ├── ko.po
│   │   ├── lt.gmo
│   │   ├── lt.po
│   │   ├── lv.gmo
│   │   ├── lv.po
│   │   ├── Makefile
│   │   ├── Makefile.in
│   │   ├── Makefile.in.in
│   │   ├── ms.gmo
│   │   ├── ms.po
│   │   ├── nb.gmo
│   │   ├── nb.po
│   │   ├── nl.gmo
│   │   ├── nl.po
│   │   ├── oc.gmo
│   │   ├── oc.po
│   │   ├── pa.gmo
│   │   ├── pa.po
│   │   ├── pl.gmo
│   │   ├── pl.po
│   │   ├── POTFILES
│   │   ├── POTFILES.in
│   │   ├── POTFILES.skip
│   │   ├── pt_BR.gmo
│   │   ├── pt_BR.po
│   │   ├── pt.gmo
│   │   ├── pt.po
│   │   ├── ru.gmo
│   │   ├── ru.po
│   │   ├── si.gmo
│   │   ├── si.po
│   │   ├── sk.gmo
│   │   ├── sk.po
│   │   ├── sl.gmo
│   │   ├── sl.po
│   │   ├── sq.gmo
│   │   ├── sq.po
│   │   ├── sr.gmo
│   │   ├── sr.po
│   │   ├── stamp-it
│   │   ├── sv.gmo
│   │   ├── sv.po
│   │   ├── te.gmo
│   │   ├── te.po
│   │   ├── th.gmo
│   │   ├── th.po
│   │   ├── tr.gmo
│   │   ├── tr.po
│   │   ├── ug.gmo
│   │   ├── ug.po
│   │   ├── uk.gmo
│   │   ├── uk.po
│   │   ├── ur.gmo
│   │   ├── ur_PK.gmo
│   │   ├── ur_PK.po
│   │   ├── ur.po
│   │   ├── vi.gmo
│   │   ├── vi.po
│   │   ├── zh_CN.gmo
│   │   ├── zh_CN.po
│   │   ├── zh_HK.gmo
│   │   ├── zh_HK.po
│   │   ├── zh_TW.gmo
│   │   └── zh_TW.po
│   ├── README
│   ├── src
│   │   ├── app-manager.c
│   │   ├── app-manager.h
│   │   ├── exec-tool-button.c
│   │   ├── exec-tool-button.h
│   │   ├── main.c
│   │   ├── Makefile
│   │   ├── Makefile.am
│   │   ├── Makefile.in
│   │   ├── process-monitor.c
│   │   ├── process-monitor.h
│   │   ├── process-statusbar.c
│   │   ├── process-statusbar.h
│   │   ├── process-tree-model.c
│   │   ├── process-tree-model.h
│   │   ├── process-tree-view.c
│   │   ├── process-tree-view.h
│   │   ├── process-window.c
│   │   ├── process-window-gtk3.ui
│   │   ├── process-window-gtk3_ui.h
│   │   ├── process-window.h
│   │   ├── process-window.ui
│   │   ├── process-window_ui.h
│   │   ├── settings.c
│   │   ├── settings-dialog.c
│   │   ├── settings-dialog-gtk3.ui
│   │   ├── settings-dialog-gtk3_ui.h
│   │   ├── settings-dialog.h
│   │   ├── settings-dialog.ui
│   │   ├── settings-dialog_ui.h
│   │   ├── settings.h
│   │   ├── settings-tool-button.c
│   │   ├── settings-tool-button.h
│   │   ├── task-manager-bsd.c
│   │   ├── task-manager.c
│   │   ├── task-manager-freebsd.c
│   │   ├── task-manager.h
│   │   ├── task-manager-linux.c
│   │   ├── task-manager-skel.c
│   │   ├── task-manager-solaris.c
│   │   ├── xfce4-taskmanager
│   │   ├── xfce4_taskmanager-exec-tool-button.o
│   │   ├── xfce4_taskmanager-main.o
│   │   ├── xfce4_taskmanager-process-monitor.o
│   │   ├── xfce4_taskmanager-process-statusbar.o
│   │   ├── xfce4_taskmanager-process-tree-model.o
│   │   ├── xfce4_taskmanager-process-tree-view.o
│   │   ├── xfce4_taskmanager-process-window.o
│   │   ├── xfce4_taskmanager-settings-dialog.o
│   │   ├── xfce4_taskmanager-settings.o
│   │   ├── xfce4_taskmanager-settings-tool-button.o
│   │   ├── xfce4_taskmanager-task-manager-linux.o
│   │   └── xfce4_taskmanager-task-manager.o
│   ├── stamp-h1
│   ├── THANKS
│   ├── xfce4-taskmanager.desktop
│   ├── xfce4-taskmanager.desktop.in
│   └── xfce4-taskmanager.lang
├── BUILDROOT
├── RPMS
│   ├── noarch
│   └── x86_64
│   ├── xfce4-taskmanager-1.2.0-1-rosa2014.1.x86_64.rpm
│   └── xfce4-taskmanager-debuginfo-1.2.0-1-rosa2014.1.x86_64.rpm
├── SOURCES
│   └── xfce4-taskmanager-1.2.0.tar.bz2
├── SPECS
│   └── xfce4-taskmanager.spec
├── SRPMS
│   └── xfce4-taskmanager-1.2.0-1.src.rpm
└── tmp
Xfce, KDE Plasma 5;
английский язык скудный, невыразительный, торопливый, пишется и говорится по разному.
zrpg
 
Posts: 124
Joined: 11 Feb 2017, 07:02

Re: сборка пакета в ABF

Postby Pulfer » 13 Mar 2017, 18:51

zrpg wrote:А вот теперь не всё понимаю
1) %find_lang - что делает и почему он в секции %install ?


Это макрос, который ищет среди установленных при сборке файлов файлы локализации и записывает сформированный список в файл .lang, который потом в спеке включается через параметр -f: %files -f %{name}.lang

Можно было бы и без макроса обойтись, просто прописать все эти файлы вручную. Но с макросом быстрее. Пример содержимого lang-фала (сформировался при сборке пакета smb4k).

Code: Select all
 $ cat smb4k.lang
...
%lang(es) /usr/share/locale/es/LC_MESSAGES/smb4k.mo
%lang(es) /usr/share/locale/es/LC_MESSAGES/plasma_applet_smb4k-qml.mo
%lang(es) /usr/share/locale/es/LC_MESSAGES/smb4k-core.mo
%lang(nl) /usr/share/locale/nl/LC_MESSAGES/smb4k.mo
%lang(nl) /usr/share/locale/nl/LC_MESSAGES/plasma_applet_smb4k-qml.mo
%lang(nl) /usr/share/locale/nl/LC_MESSAGES/smb4k-core.mo
...


В этом случае можно сделать
%find_lang %{name} --all-name
или
%find_lang %{name} plasma_applet_smb4k-qml smb4k-core %{name}.lang

По желанию можно вместо %{name} просто smb4k написать или наоборот заменить smb4k-core на %{name}-core. Как удобнее. Технически без разницы.

2) а где вообще видно какие файлы lang есть в сборке или пакете?


Если убрать из спека %find_lang и включение %{name}.lang через -f в %files, то в конце сборка упадёт с ошибкой "Найдены неупакованные файлы" и будет их список. Кроме того, если собирать пакет на своей машине, а не на ABF, то в каталоге ~/rpm/BUILD/[пакет]/ после сборки пакета будет файл .lang, в который можно просто заглянуть и посмотреть, что туда прописалось.

3) указание зависимостей со скобками и без, в чём разница. То есть pkgconfig(xmu) и libxmu-devel?


pkgconfig(xmu) просто более универсальный способ, т.к. не зависит от того, как мейнтейнеры в разных дистрибутивах назвали -devel пакеты и что прописали у них в Provides, а основывается на именах .pc файлов в соответствующих пакетов.

4) что такое wnck?


GTK-шная библиотека для управления окнами ("a library for use in writing pagers, tasklists, and more generally applications that are dealing with window management").

5) где находится каталог сборки, который в статье указан как tmp?


Видимо, это системный tmp, но если мне не изменяет память, то, что пишется туда при сборке пакета, потом всё равно удаляется, так что посмотреть на временные файлы, создаваемые при сборке, вряд ли тривиально.
Intel Core i7-6700 / 8 Gb RAM / GeForce GTX 750 Ti / Rosa 2016.1 i586
User avatar
Pulfer
 
Posts: 3241
Joined: 15 Feb 2012, 00:57
Location: Vladivostok, Russia


Return to Обсуждение ROSA Fresh R4 - R8 (платформа 2014.1)

Who is online

Users browsing this forum: No registered users and 2 guests