[opensuse-buildservice] Cross distribution RPM files special settings
Hello, The wiki page http://en.opensuse.org/Build_Service/cross_distribution_package_how_to does not really help to fix the problem I have with my package. I need to select "netcdf3" for Debian and Ubuntu, where Suse needs "netcdf". Quoting the page:
Handling dependencies
Different distributions often use different names for packages, so the Requires: and BuildRequires: tags may need to vary from repository to repository. The second FOSDEM talk mentions that "[A] project can specify per repository dependency rewrite rules" (... details needed ...)
Where do I find these details? Also it would be a good idea to add a table for all supported distributions on that page. I tried one, but have many gaps and maybe errors. Could anyone update and fix this (Is == correct or is it a single =?). I would copy the information to the wiki if complete. openSUSE Factory %if 0%{suse_version} == 1030 (currently) openSUSE 10.2 %if 0%{suse_version} == 1020 SUSE Linux 10.1 %if 0%{suse_version} == 1010 SUSE Linux 10.0 %if 0%{suse_version} == 1000 SUSE Linux 9.3 %if 0%{suse_version} == 930 SLE 10 %if 0%{suse_version} == 1000 ??? SLES 9 %if 0%{suse_version} == 900 ??? Debian Etch ??? Fedora 4 with Extras %if 0%{?fedora_version} == 4 Fedora 5 with Extras %if 0%{?fedora_version} == 5 Mandriva 2006 %if 0%{?mandriva_version} == 2006 xUbuntu 6.06 ??? P.S. Fedora 4 build fails during system software installation phase for my GMT package: http://build.opensuse.org/package/live_build_log?package=GMT&project=home%3Adstoecker&repository=Fedora_Extras_4&arch=i586 rpm: error while loading shared libraries: libssl.so.5: cannot open shared object file: No such file or directory Ciao -- http://www.dstoecker.eu/ (PGP key available) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
openSUSE Factory %if 0%{suse_version} == 1030 (currently)
That's what you'll see locally but for the BS use 1021
SLE 10 %if 0%{suse_version} == 1000 ??? SLES 9 %if 0%{suse_version} == 900 ???
I think these use %sles_version - numbering may be right though.
Debian Etch ??? xUbuntu 6.06 ???
Hey, here's fun - how do you use RPM macros on non-RPM distros? :) -- James Ogley james@usr-local-bin.org http://usr-local-bin.org GNOME for openSUSE: http://repos.opensuse.org/GNOME:/ Help end poverty: http://oxfam.org.uk/in --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Fri, Jan 26, 2007 at 08:51:30AM +0000, James Ogley wrote:
openSUSE Factory %if 0%{suse_version} == 1030 (currently)
That's what you'll see locally but for the BS use 1021
SLE 10 %if 0%{suse_version} == 1000 ???
sles_version 10
SLES 9 %if 0%{suse_version} == 900 ???
sles_version 9
I think these use %sles_version - numbering may be right though.
sles_version also, but suse_version is defined as well on them. Regards, Peter -- SUSE LINUX Products GmbH Bug, bogey, bugbear, bugaboo: Research & Development A malevolent monster (not true?); Some mischief microbic; What makes someone phobic; The work one does not want to do. From: Chris Young (The Omnificent English Dictionary In Limerick Form)
On Fri, Jan 26, 2007 at 08:58:46AM +0100, Dirk Stoecker wrote:
Hello,
The wiki page http://en.opensuse.org/Build_Service/cross_distribution_package_how_to does not really help to fix the problem I have with my package. I need to select "netcdf3" for Debian and Ubuntu, where Suse needs "netcdf".
Quoting the page:
Handling dependencies
Different distributions often use different names for packages, so the Requires: and BuildRequires: tags may need to vary from repository to repository. The second FOSDEM talk mentions that "[A] project can specify per repository dependency rewrite rules" (... details needed ...)
Where do I find these details?
I think there is no interface for that yet, other than begging on this mailing list :-)
Also it would be a good idea to add a table for all supported distributions on that page. I tried one, but have many gaps and maybe
There is a "tips and tricks" page, ISTR that is has some other useful macros already
errors. Could anyone update and fix this (Is == correct or is it a single =?). I would copy the information to the wiki if complete.
== is correct
openSUSE Factory %if 0%{suse_version} == 1030 (currently) openSUSE 10.2 %if 0%{suse_version} == 1020 SUSE Linux 10.1 %if 0%{suse_version} == 1010 SUSE Linux 10.0 %if 0%{suse_version} == 1000 SUSE Linux 9.3 %if 0%{suse_version} == 930 SLE 10 %if 0%{suse_version} == 1000 ??? SLES 9 %if 0%{suse_version} == 900 ???
this goes: openSUSE Factory %if 0%{suse_version} == 1030 openSUSE 10.2 %if 0%{suse_version} == 1020 SUSE Linux 10.1 %if 0%{suse_version} == 1010 SLE 10 %if 0%{suse_version} == 1010 SUSE Linux 10.0 %if 0%{suse_version} == 1000 SUSE Linux 9.3 %if 0%{suse_version} == 930 SLES 9 %if 0%{suse_version} == 910 I don't know about these:
Debian Etch ??? Fedora 4 with Extras %if 0%{?fedora_version} == 4 Fedora 5 with Extras %if 0%{?fedora_version} == 5 Mandriva 2006 %if 0%{?mandriva_version} == 2006 xUbuntu 6.06 ???
Regards, Peter -- SUSE LINUX Products GmbH Bug, bogey, bugbear, bugaboo: Research & Development A malevolent monster (not true?); Some mischief microbic; What makes someone phobic; The work one does not want to do. From: Chris Young (The Omnificent English Dictionary In Limerick Form)
On Friday 26 January 2007 09:55, Dr. Peter Poeml wrote:
On Fri, Jan 26, 2007 at 08:58:46AM +0100, Dirk Stoecker wrote:
Hello,
The wiki page http://en.opensuse.org/Build_Service/cross_distribution_package_how_to does not really help to fix the problem I have with my package. I need to select "netcdf3" for Debian and Ubuntu, where Suse needs "netcdf".
Quoting the page:
Handling dependencies
Different distributions often use different names for packages, so the Requires: and BuildRequires: tags may need to vary from repository to repository. The second FOSDEM talk mentions that "[A] project can specify per repository dependency rewrite rules" (... details needed ...)
Where do I find these details?
I think there is no interface for that yet, other than begging on this mailing list :-)
Also it would be a good idea to add a table for all supported distributions on that page. I tried one, but have many gaps and maybe
There is a "tips and tricks" page, ISTR that is has some other useful macros already
errors. Could anyone update and fix this (Is == correct or is it a single =?). I would copy the information to the wiki if complete.
== is correct
openSUSE Factory %if 0%{suse_version} == 1030 (currently) openSUSE 10.2 %if 0%{suse_version} == 1020 SUSE Linux 10.1 %if 0%{suse_version} == 1010 SUSE Linux 10.0 %if 0%{suse_version} == 1000 SUSE Linux 9.3 %if 0%{suse_version} == 930 SLE 10 %if 0%{suse_version} == 1000 ??? SLES 9 %if 0%{suse_version} == 900 ???
this goes: openSUSE Factory %if 0%{suse_version} == 1030 openSUSE 10.2 %if 0%{suse_version} == 1020 SUSE Linux 10.1 %if 0%{suse_version} == 1010 SLE 10 %if 0%{suse_version} == 1010 SUSE Linux 10.0 %if 0%{suse_version} == 1000 SUSE Linux 9.3 %if 0%{suse_version} == 930 SLES 9 %if 0%{suse_version} == 910
I don't know about these:
Debian Etch ??? Fedora 4 with Extras %if 0%{?fedora_version} == 4 Fedora 5 with Extras %if 0%{?fedora_version} == 5 Mandriva 2006 %if 0%{?mandriva_version} == 2006 xUbuntu 6.06 ???
There is a mandriva variable: %if %{?!mandriva_release:1}0 ... so it should contain some version number. AFAIK there is no such variable for redhat/fedora ... so finding out whether we have fedora/redhat looks like this: if %{?!suse_version:1}0 %if %{?!mandriva_release:1}0 BuildRequires: blub %endif %endif
Regards, Peter
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Fri, 26 Jan 2007, Daniel Bornkessel wrote:
There is a mandriva variable: %if %{?!mandriva_release:1}0 ... so it should contain some version number. AFAIK there is no such variable for redhat/fedora ... so finding out whether we have fedora/redhat looks like this:
You're sure? I took these from the OpenSUSE wiki.
if %{?!suse_version:1}0 %if %{?!mandriva_release:1}0 BuildRequires: blub %endif %endif
I like it. The RPM documentation is the biggest mess I can think of. Lots of low level docs and nothing covering the deeper problems. I want to do (at least I think so) following (in C syntax): #if defined(DEBIAN) || defined(XUBUNTU) BuildRequires: autoconf automake gcc netcdf3 #elif defined(FEDORA) BuildRequires: autoconf automake gcc netcdf-dev #else BuildRequires: autoconf automake gcc netcdf #endif After looking in the net again and again I found, that || seems not to be supported for RPM, but only "&&". Also I'm not sure, if a "%else if", "%elif", "%elsif" or "%elseif" exists. So is the result (BTW it's a really strange syntax, have the RedHat guys been crazy?): %if 0%{?suse_version:1} %else --- %if .. %else %if .. ........ lots of %endif's coming Any better way? What's the content of variable opensuse_bs? A version number? Is there be BuildSystem variable containing the destination distribution name? For debugging: Is there something like "Print all variables" for RPM. This would be helpful in case of doubt (something like "make -p"). Ciao -- http://www.dstoecker.eu/ (PGP key available) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Friday 26 January 2007 13:24, Dirk Stoecker wrote:
On Fri, 26 Jan 2007, Daniel Bornkessel wrote:
There is a mandriva variable: %if %{?!mandriva_release:1}0 ... so it should contain some version number. AFAIK there is no such variable for redhat/fedora ... so finding out whether we have fedora/redhat looks like this:
You're sure? I took these from the OpenSUSE wiki.
if %{?!suse_version:1}0 %if %{?!mandriva_release:1}0 BuildRequires: blub %endif %endif
%if 0%{?suse_version} ... %endif %if 0%{?mandriva_version} ... %endif %if 0%{?fedora_version} ... %endif And it Works fine. Take a look at: http://build.opensuse.org/package/edit_spec?package=KDevelop3&file=KDevelop3.spec&project=home%3Aamilcarlucas Currently I think that one is the most ambitious project in the ENTIRE opensuse-buildservice, because it's the ONLY one that builds ALL available RPMs and tries to build all available .debs No other projects does it. -- Amilcar Lucas Webmaster The KDevelop project --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Friday 26 January 2007 14:14, Amilcar do Carmo Lucas wrote:
On Friday 26 January 2007 13:24, Dirk Stoecker wrote:
On Fri, 26 Jan 2007, Daniel Bornkessel wrote:
There is a mandriva variable: %if %{?!mandriva_release:1}0 ... so it should contain some version number. AFAIK there is no such variable for redhat/fedora ... so finding out whether we have fedora/redhat looks like this:
You're sure? I took these from the OpenSUSE wiki.
if %{?!suse_version:1}0 %if %{?!mandriva_release:1}0 BuildRequires: blub %endif %endif
%if 0%{?suse_version} ... %endif
%if 0%{?mandriva_version} ... %endif
%if 0%{?fedora_version} ... %endif
And it Works fine. Take a look at: http://build.opensuse.org/package/edit_spec?package=KDevelop3&file=KDevelop 3.spec&project=home%3Aamilcarlucas
Currently I think that one is the most ambitious project in the ENTIRE opensuse-buildservice, because it's the ONLY one that builds ALL available RPMs and tries to build all available .debs
No other projects does it.
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Hi, Dirk Stoecker wrote:
The wiki page http://en.opensuse.org/Build_Service/cross_distribution_package_how_to does not really help to fix the problem I have with my package. I need to select "netcdf3" for Debian and Ubuntu, where Suse needs "netcdf".
One thing I would like to see is for the build service to support multiple spec files, so I could say "foo-suse.spec" for building package "foo" on SUSE-based distros and "foo-fedora.spec" for Fedora-based distros. The main use case for this would be packages that are packaged radically differently between distros; the downside is that I would have to make changes in two places, yes, but those spec files would be a lot cleaner and easier to edit. On another somewhat related note, it would be helpful to have multiple spec files in a project which share the same source and probably most of the same patches, but which produce different packages for whatever reason. Joe --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Joe Shaw wrote:
One thing I would like to see is for the build service to support multiple spec files, so I could say "foo-suse.spec" for building package "foo" on SUSE-based distros and "foo-fedora.spec" for Fedora-based distros.
Unless I misunderstand your request, this is already possible today and has been discussed on this list earlier. I'm not sure whether there's official documentation for this feature, though. Example: foo-Fedora_Extras_6.spec +Thomas -- Thomas Anders (thomas.anders at blue-cable.de) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Hi, Thomas Anders wrote:
Joe Shaw wrote:
One thing I would like to see is for the build service to support multiple spec files, so I could say "foo-suse.spec" for building package "foo" on SUSE-based distros and "foo-fedora.spec" for Fedora-based distros.
Unless I misunderstand your request, this is already possible today and has been discussed on this list earlier. I'm not sure whether there's official documentation for this feature, though.
Example: foo-Fedora_Extras_6.spec
Thanks for the info. I searched the list and couldn't come up with anything, though, so pointers are appreciated. Assuming the template is "foo-<distro>.spec", my main problem with that is that the major differences in package layouts exist primarily in the distro line, rather than individual distros themselves. By that I mean that I could easily share a specfile with FC5 and FC6, and another one with openSUSE 10.1 and 10.2, but it would be harder to do with any version of FC and any version of openSUSE. What I think I probably want instead is to have as many specfiles as I want, and check on/off distributions for a given specfile rather than for a given module, as it is now. That would solve both scenarios I described. Joe --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Hello all, I now finally managed to build GMT at - Suse 9.3, 10.0, 10.1, 10.2, Factory (I think SLE will work also) i586 and x86_64 - Fedora 5, 6 - Mandriva 2006 Some questions still exists: - Is there any use in reporting that Fedora 4 fails in installing? It seems it is not updated at all (at least somewhere the docs/news stated this). - The Suse build service builds RPM's for Debian and xUbuntu. What's the aim of RPM packages for .deb-based distributions? - The Web target selection has "Fedore 4", but no "Fedora 6". It should be the other way round if Fedora 4 is no longer cared for. And something else: - Is there a package search possibility across all projects? Ciao -- http://www.dstoecker.eu/ (PGP key available) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Mon, Jan 29, 2007 at 04:43:17PM +0100, Dirk Stoecker wrote:
Some questions still exists:
- Is there any use in reporting that Fedora 4 fails in installing? It seems it is not updated at all (at least somewhere the docs/news stated this).
I'll have a look at this.
- The Suse build service builds RPM's for Debian and xUbuntu. What's the aim of RPM packages for .deb-based distributions?
Dunno, it's just a fallback I implemented. You can use "alien" to convert them into .deb packages, if you feel adventurous.
- The Web target selection has "Fedore 4", but no "Fedora 6". It should be the other way round if Fedora 4 is no longer cared for.
Yes, hopefully fixed with the next update.
And something else: - Is there a package search possibility across all projects?
Yes, try http://build.opensuse.org/search Cheers, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Hi! Am Montag, 29. Januar 2007 18:09 schrieb Michael Schroeder:
On Mon, Jan 29, 2007 at 04:43:17PM +0100, Dirk Stoecker wrote:
- The Suse build service builds RPM's for Debian and xUbuntu. What's the aim of RPM packages for .deb-based distributions?
Dunno, it's just a fallback I implemented. You can use "alien" to convert them into .deb packages, if you feel adventurous.
Or you can at first start by adding a .dsc file and having a Debian debian/rules file in your sources as usual Debian packages do. Then you'll end up with a natively build .deb which is probably what you intended. See e.g. http://build.opensuse.org/package/show?package=debootstrap&project=Slind -- Bye, Gernot --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Monday 29 January 2007 20:39:22 Hillier, Gernot wrote:
Or you can at first start by adding a .dsc file and having a Debian debian/rules file in your sources as usual Debian packages do. Then you'll end up with a natively build .deb which is probably what you intended. I tried to do that here: http://build.opensuse.org/package/show?package=KDevelop3&project=home%3Aamilcarlucas
But all I got was: expansion error nothing provides xlibmesa-glu-dev needed by libopenexr-dev I'm using a .dsc file that works fine in a debian etch system. I posted questions here and on the IRC channel, but nobody answers. Could someone at lest tell me if they ever built a GUI application with os-bs ? I think that the hole X system is not configured properly in the base system. -- Amilcar Lucas Webmaster The KDevelop project --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Mon, Jan 29, 2007 at 04:43:17PM +0100, Dirk Stoecker wrote:
- Is there any use in reporting that Fedora 4 fails in installing? It seems it is not updated at all (at least somewhere the docs/news stated this).
Building for FC4 works again. Thanks, Michael. -- Michael Schroeder mls@suse.de main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (9)
-
Amilcar do Carmo Lucas
-
Daniel Bornkessel
-
Dirk Stoecker
-
Dr. Peter Poeml
-
Hillier, Gernot
-
James Ogley
-
Joe Shaw
-
Michael Schroeder
-
Thomas Anders