Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
elif '--debugpb' in argst:
DS.debugmode()
argst.remove("--debugpb")
sys.argv.remove("--debugpb")
log.info('*** PBwrapper v{0} (PKGBUILDer '
'{1})'.format(__wrapperversion__, __version__))
if (('-L' in argst) or ('--unlock' in argst) or (re.search('-[a-zA-Z]*L',
' '.join(argst))
is not None)):
try:
os.remove('/var/lib/pacman/db.lck')
exit(0)
except OSError as e:
DS.fancy_error('[-L --unlock] ' + e.strerror)
exit(1)
if (('-S' in argst) or ('--sync' in argst) or (re.search('-[a-zA-Z]*S',
' '.join(argst))
is not None)):
# The user has requested -S.
# -l/--list is in not in *a because it takes over the whole package
# list, and that is a workaround.
log.debug('Got -S, preparing to parse arguments...')
pacmanshort = ['f', 'g', 'l', 'p', 'q']
pacmanlong = ['asdeps', 'asexplicit', 'dbonly', 'downloadonly',
'groups', 'list', 'needed', 'nodeps',
'noprogressbar', 'noscriptlet', 'print', 'quiet',
'verbose', 'files', 'disable-download-timeout']
pacmanshorta = ['b', 'r']
pacmanlonga = ['arch', 'cachedir', 'config', 'dbpath', 'gpgdir',
DS.cleanup = args.cleanup
pkgnames = args.pkgnames
if args.aur4:
pkgbuilder.aur.AUR.base = 'https://aur4.archlinux.org'
if args.debug:
DS.debugmode(nochange=True)
DS.log.info('*** PKGBUILDer v{0}'.format(__version__))
DS.log.debug('*** debug output on.')
DS.log.info('Arguments parsed. {0}'.format(args.__dict__))
if 'VIRTUAL_ENV' in os.environ:
DS.log.error("virtualenv detected, exiting.")
DS.fancy_error(_("PKGBUILDer cannot work in a virtualenv, "
"exiting."))
exit(83)
if not args.color:
DS.colorsoff()
DS.log.debug('Colors turned off.')
if args.info:
DS.log.debug('Showing info...')
pkgs = pkgbuilder.utils.info(pkgnames)
foundnames = [i.name for i in pkgs]
if pkgs:
pkgbuilder.utils.print_package_info(pkgs)
qs = 0
else:
if args.validate and tovalidate:
qs = pkgbuilder.build.validate(tovalidate)
if quit:
DS.log.info('Quitting peacefully.')
exit(qs)
except NetworkError as e:
DS.fancy_error(str(e))
# TRANSLATORS: do not translate the word 'requests'.
DS.fancy_error(_('PKGBUILDer (or the requests library) had '
'problems with fulfilling an HTTP request.'))
if e.exit:
exit(1)
except PBException as e:
DS.fancy_error(str(e))
if e.exit:
exit(1)
DS.log.info('Quitting peacefully.')
args.colors, args.nocolors)
DS.edit_pkgbuild = DS.get_setting('--edit-pkgbuild', 'options', 'edit_pkgbuild',
args.edit_pkgbuild, args.noedit_pkgbuild)
pkgnames = args.pkgnames
if DS.get_setting('--debug', 'options', 'debug',
args.debug, args.nodebug):
DS.debugmode(nochange=True)
DS.log.info('*** PKGBUILDer v{0}'.format(__version__))
DS.log.debug('*** debug output on.')
DS.log.info('Arguments parsed. {0}'.format(args.__dict__))
if 'VIRTUAL_ENV' in os.environ:
DS.log.error("virtualenv detected, exiting.")
DS.fancy_error(_("PKGBUILDer cannot work in a virtualenv, "
"exiting."))
exit(83)
if not DS.colors_status:
DS.colorsoff()
DS.log.debug('Colors turned off.')
if args.info:
DS.log.debug('Showing info...')
pkgs = pkgbuilder.utils.info(pkgnames)
foundnames = [i.name for i in pkgs]
if pkgs:
pkgbuilder.utils.print_package_info(pkgs)
qs = 0
elif not pkgnames:
delete=True)
tx.run(standalone=False, validate=DS.validation)
qs = tx.exitcode
if quit:
DS.log.info('Quitting peacefully.')
exit(qs)
except NetworkError as e:
DS.fancy_error(str(e))
# TRANSLATORS: do not translate the word 'requests'.
DS.fancy_error(_('PKGBUILDer (or the requests library) had '
'problems with fulfilling an HTTP request.'))
if e.exit:
exit(1)
except PBException as e:
DS.fancy_error(str(e))
if e.exit:
exit(1)
except KeyboardInterrupt:
pkgbuilder.DS.fancy_error(pkgbuilder.DS.inttext)
exit(130)
DS.log.info('Quitting peacefully.')
pkgnames=tovalidate,
pkgpaths=toinstall,
sigpaths=sigs,
asdeps=False,
filename=pkgbuilder.transaction.generate_filename(),
delete=True)
tx.run(standalone=False, validate=DS.validation)
qs = tx.exitcode
if quit:
DS.log.info('Quitting peacefully.')
exit(qs)
except NetworkError as e:
DS.fancy_error(str(e))
# TRANSLATORS: do not translate the word 'requests'.
DS.fancy_error(_('PKGBUILDer (or the requests library) had '
'problems with fulfilling an HTTP request.'))
if e.exit:
exit(1)
except PBException as e:
DS.fancy_error(str(e))
if e.exit:
exit(1)
except KeyboardInterrupt:
pkgbuilder.DS.fancy_error(pkgbuilder.DS.inttext)
exit(130)
DS.log.info('Quitting peacefully.')
"found").format(i))
qs = 1
if quit:
exit(qs)
if args.search:
if not pkgnames:
if quit:
exit(1)
else:
DS.log.debug('Searching...')
searchstring = '+'.join(pkgnames)
if len(searchstring) < 2:
# this would be too many entries, but this is an actual API
# limitation and not an idea of yours truly.
DS.fancy_error(_('Search query too short'))
DS.fancy_msg(_('Searching for exact match...'))
search = pkgbuilder.utils.info([searchstring])
if search == []:
DS.fancy_error2(_('not found'))
if quit:
exit(0)
else:
pkgbuilder.utils.print_package_search(
search[0], prefix=(DS.colors['blue'] + ' ->' +
DS.colors['all_off'] +
DS.colors['bold'] + ' '),
prefixp=' -> ')
sys.stdout.write(DS.colors['all_off'])
if quit:
exit(0)
else:
def _print_txfail(self, stage, quiet):
"""Print transaction failure message."""
if not quiet:
DS.log.error("Transaction {0!r} failed (stage {1})".format(
self, stage))
if self.pacmanreturn == 0 and self.invalid > 0:
# special case: retrying the transaction is not helpful, as it
# won't help fix the validation status. The user should
# investigate by reading the build logs and acting accordingly.
DS.fancy_error(_("Some packages failed to build."))
else:
DS.fancy_error(_("Transaction failed!"))
if self.filename:
c = 'c' if self.delete else ''
DS.fancy_error2(_("To retry, run:"))
DS.fancy_error2("pkgbuilder -X{c} {fn}".format(
c=c, fn=self.filename))