summaryrefslogtreecommitdiff
path: root/dh_scrollkeeper
blob: 7e19ec7f230d0678d0b125e31882d628557f649b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/usr/bin/perl -w

=head1 NAME

dh_scrollkeeper - generate ScrollKeeper registration scripts

=cut

use strict;
use Debian::Debhelper::Dh_Lib;

=head1 SYNOPSIS

B<dh_scrollkeeper> [S<I<debhelper options>>] [B<-n>] [S<I<directory>>]

=head1 DESCRIPTION

B<dh_scrollkeeper> is a debhelper program that handles correctly
registering OMF files that it finds in package build trees with
ScrollKeeper.

This command automatically adds maintainer script snippets for registering
and unregistering files with ScrollKeeper (unless B<-n> is used). See
L<dh_installdeb(1)> for an explantion of Debhelper maintainer script
snippets.

It will also change any DTD declarations in the OMF and DocBook files
to refer to local files instead of remote URLs. This change does not
modify the source files, but the files in the package build tree.

=head1 OPTIONS

=over 4

=item B<-n>, B<--noscripts>

Do not modify F<postinst>/F<postrm> scripts.

=back

=head1 NOTES

Note that this command is not idempotent. "dh_clean -k" should be
called between invocations of this command. Otherwise, it may cause
multiple instances of the same text to be added to maintainer scripts.

=cut

init();

# This is a list of paths where DocBook files might be stored.
my @xml_paths = (
	'usr/share/gnome/help' # GNOME Help
);

# Append the remaining command line arguments
push @xml_paths, @ARGV if @ARGV;

foreach my $package (@{$dh{DOPACKAGES}}) {
	my $tmp=tmpdir($package);
	
	# Only run if there have been OMF files installed
	if (-d "$tmp/usr/share/omf") {
		# Get a list of the OMF files
		my @omf_files = `find $tmp/usr/share/omf -type f -printf '%p\n'`;
		if (@omf_files) {
			if (! $dh{NOSCRIPTS}) {
				autoscript($package,"postinst","postinst-scrollkeeper");
				autoscript($package,"postrm","postrm-scrollkeeper");
			}
		}
	}
}

=head1 SEE ALSO

L<debhelper>

This program is a part of debhelper.

=head1 AUTHOR

Ross Burton <ross@burtonini.com>

=cut