#!/bin/sh
# $OpenBSD: regchrome,v 1.1.1.1 2008/07/22 19:42:11 martynas Exp $
# Generate installed-chrome.txt entries for Enigmail

if [ $# -ne 3 ]; then
	echo "usage: $0 [install.js] [installed-chrome.txt] [install|uninstall]"
	exit 1
fi

if [ "$3" = "uninstall" ]; then
	TMPFILE1=`mktemp -t genchrome.XXXXXXXXXX`
	if [ $? -ne 0 ]; then
		print "$0: mktemp failed"
		exit 1
	fi
	TMPFILE2=`mktemp -t genchrome.XXXXXXXXXX`
	if [ $? -ne 0 ]; then
		print "$0: mktemp failed"
		exit 1
	fi
	cp "$2" "$TMPFILE1"
fi

grep registerChrome "$1" |
	grep -v "tbird" |
	awk -F'"' '{
		pat = "install,url,jar:resource:/chrome"
		split($6, tok, "/")
		if (tok[1] == "content") {
			printf("skin,%s/%s!/%s\n", pat, $4, $6)
			printf("locale,%s/%s!/%s\n", pat, $4, $6)
		}
		printf("%s,%s/%s!/%s\n", tok[1], pat, $4, $6)
	}' |
	while read line; do
		if [ "$3" = "install" ]; then
			fgrep "$line" "$2" > /dev/null 2>&1
			if [ $? -eq 1 ]; then
				echo "$line" >> "$2"
			fi
		fi
		if [ "$3" = "uninstall" ]; then
			fgrep -v "$line" "$TMPFILE1" > "$TMPFILE2" 2>/dev/null
			mv "$TMPFILE2" "$TMPFILE1"
		fi
	done

if [ "$3" = "uninstall" ]; then
	mv "$TMPFILE1" "$2"
fi
