Index: twisted/topfiles/4086.removal
===================================================================
--- twisted/topfiles/4086.removal	(revision 0)
+++ twisted/topfiles/4086.removal	(revision 0)
@@ -0,0 +1 @@
+The 'unsigned' flag to twisted.scripts.tap2rpm.MyOptions is now deprecated.
Index: twisted/scripts/test/test_tap2rpm.py
===================================================================
--- twisted/scripts/test/test_tap2rpm.py	(revision 33706)
+++ twisted/scripts/test/test_tap2rpm.py	(working copy)
@@ -5,8 +5,11 @@
 Tests for L{twisted.scripts.tap2rpm}.
 """
 import os
+
 from twisted.trial.unittest import TestCase, SkipTest
 from twisted.python import procutils
+from twisted.python import versions
+from twisted.python import deprecate
 from twisted.python.failure import Failure
 from twisted.internet import utils
 from twisted.scripts import tap2rpm
@@ -378,3 +381,19 @@
 
         # Try and make an RPM from that tapfile.
         _makeRPMs(tapfile=tapfile)
+
+
+    def test_unsignedFlagDeprecationWarning(self):
+        """
+        The 'unsigned' flag in tap2rpm should be deprecated, and its use
+        should raise a warning as such.
+        """
+        config = tap2rpm.MyOptions()
+        config.parseOptions(['--unsigned'])
+        warnings = self.flushWarnings()
+        self.assertEqual(DeprecationWarning, warnings[0]['category'])
+        self.assertEqual(
+            deprecate.getDeprecationWarningString(
+                config.opt_unsigned, versions.Version("Twisted", 12, 2, 0)),
+            warnings[0]['message'])
+        self.assertEqual(1, len(warnings))
Index: twisted/scripts/tap2rpm.py
===================================================================
--- twisted/scripts/tap2rpm.py	(revision 33706)
+++ twisted/scripts/tap2rpm.py	(working copy)
@@ -7,8 +7,9 @@
 import tempfile
 import tarfile
 from StringIO import StringIO
+import warnings
 
-from twisted.python import usage, log
+from twisted.python import usage, log, versions, deprecate
 
 
 #################################
@@ -138,7 +139,7 @@
 
 ###############################
 class MyOptions(usage.Options):
-    optFlags = [["unsigned", "u"], ['quiet', 'q']]
+    optFlags = [['quiet', 'q']]
     optParameters = [
                      ["tapfile", "t", "twistd.tap"],
                      ["maintainer", "m", "tap2rpm"],
@@ -176,6 +177,14 @@
         self['twistd_option'] = type_dict[self['type']]
         self['release-name'] = '%s-%s' % (self['rpmfile'], self['set-version'])
 
+    def opt_unsigned(self):
+        """
+        Handle the 'unsigned' command-line flag, which is now deprecated in
+        any case.
+        """
+        msg = deprecate.getDeprecationWarningString(
+            self.opt_unsigned, versions.Version("Twisted", 12, 2, 0))
+        warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
 
 
 type_dict = {
