diff options
author | joey <joey> | 2000-03-02 21:23:22 +0000 |
---|---|---|
committer | joey <joey> | 2000-03-02 21:23:22 +0000 |
commit | 67b74298f08a3e2b30e43cbcd7cdaccc2e1b1614 (patch) | |
tree | 3ce180eedb8c91f9371456f3fb40336b4c7c34dd /dh_link | |
parent | c7f541bd2bc869c366e8242baf1faa6856cd2e39 (diff) | |
download | debhelper-67b74298f08a3e2b30e43cbcd7cdaccc2e1b1614.tar.gz |
r338: * Patch from Jorgen `forcer' Schaefer <forcer at mindless.com> (much
modified)to make dh_installwm use new window manager registration method,
update-alternatives. Closes: #52156, #34684 (latter bug is obsolete)
* Fixed $dh{flavor} to be upper-case.
* Deprecated dh_installemavcsen --number; use --priority instead. Also,
the option parser requires the parameter be a number now. And,
dh_installwm now accepts --priority, and window manager packages should
start using it.
* dh_installwm now behaves like a proper debhelper command, and reads
debian/<package>.wm too. This is a small behavior change; filenames
specified on the command line no longer apply to all packages it acts
on. I can't belive this program existed for 2 years with such a glaring
problem; I guess most people don't need ot register 5 wm's in 3
sub-packages. Anyway, it can handle such things now. :-)
* Moved Dh_*.pm to /usr/lib/perl5/Debian/Debhelper. *big* change.
Diffstat (limited to 'dh_link')
-rwxr-xr-x | dh_link | 27 |
1 files changed, 15 insertions, 12 deletions
@@ -3,8 +3,7 @@ # Generate symlinks in debian packages, reading debian/links. The # file contains pairs of files and symlinks. -BEGIN { push @INC, "debian", "/usr/lib/debhelper" } -use Dh_Lib; +use Debian::Debhelper::Dh_Lib; init(); foreach $PACKAGE (@{$dh{DOPACKAGES}}) { @@ -31,14 +30,16 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) { error("parameters list a link without a destination."); } - # Now I'd prefer to work with a hash. - %links=@links; + while (@links) { + $dest=pop @links; + $src=pop @links; + + # Relivatize src and dest. + $src=~s:^/::; + $dest=~s:^/::; - foreach $src (keys %links) { - $dest=$links{$src}; - # Make sure the directory the link will be in exists. - $basedir=Dh_Lib::dirname("$TMP/$dest"); + $basedir=Debian::Debhelper::Dh_Lib::dirname("$TMP/$dest"); if (! -e $basedir) { doit("install","-d",$basedir); } @@ -52,18 +53,20 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) { # Figure out how much of a path $src and $dest # share in common. for ($x=0; $x<$#src_dirs && $src_dirs[$x] eq $dest_dirs[$x]; $x++) {} - # Build up the new src. $src=""; for (1..$#dest_dirs - $x) { $src.="../"; } - # The + 1 is here to include the actual filename. - for (1..$#src_dirs - $x + 1) { + for ($x .. $#src_dirs) { $src.=$src_dirs[$_]."/"; } $src=~s:/$::; - } + } + else { + # Make sure it's properly absolute. + $src="/$src"; + } doit("ln","-sf",$src,"$TMP/$dest"); } |