diff options
author | joey <joey> | 2004-07-08 21:48:14 +0000 |
---|---|---|
committer | joey <joey> | 2004-07-08 21:48:14 +0000 |
commit | c7e3020e957c9c97bb14c7d82e6fdddbfb6e9aef (patch) | |
tree | 779c5010a3b46146afee813ef6566191e491ec73 /dh_link | |
parent | 68260a5a66d33c1a2eadbb941443226a8f05f568 (diff) |
r1695: * dh_gconf: gconf schemas moved to /usr/share/gconf/schemas. Relocate
schemas from /etc/gconf/schemas. (Josselin Mouette)
* dh_gconf: kill gconfd-2 so that the newly installed schemas
are available straight away. (Josselin Mouette)
* dh_gconf: fix bashism in restart of gconfd-2
* dh_gconf: fix innaccuracy in man page; gconfd-2 is HUPPed, not
killed.
* dh_scrollkeeper: stop adding scrollkeeper to misc:Depends, since
the postinst will not run it if it's not installed, and a single run after
it's installed is sufficient to find all documents. Closes: #256745
* dh_fixperms: make .ali files mode 444 to prevent recompilation by GNAT.
For speed, only scan for .ali files in usr/lib/ada. Closes: #245211
* dh_python: check to make sure compileall.py is available before running it
in the postinst. Closes: #253112
* dh_installmodules: install debian/package.modprobe into etc/modprobe.d/
for module-init-tools. These files can sometimes need to differ from the
etc/modutils/ files. Closes: #204336, #234495
* dh_installmanpages is now deprecated.
* Add a test case for bug #244157, and fixed the inverted ok() parameters
in the others, and added a few new tests.
* dh_link: applied GOTO Masanori's patch to fix conversion of existing
relative symlinks between top level directories. Closes: #244157
Diffstat (limited to 'dh_link')
-rwxr-xr-x | dh_link | 36 |
1 files changed, 34 insertions, 2 deletions
@@ -76,6 +76,39 @@ the X man page foo.1x =cut +# This expand_path expands all path "." and ".." components, but doesn't +# resolve symbolic links. +sub expand_path { + my $start = @_ ? shift : '.'; + my @pathname = split(m:/+:,$start); + + my $entry; + my @respath; + foreach $entry (@pathname) { + if ($entry eq '.' || $entry eq '') { + # Do nothing + } + elsif ($entry eq '..') { + if ($#respath == -1) { + # Do nothing + } + else { + pop @respath; + } + } + else { + push @respath, $entry; + } + } + + my $result; + foreach $entry (@respath) { + $result .= '/' . $entry; + } + return $result; +} + + init(); foreach my $package (@{$dh{DOPACKAGES}}) { @@ -126,9 +159,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) { while (@links) { my $dest=pop @links; - my $src=pop @links; + my $src=expand_path(pop @links); - # Relavatize src and dest. $src=~s:^/::; $dest=~s:^/::; |