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
 
 
 #################################
@@ -36,48 +37,48 @@
 #  check for required files
 if [ ! -x /usr/bin/twistd ]
 then
-	echo "$0: Aborting, no /usr/bin/twistd found"
-	exit 0
+        echo "$0: Aborting, no /usr/bin/twistd found"
+        exit 0
 fi
 if [ ! -r "$file" ]
 then
-	echo "$0: Aborting, no file $file found."
-	exit 0
+        echo "$0: Aborting, no file $file found."
+        exit 0
 fi
 
 #  set up run directory if necessary
 if [ ! -d "${rundir}" ]
 then
-	mkdir -p "${rundir}"
+        mkdir -p "${rundir}"
 fi
 
 
 case "$1" in
-	start)
-		echo -n "Starting %(rpm_file)s: twistd"
-		daemon twistd  \\
-				--pidfile=$pidfile \\
-				--rundir=$rundir \\
-				--%(twistd_option)s=$file \\
-				--logfile=$logfile
-		status %(rpm_file)s
-		;;
+        start)
+                echo -n "Starting %(rpm_file)s: twistd"
+                daemon twistd  \\
+                                --pidfile=$pidfile \\
+                                --rundir=$rundir \\
+                                --%(twistd_option)s=$file \\
+                                --logfile=$logfile
+                status %(rpm_file)s
+                ;;
 
-	stop)
-		echo -n "Stopping %(rpm_file)s: twistd"
-		kill `cat "${pidfile}"`
-		status %(rpm_file)s
-		;;
+        stop)
+                echo -n "Stopping %(rpm_file)s: twistd"
+                kill `cat "${pidfile}"`
+                status %(rpm_file)s
+                ;;
 
-	restart)
-		"${0}" stop
-		"${0}" start
-		;;
+        restart)
+                "${0}" stop
+                "${0}" start
+                ;;
 
     *)
-		echo "Usage: ${0} {start|stop|restart|}" >&2
-		exit 1
-		;;
+                echo "Usage: ${0} {start|stop|restart|}" >&2
+                exit 1
+                ;;
 esac
 
 exit 0
@@ -106,7 +107,7 @@
 
 %%install
 [ ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != '/' ] \
-		&& rm -rf "$RPM_BUILD_ROOT"
+                && rm -rf "$RPM_BUILD_ROOT"
 mkdir -p "$RPM_BUILD_ROOT"/etc/twisted-taps
 mkdir -p "$RPM_BUILD_ROOT"/etc/init.d
 mkdir -p "$RPM_BUILD_ROOT"/var/lib/twisted-taps
@@ -115,7 +116,7 @@
 
 %%clean
 [ ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != '/' ] \
-		&& rm -rf "$RPM_BUILD_ROOT"
+                && rm -rf "$RPM_BUILD_ROOT"
 
 %%post
 /sbin/chkconfig --add %(rpm_file)s
@@ -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,8 +177,19 @@
         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)
 
+    # Maintain the -u short flag
+    opt_u = opt_unsigned
 
+
 type_dict = {
     'tap': 'file',
     'python': 'python',
