Bug 1484370 - Can't build SCL - unpackaged debuginfo files
Summary: Can't build SCL - unpackaged debuginfo files
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: scl-utils
Version: 27
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Panu Matilainen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-08-23 11:39 UTC by Remi Collet
Modified: 2017-10-10 12:03 UTC (History)
5 users (show)

Fixed In Version: scl-utils-2.0.2-3.fc27
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-30 06:19:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Remi Collet 2017-08-23 11:39:39 UTC
Description of problem:
Trying to rebuild some SCL I'm used to maintain for Fedora <= 26 on Fedora 27,
build fails

Version-Release number of selected component (if applicable):
2.0.1-20.fc27

In build.log

 Deprecated external dependency generator is used! (various time)

 Installed but not packaged files
   /usr/src/debug/php72-php-7.2.0-0.17.20170822.3fff74a.fc27.remi.x86_64/TSRM/tsrm_strtok_r.c
   /usr/src/debug/php72-php-7.2.0-0.17.20170822.3fff74a.fc27.remi.x86_64/Zend/zend.c
   /usr/src/debug/php72-php-7.2.0-0.17.20170822.3fff74a.fc27.remi.x86_64/Zend/zend.h
   /usr/src/debug/php72-php-7.2.0-0.17.20170822.3fff74a.fc27.remi.x86_64/Zend/zend_API.c
   /usr/src/debug/php72-php-7.2.0-0.17.20170822.3fff74a.fc27.remi.x86_64/Zend/zend_API.h
   .... 

I've tried with patch from #1443038, same issue.

Comment 1 Panu Matilainen 2017-08-23 12:51:30 UTC
The dependency generator thing is just a warning and as such, can be ignored. Installed but not packaged files are the thing that are failing the build there, and that looks to have something to do with debuginfo which has seen some big changes in f27 and newer.

As a band-aid, this should allow the build to complete:

%define _unpackaged_files_terminate_build 0

Alternatively one of the debuginfo tunables listed in https://gnu.wildebeest.org/blog/mjw/2017/06/30/fedora-rpm-debuginfo-improvements-for-rawhidef27/ would probably allow it to build.

Comment 2 Panu Matilainen 2017-08-23 13:43:59 UTC
BTW, what's the full reproducer for this failure - where to get the package in question etc?

Comment 3 Remi Collet 2017-08-23 13:49:01 UTC
Thanks for the fast answer and for the pointer

I have tried %_unique_debug_names=0 and %_unique_debug_srcs=0 without success.

Indeed %_unpackaged_files_terminate_build=0 works...

Will try to run more tests on a smaller package (php is really to long to build, but needed for the others)

BTW, is suspect %{name} vs %{pkg_name} confusion somewhere in the SCL stuff...

Comment 4 Remi Collet 2017-08-23 13:58:15 UTC
> BTW, what's the full reproducer for this failure - where to get the package in question etc?

php72 metapackage =>  https://git.remirepo.net/cgit/rpms/scl-php72/php72.git/
php72-php package => https://git.remirepo.net/cgit/rpms/scl-php72/php.git/

But as this can be very long, could be simpler with a small package

Using my testing repository for dependency (at least, php72-build in buildroot)
=> https://rpms.remirepo.net/fedora/27/test/x86_64/

And trying to build php-pecl-zip
=> https://git.remirepo.net/cgit/rpms/php/pecl/php-pecl-zip.git/

Comment 5 Remi Collet 2017-08-24 06:13:43 UTC
Additional issue with debuginfo

Using (to skip empty debuginfo package)
%global debug_package %{nil}
%global __debug_install_post /bin/true

Works for base package, but not for SCL

erreur : Missing build-id in /builddir/build/BUILDROOT/php71-php-ioncube-loader-10.0.0-1.fc27.remi.x86_64/opt/remi/php71/root/usr/lib64/php/modules/ioncube_loader.so
erreur : Generating build-id links failed

Comment 6 Remi Collet 2017-08-24 06:17:18 UTC
Workaround is
%global _build_id_links none

But the unwanted debuginfo is created.

Comment 7 Remi Collet 2017-08-24 06:20:12 UTC
> But the unwanted debuginfo is created.

Ignore this, noise, debuginfo is NOT created

Comment 8 Panu Matilainen 2017-08-24 13:31:17 UTC
Okay, the unpackaged files issue fairly easily reproduced with php-pecl-zip. 
The "official" workaround for that is to disable debugsource package, ie:

%undefine _debugsource_packages

I'm not exactly surprised that the debuginfo changes in rpm are causing some issues with scl, scl macros know way too much about debuginfo for their own good...

This seems to be a kind of reversed case of bug 1479198, but I need to look closer. If other things fail, we can always just disable the fancy new debuginfo stuff for scl until our debuginfo guru is back from vacation.

Comment 9 Remi Collet 2017-08-24 13:52:14 UTC
> %undefine _debugsource_packages

Indeed, works

I run test with (in mock configuration for the SCL, as obviously prefer to not have to fix all my ~130 spec files)

config_opts['macros']['%_debugsource_packages']="%nil"

> until our debuginfo guru is back from vacation.

No urgency, as we have a workaround

Thanks a lot for your help on this issue

Comment 10 Panu Matilainen 2017-08-25 08:58:30 UTC
Fixed in scl-utils 2.0.2 (by disabling debugsource_packages for scl's, so its more of a first-aid than actual fix)

In rawhide now, will pull to f27 in a week or two if no major issues turn up.

Comment 11 Panu Matilainen 2017-08-25 11:46:51 UTC
Hmm. Actually it seems that the "fix" that worked to disable debugsource packages in 2.0.1 does exactly nothing with scl-utils 2.0.2. But then, with 2.0.2, the debugsource package seems to be correctly generated with for php-pecl-zip. 

However *none* of these work for my newly created local testcase... which makes me suspect my testcase is broken. Need to get a clue :)

Comment 12 Remi Collet 2017-08-25 11:59:19 UTC
Just a quick try... using scl-utils-2.0.2-3 (rebuilt for F27) and without the global workaround in mock configuration:

- debugsource is not created
- no error

Comment 13 Panu Matilainen 2017-08-25 12:12:41 UTC
Okay, guess this is something wacko on my laptop then. Thanks for checking.

Comment 14 Pavel Raiskup 2017-09-06 05:00:14 UTC
+1 for fixing F27, too.

Comment 15 Fedora Update System 2017-09-06 05:38:31 UTC
scl-utils-2.0.2-3.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-cf34143aab

Comment 16 Fedora Update System 2017-09-07 14:32:18 UTC
scl-utils-2.0.2-3.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-cf34143aab

Comment 17 Fedora Update System 2017-09-30 06:19:07 UTC
scl-utils-2.0.2-3.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 18 Remi Collet 2017-10-10 12:03:50 UTC
Small notice: 

The workaround in mock configuration (comment 9) need to be removed with 2.0.2-3


Note You need to log in before you can comment on or make changes to this bug.