[opensuse-buildservice] prjconf Prefer: with distribution version check?
Hi, I would like to use a prjconf clause like this: # aaa_base-malloccheck doesn't exist before %if 0%{?suse_version} < 1220 Prefer: -post-build-checks %endif in order to build packages for older systems, that do not have that malloccheck, without messing with each and every failing .spec.. Unfortunately, that doesn't work. Any idea on how to archive that? Thanks, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 30/1/2013 at 08:39 PM, Hans-Peter Jansen <hpj@urpla.net> wrote: Hi,
I would like to use a prjconf clause like this:
# aaa_base-malloccheck doesn't exist before %if 0%{?suse_version} < 1220 Prefer: -post-build-checks %endif
in order to build packages for older systems, that do not have that malloccheck, without messing with each and every failing .spec..
Unfortunately, that doesn't work.
Any idea on how to archive that?
I think, you can use %_repository here. For example, if you project is building for openSUSE 12.1 and openSUSE 12.2 with their corresponding repository names openSUSE_12.1 and openSUSE_12.2, respectively, then you *should* be able to do this: %if %_repository == "openSUSE_12.1" .... %endif Please note that I haven't tested this. I'm mentioning the above solution from the way how KIWI builds are handled and hence believe the same technique would work for you too. HTH, Srinidhi. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Jan 30, 2013 at 04:09:31PM +0100, Hans-Peter Jansen wrote:
I would like to use a prjconf clause like this:
# aaa_base-malloccheck doesn't exist before %if 0%{?suse_version} < 1220 Prefer: -post-build-checks %endif
in order to build packages for older systems, that do not have that malloccheck, without messing with each and every failing .spec..
Unfortunately, that doesn't work.
Do you really mean Prefer? Prefer only helps to disambiguate multipe packages providing the same thing. You'd keep post-build-checks from getting installed by using: %if 0%{?suse_version} < 1220 Support: !post-build-checks %endif But maybe I just don't understand the exact problem. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Mittwoch, 30. Januar 2013, 16:38:44 schrieb Michael Schroeder:
On Wed, Jan 30, 2013 at 04:09:31PM +0100, Hans-Peter Jansen wrote:
I would like to use a prjconf clause like this:
# aaa_base-malloccheck doesn't exist before %if 0%{?suse_version} < 1220 Prefer: -post-build-checks %endif
in order to build packages for older systems, that do not have that malloccheck, without messing with each and every failing .spec..
Unfortunately, that doesn't work.
Do you really mean Prefer? Prefer only helps to disambiguate multipe packages providing the same thing.
You'd keep post-build-checks from getting installed by using:
%if 0%{?suse_version} < 1220 Support: !post-build-checks %endif
That seems to do it, thanks. But now I'm stuck, because I need to build the file package, which contains the libmagic.so.1 lib, which is needed from rpmbuild. According to http://en.opensuse.org/openSUSE:Build_Service_prjconf, a clause like: Keep: file patch would be sufficient, but even with an additional Preinstall: file patch the missing libmagic.so.1 error persists. More misconception on my side? Thanks, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Jan 30, 2013 at 05:06:15PM +0100, Hans-Peter Jansen wrote:
But now I'm stuck, because I need to build the file package, which contains the libmagic.so.1 lib, which is needed from rpmbuild.
According to http://en.opensuse.org/openSUSE:Build_Service_prjconf, a clause like:
Keep: file patch
would be sufficient, but even with an additional
Preinstall: file patch
the missing libmagic.so.1 error persists.
More misconception on my side?
Dunno. Can you please attach the logfile of the missing build? Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Jan 30, 2013 at 05:43:44PM +0100, Michael Schroeder wrote:
On Wed, Jan 30, 2013 at 05:06:15PM +0100, Hans-Peter Jansen wrote:
But now I'm stuck, because I need to build the file package, which contains the libmagic.so.1 lib, which is needed from rpmbuild.
According to http://en.opensuse.org/openSUSE:Build_Service_prjconf, a clause like:
Keep: file patch
would be sufficient, but even with an additional
Preinstall: file patch
the missing libmagic.so.1 error persists.
More misconception on my side?
Dunno. Can you please attach the logfile of the missing build?
mistyped, I meant failed build of course. M. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Mittwoch, 30. Januar 2013, 17:43:44 schrieb Michael Schroeder:
On Wed, Jan 30, 2013 at 05:06:15PM +0100, Hans-Peter Jansen wrote:
But now I'm stuck, because I need to build the file package, which contains the libmagic.so.1 lib, which is needed from rpmbuild.
According to http://en.opensuse.org/openSUSE:Build_Service_prjconf, a clause like:
Keep: file patch
would be sufficient, but even with an additional
Preinstall: file patch
the missing libmagic.so.1 error persists.
More misconception on my side?
Dunno. Can you please attach the logfile of the missing build?
https://build.opensuse.org/package/live_build_log?arch=x86_64&package=file&project=home%3Afrispete%3Atools&repository=openSUSE_12.2 Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Jan 30, 2013 at 05:47:37PM +0100, Hans-Peter Jansen wrote:
Am Mittwoch, 30. Januar 2013, 17:43:44 schrieb Michael Schroeder:
On Wed, Jan 30, 2013 at 05:06:15PM +0100, Hans-Peter Jansen wrote:
But now I'm stuck, because I need to build the file package, which contains the libmagic.so.1 lib, which is needed from rpmbuild.
According to http://en.opensuse.org/openSUSE:Build_Service_prjconf, a clause like:
Keep: file patch
would be sufficient, but even with an additional
Preinstall: file patch
the missing libmagic.so.1 error persists.
More misconception on my side?
Dunno. Can you please attach the logfile of the missing build?
Pete
Ha, tricky. You somewhat shot yourself in your foot. ;) While it's true that 12.2 has libmagic.so.1 in its 'file' package, the file package you're building has it in 'libmagic1'. Thus the first build of your package worked and now all the next ones won't work, because the lib is no longer in 'file'. Thus change your prjconf to: Keep: file patch libmagic1 (You probably don't need the Preinstall) Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Mittwoch, 30. Januar 2013, 17:59:30 schrieb Michael Schroeder:
On Wed, Jan 30, 2013 at 05:47:37PM +0100, Hans-Peter Jansen wrote:
Am Mittwoch, 30. Januar 2013, 17:43:44 schrieb Michael Schroeder:
On Wed, Jan 30, 2013 at 05:06:15PM +0100, Hans-Peter Jansen wrote:
But now I'm stuck, because I need to build the file package, which contains the libmagic.so.1 lib, which is needed from rpmbuild.
According to http://en.opensuse.org/openSUSE:Build_Service_prjconf, a clause like:
Keep: file patch
would be sufficient, but even with an additional
Preinstall: file patch
the missing libmagic.so.1 error persists.
More misconception on my side?
Dunno. Can you please attach the logfile of the missing build?
https://build.opensuse.org/package/live_build_log?arch=x86_64&package=file &project=home%3Afrispete%3Atools&repository=openSUSE_12.2
Pete
Ha, tricky. You somewhat shot yourself in your foot. ;)
Ah, thanks god, it's a graze would only. I should have paid more attention for the lowercased paragraphs ;-)
While it's true that 12.2 has libmagic.so.1 in its 'file' package, the file package you're building has it in 'libmagic1'. Thus the first build of your package worked and now all the next ones won't work, because the lib is no longer in 'file'. Thus change your prjconf to:
Keep: file patch libmagic1
Done that now. Thanks for the comprehensible explanation. Makes sense.
(You probably don't need the Preinstall)
Yes, that isn't needed. Unfortunately, the builds break for the 12.* variants in some strange ways, while 11.1 succeeds. :-( Will check later.. Thanks && cheers, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Mittwoch, 30. Januar 2013, 18:38:45 schrieb Hans-Peter Jansen:
Unfortunately, the builds break for the 12.* variants in some strange ways, while 11.1 succeeds. :-( Will check later..
Well, still suffered from a chicken and egg problem. Apart from another missing package: Keep: patch file libmagic1 file-magic it kept using the first succeeded file package for the build, namely in the %doc phase, but that package missed the magic files (build without the proper Keep: clause). I had to manually remove the formerly built file packages. After that, the build succeeded. Yey. Now this issue was a tough one. Guess, this package split will chafe a few more people here ;-) Cheers, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Donnerstag, 31. Januar 2013, 00:08:15 schrieb Hans-Peter Jansen:
Am Mittwoch, 30. Januar 2013, 18:38:45 schrieb Hans-Peter Jansen:
Unfortunately, the builds break for the 12.* variants in some strange ways, while 11.1 succeeds. :-( Will check later..
Well, still suffered from a chicken and egg problem.
Apart from another missing package:
Keep: patch file libmagic1 file-magic
it kept using the first succeeded file package for the build, namely in the %doc phase, but that package missed the magic files (build without the proper Keep: clause).
I had to manually remove the formerly built file packages. After that, the build succeeded. Yey.
Now this issue was a tough one. Guess, this package split will chafe a few more people here ;-)
Cheered too soon. Still failing for the 12.2/i586 case with an even more obscure error: [ 348s] RPMLINT report: [ 348s] =============== [ 351s] 5 packages and 0 specfiles checked; 0 errors, 0 warnings. [ 351s] [ 351s] ... creating baselibs [ 351s] libmagic1(x86_64:32bit): writing specfile... [ 351s] libmagic1(x86_64:32bit): running build... [ 351s] rpmbuild failed: 32512 [ 351s] re-running in verbose mode: [ 351s] rpmbuild: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory [ 355s] [ 335.478984] SysRq : Power Off [ 355s] [ 336.216251] Power down. [ 357s] Help. Pete https://build.opensuse.org/package/live_build_log?arch=i586&package=file&project=home%3Afrispete%3Atools&repository=openSUSE_12.2 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Thursday 2013-01-31 00:17, Hans-Peter Jansen wrote:
Cheered too soon. Still failing for the 12.2/i586 case with an even more obscure error:
[ 348s] RPMLINT report: [ 348s] =============== [ 351s] 5 packages and 0 specfiles checked; 0 errors, 0 warnings. [ 351s] [ 351s] ... creating baselibs [ 351s] libmagic1(x86_64:32bit): writing specfile... [ 351s] libmagic1(x86_64:32bit): running build... [ 351s] rpmbuild failed: 32512 [ 351s] re-running in verbose mode: [ 351s] rpmbuild: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory [ 355s] [ 335.478984] SysRq : Power Off [ 355s] [ 336.216251] Power down. [ 357s]
Help.
Prereq: libmagic1 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Donnerstag, 31. Januar 2013, 00:48:49 schrieb Jan Engelhardt:
On Thursday 2013-01-31 00:17, Hans-Peter Jansen wrote:
Cheered too soon. Still failing for the 12.2/i586 case with an even more obscure error:
[ 348s] RPMLINT report: [ 348s] =============== [ 351s] 5 packages and 0 specfiles checked; 0 errors, 0 warnings. [ 351s] [ 351s] ... creating baselibs [ 351s] libmagic1(x86_64:32bit): writing specfile... [ 351s] libmagic1(x86_64:32bit): running build... [ 351s] rpmbuild failed: 32512 [ 351s] re-running in verbose mode: [ 351s] rpmbuild: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory [ 355s] [ 335.478984] SysRq : Power Off [ 355s] [ 336.216251] Power down. [ 357s]
Help.
Prereq: libmagic1
Hmm, has grown a new warning from this: RPMLINT report: [ 175s] =============== [ 178s] file.i586: W: explicit-lib-dependency libmagic1 [ 178s] You must let rpm find the library dependencies by itself. Do not put unneeded [ 178s] explicit Requires: tags. [ 178s] [ 178s] 5 packages and 0 specfiles checked; 0 errors, 1 warnings. [ 178s] [ 178s] ... creating baselibs [ 178s] libmagic1(x86_64:32bit): writing specfile... [ 178s] libmagic1(x86_64:32bit): running build... [ 178s] rpmbuild failed: 32512 [ 178s] re-running in verbose mode: [ 178s] rpmbuild: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory [ 182s] [ 164.819569] SysRq : Power Off [ 182s] [ 165.169530] Power down. [ 183s] Since libmagic1 is introduced as a new package by this package version, a Prereq cannot be provided on the first build, can it? Interestingly, only 12.2/i586 is affected by this issue. 12.1/both and even 11.1/both build fine. Puzzled, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Thursday 2013-01-31 10:57, Hans-Peter Jansen wrote:
Prereq: libmagic1
Hmm, has grown a new warning from this:
Ah my bad. Preinstall: libmagic1
[ 178s] rpmbuild failed: 32512 [ 178s] re-running in verbose mode: [ 178s] rpmbuild: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory
For that, add Keep: libmagic1 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Dear Jan, Am Donnerstag, 31. Januar 2013, 18:35:59 schrieb Jan Engelhardt:
On Thursday 2013-01-31 10:57, Hans-Peter Jansen wrote:
Prereq: libmagic1
Hmm, has grown a new warning from this: Ah my bad.
Preinstall: libmagic1
[ 178s] rpmbuild failed: 32512 [ 178s] re-running in verbose mode: [ 178s] rpmbuild: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory
For that, add
Keep: libmagic1
It's not that easy, because on the very first pass of that package build, libmagic1 doesn't exist, because it is contained in the package file so far. Here's the relevant part of my current prjconf: (home:frispete:tools) Keep: patch file libmagic1 file-magic Preinstall: libmagic1 For some reason, only 12.2/i586 is affected, but neither 12.2/both nor 11.1/both (most reasonable is that the other builds succeeded, and hence the libmagic1 can be provided now..) The point is, how does OBS handle such builds, that are splitted *after* the first build and are required during the build (either as singleton, or later as package 'group'). The current state of related affairs feels random and immature. Cheers, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Donnerstag, 31. Januar 2013, 23:23:55 schrieb Hans-Peter Jansen:
Dear Jan,
Am Donnerstag, 31. Januar 2013, 18:35:59 schrieb Jan Engelhardt:
On Thursday 2013-01-31 10:57, Hans-Peter Jansen wrote:
Prereq: libmagic1
Hmm, has grown a new warning from this: Ah my bad.
Preinstall: libmagic1
[ 178s] rpmbuild failed: 32512 [ 178s] re-running in verbose mode: [ 178s] rpmbuild: error while loading shared libraries: libmagic.so.1: cannot open shared object file: No such file or directory
For that, add
Keep: libmagic1
It's not that easy, because on the very first pass of that package build, libmagic1 doesn't exist, because it is contained in the package file so far.
Here's the relevant part of my current prjconf: (home:frispete:tools)
Keep: patch file libmagic1 file-magic Preinstall: libmagic1
For some reason, only 12.2/i586 is affected, but neither 12.2/both nor 11.1/both (most reasonable is that the other builds succeeded, and hence the libmagic1 can be provided now..)
Forgot to mention: on 12.1/i586, I harvest an "nothing provides libmagic1" now with the Preinstall clause.
The point is, how does OBS handle such builds, that are splitted *after* the first build and are required during the build (either as singleton, or later as package 'group').
The current state of related affairs feels random and immature.
Cheers, Pete
Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Thursday 2013-01-31 23:23, Hans-Peter Jansen wrote:
It's not that easy, because on the very first pass of that package build, libmagic1 doesn't exist, because it is contained in the package file so far.
[...] For some reason, only 12.2/i586 is affected
So, don't use Preinstall:libmagic1 until it really exists for all targets. That is not the case for your project. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am Freitag, 1. Februar 2013, 01:00:59 schrieb Jan Engelhardt:
On Thursday 2013-01-31 23:23, Hans-Peter Jansen wrote:
It's not that easy, because on the very first pass of that package build, libmagic1 doesn't exist, because it is contained in the package file so far.
[...] For some reason, only 12.2/i586 is affected
So, don't use Preinstall:libmagic1 until it really exists for all targets. That is not the case for your project.
Without it, I'm back at error [mail from 31.12.2013: 00:17:57] Did I mention "chicken and egg problem" already.. ;) Oh well, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Friday 2013-02-01 10:39, Hans-Peter Jansen wrote:
Am Freitag, 1. Februar 2013, 01:00:59 schrieb Jan Engelhardt:
On Thursday 2013-01-31 23:23, Hans-Peter Jansen wrote:
It's not that easy, because on the very first pass of that package build, libmagic1 doesn't exist, because it is contained in the package file so far.
[...] For some reason, only 12.2/i586 is affected
So, don't use Preinstall:libmagic1 until it really exists for all targets. That is not the case for your project.
Without it, I'm back at error [mail from 31.12.2013: 00:17:57]
I knew I did not see that mail before ;-) Without Preinstall:libmagic1, you should get instead: - file, inherited from openSUSE 12.2 prjconf (and earlier) - libmagic1, inherited from openSUSE 12.3/Factory prjconf and all should be fine. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Fri, Feb 01, 2013 at 10:39:31AM +0100, Hans-Peter Jansen wrote:
Am Freitag, 1. Februar 2013, 01:00:59 schrieb Jan Engelhardt:
On Thursday 2013-01-31 23:23, Hans-Peter Jansen wrote:
It's not that easy, because on the very first pass of that package build, libmagic1 doesn't exist, because it is contained in the package file so far.
[...] For some reason, only 12.2/i586 is affected
So, don't use Preinstall:libmagic1 until it really exists for all targets. That is not the case for your project.
Without it, I'm back at error [mail from 31.12.2013: 00:17:57]
Did I mention "chicken and egg problem" already.. ;)
Oh well,
Perhaps try to disable the rpmlint check for the bootstrap to avoid its libmagic usage. Once bootstrapped, reenable it. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (5)
-
Hans-Peter Jansen
-
Jan Engelhardt
-
Marcus Meissner
-
Michael Schroeder
-
Srinidhi B