It finds subdirectories of usr/local in the package build directory, and
removes them, replacing them with maintainer script snippets (unless B<-n>
is used) to create the directories at install time, and remove them when
-the package is removed, in a manner compliant with Debian policy. See
-L<dh_installdeb(1)> for an explantion of Debhelper maintainer script
+the package is removed, in a manner compliant with Debian policy. These
+snippets are inserted into the maintainer scripts by dh_installdeb. See
+L<dh_installdeb(1)> for an explanation of Debhelper maintainer script
snippets.
If the directories found in the build tree have unusual owners, groups, or
-permisions, then those values will be preserved in the directories made by
+permissions, then those values will be preserved in the directories made by
the postinst script. However, as a special exception, if a directory is owned
by root.root, it will be treated as if it is owned by root.staff and is mode
2775. This is useful, since that is the group and mode policy recommends for
=head1 NOTES
-Note that this command is not idempotent. "dh_clean -k" should be called
+Note that this command is not idempotent. L<dh_prep(1)> should be called
between invocations of this command. Otherwise, it may cause multiple
instances of the same text to be added to maintainer scripts.
# This constructs the body of a 'sed' c\ expression which
# is parsed by the shell in double-quotes
my $dirs = join("$ebs\n", @dirs);
+ pop @justdirs; # don't remove directories directly in /usr/local
my $justdirs = join("$ebs\n", @justdirs);
if (! $dh{NOSCRIPTS}) {
autoscript($package,"postinst", "postinst-usrlocal",
"/#DIRS#/ c${ebs}\n${dirs}");
autoscript($package,"prerm", "prerm-usrlocal",
- "/#JUSTDIRS#/ c${ebs}\n${justdirs}");
+ "/#JUSTDIRS#/ c${ebs}\n${justdirs}") if length $justdirs;
}
}
}