#!/usr/bin/perl

# converts all .sgml files in debian/ or debian/local (if exists)
# just include debian/scripts/docbook.mk into debian/rules and add
# $(dh_manpages) as a dependency to the build target

$debiandir = 'debian';

if ( -d 'debian/local' ) {
    $dir = 'debian/local';
} else {
    $dir = 'debian';
}

$needclean = 0;
$needlist = 0;
$needdeps = 0;
if (@ARGV) {
    $temp = shift;
    if ($temp eq "clean") { $needclean = 1; }
    elsif ($temp eq "makedeps") { $needlist = 1; }
    elsif ($temp eq "gendeps") { $needdeps = 1; }
}

my( $manpagefile );
opendir( DIR, $dir );
while( $file = readdir( DIR ) ) {
    if ( $file =~ m/\.sgml$/ ) {
	open( FILE, "<$dir/$file" );
	$man_section = -1;
	while ( ($man_section == -1) && ($line = <FILE>) ) {
	    if ( $line =~ m/manvolnum.(.)/ ) {
		$man_section = $1;
	    }
	}
	close( FILE );
	if ( $man_section > -1 ) {
	    $newfile=$file;
	    $newfile=~s/\.sgml/\.$man_section/;
	    if ( $needclean ) {
		system( "rm -f $debiandir/$newfile" );
	    } elsif ( $needlist ) {
		print( "$debiandir/$newfile " );
	    } elsif ( $needdeps ) {
		print( "$dir/$file " );
	    } else {
		# generate new manpage
		system( "docbook-to-man $dir/$file > debian/$newfile" );
	    }
	}
    }
}
closedir( DIR );
