From bd46d3f265c3655e432815df9ab7aa6796a3a76b Mon Sep 17 00:00:00 2001 From: parmentelat Date: Fri, 7 Dec 2018 20:48:58 +0100 Subject: [PATCH] plcsh is a python source file too rpm requirements need to point at python3-* --- plcapi.spec | 41 ++++++++++++++++------------------------- plcsh | 38 +++++++++++++++++++------------------- 2 files changed, 35 insertions(+), 44 deletions(-) diff --git a/plcapi.spec b/plcapi.spec index 5d95e00..48d8ff7 100644 --- a/plcapi.spec +++ b/plcapi.spec @@ -27,33 +27,24 @@ Requires: httpd mod_ssl # Requires: Django Requires: postgresql >= 8.2, postgresql-server >= 8.2 # We use set everywhere -Requires: python >= 2.7 -Requires: postgresql-python -Requires: python-psycopg2 -Requires: python-pycurl +Requires: python3 +Requires: python3-postgresql +Requires: python3-psycopg2 +Requires: python3-pycurl # used in GPG.py as a replacement to PyXML's Canonicalize -Requires: python-lxml -# Fedora had support for SOAPpy up to fedora20 -# https://lists.fedoraproject.org/pipermail/devel/2014-June/199730.html -# https://lists.fedoraproject.org/pipermail/devel/2014-June/200379.html -%if ("%{distro}" == "Fedora" && %{distrorelease} <= 20) || ("%{distro}" != "Fedora") -Requires: SOAPpy -%endif -#Requires: python-simplejson +Requires: python3-lxml +#Requires: python3-simplejson # for the RebootNodeWithPCU method Requires: pcucontrol >= 1.0-6 -# for OMF integration +# for OMF integration - xxx aspects needs porting too Requires: pyaspects >= 0.4 # again, these are no longer available in f29 # Requires: python-twisted-words # Requires: python-twisted-web # ldap -Requires: python-ldap +Requires: python3-ldap # for memcache -Requires: memcached python-memcached -### avoid having yum complain about updates, as stuff is moving around -# plc.d/api -Conflicts: MyPLC <= 4.3 +Requires: memcached python3-memcached #################### # obsolete @@ -91,8 +82,8 @@ through Apache mod_python. # python-pycurl and python-psycopg2 avail. from fedora 5 # we used to ship our own version of psycopg2 and pycurl, for fedora4 # starting with 4.3, support for these two modules is taken out -# -# Build __init__.py metafiles and PHP API. +# +# Build __init__.py metafiles and PHP API. %{__make} %{?_smp_mflags} %{__make} -C wsdl @@ -604,18 +595,18 @@ rm -rf $RPM_BUILD_ROOT * Fri May 09 2008 Thierry Parmentelat - PLCAPI-4.2-7 - no more doc packaged outside of myplc-docs - doc/ cleaned up -- enhancements in doc on filters +- enhancements in doc on filters - bootcd-aware GetBootMedium merged from onelab * Thu May 08 2008 Thierry Parmentelat - PLCAPI-4.2-6 - checkpoint while the new myplc-docs package is underway - bugfix: GetSlivers & conf files -- doc: removed target files +- doc: removed target files * Wed Apr 23 2008 Stephen Soltesz - PLCAPI-4.2-5 - Removed conditions on the persons, site, and nodes indexes. previsouly only - the non-deleted fields were index, resulting in massivly slow queries. -- +- * Wed Mar 26 2008 Thierry Parmentelat - PLCAPI-4.2-3 PLCAPI-4.2-4 - plcsh: better handling of options when running as a shell script @@ -623,7 +614,7 @@ rm -rf $RPM_BUILD_ROOT - tweaks for accepted args in GetPCUTypes and BootNotifyOwners * Thu Feb 14 2008 Thierry Parmentelat - PLCAPI-4.2-2 PLCAPI-4.2-3 -- GetBootMedium support for build.sh full options, incl. serial & console_spec +- GetBootMedium support for build.sh full options, incl. serial & console_spec - GetBootMedium simpler, cleaner and safer use of tmpdirs in (dated from bootcustom.sh) * Fri Feb 01 2008 Thierry Parmentelat - PLCAPI-4.2-1 PLCAPI-4.2-2 @@ -634,7 +625,7 @@ rm -rf $RPM_BUILD_ROOT - plcsh adds its own path to sys.path - fix so GetNodes can be called from a Node -* Fri Oct 27 2006 Mark Huang - +* Fri Oct 27 2006 Mark Huang - - Initial build. %define module_current_branch 4.3 diff --git a/plcsh b/plcsh index 7bc3abe..ef434ac 100755 --- a/plcsh +++ b/plcsh @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python3 # # Interactive shell for testing PLCAPI # @@ -47,7 +47,7 @@ if options.user is not None and options.password is None: try: options.password = getpass() except (EOFError, KeyboardInterrupt): - print + print() sys.exit(0) # Initialize a single global instance (scripts may re-initialize @@ -63,16 +63,16 @@ try: auth = shell.auth api = shell.api config = shell.config -except Exception, err: - print "Error:", err - print +except Exception as err: + print("Error:", err) + print() parser.print_help() sys.exit(1) # If called by a script if args: if not os.path.exists(args[0]): - print 'File %s not found'%args[0] + print('File %s not found'%args[0]) parser.print_help() sys.exit(1) else: @@ -85,32 +85,32 @@ if args: # Add of script to sys.path path = os.path.dirname(os.path.abspath(script)) sys.path.append(path) - execfile(script) + exec(compile(open(script).read(), script, 'exec')) # Otherwise, run an interactive shell environment else: if shell.server is None: - print "PlanetLab Central Direct API Access" + print("PlanetLab Central Direct API Access") prompt = "" elif shell.auth['AuthMethod'] == "anonymous": prompt = "[anonymous]" - print "Connected anonymously" + print("Connected anonymously") elif shell.auth['AuthMethod'] == "session": # XXX No way to tell node and user sessions apart from the # client point of view. prompt = "[%s]" % gethostname() - print "%s connected using session authentication" % gethostname() + print("%s connected using session authentication" % gethostname()) else: prompt = "[%s]" % shell.auth['Username'] - print "%s connected using %s authentication" % \ - (shell.auth['Username'], shell.auth['AuthMethod']) + print("%s connected using %s authentication" % \ + (shell.auth['Username'], shell.auth['AuthMethod'])) # Readline and tab completion support import atexit import readline import rlcompleter - print 'Type "system.listMethods()" or "help(method)" for more information.' + print('Type "system.listMethods()" or "help(method)" for more information.') # Load command history history_path = os.path.join(os.environ["HOME"], ".plcapi_history") try: @@ -133,11 +133,11 @@ else: sep = ">>> " else: sep = "... " - line = raw_input(prompt + sep) + line = input(prompt + sep) # Ctrl-C except KeyboardInterrupt: command = "" - print + print() break # Build up multi-line command @@ -161,13 +161,13 @@ else: # Try evaluating as an expression and printing the result result = eval(command) if result is not None: - print result + print(result) except SyntaxError: # Fall back to executing as a statement - exec command - except Exception, err: + exec(command) + except Exception as err: print_exc() except EOFError: - print + print() pass -- 2.43.0