diff --git a/debian/changelog b/debian/changelog index 6f1acdeea..250b2c7a6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -23,6 +23,10 @@ linux-2.6 (2.6.32~rc6-1) UNRELEASED; urgency=low * [armel/orion5x, armel/kirkwood] Enable ISDN (requested by Markus Krebs). + [ maximilian attems ] + * Simplify postinst nuke reverse symlinks handling. Patch from + Sebastian Andrzej Siewior . + -- Ben Hutchings Mon, 26 Oct 2009 01:18:26 +0000 linux-2.6 (2.6.31-1) unstable; urgency=low diff --git a/debian/rules.real b/debian/rules.real index 3845e4510..0dacdf7e3 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -396,7 +396,6 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: -e 's/=V/$(REAL_VERSION)/g' \ -e 's/=M//g' \ -e 's/=MD//g' \ - -e 's/=R//g' \ -e 's/=S//g' \ $$i > $(PACKAGE_DIR)/DEBIAN/$$(basename $$i); \ done diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index 2ac4a0be0..1ae393a69 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -29,7 +29,6 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined @@ -103,7 +102,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlink\s*=\s*(no|false|0)\s*$/ig; $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/ig; $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; @@ -118,7 +116,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig; @@ -342,12 +339,10 @@ sub move_p { warn "Move?: kimage=$kimage, image_dest=$image_dest, \n" . "\timage_name=$image_name, src_dir=$src_dir" if $DEBUG; - if ($no_symlink || $reverse_symlink) { + if ($no_symlink) { # we do not want links, yet we have a symbolic link here! warn "found a symbolic link in " . $image_dest . "$kimage \n" . "even though no_symlink is defined\n" if $no_symlink; - warn "found a symbolic link in " . $image_dest . "$kimage \n" . - "even though reverse_symlink is defined\n" if $reverse_symlink; # make sure we change this state of affairs $force_move = 1; return $force_move; @@ -503,14 +498,6 @@ sub handle_missing_link { . $image_dest . "$kimage .\n"); } } - elsif ($reverse_symlink) { - my $ret = system("mv -f " . $realimageloc . "$image_name " - . "$kimage"); - if ($ret) { - die("Failed to move " . $realimageloc . "$image_name to " - . $image_dest . "$kimage .\n"); - } - } else { if (! $have_conffile) { my $ret; @@ -538,12 +525,6 @@ sub handle_missing_link { my $Name = "$image_name"; my $Link_Dest = "$kimage"; - if ($reverse_symlink) { - $Old = $image_dest; - $New = $realimageloc; - $Name = "$kimage"; - $Link_Dest = $realimageloc . "$image_name"; - } if (test_relative ('Old Dir' => $Old, 'New Dir' => $New, 'Test File' => $Name)) { @@ -560,7 +541,7 @@ sub handle_missing_link { } # This routine handles the rest of the cases, where the user has requested -# non-traditional handling, like using cp, or reverse symlinks, or hard links. +# non-traditional handling, like using cp or hard links. sub handle_non_symlinks { my $kimage = $_[0]; # Name of the symbolic link my $image_dest = $_[1]; # The directory the links goes into @@ -591,41 +572,6 @@ sub handle_non_symlinks { ##,#### # case Two #`#### - elsif ($reverse_symlink) { # Maybe /$image_dest is on a dos system? - my $ret = system("mv -f " . $realimageloc . "$image_name " - . $image_dest . "$kimage"); - if ($ret) { - if (-e "$kimage.$$") { - rename("$kimage.$$", "$kimage"); - } - die("Failed to move " . $realimageloc . "$image_name to " - . $image_dest . "$kimage .\n"); - } - my $Old = $image_dest; - if (test_relative ('Old Dir' => $Old, 'New Dir' => $realimageloc, - 'Test File' => "$kimage")) { - $Old =~ s|^/*||o; - } - # Special case is they are in the same dir - my $rel_path = spath('Old' => "$Old", 'New' => "$realimageloc" ); - $Old ="" if $rel_path =~ m/^\s*$/o; - - if ($use_hard_links =~ m/YES/i) { - if (! link($Old . "$kimage", $realimageloc . "$image_name")) { - warn "Could not hard link " . $image_dest . - "$kimage to $image_name :$!"; - } - } - else { - if (! symlink($Old . "$kimage", $realimageloc . "$image_name")) { - warn "Could not symlink " . $image_dest . - "$kimage to $image_name :$!"; - } - } - } - ##,#### - # case Three - #`#### elsif ($use_hard_links =~ m/YES/i ) { # Ok then. this ought to be a hard link, and hence fair game # don't clobber $kimage.old quite yet @@ -647,7 +593,7 @@ sub handle_non_symlinks { } } ##,#### - # case Four + # case Three #`#### else { # We just use cp diff --git a/debian/templates/temp.image.plain/postrm b/debian/templates/temp.image.plain/postrm index a2ab2c816..3a12d7b9e 100755 --- a/debian/templates/temp.image.plain/postrm +++ b/debian/templates/temp.image.plain/postrm @@ -38,7 +38,6 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined @@ -104,7 +103,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/ig; $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; @@ -118,7 +116,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig; diff --git a/debian/templates/temp.image.plain/preinst b/debian/templates/temp.image.plain/preinst index 3a36b46b2..075300b2f 100755 --- a/debian/templates/temp.image.plain/preinst +++ b/debian/templates/temp.image.plain/preinst @@ -27,7 +27,6 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlink = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $image_dir = "=D"; # where the image is located @@ -79,7 +78,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; $use_hard_links = '' if /use_hard_links\s*=\s*(no|false|0)\s*$/ig; @@ -91,7 +89,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; $relative_links = "Yes" if /relative_links\s*=\s*(yes|true|1)\s*$/ig; $use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/ig; diff --git a/debian/templates/temp.image.plain/prerm b/debian/templates/temp.image.plain/prerm index c80f3897a..5a0491e1b 100755 --- a/debian/templates/temp.image.plain/prerm +++ b/debian/templates/temp.image.plain/prerm @@ -26,7 +26,6 @@ $|=1; my $version = "=V"; my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly -my $reverse_symlink = "=R"; # Should be empty, mostly my $do_symlinks = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined @@ -103,7 +102,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "" if /do_symlinks\s*=\s*(no|false|0)\s*$/ig; $no_symlink = "" if /no_symlinks\s*=\s*(no|false|0)\s*$/ig; - $reverse_symlink = "" if /reverse_symlinks\s*=\s*(no|false|0)\s*$/ig; $link_in_boot = "" if /link_in_boot\s*=\s*(no|false|0)\s*$/ig; $do_boot_enable = '' if /do_boot_enable\s*=\s*(no|false|0)\s*$/ig; $relative_links = '' if /relative_links \s*=\s*(no|false|0)\s*$/ig; @@ -119,7 +117,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { $do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/ig; $no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/ig; - $reverse_symlink = "Yes" if /reverse_symlinks\s*=\s*(yes|true|1)\s*$/ig; $link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/ig; $do_boot_enable = "Yes" if /do_boot_enable\s*=\s*(yes|true|1)\s*$/ig; $do_bootloader = "Yes" if /do_bootloader\s*=\s*(yes|true|1)\s*$/ig;