[opensuse-buildservice] debian project, expansion error, have choice?
peless gets a have choice expansion error for Debian_Etch: https://build.opensuse.org/package/show?package=peless&project=home%3Apelliott11 have choice for libstdc++-dev needed by libboost-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev, have choice for libstdc++-dev needed by libsigc++-2.0-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev The previous version built without problem on the system used by the debian people even though a similar ambigutiy exists: http://packages.debian.org/sid/peless How are such ambiguities dealt with in the build service? Is it the Build-Depends: line? If so does the one in the .dsc file or the one in the debian.control file the one that is operative? Is there any other way to tell it to which version to use? Is it possible to have "different .dsc files and debian.control for different system similarly to the way that one can have different .spec files for different systems? i.e. "foo-Fedora_Extras_4.spec" for rpm based systems so "foo-Debian_Etch.dsc" or "debian-Debian_Etch.control" for debian? Thank You for answering my questions. -- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
On Tue, Jan 27, 2009 at 08:12:40PM -0600, Paul Elliott wrote: Could I solve this problem using "Prefer:" or "Ignore:" lines at the project level? I could only find reference to "Prefer:" or "Ignore:" lines in some LinuxTag presentations. How do they work and how do you create them? Could we have some more documentation on them? What are some examples of "Prefer:" or "Ignore:" lines. Also on dealing with ambiguities in an Debian project? I would prefer not make modifications to my .dsc file that are not needed in a Debian build in the wild. (i.e. a non build service build).
peless gets a have choice expansion error for Debian_Etch: https://build.opensuse.org/package/show?package=peless&project=home%3Apelliott11
have choice for libstdc++-dev needed by libboost-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev, have choice for libstdc++-dev needed by libsigc++-2.0-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev
The previous version built without problem on the system used by the debian people even though a similar ambigutiy exists: http://packages.debian.org/sid/peless
How are such ambiguities dealt with in the build service? Is it the Build-Depends: line? If so does the one in the .dsc file or the one in the debian.control file the one that is operative?
Is there any other way to tell it to which version to use?
Is it possible to have "different .dsc files and debian.control for different system similarly to the way that one can have different .spec files for different systems? i.e. "foo-Fedora_Extras_4.spec" for rpm based systems so "foo-Debian_Etch.dsc" or "debian-Debian_Etch.control" for debian?
Thank You for answering my questions.
-- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
-- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
Paul Elliott napsal(a):
I could only find reference to "Prefer:" or "Ignore:" lines in some LinuxTag presentations. How do they work and how do you create them? Could we have some more documentation on them?
What are some examples of "Prefer:" or "Ignore:" lines.
Build Service documentation could see some improvement, yes, but if you already know the keywords, this is searchable easily: http://en.opensuse.org/Special:Search?search=prefer+ignore - 4th hit. Michal -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Thu, Jan 29, 2009 at 03:29:41PM +0100, Michal Marek wrote:
Paul Elliott napsal(a):
I could only find reference to "Prefer:" or "Ignore:" lines in some LinuxTag presentations. How do they work and how do you create them? Could we have some more documentation on them?
What are some examples of "Prefer:" or "Ignore:" lines.
Build Service documentation could see some improvement, yes, but if you already know the keywords, this is searchable easily: http://en.opensuse.org/Special:Search?search=prefer+ignore - 4th hit.
This is the Build Service/Tips and tricks page. http://en.opensuse.org/Build_Service/Tips_and_Tricks Yes the section "How is a buildenvironment defined?" says that these lines are defined in a file called "/usr/lib/build/configs/$distro.conf". But it does not tell Joe Six-Pack developer how to access and modify this file as used by his project. What practical steps do I need to take, to modify this file as seen by my project builds? Also in the Build Service/Tips and traps page is a section called "Using different spec files for different platforms". It tells how to have different .spec files for different distros. But it does not tell how to have different .dsc files for different debian distros. What is the exact syntax for debian distros? Can I have different "debian.rules" files for different debian distros? Again what is the syntax? Since debian .dsc files can not be %if def'ed like rpm spec files can be, having different .dsc files for different distros, appears to be the only way to vary behavior for debian, depeneding on distro. Yet, this feature, if it exists, seems to be undocumented. I have different variants of the same ambiguity in libstdc++ for the debian etch versas the ubuntu distros. I need to know how to handle this. -- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
Paul Elliott napsal(a):
On Thu, Jan 29, 2009 at 03:29:41PM +0100, Michal Marek wrote:
Paul Elliott napsal(a):
I could only find reference to "Prefer:" or "Ignore:" lines in some LinuxTag presentations. How do they work and how do you create them? Could we have some more documentation on them?
What are some examples of "Prefer:" or "Ignore:" lines. Build Service documentation could see some improvement, yes, but if you already know the keywords, this is searchable easily: http://en.opensuse.org/Special:Search?search=prefer+ignore - 4th hit.
This is the Build Service/Tips and tricks page. http://en.opensuse.org/Build_Service/Tips_and_Tricks Yes the section "How is a buildenvironment defined?" says that these lines are defined in a file called "/usr/lib/build/configs/$distro.conf".
But it does not tell Joe Six-Pack developer how to access and modify this file as used by his project.
Ah, right, this piece is indeed missing. You can define custom rules for your project using $ osc meta prjconf <project> -e Once you've figured out the right Prefer: line for Debian, share it, so that it can be added to the default config for debian. Also you can mention the osc command on the wiki page ;). Michal -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
I have found a purely debian build system solution to this problem: Added the virtual package g++ to the Build-Depends: in control (and therefore also in the .dsc file). This virtual package has reasonable dependancies for gcc, libstdc++ for c++ programs. This is a purely debian solution that does not depend on the features of opensuse-buildservice. The g++ dependacy probably should been in there from the beginning. I still think that someday someone will want to vary their .dsc files depending on distro, and it should be documented how to do this. I also found out that contrary to the impression given by Build Service/Deb builds = http://en.opensuse.org/Build_Service/Deb_builds you do not have to create a bunch of debian.xxx files to do a debian build. Instead, the standard debian source repository files consisting of: 1) a .dsc file 2) .orig.tar.gz file 3) .diff.gz will work fine. These can be created and maintained by the regular debian source utilities (=dpkg-source and uupdate). Since I must create these anyway for non opensuse-buildservice reasons, this is the way to go for me. See the peless project for an example of this. I wish opensuse-buildservice would publish a source repository in standard debian fashion. On Tue, Jan 27, 2009 at 08:12:40PM -0600, Paul Elliott wrote:
peless gets a have choice expansion error for Debian_Etch: https://build.opensuse.org/package/show?package=peless&project=home%3Apelliott11
have choice for libstdc++-dev needed by libboost-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev, have choice for libstdc++-dev needed by libsigc++-2.0-dev: libstdc++2.10-dev libstdc++6-4.1-dev libstdc++6-dev libstdc++5-3.3-dev
The previous version built without problem on the system used by the debian people even though a similar ambigutiy exists: http://packages.debian.org/sid/peless
How are such ambiguities dealt with in the build service? Is it the Build-Depends: line? If so does the one in the .dsc file or the one in the debian.control file the one that is operative?
Is there any other way to tell it to which version to use?
Is it possible to have "different .dsc files and debian.control for different system similarly to the way that one can have different .spec files for different systems? i.e. "foo-Fedora_Extras_4.spec" for rpm based systems so "foo-Debian_Etch.dsc" or "debian-Debian_Etch.control" for debian?
Thank You for answering my questions.
-- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
-- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
On Thu, Jan 29, 2009 at 11:56:49PM -0600, Paul Elliott wrote:
I have found a purely debian build system solution to this problem:
Added the virtual package g++ to the Build-Depends: in control (and therefore also in the .dsc file). This virtual package has reasonable dependancies for gcc, libstdc++ for c++ programs. This is a purely debian solution that does not depend on the features of opensuse-buildservice. The g++ dependacy probably should been in there from the beginning.
Although this solution worked, its neccessity causes me doubt, that the build service is setup correctly for Debian. According to the Debian Policy Manual : http://www.debian.org/doc/debian-policy/ch-source.html#s-pkg-relations It is not necessary to explicitly specify build-time relationships on a minimal set of packages that are always needed to compile, link and put in a Debian package a standard "Hello World!" program written in C or C++. The required packages are called build-essential, and an informational list can be found in /usr/share/doc/build-essential/list (which is contained in the build-essential package).[12] The g++ virtual package is definately in the build-essential package. http://packages.debian.org/etch/build-essential So therefore theoreticly, it should not be required to be on the Build-requires line. However, it was required to make the ambiguity go away. Is this a problem with the build service? Are there any Debian experts out there in OpenSuSE Land? I am not a Debian expert, but I am being forced to learn more. -- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
The doubt below is confirmed. I replaced g++, on the Build-Depends line with build-essential. This also solves the ambiguity. But as mentioned below, the Debian Policy Manual clearly states that this should not be necessary. I filed a bug against the BuildService: all Debian builds should have implicit Build-Depends: dependancy of build-essential https://bugzilla.novell.com/show_bug.cgi?id=471298 On Sat, Jan 31, 2009 at 12:35:51AM -0600, Paul Elliott wrote:
On Thu, Jan 29, 2009 at 11:56:49PM -0600, Paul Elliott wrote:
I have found a purely debian build system solution to this problem:
Added the virtual package g++ to the Build-Depends: in control (and therefore also in the .dsc file). This virtual package has reasonable dependancies for gcc, libstdc++ for c++ programs. This is a purely debian solution that does not depend on the features of opensuse-buildservice. The g++ dependacy probably should been in there from the beginning.
Although this solution worked, its neccessity causes me doubt, that the build service is setup correctly for Debian.
According to the Debian Policy Manual : http://www.debian.org/doc/debian-policy/ch-source.html#s-pkg-relations
It is not necessary to explicitly specify build-time relationships on a minimal set of packages that are always needed to compile, link and put in a Debian package a standard "Hello World!" program written in C or C++. The required packages are called build-essential, and an informational list can be found in /usr/share/doc/build-essential/list (which is contained in the build-essential package).[12]
The g++ virtual package is definately in the build-essential package. http://packages.debian.org/etch/build-essential So therefore theoreticly, it should not be required to be on the Build-requires line.
However, it was required to make the ambiguity go away.
Is this a problem with the build service?
Are there any Debian experts out there in OpenSuSE Land?
I am not a Debian expert, but I am being forced to learn more.
-- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
-- Paul Elliott 1(512)837-1096 pelliott@io.com PMB 181, 11900 Metric Blvd Suite J http://www.io.com/~pelliott/pme/ Austin TX 78758-3117
participants (2)
-
Michal Marek
-
Paul Elliott