diff --git a/common/Make-po.rules b/common/Make-po.rules
index c0f80a085..c2a963156 100644
--- a/common/Make-po.rules
+++ b/common/Make-po.rules
@@ -1,11 +1,19 @@
# ------------------------------------------------------------------
#
-# Copyright (C) 2002-2005 Novell/SUSE
+# Copyright (c) 1999-2008 NOVELL (All rights reserved)
+# Copyright 2009-2010 Canonical Ltd.
#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of version 2 of the GNU General Public
-# License published by the Free Software Foundation.
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of version 2 of the GNU General Public
+# License published by the Free Software Foundation.
#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program. If not, see .
# ------------------------------------------------------------------
#
# The including makefile needs to define LANG, which lists the lang
@@ -13,7 +21,7 @@
# exist
LOCALEDIR=/usr/share/locale
-XGETTEXT_ARGS=--copyright-holder="NOVELL, Inc." --msgid-bugs-address=apparmor-general@forge.novell.com -d ${NAME}
+XGETTEXT_ARGS=--copyright-holder="NOVELL, Inc." --msgid-bugs-address=pparmor@lists.ubuntu.com -d ${NAME}
# When making the .pot file, it's expected that the parent Makefile will
# pass in the list of sources in the SOURCES variable
diff --git a/parser/po/subdomain_parser.pot b/parser/po/subdomain_parser.pot
deleted file mode 100644
index 90d5fc2fe..000000000
--- a/parser/po/subdomain_parser.pot
+++ /dev/null
@@ -1,422 +0,0 @@
-# Translation template for the subdomain parser
-# Copyright (C) YEAR Immunix, Inc.
-# This file is distributed under the same license as the subdomain_parser package.
-# FIRST AUTHOR , YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: apparmor-parser 1.1\n"
-"Report-Msgid-Bugs-To: apparmor-general@forge.novell.com\n"
-"POT-Creation-Date: 2005-03-31 13:39-0800\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: LANGUAGE \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: ../parser_include.c:80
-msgid "Error couldn't allocate temporary file\n"
-msgstr ""
-
-#: ../parser_include.c:103
-msgid "Error: Out of Memory\n"
-msgstr ""
-
-#: ../parser_include.c:122
-#, c-format
-msgid "Error: Can't add directory %s to search path\n"
-msgstr ""
-
-#: ../parser_include.c:130
-msgid "Error: Could not allocate memory\n"
-msgstr ""
-
-#: ../parser_include.c:251
-#, c-format
-msgid "Error: could not allocate buffer for include. line %d in %s\n"
-msgstr ""
-
-#: ../parser_include.c:259 ../parser_include.c:274
-#, c-format
-msgid "Error: bad include. line %d in %s\n"
-msgstr ""
-
-#: ../parser_include.c:303
-#, c-format
-msgid "Error: exceeded %d levels of includes. NOT processing %s include\n"
-msgstr ""
-
-#: ../parser_include.c:318
-#, c-format
-msgid "Error: #include %s%c not found. line %d in %s\n"
-msgstr ""
-
-#: ../parser_interface.c:115
-#, c-format
-msgid "PANIC bad increment buffer %p pos %p ext %p size %d res %p\n"
-msgstr ""
-
-#: ../parser_interface.c:505 ../parser_sysctl.c:95
-#, c-format
-msgid "Unable to open %s - %s\n"
-msgstr ""
-
-#: ../parser_interface.c:521
-msgid "unable to create work area\n"
-msgstr ""
-
-#: ../parser_interface.c:529
-#, c-format
-msgid "unable to serialize profile %s\n"
-msgstr ""
-
-#: ../parser_interface.c:538
-#, c-format
-msgid "%s: Unable to write entire profile entry\n"
-msgstr ""
-
-#: parser_lex.l:345
-#, c-format
-msgid "(ip_mode) Found unexpected character: '%s'"
-msgstr ""
-
-#: parser_lex.l:469
-#, c-format
-msgid "Found unexpected character: '%s'"
-msgstr ""
-
-#: ../parser_main.c:263
-#, c-format
-msgid "%s: Could not allocate memory for subdomain mount point\n"
-msgstr ""
-
-#: ../parser_main.c:269
-#, c-format
-msgid "%s: Could not allocate memory for subdomainbase mount point\n"
-msgstr ""
-
-#: ../parser_main.c:317
-#, c-format
-msgid ""
-"%s: Sorry. You need root privileges to run this program.\n"
-"\n"
-msgstr ""
-
-#: ../parser_main.c:326
-#, c-format
-msgid ""
-"%s: Warning! You've set this program setuid root.\n"
-"Anybody who can run this program can update your AppArmor profiles.\n"
-"\n"
-msgstr ""
-
-#: ../parser_main.c:376
-#, c-format
-msgid ""
-"%s: Unable to query modules - '%s'\n"
-"Either modules are disabled or your kernel is too old.\n"
-msgstr ""
-
-#: ../parser_main.c:382
-#, c-format
-msgid "%s: Unable to find "
-msgstr ""
-
-#: ../parser_main.c:382
-msgid ""
-"!\n"
-"Ensure that it has been loaded.\n"
-msgstr ""
-
-#: ../parser_main.c:411
-#, c-format
-msgid "%s: Errors found in file. Aborting.\n"
-msgstr ""
-
-#: ../parser_main.c:418
-#, c-format
-msgid "%s: Errors found in combining rules postprocessing. Aborting.\n"
-msgstr ""
-
-#: ../parser_main.c:426
-#, c-format
-msgid "%s: Errors found during regex postprocess. Aborting.\n"
-msgstr ""
-
-#: ../parser_merge.c:56
-msgid "Couldn't merge entries. Out of Memory\n"
-msgstr ""
-
-#. Changed multiple -> conflicting to better reflect that the error is
-#. caused when two or more x modifiers are of a conflicting type
-#: ../parser_merge.c:77
-#, c-format
-msgid "profile %s: has merged rule %s with conflicting x modifiers\n"
-msgstr ""
-
-#: ../parser_merge.c:140
-#, c-format
-msgid "ERROR in profile %s, failed to load\n"
-msgstr ""
-
-#: ../parser_sysctl.c:42
-msgid "Bad write position\n"
-msgstr ""
-
-#: ../parser_sysctl.c:45
-msgid "Permission denied\n"
-msgstr ""
-
-#: ../parser_sysctl.c:48
-msgid "Out of memory\n"
-msgstr ""
-
-#: ../parser_sysctl.c:51
-msgid "Couldn't copy profile Bad memory address\n"
-msgstr ""
-
-#: ../parser_sysctl.c:54
-msgid "Profile doesn't conform to protocol\n"
-msgstr ""
-
-#: ../parser_sysctl.c:57
-msgid "Profile does not match signature\n"
-msgstr ""
-
-#: ../parser_sysctl.c:60
-msgid "Profile version not supported\n"
-msgstr ""
-
-#: ../parser_sysctl.c:63
-msgid "Profile already exists\n"
-msgstr ""
-
-#: ../parser_sysctl.c:66
-msgid "Profile doesn't exist\n"
-msgstr ""
-
-#: ../parser_sysctl.c:69
-msgid "Unknown error\n"
-msgstr ""
-
-#: ../parser_sysctl.c:120
-#, c-format
-msgid "%s: Unable to add \"%s\". "
-msgstr ""
-
-#: ../parser_sysctl.c:126
-#, c-format
-msgid "%s: Unable to replace \"%s\". "
-msgstr ""
-
-#: ../parser_sysctl.c:132
-#, c-format
-msgid "%s: Unable to remove \"%s\". "
-msgstr ""
-
-#: ../parser_sysctl.c:138
-#, c-format
-msgid "%s: Unable to write to stdout\n"
-msgstr ""
-
-#: ../parser_sysctl.c:142 ../parser_sysctl.c:167
-#, c-format
-msgid "%s: ASSERT: Invalid option: %d\n"
-msgstr ""
-
-#: ../parser_sysctl.c:153
-#, c-format
-msgid "Addition succeeded for \"%s\".\n"
-msgstr ""
-
-#: ../parser_sysctl.c:157
-#, c-format
-msgid "Replacement succeeded for \"%s\".\n"
-msgstr ""
-
-#: ../parser_sysctl.c:161
-#, c-format
-msgid "Removal succeeded for \"%s\".\n"
-msgstr ""
-
-#: parser_yacc.y:215 parser_yacc.y:240 parser_yacc.y:393 parser_yacc.y:409
-#: parser_yacc.y:459 parser_yacc.y:500 parser_yacc.y:529 parser_yacc.y:543
-#: parser_yacc.y:557 parser_yacc.y:571 parser_yacc.y:585 parser_yacc.y:613
-#: parser_yacc.y:641 parser_yacc.y:678 parser_yacc.y:695 parser_yacc.y:709
-#: parser_yacc.y:915
-msgid "Memory allocation error."
-msgstr ""
-
-#: parser_yacc.y:259
-#, c-format
-msgid "Default allow subdomains are no longer supported, sorry. (domain: %s)"
-msgstr ""
-
-#: parser_yacc.y:265
-#, c-format
-msgid ""
-"Default allow subdomains are no longer supported, sorry. (domain: %s^%s)"
-msgstr ""
-
-#: parser_yacc.y:336
-msgid "Assert: `rule' returned NULL."
-msgstr ""
-
-#: parser_yacc.y:350
-msgid "Assert: `netrule' returned NULL."
-msgstr ""
-
-#: parser_yacc.y:378
-msgid "Assert: 'hat rule' returned NULL."
-msgstr ""
-
-#: parser_yacc.y:411
-msgid "md5 signature given without execute privilege."
-msgstr ""
-
-#: parser_yacc.y:426 parser_yacc.y:435
-#, c-format
-msgid "missing an end of line character? (entry: %s)"
-msgstr ""
-
-#: parser_yacc.y:441 parser_yacc.y:447
-#, c-format
-msgid "Negative subdomain entries are no longer supported, sorry. (entry: %s)"
-msgstr ""
-
-#: parser_yacc.y:495
-msgid "Assert: `addresses' returned NULL."
-msgstr ""
-
-#: parser_yacc.y:595
-msgid "Network entries can only have one TO address."
-msgstr ""
-
-#: parser_yacc.y:600
-msgid "Network entries can only have one FROM address."
-msgstr ""
-
-#: parser_yacc.y:618 parser_yacc.y:647
-#, c-format
-msgid "`%s' is not a valid ip address."
-msgstr ""
-
-#: parser_yacc.y:659
-#, c-format
-msgid "`/%d' is not a valid netmask."
-msgstr ""
-
-#: parser_yacc.y:666
-#, c-format
-msgid "`%s' is not a valid netmask."
-msgstr ""
-
-#: parser_yacc.y:692 parser_yacc.y:712
-#, c-format
-msgid "ports must be between %d and %d"
-msgstr ""
-
-#: parser_yacc.y:778
-#, c-format
-msgid "AppArmor parser error, line %d: %s\n"
-msgstr ""
-
-#: parser_yacc.y:821
-msgid "Exec qualifier 'i' must be followed by 'x'"
-msgstr ""
-
-#: parser_yacc.y:823
-msgid "Exec qualifier 'i' invalid, conflicting qualifier already specified"
-msgstr ""
-
-#: parser_yacc.y:833
-msgid "Exec qualifier 'u' must be followed by 'x'"
-msgstr ""
-
-#: parser_yacc.y:835
-msgid "Exec qualifier 'u' invalid, conflicting qualifier already specified"
-msgstr ""
-
-#: parser_yacc.y:845
-msgid "Exec qualifier 'p' must be followed by 'x'"
-msgstr ""
-
-#: parser_yacc.y:847
-msgid "Exec qualifier 'p' invalid, conflicting qualifier already specified"
-msgstr ""
-
-#: parser_yacc.y:856
-msgid "Invalid mode, 'x' must be preceded by exec qualifier 'i', 'u' or 'p'"
-msgstr ""
-
-#: parser_yacc.y:860
-msgid "Internal: unexpected mode character in input"
-msgstr ""
-
-#: parser_yacc.y:1211
-#, c-format
-msgid "%s: Illegal open {, nesting groupings not allowed\n"
-msgstr ""
-
-#: parser_yacc.y:1231
-#, c-format
-msgid "%s: Regex grouping error: Invalid number of items between {}\n"
-msgstr ""
-
-#: parser_yacc.y:1237
-#, c-format
-msgid ""
-"%s: Regex grouping error: Invalid close }, no matching open { detected\n"
-msgstr ""
-
-#: parser_yacc.y:1294
-#, c-format
-msgid "%s: Regex grouping error: Unclosed grouping, expecting close }\n"
-msgstr ""
-
-#: parser_yacc.y:1309
-#, c-format
-msgid "%s: Internal buffer overflow detected, %d characters exceeded\n"
-msgstr ""
-
-#: parser_yacc.y:1314
-#, c-format
-msgid "%s: Unable to parse input line '%s'\n"
-msgstr ""
-
-#: parser_yacc.y:1348
-#, c-format
-msgid "%s: Failed to compile regex '%s' [original: '%s']\n"
-msgstr ""
-
-#: parser_yacc.y:1353
-#, c-format
-msgid "%s: error near "
-msgstr ""
-
-#: parser_yacc.y:1364
-#, c-format
-msgid "%s: error reason: '%s'\n"
-msgstr ""
-
-#: parser_yacc.y:1374
-#, c-format
-msgid "%s: Failed to compile regex '%s' [original: '%s'] - malloc failed\n"
-msgstr ""
-
-#: parser_yacc.y:1424
-#, c-format
-msgid "%s: Subdomain '%s' defined, but no parent '%s'.\n"
-msgstr ""
-
-#: parser_yacc.y:1461
-#, c-format
-msgid "%s: Two profiles defined for '%s'.\n"
-msgstr ""
-
-#: ../parser.h:37
-#, c-format
-msgid "Warning (line %d): "
-msgstr ""