From 3adde6b3bb3104dd6e0329778826c0fc5eddd268 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Tue, 26 Feb 2008 21:56:48 +0000 Subject: create _expand_symlink() out of find_mntpoints() --- urpm/sys.pm | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'urpm') diff --git a/urpm/sys.pm b/urpm/sys.pm index 295321bc..b6ef73be 100644 --- a/urpm/sys.pm +++ b/urpm/sys.pm @@ -71,23 +71,29 @@ sub find_mntpoints { #- for simplification we refuse also any other device and stop here. last; } elsif (-l $pdir) { - while (my $v = readlink $pdir) { - if ($pdir =~ m|^/|) { - $pdir = $v; - } else { - while ($v =~ s!^\.\./!!) { - $pdir =~ s!/[^/]+/*$!!; - } - $pdir .= "/$v"; - } - } - unshift @paths, split '/', $pdir; + unshift @paths, split '/', _expand_symlink($pdir); $pdir = ''; } } @mntpoints; } +sub _expand_symlink { + my ($pdir) = @_; + + while (my $v = readlink $pdir) { + if ($pdir =~ m|^/|) { + $pdir = $v; + } else { + while ($v =~ s!^\.\./!!) { + $pdir =~ s!/[^/]+/*$!!; + } + $pdir .= "/$v"; + } + } + $pdir; +} + sub clean_rpmdb_shared_regions { my ($prefix) = @_; unlink glob("$prefix/var/lib/rpm/__db.*"); -- cgit v1.2.1