#!/usr/bin/perl # relativize absolute symlinks use strict; use File::Find; sub relativize { return unless -l $_; my $link = readlink($_); return unless $link =~ m{^/}; $link =~ s{^/}{}; my $dirname = $File::Find::dir; $dirname =~ s/^\Q$ENV{RPM_BUILD_ROOT}\E//; $dirname =~ s{/[^/]+}{../}g; unlink $_; symlink $dirname . $link, $_; } die "No build root defined\n" unless $ENV{RPM_BUILD_ROOT}; $ENV{RPM_BUILD_ROOT} =~ s{/$}{}; find(\&relativize, $ENV{RPM_BUILD_ROOT});