diff options
-rw-r--r-- | autoscripts/postinst-xaw | 3 | ||||
-rw-r--r-- | debian/changelog | 7 | ||||
-rwxr-xr-x | dh_installxaw | 43 | ||||
-rw-r--r-- | dh_installxaw.1 | 2 |
4 files changed, 50 insertions, 5 deletions
diff --git a/autoscripts/postinst-xaw b/autoscripts/postinst-xaw index b8d718ea..3d8e2d1b 100644 --- a/autoscripts/postinst-xaw +++ b/autoscripts/postinst-xaw @@ -1,3 +1,6 @@ if test -x /usr/sbin/update-xaw-wrappers; then /usr/sbin/update-xaw-wrappers fi +for opts in #OPTS#; do + update-alternatives --quiet --install $opts 25 +done diff --git a/debian/changelog b/debian/changelog index 61ce4b36..2938e7c0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +debhelper (1.2.63) unstable; urgency=low + + * dh_installxaw: updated to work with xaw-wrappers 0.90 and above. It + actually has to partially parse the xaw-wrappers config files now. + + -- Joey Hess <joeyh@master.debian.org> Sun, 2 May 1999 19:13:34 -0700 + debhelper (1.2.62) unstable; urgency=low * dh_installemacsen: added support for site-start files. Added --flavor diff --git a/dh_installxaw b/dh_installxaw index 31867f15..849fbf00 100755 --- a/dh_installxaw +++ b/dh_installxaw @@ -16,14 +16,49 @@ foreach $PACKAGE (@{$dh{DOPACKAGES}}) { $xaw=pkgfile($PACKAGE,'xaw'); if ($xaw ne '') { - if (! -d "$TMP/usr/lib/xaw-wrappers/conf") { - doit("install","-d","$TMP/usr/lib/xaw-wrappers/conf"); + if (! -d "$TMP/usr/lib/xaw-wrappers/config") { + doit("install","-d","$TMP/usr/lib/xaw-wrappers/config"); } doit("install","-p","-m644",$xaw, - "$TMP/usr/lib/xaw-wrappers/conf/$PACKAGE"); + "$TMP/usr/lib/xaw-wrappers/config/$PACKAGE"); if (! $dh{NOSCRIPTS}) { - autoscript($PACKAGE,"postinst","postinst-xaw"); + # Parse the xaw conf file to figure out what programs + # and link names are present in it. Have to pass + # those into the scripts. + my %data; + my $install_opts=''; + my $remove_opts=''; + my $stanza=''; + + open (IN,$xaw); + while (<IN>) { + chomp; + s/\s+/ /g; + if (/^#/ eq '') { + if (/(.*?):\s?(.*)/) { + $data{lc($1)}=$2; + $stanza=1; + } + elsif ($stanza) { + $install_opts.="'$data{program} $data{'link-name'} $data{wrapped}'"; + $remove_opts.="'$data{'link-name'} $data{wrapped}'"; + undef %data; + $stanza=''; + } + } + } + close IN; + + if ($stanza) { + $install_opts.="'$data{program} $data{'link-name'} $data{wrapped}'"; + $remove_opts.="'$data{'link-name'} $data{wrapped}'"; + } + + autoscript($PACKAGE,"postinst","postinst-xaw", + "s:#OPTS#:$install_opts:"); + autoscript($PACKAGE,"prerm","prerm-xaw", + "s:#OPTS#:$remove_opts:"); autoscript($PACKAGE,"postrm","postrm-xaw"); } } diff --git a/dh_installxaw.1 b/dh_installxaw.1 index 19f47423..b0a82bb2 100644 --- a/dh_installxaw.1 +++ b/dh_installxaw.1 @@ -14,7 +14,7 @@ interface with the debian xaw-wrappers package. See for an explanation of how this works. .P If a file named debian/package.xaw exists, then it is installed into -usr/lib/xaw-wrappers/conf/package in the package build directory. +usr/lib/xaw-wrappers/config/package in the package build directory. .P For the first first binary package listed in the control file, you may use debian/xaw instead. |