From: joeyh <joeyh>
Date: Mon, 9 Apr 2007 19:45:41 +0000 (+0000)
Subject: r1981: * Add dh_installifupdown. Please consider using this if you have
X-Git-Tag: 5.0.44~1
X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=99ed9f94c2919da31c231289ae95a9dfc9f93ded;p=debhelper.git

r1981: * Add dh_installifupdown. Please consider using this if you have
  /etc/network/if-up.d, etc files. Closes: #217552
---

diff --git a/debian/changelog b/debian/changelog
index 7df38da..8191fac 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -17,6 +17,8 @@ debhelper (5.0.44) UNRELEASED; urgency=low
     v6 mode because packages may potentially legitimately rely on the old
     buggy behavior. Closes: #242834
   * dh_installman: In v6 mode, overwrite exsiting man pages. Closes: #288250
+  * Add dh_installifupdown. Please consider using this if you have
+    /etc/network/if-up.d, etc files. Closes: #217552
 
  -- Joey Hess <joeyh@debian.org>  Mon, 09 Apr 2007 15:18:22 -0400
 
diff --git a/dh_installifupdown b/dh_installifupdown
new file mode 100755
index 0000000..35e39ee
--- /dev/null
+++ b/dh_installifupdown
@@ -0,0 +1,66 @@
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_installifupdown - install if-up and if-down hooks
+
+=cut
+
+use strict;
+use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B<dh_installifupdown> [S<I<debhelper options>>] [B<--name=>I<name>]
+
+=head1 DESCRIPTION
+
+dh_installifupdown is a debhelper program that is responsible for installing
+if-up, if-down, if-pre-up, and if-post-down hook scripts into package build
+directories.
+
+If a file named debian/package.if-up exists, then it is installed into
+etc/network/if-up.d/package in the package build directory. Similar is done
+for if-down, if-pre-up, and if-post-down.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--name=>I<name>
+
+Look for files named debian/package.name.if-* and install them as
+etc/network/if-*/name, instead of using the usual files and installing them
+as the package name.
+
+=back
+
+=cut
+
+init();
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+	my $tmp=tmpdir($package);
+	
+	foreach my $script (qw(pre-up up down post-down)) {
+		my $file=pkgfile($package, "if-$script");
+		if ($file ne '') {
+			if (! -d "$tmp/etc/network/if-$script.d") {
+				doit("install","-d","$tmp/etc/network/if-$script.d");
+			}
+			doit("install","-p","-m755",$file,"$tmp/etc/network/if-$script.d/".pkgfilename($package));
+		}
+	}
+}
+
+=head1 SEE ALSO
+
+L<debhelper(7)>
+
+This program is a part of debhelper.
+
+=head1 AUTHOR
+
+Joey Hess <joeyh@debian.org>
+
+=cut