Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
executable file 68 lines (58 sloc) 2.3 KB
#!/usr/bin/env python
import sys, os, shutil
import subprocess
import argparse
from stdeb.downloader import myprint, get_source_tarball
import tempfile
def main():
parser = argparse.ArgumentParser(usage='%(prog)s PACKAGE_NAME [options] [py2dsc-deb options]')
parser.add_argument('--verbose', type=int,
help='verbosity level',
default=0)
parser.add_argument('--release', type=str,
help='specify a particular release',
default=None)
parser.add_argument('--keep', action='store_true',
default=False,
help='do not remove temporary files')
parser.add_argument('--allow-unsafe-download', action='store_true',
default=False,
help='allow unsafe downloads')
(options, args) = parser.parse_known_args()
if os.geteuid() != 0:
myprint('%s must be run as root'%os.path.basename(sys.argv[0]),file=sys.stderr)
sys.exit(1)
if len(args) < 1:
myprint('need exactly one PACKAGE_NAME',file=sys.stderr)
parser.print_help()
sys.exit(1)
package_name = args[0]
py2dsc_args = args[1:]
if package_name.startswith('-'):
myprint('PACKAGE_NAME must be first argument',file=sys.stderr)
parser.print_help()
sys.exit(1)
orig_dir = os.path.abspath( os.curdir )
tmpdir = os.path.abspath(tempfile.mkdtemp())
try:
if options.verbose >= 2:
myprint('downloading to %s'%tmpdir)
os.chdir( tmpdir )
tarball_fname = get_source_tarball(package_name,verbose=options.verbose,
release=options.release,
allow_unsafe_download=options.allow_unsafe_download)
cmd = ' '.join(['py2dsc-deb'] + py2dsc_args + [tarball_fname])
if options.verbose >= 2:
myprint('executing: %s'%cmd)
subprocess.check_call(cmd, shell=True)
os.chdir( 'deb_dist' )
cmd = 'dpkg -i *.deb'
if options.verbose >= 2:
myprint('executing: %s'%cmd)
subprocess.check_call(cmd, shell=True)
finally:
os.chdir( orig_dir )
if not options.keep:
shutil.rmtree(tmpdir)
if __name__=='__main__':
main()
Jump to Line
Something went wrong with that request. Please try again.