I've added a -n flag to dput which tells dput to upload even if a
package has not been installed. This is necessary when one package
produces .deb(udeb) files that conflict with each other, and thus
cannot be installed at the same.

diff attached.

Anil
--- /usr/bin/dput.bak	2008-09-24 06:03:45.000000000 -0700
+++ dput	2008-09-24 06:20:52.531146325 -0700
@@ -32,7 +32,7 @@
 upload_methods = {}
 files_to_upload = []
 simulate = unsigned_upload = delay_upload = 0
-debug = dinstall = check_only = 0
+debug = dinstall = check_only = noinstallfail = 0
 config_file = ''
 
 dput_modules = ('')
@@ -536,8 +536,11 @@
               print "Package to upload is not installed, but it appears " +\
                     "you have an older version installed."    
         else:
-          print "Uninstalled Package. Test it before uploading it."
-          sys.exit(1)
+            if not noinstallfail:
+              print "Uninstalled Package %s. Test it before uploading it." % file
+              sys.exit(1)
+            else:
+              print "Ignoring uninstalled Package %s and continuing" % file
 
 # Run a command that the user-defined in the config_file.
 def execute_command(host, debug, type):
@@ -583,6 +586,7 @@
    -h: Display this help message.
    -H: Display a list of hosts from the config file.
    -l: Run lintian before upload.
+   -n: Dont fail when not installed
    -o: Only check the package.
    -p: Print the configuration.
    -P: Use passive mode for ftp uploads.
@@ -610,10 +614,10 @@
     # Parse Command Line Options.
     try:
         (opts, args) = getopt.getopt(sys.argv[1:],
-                            'c:dDe:fhHlopPsuvV',
+                            'c:dDe:fhHlnopPsuvV',
                             ['debug', 'dinstall', 'check-only',
                             'check-version', 'config', 'force', 'help',
-                            'host-list', 'lintian', 'passive', 'print', 'simulate',
+                            'host-list', 'lintian', 'noinstallfail', 'passive', 'print', 'simulate',
                             'unchecked', 'delayed=', 'version'])
     except getopt.error, msg:
         print msg

Reply via email to