Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:11.4:Update
rpm
finddebuginfo-absolute-links.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File finddebuginfo-absolute-links.diff of Package rpm
From: Jan Blunck <jblunck@suse.de> Subject: Do the symbolic links right in the first place Since brp-symlink relinks symbolic links to enforce a certain policy we should do it right in the first place. So this patch changes find-debuginfo.sh scripts behavior to reflect that policy. Signed-off-by: Jan Blunck <jblunck@suse.de> --- scripts/find-debuginfo.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) Index: b/scripts/find-debuginfo.sh =================================================================== --- scripts/find-debuginfo.sh +++ scripts/find-debuginfo.sh @@ -123,7 +123,17 @@ debug_link() local l="/usr/lib/debug$2" local t="$1" echo >> "$LINKSFILE" "$l $t" - link_relative "$t" "$l" "$RPM_BUILD_ROOT" + + # this should correspond to what brp-symlink is doing + case $t in + /usr*) + link_relative "$t" "$l" "$RPM_BUILD_ROOT" + ;; + *) + mkdir -p "$(dirname "$RPM_BUILD_ROOT$l")" && \ + ln -snf "$t" "$RPM_BUILD_ROOT$l" + ;; + esac } # Compare two binaries but ignore the .note.gnu.build-id section @@ -157,8 +167,8 @@ make_id_link() local other=$(readlink -m "$root_idfile") other=${other#$RPM_BUILD_ROOT} - if cmp -s "$root_idfile" "$RPM_BUILD_ROOT$file" || - elfcmp "$root_idfile" "$RPM_BUILD_ROOT$file" ; then + if cmp -s "$RPM_BUILD_ROOT$other" "$RPM_BUILD_ROOT$file" || + elfcmp "$RPM_BUILD_ROOT$other" "$RPM_BUILD_ROOT$file" ; then # Two copies. Maybe one has to be setuid or something. echo >&2 "*** WARNING: identical binaries are copied, not linked:" echo >&2 " $file"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor