openSUSE Build Service (Давайте вместе разбираться.)

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

хм... а как тогда именуют пакеты в федорах мандривах? и как тогда их различать сваленые на винте?
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: openSUSE Build Service

Сообщение sda »

Radist писал(а):
23.01.2009 15:15
хм... а как тогда именуют пакеты в федорах мандривах? и как тогда их различать сваленые на винте?

тема как называется? ась? вот посмотри на мультиплатформенное репо:
http://download.opensuse.org/repositories/home:/talex5/

а так нет никаких проблем сперва %define оську, а потом ниже вбить Release: bla-bla.%OS до стадии %prep
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

А это тогда как?

I have the following modifications for ananas-fc.spec:
12c12
< Release: %( echo f`grep -o "[0-9|\.]\+" /etc/redhat-release`)
---
> Release: 2.1


I have the following modifications for qdatashema.opensuse.spec:
20c20
< Release: 1openSUSE11
---
> Release: 46.2
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: openSUSE Build Service

Сообщение sda »

именно так, как я и говорил. в OBS ты этого не получишь. только при локальной сборке (rpmbuild).
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Вот такое вывалило мне сегодня

installing libqt4-x11-4.4.3-4.6
installing libqt4-qt3support-4.4.3-4.6
installing qt4-qdataschema-1.2-17.1
installing qt4-qdataschema-devel-1.2-17.1
installing libqsa1-1.2.3-61.1
installing libqt4-devel-4.4.3-4.6
error: unpacking of archive failed on file /usr/lib/qt4/include: cpio: rename failed - Is a directory
mount: can't find / in /etc/fstab or /etc/mtab
System halted.


Это сусе 11.1, вчера этот же пакет отказался ставится на ноутбук, где стоит сусе 11, в связи с чем вопрос это один из моих пакетов что то наворотил? Или всетаки libqt4-devel действительно глючить?

PS: Все вемя забываю, спасибо за ответы. :)

PSS: Сылка на это безобразие.
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: openSUSE Build Service

Сообщение sda »

нет ничего страшного. бывает. одна из множества мелких ошибок при ините build Xen окружения. пинок на пересборку обычно помогает. и совет: почитай справку по osc и обрати внимание на возможность локальной сборки ( build Build a package on your local machine) - если ресурсы позволяют можешь всегда сперва полную проверку делать локально.
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Вот так вот зарубилась сборка.

vodovod-1.10-5.1.i586.rpm: directories not owned by a package:
- /usr/share/icons/hicolor
- /usr/share/icons/hicolor/32x32
- /usr/share/icons/hicolor/32x32/apps
System halted.


Фрагмент спека.
#
# %files
# %defattr(-,root,root,-)
# %doc CHANGES COPYING html
# %{_bindir}/%{name}
# %{_bindir}/%{name}-wrapper.sh
# %{_datadir}/%{name}/
# %{_datadir}/applications/%{name}.desktop
# %{_datadir}/icons/hicolor/32x32/apps/%{name}.xpm


Подскажите как правильно поступить? а то есть сутное сомненье, что просто сделать эти каталоги принадлежащими пакету не верное решение.?

Заранее спасибо.
Спасибо сказали:
Аватара пользователя
k0da
Бывший модератор
Сообщения: 6043
Статус: SuSE QA Engineer
ОС: Factory

Re: openSUSE Build Service

Сообщение k0da »

Radist
%{_datadir}/icons/hicolor
Fury in my eyes, sword on my side
Afro on my head, I'm a black Samurai
Number One, I bring my whole nation alive
Escape death, to become immortalized
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Спасибо, сейчас попробую, а нельзяли объяснить сакральный смысл сего действа?
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

exaro.i586: W: shlib-policy-missing-suffix
Your package containing shared libraries does not end in a digit and
should probably be split.


Подскажите где об этом почитать? лучше ссылкой на конкретный раздел.
Спасибо.
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: openSUSE Build Service

Сообщение sda »

А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: openSUSE Build Service

Сообщение sda »

Radist писал(а):
20.03.2009 12:20
Спасибо, сейчас попробую, а нельзяли объяснить сакральный смысл сего действа?

