#!/usr/bin/perl -w

# make-debian-x11.postinst
# Jonathan Rosenbaum <freesource@users.sourceforge.net>

use strict;
use Debconf::Client::ConfModule ':all';

if ($ARGV[0] && $ARGV[0] eq "configure") {

    if (-d "/usr/doc" && !-e "/usr/doc/make-debian-x11" && 
	-d "/usr/share/doc/make-debian-x11") {
	system "ln -sf ../share/doc/make-debian-x11 /usr/doc/make-debian-x11";
    }

}

# Before doing anything else, append CVS Entries files with fictional dates
# so replacements can't be edited.  This is because make-debian-x11 shares
# a CVS/Entries file in /root with gbootroot.  Note:  This will be done
# over and over again, but usually a new gbootroot is installed so it isn't
# an issue.
my $Entries = << "ENTRIES";
/README-debian-X11/1.4/Thu Nov  8 06:16:29 2001//
/make_swapfile/1.2/Thu Nov  8 06:16:29 2001//
/setup-debian-X11/1.7/Thu Dec  6 18:36:05 2001//
ENTRIES
my $root_entry = "/usr/share/gbootroot/yard/Replacements/root/CVS/Entries";
if ( -f $root_entry ) {
    open(ENTRY, ">>$root_entry") or warn "Couldn't open $root_entry: $!\n";
    print ENTRY $Entries;
    close(ENTRY) or warn "Couldn't close $root_entry\n";
}

my $answer = get("make-debian-x11/make_debian_x11");

if ($answer eq "true") {

my $swim = get("make-debian-x11/make_debian_x11-swim");
my $doc = get("make-debian-x11/make_debian_x11-doc");
my $zoneinfo = get("make-debian-x11/make_debian_x11-zoneinfo");

    if ($doc eq "true") {
	$doc = "yes\n";
    }
    else {
	$doc = "no\n";
    }
    if ($zoneinfo eq "true") {
	$zoneinfo = "yes\n";
    }
    else {
	$zoneinfo = "no\n";
    }

    if ($swim) {
	if ($swim  eq "true") {
	    $swim = "yes\n";
	}
	else {
	    $swim = "no\n";
	}
    }

    if (!$swim) {
	if ($ARGV[0] && $ARGV[0] eq "configure") {
	    print STDERR
		"During make-debian-x11 package installation warnings\n" .
		"about make-debian-x11 not being installed on the\n" .
		"system are taken into account by the make_debian-x11\n" .
		"script and the template properly reflects an installed\n" .
		"make-debian-x11 package.  This warning won't be issued\n" .
                "when reconfiguring make-debian-x11.\n\n";
	}
	open (SCRIPT, "|make_debian-X11") 
	or warn "Couldn't open make_debian-X11\n";
	print SCRIPT $doc;
	print SCRIPT $zoneinfo;
	close(SCRIPT);
    }
    else {
	# Will run swim --initdb first rather then trying to interact
	# with the make_debian-X11 script.
	# Not a perfect approach, but the swim package will be updated
        # eventually.
	print STDERR "Be patient, building the swim databases will take a little while.\n";
	system "swim --initdb 2&> /dev/null";

	# Now continue with the script.
	#open (SCRIPT, "|make_debian-X11 2&> /dev/null") 
	if ($ARGV[0] && $ARGV[0] eq "configure") {
	    print STDERR
		"During make-debian-x11 package installation warnings\n" .
		"about make-debian-x11 not being installed on the\n" .
		"system are taken into account by the make_debian-x11\n" .
		"script and the template properly reflects an installed\n" .
		"make-debian-x11 package.  This warning won't be issued\n" .
                "when reconfiguring make-debian-x11.\n\n";
	}
	open (SCRIPT, "|make_debian-X11") 
	or warn "Couldn't open make_debian-X11\n";
	#print SCRIPT $swim;
	print SCRIPT $doc;
	print SCRIPT $zoneinfo;
	close(SCRIPT);
        set("make-debian-x11/make_debian_x11-swim","");
    }

}


stop();