/usr/bin/dcut is in dput-ng 1.8.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | #! /usr/bin/python
# -*- coding: utf-8 -*-
# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4
# Copyright (c) 2012 dput authors
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# 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 General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
import sys
import argparse
# A little temporary hack for those of us not using virtualenv
import os
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))
import dput.core
import dput.exceptions
import dput.profile
import dput.command
from dput import upload_command
parser = argparse.ArgumentParser(description=' Debian archive command file'
'upload tool')
parser.add_argument('-d', '--debug', action='count', default=False,
help="Enable debug messages. Repeat twice to increase the "
"verbosity level")
parser.add_argument('-f', '--force', action='store_true',
help='Force an upload')
parser.add_argument('-c', '--config', metavar="FILE", action='store',
default=None, help='Configuration file to parse')
parser.add_argument('host', metavar="HOST", action='store', default=None,
help="Target host to upload a package", nargs="?")
parser.add_argument('-m', '--maintainer', metavar="MAINTAINER",
help="Use MAINTAINER (full name and email) for the "
"uploader field and gpg key selection. This has no effect"
" when the 'upload' command is used", action='store')
parser.add_argument('-k', '--keyid', metavar="KEYID",
help="Use KEYID for signing. Default is to use DEBEMAIL "
" and DEBNAME, or whatever was provided with --maintainer."
" This has no effect when the 'upload' command is used",
action='store')
parser.add_argument('-S', '--save',
help="Copy the uploaded commands file to cwd before "
"uploading.", action="store_true", default=False)
parser.add_argument('-O', '--output', metavar="FILENAME",
help="Write commands file to FILENAME instead of "
"uploading. This option should not be used with "
"the 'upload' command. FILENAME won't be overwritten if it "
"exists", action='store')
parser.add_argument('-P', '--passive',
help="Use passive FTP instead of active",
action='store_true')
parser.add_argument('-s', '--simulate', action='count', default=False,
help="Simulate the upload only. Repeat twice to increase "
"the level of simulation. Provided once runs pre-upload "
"checks, provided twice runs pre-upload checks and network"
" set-up without actually uploading files")
parser.add_argument('-v', '--version',
help="Print version information and exit",
action='store_true')
args = parser.parse_known_args()
known = args[0]
if known.host in dput.command.find_commands():
known.host = None # likely a target, not a profile
if known.host:
profile = dput.profile.load_profile(known.host)
else:
profile = dput.profile.load_profile(None)
subparsers = parser.add_subparsers(help='Supported commands')
command_registry = dput.command.load_commands(profile)
for command in command_registry:
(cmd_name, cmd_purpose) = command.name_and_purpose()
command_parser = subparsers.add_parser(cmd_name, help=cmd_purpose)
command_parser.set_defaults(command=command)
command.register(command_parser)
args = parser.parse_args()
if args.config:
dput.core.DPUT_CONFIG_LOCATIONS[args.config] = 1
if args.debug:
dput.core._enable_debugging(args.debug)
try:
upload_command(args)
except dput.exceptions.DputConfigurationError as e:
dput.core.logger.critical(str(e))
dput.core.maybe_print_traceback(args.debug, sys.exc_info())
sys.exit(2)
except dput.exceptions.DcutError as e:
dput.core.logger.critical(str(e))
dput.core.maybe_print_traceback(args.debug, sys.exc_info())
sys.exit(3)
except dput.exceptions.HookException as e:
dput.core.logger.critical(str(e))
dput.core.maybe_print_traceback(args.debug, sys.exc_info())
sys.exit(1)
except EnvironmentError as e:
dput.core.logger.critical(str(e))
dput.core.maybe_print_traceback(args.debug, sys.exc_info())
sys.exit(2)
except KeyboardInterrupt:
sys.exit(0)
|