[opensuse-buildservice] A non operating suse_version macro?
Hi, I suffer from a libqt5-qtbase build, that is performing perfectly well on a local build, but fails on OBS for 13.2 due to a failing glob: File not found by glob: /home/abuild/rpmbuild/BUILDROOT/libqt5- qtbase-5.7.1-10.1.x86_64/usr/lib64/libQt5EglFsKmsSupport.so.* https://build.opensuse.org/package/live_build_log/home:frispete:PyQt5/libqt5... although it is excluded explicitly for 13.2: %if 0%{?suse_version} != 1320 %{libqt5_libdir}/libQt5EglFsKmsSupport.so.* %endif Line 1025: https://build.opensuse.org/package/view_file/home:frispete:PyQt5/libqt5-qtba... I cannot see, what's wrong with this clause. Do you? (Yes, I know, it's a lame expression, but I don't build for older versions anyway..) While at it, I tried to build the package locally with --vm-type=kvm in order to get the build behaving even more like the BS builds, but that fails due to OOM. How can I get the osc kvm build respect the _constraints of this package? Thanks in advance, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dez 05 2016, Hans-Peter Jansen
While at it, I tried to build the package locally with --vm-type=kvm in order to get the build behaving even more like the BS builds, but that fails due to OOM. How can I get the osc kvm build respect the _constraints of this package?
It's the other way round, you need to provide enough resources to fulfill the constraints. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Montag, 5. Dezember 2016, 15:41:09 CET wrote Andreas Schwab:
On Dez 05 2016, Hans-Peter Jansen
wrote: While at it, I tried to build the package locally with --vm-type=kvm in order to get the build behaving even more like the BS builds, but that fails due to OOM. How can I get the osc kvm build respect the _constraints of this package?
It's the other way round, you need to provide enough resources to fulfill the constraints.
I noticed lately that the default config of qemu for memory is not enough anymore to load a linux kernel. So, you need to specify build-memory = 1024 eg. in your ~/.oscrc. I added also an osc build --vm-memory switch for next osc. But this reminds me that we should also increase the default in build script maybe ... or even in qemu. -- Adrian Schroeter email: adrian@suse.de SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Montag, 5. Dezember 2016 16:09:00 Adrian Schröter wrote:
On Montag, 5. Dezember 2016, 15:41:09 CET wrote Andreas Schwab:
On Dez 05 2016, Hans-Peter Jansen
wrote: While at it, I tried to build the package locally with --vm-type=kvm in order to get the build behaving even more like the BS builds, but that fails due to OOM. How can I get the osc kvm build respect the _constraints of this package?> It's the other way round, you need to provide enough resources to fulfill the constraints.
I noticed lately that the default config of qemu for memory is not enough anymore to load a linux kernel.
So, you need to specify
build-memory = 1024
eg. in your ~/.oscrc. I added also an
osc build --vm-memory
switch for next osc.
But this reminds me that we should also increase the default in build script maybe ... or even in qemu.
Thank you, Andreas and Adrian for the valuable information. Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.: dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img but this preparation is reverted by build: Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M) 0+0 records in 0+0 records out 0 bytes (0 B) copied, 1.7819e-05 s, 0.0 kB/s Creating ext3 filesystem on /var/tmp/build-root/img tune2fs 1.43.3 (04-Sep-2016) Setting maximal mount count to -1 0+0 records in 0+0 records out 0 bytes (0 B) copied, 1.8552e-05 s, 0.0 kB/s BTW, I would rather go for qcow2 images of this size, if I'm allowed to.. May I kindly ask you to have a look into the source of the issue? Why is BS ignoring this expression for 13.2: %if 0%{?suse_version} != 1320 %{libqt5_libdir}/libQt5EglFsKmsSupport.so.* %endif It might be a PEBKAC, but I begin to doubt it... Cheers, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dez 06 2016, Hans-Peter Jansen
Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.:
dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img
but this preparation is reverted by build:
Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M)
Adjust build-vmdisk-rootsize in .oscrc. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dienstag, 6. Dezember 2016 11:13:35 Andreas Schwab wrote:
On Dez 06 2016, Hans-Peter Jansen
wrote: Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.:
dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img
but this preparation is reverted by build:
Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M)
Adjust build-vmdisk-rootsize in .oscrc.
Okay, thanks. Now it successfully builds the libqt5-qtbase package with kvm. Hence this issue boils down to: builds perfectly on local facilities, but fails consistently on BS just for 13.2 due to not performing the exclude correctly. Hmm. Any ideas, anybody? Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Dienstag, 6. Dezember 2016 17:03:36 Hans-Peter Jansen wrote:
On Dienstag, 6. Dezember 2016 11:13:35 Andreas Schwab wrote:
On Dez 06 2016, Hans-Peter Jansen
wrote: Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.:
dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img
but this preparation is reverted by build:
Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M)
Adjust build-vmdisk-rootsize in .oscrc.
Okay, thanks. Now it successfully builds the libqt5-qtbase package with kvm.
Hence this issue boils down to: builds perfectly on local facilities, but fails consistently on BS just for 13.2 due to not performing the exclude correctly.
Hmm.
Any ideas, anybody?
This issue is still pending. I know, everybody is busy, and nobody cares about fossils like 13.2, but doesn't this point to some BS spec evaluator issues?!? Meanwhile, I tried this approach: %if 0%{?suse_version} == 1315 || 0%{?suse_version} > 1320 %{libqt5_libdir}/libQt5EglFsKmsSupport.so.* %endif but again, BS tries to package for 13.2: [...]usr/lib64/libQt5EglFsKmsSupport.so.* No fun, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
add _constraints file .. with desired minimal limits for buildhost
http://openbuildservice.org/help/manuals/obs-reference-guide/cha.obs.build_j...
On 8 December 2016 at 21:07, Hans-Peter Jansen
On Dienstag, 6. Dezember 2016 17:03:36 Hans-Peter Jansen wrote:
On Dienstag, 6. Dezember 2016 11:13:35 Andreas Schwab wrote:
On Dez 06 2016, Hans-Peter Jansen
wrote: Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.:
dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img
but this preparation is reverted by build:
Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M)
Adjust build-vmdisk-rootsize in .oscrc.
Okay, thanks. Now it successfully builds the libqt5-qtbase package with kvm.
Hence this issue boils down to: builds perfectly on local facilities, but fails consistently on BS just for 13.2 due to not performing the exclude correctly.
Hmm.
Any ideas, anybody?
This issue is still pending. I know, everybody is busy, and nobody cares about fossils like 13.2, but doesn't this point to some BS spec evaluator issues?!?
Meanwhile, I tried this approach:
%if 0%{?suse_version} == 1315 || 0%{?suse_version} > 1320 %{libqt5_libdir}/libQt5EglFsKmsSupport.so.* %endif
but again, BS tries to package for 13.2:
[...]usr/lib64/libQt5EglFsKmsSupport.so.*
No fun, Pete
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 2016-12-08 21:07:53 +0100, Hans-Peter Jansen wrote:
On Dienstag, 6. Dezember 2016 17:03:36 Hans-Peter Jansen wrote:
On Dienstag, 6. Dezember 2016 11:13:35 Andreas Schwab wrote:
On Dez 06 2016, Hans-Peter Jansen
wrote: Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.:
dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img
but this preparation is reverted by build:
Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M)
Adjust build-vmdisk-rootsize in .oscrc.
Okay, thanks. Now it successfully builds the libqt5-qtbase package with kvm.
Hence this issue boils down to: builds perfectly on local facilities, but fails consistently on BS just for 13.2 due to not performing the exclude correctly.
Hmm.
Any ideas, anybody?
This issue is still pending. I know, everybody is busy, and nobody cares about fossils like 13.2, but doesn't this point to some BS spec evaluator issues?!?
No, the "problem" is that the obs is using the _service:set_version:libqt5-qtbase.spec and doesn't consider your changes to the libqt5-qtbase.spec spec file. If you directly patch the _service:set_version:libqt5-qtbase.spec it should work. Note: if you are using osc, you cannot simply commit this file (if you are working on the expanded sources), because neither osc nor the api support the "force" query parameter that is needed in order to commit a _service:* file. Probably the "easiest" way is to checkout the unexpanded sources ("osc up -u") and then manipulate the "project.diff" file. Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Dear Ondřej, On Donnerstag, 8. Dezember 2016 21:17:54 Ondřej Súkup wrote:
add _constraints file .. with desired minimal limits for buildhost
Thanks for your idea, but libqt5-qtbase has a _constraints already. How do you think will these _constraints parameter change the way, BS evaluates the spec file for opensuse version conditionals? Here's the story: libqt5-qtbase as of Qt5.7 has grown a new lib libQt5EglFsKmsSupport.so*, which only builds with a more current Mesa library, that is missing for 13.2. The build for 13.2 succeeds, but when it comes to package the built files, BS bails out due to the missing lib, while it shouldn't, because the opensuse version conditional should exclude this glob from any packaging attempt at all. While this works fine on all local build facilities including kvm, it fails consistently on BS. This last fact makes me think, that something with the spec file evaluator, that is running on BS, is fishy, but only since the last couple of weeks, because I've used such excludes every now and then since ages with no adverse effects before. Pete
http://openbuildservice.org/help/manuals/obs-reference-guide/cha.obs.build_j ob_constraints.html On 8 December 2016 at 21:07, Hans-Peter Jansen
wrote: On Dienstag, 6. Dezember 2016 17:03:36 Hans-Peter Jansen wrote:
On Dienstag, 6. Dezember 2016 11:13:35 Andreas Schwab wrote:
On Dez 06 2016, Hans-Peter Jansen
wrote: Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.:
dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img
but this preparation is reverted by build:
Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M)
Adjust build-vmdisk-rootsize in .oscrc.
Okay, thanks. Now it successfully builds the libqt5-qtbase package with kvm.
Hence this issue boils down to: builds perfectly on local facilities, but fails consistently on BS just for 13.2 due to not performing the exclude correctly.
Hmm.
Any ideas, anybody?
This issue is still pending. I know, everybody is busy, and nobody cares about fossils like 13.2, but doesn't this point to some BS spec evaluator issues?!?
Meanwhile, I tried this approach:
%if 0%{?suse_version} == 1315 || 0%{?suse_version} > 1320 %{libqt5_libdir}/libQt5EglFsKmsSupport.so.* %endif
but again, BS tries to package for 13.2:
[...]usr/lib64/libQt5EglFsKmsSupport.so.*
No fun, Pete
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hi Marcus, sorry for the late reply. This procedure is so distracted, that I preferred to work on my real jobs meanwhile... ;) But now the time has come to start to fight the bit rod on BS again. On Donnerstag, 8. Dezember 2016 22:20:15 Marcus Hüwe wrote:
On 2016-12-08 21:07:53 +0100, Hans-Peter Jansen wrote:
On Dienstag, 6. Dezember 2016 17:03:36 Hans-Peter Jansen wrote:
On Dienstag, 6. Dezember 2016 11:13:35 Andreas Schwab wrote:
On Dez 06 2016, Hans-Peter Jansen
wrote: Giving kvm enough memory is not enough to build Qt 5.7.1, because it runs out of filesystem space. I tried to adopt some hints, e.g.:
dd if=/dev/zero of=/var/tmp/build-root/img bs=1M count=16384 mkfs.ext3 /var/tmp/build-root/img
but this preparation is reverted by build:
Running build VM_IMAGE: /var/tmp/build-root/img, VM_SWAP: /var/tmp/build-root/swap Resizing /var/tmp/build-root/img (4096M)
Adjust build-vmdisk-rootsize in .oscrc.
Okay, thanks. Now it successfully builds the libqt5-qtbase package with kvm.
Hence this issue boils down to: builds perfectly on local facilities, but fails consistently on BS just for 13.2 due to not performing the exclude correctly.
Hmm.
Any ideas, anybody?
This issue is still pending. I know, everybody is busy, and nobody cares about fossils like 13.2, but doesn't this point to some BS spec evaluator issues?!? No, the "problem" is that the obs is using the _service:set_version:libqt5-qtbase.spec and doesn't consider your changes to the libqt5-qtbase.spec spec file. If you directly patch the _service:set_version:libqt5-qtbase.spec it should work. Note: if you are using osc, you cannot simply commit this file (if you are working on the expanded sources), because neither osc nor the api support the "force" query parameter that is needed in order to commit a _service:* file. Probably the "easiest" way is to checkout the unexpanded sources ("osc up -u") and then manipulate the "project.diff" file.
Thank you very much for the project.diff idea. It works fine, but the process is pretty awful. See: https://build.opensuse.org/project/monitor/KDE:Qt57 libqt5-creator.spec is broken in a trivial way, but: osc co -e patch test save diff osc co -u fiddle with project.diff apply and all this is also dependent from the service state on the BS. osc co -e In the end, this will actively prevent contributions. Cheers, Pete -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (5)
-
Adrian Schröter
-
Andreas Schwab
-
Hans-Peter Jansen
-
Marcus Hüwe
-
Ondřej Súkup