[opensuse-buildservice] Fedora 23 treats empty debugfiles.list as an error
Hi, it looks like the Fedora 23 repository has some differences to the rest of the repositories I am building against. There missing debug files in a project get reported as an error and building stops: error: Empty %files file /home/abuild/rpmbuild/BUILD/gnustep-make-2.6.7/debugfiles.list On all other repositories this only gets reported as a warning. Some background, the gnustep-make package (https://build.opensuse.org/package/show/X11:GNUstep/gnustep-make) is actually a noarch package, but we cannot build it as such, as this also provides the folder structure for the rest of the GNUstep packages and here we either build up a folder hierarchy in /usr/lib or in /usr/lib64 depending on the architecture. This means we have a package that is not flagged as "noarch" but it doesn't include actual executables and for that reason no debug information files. This never caused any problems until I added Fedora 23 support this week. Is there a way to work around this (eg not to create the debug package?) or would it be possible to bring the behaviour of Fedora 23 in line with the rest of the repositories? Cheers, Fred -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Sun, Nov 8, 2015 at 4:39 PM, Fred Kiefer <fredkiefer@gmx.de> wrote:
Hi,
it looks like the Fedora 23 repository has some differences to the rest of the repositories I am building against. There missing debug files in a project get reported as an error and building stops:
error: Empty %files file /home/abuild/rpmbuild/BUILD/gnustep-make-2.6.7/debugfiles.list
On all other repositories this only gets reported as a warning.
Some background, the gnustep-make package (https://build.opensuse.org/package/show/X11:GNUstep/gnustep-make) is actually a noarch package, but we cannot build it as such, as this also provides the folder structure for the rest of the GNUstep packages and here we either build up a folder hierarchy in /usr/lib or in /usr/lib64 depending on the architecture. This means we have a package that is not flagged as "noarch" but it doesn't include actual executables and for that reason no debug information files. This never caused any problems until I added Fedora 23 support this week.
Is there a way to work around this (eg not to create the debug package?) or would it be possible to bring the behaviour of Fedora 23 in line with the rest of the repositories?
Cheers, Fred
This issue comes from a change in behavior from RPM 4.13. It'll propagate into OpenSUSE Tumbleweed and other distros soon enough. If you want to tell it to not generate debug information, add the following to your spec: %global debug_package %{nil} This will tell _every_ distribution target capable of generating debuginfo packages to not do so. -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Monday 2015-11-09 00:07, Neal Gompa wrote:
This issue comes from a change in behavior from RPM 4.13. It'll propagate into OpenSUSE Tumbleweed and other distros soon enough.
If you want to tell it to not generate debug information, add the following to your spec:
%global debug_package %{nil}
This will tell _every_ distribution target capable of generating debuginfo packages to not do so.
And will therefore probably lead to a giant fireball, because OBS is in charge of enabling/disabling the debug flags. Whenever there was a debuginfo issue in OBS, removal of any override like the one you suggest made the errors go away. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Sun, Nov 8, 2015 at 6:15 PM, Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2015-11-09 00:07, Neal Gompa wrote:
This issue comes from a change in behavior from RPM 4.13. It'll propagate into OpenSUSE Tumbleweed and other distros soon enough.
If you want to tell it to not generate debug information, add the following to your spec:
%global debug_package %{nil}
This will tell _every_ distribution target capable of generating debuginfo packages to not do so.
And will therefore probably lead to a giant fireball, because OBS is in charge of enabling/disabling the debug flags. Whenever there was a debuginfo issue in OBS, removal of any override like the one you suggest made the errors go away.
Well, unfortunately, RPM no longer allows for empty debuginfo packages. This was permitted in RPM < 4.13, which allowed people to make packages like OP did. If you *know* that a package isn't going to have debug info, then set it and put a comment explaining why it is there. -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am 09.11.2015 um 00:18 schrieb Neal Gompa <ngompa13@gmail.com>:
On Sun, Nov 8, 2015 at 6:15 PM, Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2015-11-09 00:07, Neal Gompa wrote: This issue comes from a change in behavior from RPM 4.13. It'll propagate into OpenSUSE Tumbleweed and other distros soon enough.
If you want to tell it to not generate debug information, add the following to your spec:
%global debug_package %{nil}
This will tell _every_ distribution target capable of generating debuginfo packages to not do so.
And will therefore probably lead to a giant fireball, because OBS is in charge of enabling/disabling the debug flags. Whenever there was a debuginfo issue in OBS, removal of any override like the one you suggest made the errors go away.
Well, unfortunately, RPM no longer allows for empty debuginfo packages. This was permitted in RPM < 4.13, which allowed people to make packages like OP did. If you *know* that a package isn't going to have debug info, then set it and put a comment explaining why it is there.
Thank you for the advice and the detailed explanation. The packages are still rebuilding, so far it looks pretty good. I will have to make that change on a few other packages as well. One follow up question: In the package gnustep-libobjc2, the only one we compile with clang, there is the same issue with missing debug files, but in that case there should be. Is it possible that the mechanism does not work with clang? Fred-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Mon, Nov 9, 2015 at 3:16 AM, Fred Kiefer <fredkiefer@gmx.de> wrote:
Am 09.11.2015 um 00:18 schrieb Neal Gompa <ngompa13@gmail.com>:
On Sun, Nov 8, 2015 at 6:15 PM, Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2015-11-09 00:07, Neal Gompa wrote: This issue comes from a change in behavior from RPM 4.13. It'll propagate into OpenSUSE Tumbleweed and other distros soon enough.
If you want to tell it to not generate debug information, add the following to your spec:
%global debug_package %{nil}
This will tell _every_ distribution target capable of generating debuginfo packages to not do so.
And will therefore probably lead to a giant fireball, because OBS is in charge of enabling/disabling the debug flags. Whenever there was a debuginfo issue in OBS, removal of any override like the one you suggest made the errors go away.
Well, unfortunately, RPM no longer allows for empty debuginfo packages. This was permitted in RPM < 4.13, which allowed people to make packages like OP did. If you *know* that a package isn't going to have debug info, then set it and put a comment explaining why it is there.
Thank you for the advice and the detailed explanation. The packages are still rebuilding, so far it looks pretty good. I will have to make that change on a few other packages as well.
One follow up question: In the package gnustep-libobjc2, the only one we compile with clang, there is the same issue with missing debug files, but in that case there should be. Is it possible that the mechanism does not work with clang?
As far as I know, clang does support generating debug info, as long as you're not telling the compiler to strip it out before it finishes the build (and rpmbuild takes over from there, where it'll split the debug symbols out). -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Fred Kiefer
-
Jan Engelhardt
-
Neal Gompa