Hi, I'm new to the build service and I still try to convince obs to cooperate with me :-) - now I have a question about macros.
As a local user, I have a .rpmmacros file (including as a simple sample "%packager Werner Flamme werner.flamme@ufz.de"). In message 20081111184033.GB7174@suse.de I read that macros have to be defined in the project configuration file. Is this the file that is managed via "osc meta prj -e"? If not, how do I modify the project configuration file? Is it stored locally after an "osc co"?
Maybe this info is hidden somewhere in the Build Service web pages. However, I did not find it, sorry.
Regards, Werner
Werner Flamme wrote:
Hi, I'm new to the build service and I still try to convince obs to cooperate with me :-) - now I have a question about macros.
As a local user, I have a .rpmmacros file (including as a simple sample "%packager Werner Flamme werner.flamme@ufz.de"). In message 20081111184033.GB7174@suse.de I read that macros have to be defined in the project configuration file. Is this the file that is managed via "osc meta prj -e"? If not, how do I modify the project configuration file? Is it stored locally after an "osc co"?
Maybe this info is hidden somewhere in the Build Service web pages. However, I did not find it, sorry.
It is stored with "meta prjconf". If you want to see useful examples, try for example: osc -A api.opensuse.org meta prjconf openSUSE:Factory or openSUSE:11.0 ... They make use of macros. It might be that not all rpm constuctions like %if and so on are working without problem. The parser might not be 100% compatible with rpm macros, because this environment can also be used for Debian distributions. Try e.g. osc -A api.opensuse.org meta prjconf Debian:Etch .
Another way is to, you name it, put a package inside your project, which sets the rpm macros. I also used that technique successfully for "emulating" another distro completely inside OBS.
Hope that helps
Martin
Werner,
assuming that you have your own, local build server, the project configuration for a certain project is stored in the directory: /srv/obs/projects
The configuration is contained in the files ending with .conf. This file includes information about the build system, packages to install etc. as well as some macos, that you might want to define.
See: http://de.opensuse.org/Build_Service/Tipps_und_Tricks#Wie_ist_eine_Bauumgebu...
You can edit the project configuration (remotely) with the command:
osc meta prjconf Fedora:8 -e
That will allow you to edit for example the Fedora 8 project configuration, assuming you have a Project called Fedora:8. Always use osc to edit, I think manual changes in the file will not work. Usually the Editor is vi, so have some vi commands ready (can be changed with the EDITOR shell variable I suppose).
Here are some macros that are defined at the end of this file. These macros will be available in spec files to use:
Macros: %opensuse_bs 1 %fedora_version 8 %_vendor redhat
#From fedora buildsys-macros package %fedora 8 %dist .fc8 %fc8 1
The above osc command without the "-e" will just print the project configuration to stdout.
Also helpful is:
osc help meta prjconf
For more details see:
http://de.opensuse.org/Build_Service/Kommandozeilenwerkzeuge
I hope this helps regards
Chris
On Wednesday 26 November 2008 19:06:16 Werner Flamme wrote:
Hi, I'm new to the build service and I still try to convince obs to cooperate with me :-) - now I have a question about macros.
As a local user, I have a .rpmmacros file (including as a simple sample "%packager Werner Flamme werner.flamme@ufz.de"). In message 20081111184033.GB7174@suse.de I read that macros have to be defined in the project configuration file. Is this the file that is managed via "osc meta prj -e"? If not, how do I modify the project configuration file? Is it stored locally after an "osc co"?
Maybe this info is hidden somewhere in the Build Service web pages. However, I did not find it, sorry.
Regards, Werner
-- Werner Flamme, Abt. WKDV Helmholtz-Zentrum für Umweltforschung GmbH - UFZ Permoserstr. 15 - 04318 Leipzig Tel.: (0341) 235-1921 - Fax (0341) 235-451921 http://www.ufz.de - eMail: werner.flamme@ufz.de
Martin, Chris,
thank you! You helped me a lot! I'll try as soon as I am at home again - I do not build from/in office - yet ;-)
I missed "osc meta prjconf" on http://en.opensuse.org/Build_Service/CLI, but "osc meta -h" shows it. MonoOSC prefers crashing rather than working for more than 10 minutes :-(
@Chris: yes, I have a local build server, but I'd like to have working builds on the OBS too :-) I discovered /usr/lib/build/configs/ when reading http://en.opensuse.org/Build_Service/Tips_and_Tricks some days ago, but since I'm quite sure this is not uploaded to the build service ;-) I try to leave those files as they are :-)
Thank you again!
Regards, Werner
On Donnerstag 27 November 2008 11:58:41 Werner Flamme wrote:
Martin, Chris,
thank you! You helped me a lot! I'll try as soon as I am at home again - I do not build from/in office - yet ;-)
I missed "osc meta prjconf" on http://en.opensuse.org/Build_Service/CLI, but "osc meta -h" shows it. MonoOSC prefers crashing rather than working for more than 10 minutes :-(
You might want to try yabsc when you look for a gui client, it is part of openSUSE:Tools project.
bye adrian
Adrian Schröter [27.11.2008 12:12]:
You might want to try yabsc when you look for a gui client, it is part of openSUSE:Tools project.
Hi Adrian, I'd like to - but whatever I try (e. g. yabsc --help) I always get
yabsc --help
Traceback (most recent call last): File "/usr/lib64/python2.5/site-packages/yabsclib/results.py", line 288, in run self.projects = self.bs.getWatchedProjectList() File "/usr/lib64/python2.5/site-packages/yabsclib/buildservice.py", line 100, in getWatchedProjectList username = self.getUserName() File "/usr/lib64/python2.5/site-packages/yabsclib/buildservice.py", line 86, in getUserName return conf.config['auth_dict'][hostname]['user'] KeyError: 'auth_dict' Traceback (most recent call last): File "/usr/bin/yabsc", line 29, in <module> mw = yabsclib.MainWindow() File "/usr/lib64/python2.5/site-packages/yabsclib/__init__.py", line 230, in __init__ for host in conf.config['auth_dict'].keys(): KeyError: 'auth_dict'
rpm -q yabsc
yabsc-0.8-2.1
rpm -q python
python-2.5.2-92.3
rpm -q osc
osc-0.110-1.1
rpm -q python-qt4
python-qt4-4.4.3-2.10
When I look at /usr/share/doc/packages/yabsc, I find a well written license, and that's all. The homepage of this client http://www.funktronics.ca/yabsc/ does not provide any hints, either. The link mentioned to the PyQt4 is dead :-(
Seems it looks for a config, but is not able to tell me what file to use. There is no ~/.yabsrc, ~/yabs.conf or anything like this...
Regards, Werner
File "/usr/lib64/python2.5/site-packages/yabsclib/__init__.py", line 230, in __init__ for host in conf.config['auth_dict'].keys(): KeyError: 'auth_dict'
This is due to a change in the osc API. It's been fixed in SVN for quite a while, but I haven't made a release in the meantime.
I'll make a new release today.
James Oakley [01.12.2008 15:45]:
File "/usr/lib64/python2.5/site-packages/yabsclib/__init__.py", line 230, in __init__ for host in conf.config['auth_dict'].keys(): KeyError: 'auth_dict'
This is due to a change in the osc API. It's been fixed in SVN for quite a while, but I haven't made a release in the meantime.
I'll make a new release today.
Obviously you did in the meantime :-)
20:00 werner@klops:~ > rpm -q yabsc yabsc-0.9-1.1
...but...
20:00 werner@klops:~ > yabsc Traceback (most recent call last): File "/usr/bin/yabsc", line 23, in <module> from PyQt4 import QtGui, QtCore ImportError: /usr/lib64/python2.5/site-packages/PyQt4/QtGui.so: undefined symbol: _ZN16QFileSystemModel5eventEP6QEvent
*Gnaaaaa*
20:00 werner@klops:~ > rpm -qf /usr/lib64/python2.5/site-packages/PyQt4/QtGui.so python-qt4-4.4.3-2.10
At the office, I have python-qt4-4.4.3-2.10, and it runs today. At home, I use python-qt4-4.4.3-2.10 and it gives the error. Both on openSUSE 11.0 x86_64. Magical mysteries...
Regards, Werner
20:00 werner@klops:~ > yabsc Traceback (most recent call last): File "/usr/bin/yabsc", line 23, in <module> from PyQt4 import QtGui, QtCore ImportError: /usr/lib64/python2.5/site-packages/PyQt4/QtGui.so: undefined symbol: _ZN16QFileSystemModel5eventEP6QEvent
The PyQt installed on this system is compiled against a different build of Qt than the one that is installed. Are you using one of the updated KDE projects? If you are, make sure that PyQt is up to date from the same repository you got Qt from.
buildservice@lists.opensuse.org