#!/usr/bin/perl

use strict;
use warnings;

for my $a (qw/x86 x86_64/) {
	my %pkg;
	my %hint;

	open F, "find $a -name setup.hint|";
	while(<F>) {
		chomp;
		my($dir, $pkg, $hint) = m#^(.*)/([^/]+)/setup.hint$#;
		my @pkgs = glob("$dir/$pkg/$pkg*.tar.bz2");

		my $p = $pkgs[0];
		$p =~ s#^.*/$pkg-##;
		$p =~ s#\.tar\.bz2$##;

		next if $p =~ /-src$/;

		$hint{$pkg} = $_;
		$pkg{$pkg}{$p} = "test";
	}
	close F;

	my $pkg;
	my $v;

	open F, "/home/jef/osgeo4w/$a/setup.ini";
	while(<F>) {
		chomp;

		if(/^@ (.*)$/) {
			$pkg = $1;
			$v = "curr";
		}

		unless(defined $pkg && exists $pkg{$pkg}) {
			next;
		}

		if( my($p) = /^install: (\S+) /) {
			$p =~ s#^.*/$pkg-##;
			$p =~ s#\.tar\.bz2$##;

			$pkg{$pkg}{$p} = $v;
			$v = "prev";
		}
	}
	close F;

	for my $pkg (keys %pkg) {
		rename "$hint{$pkg}", "$hint{$pkg}.orig" unless -f "$hint{$pkg}.orig";

		open I, "$hint{$pkg}.orig";
		open O, ">$hint{$pkg}";
		while(<I>) {
			next if /^(curr|prev|test):/;
			print O;
		}
		close I;

		for my $v (keys %{ $pkg{$pkg} }) {
			print O "$pkg{$pkg}{$v}: $v\n";
			print "$a $hint{$pkg} $pkg $pkg{$pkg}{$v}: $v\n";
		}
		close O;
	}
}
