openSUSE Build Service (Давайте вместе разбираться.)
Модератор: Модераторы разделов
-
Radist
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
хм... а как тогда именуют пакеты в федорах мандривах? и как тогда их различать сваленые на винте?
-
sda
- Сообщения: 419
- ОС: SuSE
Re: openSUSE Build Service
тема как называется? ась? вот посмотри на мультиплатформенное репо:
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
А это тогда как?
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
именно так, как я и говорил. в OBS ты этого не получишь. только при локальной сборке (rpmbuild).
А форумокъ всёжъ таки с гнiльцой...©
-
Radist
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
Вот такое вывалило мне сегодня
Это сусе 11.1, вчера этот же пакет отказался ставится на ноутбук, где стоит сусе 11, в связи с чем вопрос это один из моих пакетов что то наворотил? Или всетаки libqt4-devel действительно глючить?
PS: Все вемя забываю, спасибо за ответы.
PSS: Сылка на это безобразие.
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
нет ничего страшного. бывает. одна из множества мелких ошибок при ините build Xen окружения. пинок на пересборку обычно помогает. и совет: почитай справку по osc и обрати внимание на возможность локальной сборки ( build Build a package on your local machine) - если ресурсы позволяют можешь всегда сперва полную проверку делать локально.
А форумокъ всёжъ таки с гнiльцой...©
-
Radist
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
Вот так вот зарубилась сборка.
Фрагмент спека.
Подскажите как правильно поступить? а то есть сутное сомненье, что просто сделать эти каталоги принадлежащими пакету не верное решение.?
Заранее спасибо.
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
Radist
%{_datadir}/icons/hicolor
%{_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
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
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
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
-
sda
- Сообщения: 419
- ОС: SuSE
Re: openSUSE Build Service
есть два объяснения - для умных и по-быстрому. второй вариант звучит так: каждый файл/каталог может принадлежать лишь одному пакету. умный же человек сразу сообразит, что если в BuildRequires: ты влепишь в данном случае hicolor тему иконок, то в %files останется лишь прописать %{_datadir}/icons/hicolor/32x32/apps/*
также я тут начал на досуге по-простому излагать какие-то базовые вещи:
OBS
совершенно не уверен, что это кому-то интересно, просто для себя так сказать
А форумокъ всёжъ таки с гнiльцой...©
Спасибо сказали:
-
Radist
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
Статью прочел, спасибо за труд, записываюсь в фанаты. 
Выплыло такое:
Как понимать/боротся?
Выплыло такое:
+ /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
очень просто. для апдейта глобального кэша установленных библиотек (/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
Вот есть такая ошибка:
в чем проблема понимаю даже могу решить ее залезши в исходники и поправив файл exaro.desktop. Но это не правильное решение, подскажите как решить проблему в процессе сборки??
Спасибо.
PS: Плохо читал %suse_update_desktop_file мне в руки. Вопрос снимается.
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
Кстати, где можно подробно почитать про опции %suse_update_desktop_file?
-
Radist
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
Я тут читаю. Наверное подробнее и нету.
-
ЭЖД
- Сообщения: 332
- Статус: openSuSE Member
- ОС: openSuSE
Re: openSUSE Build Service
сейчас в вики идет перевод данной линии статей.
можно уже частью пользоваться
«Когда истинный гений появляется в этом низком мире, его можно узнать по тому знаку, что все глупцы объединяются против него»
Спасибо сказали:
-
Radist
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
А вот такое не пойму хоть и прочел уже все вдоль и поперек:
eXaro.desktop
tom@book:~> ls /usr/share/icons/ | grep application-bdrt
application-bdrt.png
Что оно хочет? Спасибо.
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
Кстати в какую группу отнести генератор отчетов eXaro ? Что то не как не могу решится.
-
MMouXe
- Сообщения: 252
Re: openSUSE Build Service
Есть ли возможность добавить в репозиторий (через OBS или каким-то другим путем) пакет, собранный на локальной системе? В смысле без необходимости его сборки на OBS, просто сделать его доступным всем остальным?
-
Lazy_Kent
- Сообщения: 709
- Статус: Ленивый
- ОС: openSUSE (Xfce)
Re: openSUSE Build Service
Думаю, нет такой возможности.
-
Radist
- Сообщения: 161
- ОС: openSuSe 11, openSuSe 11.1
Re: openSUSE Build Service
есть два объяснения - для умных и по-быстрому. второй вариант звучит так: каждый файл/каталог может принадлежать лишь одному пакету. умный же человек сразу сообразит, что если в 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
... 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
Спасибо, но так я и сам сделал. Вопрос с %{_datadir}/mimelnk остался не проясненным. Почему у меня в системе ни одно приложение не использует этот каталог? Видимо как то по другому оно реализовано?
Теперь еще такая странность возникла:
Так вот по умолчанию файл иконки лежит в /usr/share/icons/ и надо сказать что прекрасно работает все. Но при сборке в OBS сборка зарубается на том основании что не найден файл иконки. Если скопировать файл иконки в /usr/share/pixmaps/ то сборка проходит нормально.
Собснно вопрос в том как это воспринимать баг или фича?
Теперь еще такая странность возникла:
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
Имеем такую ощибку :
Тогда как при сборке локально из тех же исходников, и того же спека все в порядке. Это что глюк в OBS???
qdataschema.h предомтавляется пакетом qt4-qdataschema-devel
Ссылка на лог.
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
Локальная сборка осуществляется в 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
Локальная сборка осуществляется в 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
А вот подскажите что с этим делать:
Ссылка.
Это сборка под мандриву, причем эту ошибку встречаю не первый раз. Что делать?
+ 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
А реально где-нибудь почитать процесс создания спека из 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, а мне бы что-нибудь совсем нубское (в режиме пошаговой стратегии)
В качестве первого опыта выбрал 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, а мне бы что-нибудь совсем нубское (в режиме пошаговой стратегии)