есть два объяснения - для умных и по-быстрому. второй вариант звучит так: каждый файл/каталог может принадлежать лишь одному пакету. умный же человек сразу сообразит, что если в BuildRequires: ты влепишь в данном случае hicolor тему иконок, то в %files останется лишь прописать %{_datadir}/icons/hicolor/32x32/apps/*

также я тут начал на досуге по-простому излагать какие-то базовые вещи:
OBS
совершенно не уверен, что это кому-то интересно, просто для себя так сказать
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Статью прочел, спасибо за труд, записываюсь в фанаты. :)

Выплыло такое:
+ /sbin/ldconfig
/sbin/ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
error: Bad exit status from /var/tmp/rpm-tmp.22859 (%install)


Как понимать/боротся?
Спасибо сказали:
Аватара пользователя
sda
Сообщения: 419
ОС: SuSE

Re: openSUSE Build Service

Сообщение sda »

Radist писал(а):
24.03.2009 00:56
Выплыло такое:
+ /sbin/ldconfig
/sbin/ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
error: Bad exit status from /var/tmp/rpm-tmp.22859 (%install)

Как понимать/боротся?

очень просто. для апдейта глобального кэша установленных библиотек (/etc/ld.so.cache) нужен рут. есть 2 способа это обойти. первый - наиболее правильный:
* разбить пакеты на несколько и использовать

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

в пакетах с библиотеками. после чего указать из в BuildRequires:

второй способ более "весел" - заставляем ldconfig работать с локальной копией кэша (man ldconfig) и потом при установке пакета ещё раз вызываем ldconfig.

но ситуация, когда вызов ldconfig требуется в "пределах" одного пакета довольно необычна. либо вы колбасите метапакет с весёлой линковкой, но в таком случае уж потрудитесь сделать relative linking (это тоже то ещё развлечение), либо.... я не знаю других вариантов. так что разбивайте пакет на несколько. меньше возни и толку будет поболее.

P.S. собсно "вторая часть" родилась:
OBS
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Вот есть такая ошибка:

ERROR: translation is neither enabled nor disabled for this file: /var/tmp/exaro-1.80.0-build//usr/share/applications/exaro.desktop


в чем проблема понимаю даже могу решить ее залезши в исходники и поправив файл exaro.desktop. Но это не правильное решение, подскажите как решить проблему в процессе сборки??

Спасибо.

PS: Плохо читал %suse_update_desktop_file мне в руки. Вопрос снимается.
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: openSUSE Build Service

Сообщение Lazy_Kent »

Кстати, где можно подробно почитать про опции %suse_update_desktop_file?
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Я тут читаю. Наверное подробнее и нету.
Спасибо сказали:
Аватара пользователя
ЭЖД
Сообщения: 332
Статус: openSuSE Member
ОС: openSuSE

Re: openSUSE Build Service

Сообщение ЭЖД »

Radist писал(а):
11.05.2009 13:57
Я тут читаю. Наверное подробнее и нету.

сейчас в вики идет перевод данной линии статей.
можно уже частью пользоваться
«Когда истинный гений появляется в этом низком мире, его можно узнать по тому знаку, что все глупцы объединяются против него»
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

А вот такое не пойму хоть и прочел уже все вдоль и поперек:

ERROR: Icon file not installed: /var/tmp/exaro-1.80.0-build//usr/share/applications/exaro.desktop


eXaro.desktop

[Desktop Entry]
Type=Application
Version=1.0 RC9
Name=eXaro
GenericName=eXaro report designer
GenericName[ro]=eXaro designer de rapoarte
Icon=application-bdrt
Comment=
TryExec=exaro
Exec=exaro
MimeType=application/bdrt;
X-KDE-NativeMimeType=application/bdrt;
Categories=Qt;KDE;Development;GUIDesigner;Office;


tom@book:~> ls /usr/share/icons/ | grep application-bdrt
application-bdrt.png

Что оно хочет? Спасибо.
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Кстати в какую группу отнести генератор отчетов eXaro ? Что то не как не могу решится.
Спасибо сказали:
MMouXe
Сообщения: 252

Re: openSUSE Build Service

Сообщение MMouXe »

Есть ли возможность добавить в репозиторий (через OBS или каким-то другим путем) пакет, собранный на локальной системе? В смысле без необходимости его сборки на OBS, просто сделать его доступным всем остальным?
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: openSUSE Build Service

Сообщение Lazy_Kent »

Думаю, нет такой возможности.
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

есть два объяснения - для умных и по-быстрому. второй вариант звучит так: каждый файл/каталог может принадлежать лишь одному пакету. умный же человек сразу сообразит, что если в BuildRequires: ты влепишь в данном случае hicolor тему иконок, то в %files останется лишь прописать %{_datadir}/icons/hicolor/32x32/apps/*


Есть способ узнать какому пакету принадлежит файл\каталог?

Нашел сам: rpm -qf file.

Но вот тут обнаружилось, что /usr/share/mimelnk не кому не принадлежит. Порывшись в гугле прихожу к выводу, что в 4- х кедах этого нет (или ....). Кто знает что с этим делать? Этот механизм изменился? Если у меня программа создает этот каталог и свой файл в нем, как правильно будет поступить?

... running 03-check-binary-kernel-log
... running 04-check-filelist
... checking filelist
exaro-1.80.0.svn-7.1.x86_64.rpm: directories not owned by a package:
- /usr/lib64/exaro
- /usr/lib64/exaro/toolbars
- /usr/lib64/report
- /usr/share/eXaro
- /usr/share/eXaro/translations
- /usr/share/mimelnk
- /usr/share/mimelnk/application
System halted.
Спасибо сказали:
HighwayStar
Сообщения: 242
ОС: openSUSE 11.0, 11.1

Re: openSUSE Build Service

Сообщение HighwayStar »

... running 03-check-binary-kernel-log
... running 04-check-filelist
... checking filelist
exaro-1.80.0.svn-7.1.x86_64.rpm: directories not owned by a package:
- /usr/lib64/exaro
- /usr/lib64/exaro/toolbars
- /usr/lib64/report
- /usr/share/eXaro
- /usr/share/eXaro/translations
- /usr/share/mimelnk
- /usr/share/mimelnk/application
System halted.


%dir %{_libdir}/exaro
%dir %{_libdir}/report
%dir %{_datadir}/eXaro
%dir %{_datadir}/mimelnk
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Спасибо, но так я и сам сделал. Вопрос с %{_datadir}/mimelnk остался не проясненным. Почему у меня в системе ни одно приложение не использует этот каталог? Видимо как то по другому оно реализовано?

Теперь еще такая странность возникла:

These keys are optional:


* Icon defines the icon connected with the application. The value is an icon name without a suffix or an absolute path to an icon. Only the .png and .xpm icons are supported. They must be installed according to the directory layout defined by the icon theme specification, either below $XDG_DATA_DIRS/icons or /usr/share/pixmaps/.
* Comment defines a comment that can be shown in a tool tip.
<<<-----skip----->>>


Так вот по умолчанию файл иконки лежит в /usr/share/icons/ и надо сказать что прекрасно работает все. Но при сборке в OBS сборка зарубается на том основании что не найден файл иконки. Если скопировать файл иконки в /usr/share/pixmaps/ то сборка проходит нормально.

Собснно вопрос в том как это воспринимать баг или фича?
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Имеем такую ощибку :
g++ -c -m64 -pipe -O2 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/default -I. -I/usr/include/QtDesigner -I/usr/include/QtCore -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include/QtXml -I/usr/include/QtSql -I/usr/include/QtSql -I/usr/include/Qt3Support -I/usr/include/Qt3Support -I/usr/include/QtScript -I/usr/include/QtScript -I/usr/include -I../plugins/actionbutton -I../plugins/catalogue -I../plugins/combobox -I../plugins/dbfield -I../plugins/dbtable -I../plugins/document -I../plugins/field -I../plugins/grouptree -I../plugins/journal -I../plugins/report -I../plugins/table -I../lib/metadata -I../lib/dialogs -I../lib/objects -I../lib/widgets -I../lib/report -I../lib/sys -I../../lib/metadata -I../../lib/dialogs -I../../lib/objects -I../../lib/widgets -I../../lib/report -I../../lib/sys -I../lib -I../plugins -I.ui -I../lib -I../../lib -I../../plugins -I../plugins -I../lib/.ui -I../../lib/.ui -I/usr/lib/qt4/include/qdataschema -I.moc -I.ui -o .obj/acmanifest.o acmanifest.cpp
In file included from ananas.h:94,
from acmanifest.h:36,
from acmanifest.cpp:32:
../lib/sys/adatabase.h:42:25: error: qdataschema.h: No such file or directory
In file included from ananas.h:94,
from acmanifest.h:36,
from acmanifest.cpp:32:
../lib/sys/adatabase.h:120: error: ISO C++ forbids declaration of 'QDataSchema' with no type
../lib/sys/adatabase.h:120: error: expected ';' before '*' token
acmanifest.cpp:132: warning: unused parameter 'fname'
make[2]: *** [.obj/acmanifest.o] Error 1
make[2]: Leaving directory `/usr/src/packages/BUILD/ananas-qt4/src/lib'
make[1]: *** [sub-lib-make_default] Error 2
make[1]: Leaving directory `/usr/src/packages/BUILD/ananas-qt4/src'
make: *** [all] Error 2


Тогда как при сборке локально из тех же исходников, и того же спека все в порядке. Это что глюк в OBS???

qdataschema.h предомтавляется пакетом qt4-qdataschema-devel

Ссылка на лог.
Спасибо сказали:
HighwayStar
Сообщения: 242
ОС: openSUSE 11.0, 11.1

Re: openSUSE Build Service

Сообщение HighwayStar »

Radist писал(а):
10.06.2009 16:22
Тогда как при сборке локально из тех же исходников, и того же спека все в порядке. Это что глюк в OBS???

qdataschema.h предомтавляется пакетом qt4-qdataschema-devel

Локальная сборка осуществляется в chroot или в реальной системе?

Глюк это не в OBS, а похоже в пакете qt4-qdataschema-devel, там инклуды находятся в /usr/lib/qt4/include/qdataschema а в сорцах инклуд похоже делается просто как #include <qdataschema.h>

покажи строку 42 файла adatabase.h где происходит инклуд qdataschema.h

и спеки какие-то излишне запутанные на мой взгляд

и у тебя там еще куча пакетов qt4-qdataschema-devel, может быть в этом дело?

где вообще взять тарболл qt4-qdataschema для тго чтобы попробовать собрать все это? гугл ничего не находит, на сайте что указан в спеке тоже ничего
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

Локальная сборка осуществляется в chroot или в реальной системе?


В реальной системе.

Глюк это не в OBS, а похоже в пакете qt4-qdataschema-devel, там инклуды находятся в /usr/lib/qt4/include/qdataschema


Инклуды в пакете qt4-qdataschema-devel находятся в /usr/include/qdataschema, а /usr/lib/qt4/include это ведь ссылка на /usr/include

покажи строку 42 файла adatabase.h где происходит инклуд qdataschema.h


#include <qdataschema.h>

и у тебя там еще куча пакетов qt4-qdataschema-devel, может быть в этом дело?


Хде???

где вообще взять тарболл qt4-qdataschema для тго чтобы попробовать собрать все это? гугл ничего не находит, на сайте что указан в спеке тоже ничего


Вот сдесь в низу нажать : Download this directory in tarball or zip archive

Или по этой ссылке src.rpm
Спасибо сказали:
Radist
Сообщения: 161
ОС: openSuSe 11, openSuSe 11.1

Re: openSUSE Build Service

Сообщение Radist »

А вот подскажите что с этим делать:
+ exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --define 'disturl obs://build.opensuse.org/home:radist_tagan/Mandriva_2009/d4d98ee95c18f28ec9359362b0e15172-libqrencode' /usr/src/rpm/SOURCES/qrencode.spec
error: Package already exists: %package debug


Ссылка.

Это сборка под мандриву, причем эту ошибку встречаю не первый раз. Что делать?
Спасибо сказали:
Аватара пользователя
Deo
Сообщения: 365
ОС: openSuse 12.3

Re: openSUSE Build Service

Сообщение Deo »

А реально где-нибудь почитать процесс создания спека из makefile?
В качестве первого опыта выбрал qmpdclient-ne, который нигде не могу найти. (Это форк qmpdclient)
добавил в закладки для камлания:
http://www.lexpr.ru/node/11
http://ru.opensuse.org/SUSE_Package_Conventions/RPM_Style
http://en.opensuse.org/SUSE_Package_Conventions/RPM_Groups
http://www.linuxrsp.ru/docs/howto/RPM-HOWTO-6.html

основы понятны, "рыбу" спека написал, трудности с секциями описывающими сам процесс инсталляции
блог, по ссылке выше читал, но там больше по специфике OBS, а мне бы что-нибудь совсем нубское (в режиме пошаговой стратегии)
моё любимое облачко
Фхтагн! Мозг! Ням-ням! ~ Ктулху про Ленина
Спасибо сказали: