Bug 22230

Summary: python_testcapi, _ctypes_test, _tkinter dangling links
Product: Mageia Reporter: Bit Twister <bittwister2>
Component: RPM PackagesAssignee: Python Stack Maintainers <python>
Status: REOPENED --- QA Contact:
Severity: normal    
Priority: Normal CC: jani.valimaa, marja11
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: python-2.7.15-5.mga7.src.rpm CVE:
Status comment:
Attachments: latest dangles
latest dangles

Description Bit Twister 2017-12-19 00:12:09 CET
Description of problem:  mga7 dev0

The following are the dangling links: 
/usr/lib/.build-id/29/079a93aabcaadb11e5c4a1d20abf4db583a11b -> ../../../../usr/lib64/python2.7/lib-dynload/_testcapi.so 
/usr/lib/.build-id/fe/7bad3cd24c2bdb98341337440d2aee507eb04a -> ../../../../usr/lib64/python2.7/lib-dynload/_ctypes_test.so 



Version-Release number of selected component (if applicable):


How reproducible: Always


Steps to Reproduce:
1. upgrade install using Mageia-6-x86_64-DVD.iso plus updates
   Set Cauldron media with enabled nonfree and tainted media.
6. urpmi symlinks
7. apply all updates, then run
8. symlinks -r / | grep dangling
Marja Van Waes 2017-12-19 08:25:36 CET

Assignee: bugsquad => python
CC: (none) => marja11

Comment 1 Bit Twister 2018-04-26 19:58:02 CEST
Created attachment 10106 [details]
latest dangles
Bit Twister 2018-04-26 20:01:21 CEST

Summary: python /.build-id/ dangling links => python_testcapi, _ctypes_test, _tkinter dangling links

Comment 2 Bit Twister 2018-05-01 22:59:40 CEST
latest release removed the links

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Comment 3 Bit Twister 2018-05-02 04:28:16 CEST
latest python update re-created dangles.

Source RPM: python-2.7.14-1.mga7.src.rpm => python-2.7.15-1.mga7.src.rpm
Status: RESOLVED => REOPENED
Resolution: FIXED => (none)

Comment 4 Bit Twister 2018-05-02 04:29:34 CEST
Created attachment 10113 [details]
latest dangles

Attachment 10106 is obsolete: 0 => 1

Comment 5 Jani Välimaa 2018-05-02 16:11:55 CEST
There's a bug in rpm that causes dangling symlinks if %exclude is used in %files section for binaries/libraries. Rpm puts files under /usr/lib/.build-id/ to pkg where %exclude is used and not to pkg where excluded files really are.

Workaround for this issue is to explicitly list all files under some directory and not to use

%{_datadir}/foo/*
%exclude %{_datadir}/foo/bar

CC: (none) => jani.valimaa

Comment 6 Jani Välimaa 2018-05-02 16:18:16 CEST
http://svnweb.mageia.org/packages/cauldron/python/current/SPECS/python.spec?r1=1224654&r2=1224658

Removing /usr/lib/.build-id is totally wrong approach to the issue. It causes problems when one needs to trace, profile or debug issues in python.
Comment 7 Jani Välimaa 2018-05-02 16:24:32 CEST
(In reply to Jani Välimaa from comment #5)
> There's a bug in rpm that causes dangling symlinks if %exclude is used in
> %files section for binaries/libraries. Rpm puts files under
> /usr/lib/.build-id/ to pkg where %exclude is used and not to pkg where
> excluded files really are.

Correction (from bug 22407 comment 2):

There's a bug in rpm which causes that .build-id symlink ends to a _multiple pkgs_ if %exclude is used in .spec.
Bit Twister 2018-05-23 23:56:43 CEST

Source RPM: python-2.7.15-1.mga7.src.rpm => python-2.7.15-5.mga7.src.rpm

Comment 8 David GEIGER 2019-02-26 07:28:52 CET
*** Bug 23518 has been marked as a duplicate of this bug. ***