From: Yasufumi Ogawa <yasufum.o@gmail.com>
To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com
Subject: [spp] [PATCH 27/29] tools/sppc: python3 support for sppc build tool
Date: Tue, 25 Feb 2020 19:34:44 +0900 [thread overview]
Message-ID: <20200225103446.8243-28-yasufum.o@gmail.com> (raw)
In-Reply-To: <20200225103446.8243-1-yasufum.o@gmail.com>
Although python2 support was dropped in SPP itself, it is still
remained in SPP container tools. This update is to make the tools run
with python3.
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
---
tools/sppc/build/main.py | 81 +++++++++++++++++++++-------------------
1 file changed, 43 insertions(+), 38 deletions(-)
diff --git a/tools/sppc/build/main.py b/tools/sppc/build/main.py
index 023ec82..c0d02d2 100755
--- a/tools/sppc/build/main.py
+++ b/tools/sppc/build/main.py
@@ -1,8 +1,7 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Nippon Telegraph and Telephone Corporation
-from __future__ import absolute_import
import argparse
import os
import subprocess
@@ -86,22 +85,22 @@ def parse_args():
def create_env_sh(dst_dir, rte_sdk, target, target_dir):
- """Create config file for DPDK environment variables
+ """Create config file for DPDK environment variables.
Create 'env.sh' which defines $RTE_SDK and $RTE_TARGET inside a
container to be referredd from 'run.sh' and Dockerfile.
"""
- contents = "export RTE_SDK=%s\n" % rte_sdk
- contents += "export RTE_TARGET=%s\n" % env.RTE_TARGET
+ contents = "export RTE_SDK={:s}\n".format(rte_sdk)
+ contents += "export RTE_TARGET={:s}\n".format(env.RTE_TARGET)
if target == 'pktgen':
- contents += "export PKTGEN_DIR=%s" % target_dir
+ contents += "export PKTGEN_DIR={:s}".format(target_dir)
elif target == 'spp':
- contents += "export SPP_DIR=%s" % target_dir
+ contents += "export SPP_DIR={:s}".format(target_dir)
elif target == 'suricata':
- contents += "export SURICATA_DIR=%s" % target_dir
+ contents += "export SURICATA_DIR={:s}".format(target_dir)
try:
- f = open('%s/env.sh' % dst_dir, 'w')
+ f = open('{:s}/env.sh'.format(dst_dir), 'w')
f.write(contents)
f.close()
except IOError:
@@ -112,7 +111,7 @@ def main():
args = parse_args()
if args.target is not None:
- dockerfile_dir = '%s/%s/%s' % ( # Dockerfile is contained here
+ dockerfile_dir = '{:s}/{:s}/{:s}'.format( # Dockerfile is here
work_dir, args.dist_name, args.target)
# Container image name, for exp 'sppc/dpdk-ubuntu:18.04'
container_image = common.container_img_name(
@@ -124,7 +123,7 @@ def main():
exit()
# Decide which of Dockerfile with given base image version
- dockerfile = '%s/Dockerfile.%s' % (dockerfile_dir, args.dist_ver)
+ dockerfile = '{:s}/Dockerfile.{:s}'.format(dockerfile_dir, args.dist_ver)
# Overwrite container's name if it is given.
if args.container_image is not None:
@@ -132,22 +131,22 @@ def main():
# Setup branches if user specifies.
if args.dpdk_branch is not None:
- dpdk_branch = "-b %s" % args.dpdk_branch
+ dpdk_branch = "-b {:s}".format(args.dpdk_branch)
else:
dpdk_branch = ''
if args.pktgen_branch is not None:
- pktgen_branch = "-b %s" % args.pktgen_branch
+ pktgen_branch = "-b {:s}".format(args.pktgen_branch)
else:
pktgen_branch = ''
if args.spp_branch is not None:
- spp_branch = "-b %s" % args.spp_branch
+ spp_branch = "-b {:s}".format(args.spp_branch)
else:
spp_branch = ''
if args.suricata_branch is not None:
- suricata_branch = "-b %s" % args.suricata_branch
+ suricata_branch = "-b {:s}".format(args.suricata_branch)
else:
suricata_branch = ''
@@ -160,11 +159,11 @@ def main():
# NOTE: Suricata has sub-directory as project root.
suricata_ver = '4.1.4'
- suricata_dir = '{}/suricata-{}'.format(
+ suricata_dir = '{:s}/suricata-{:s}'.format(
args.suricata_repo.split('/')[-1].split('.')[0], suricata_ver)
# RTE_SDK is decided with DPDK's dir.
- rte_sdk = '%s/%s' % (env.HOMEDIR, dpdk_dir)
+ rte_sdk = '{:s}/{:s}'.format(env.HOMEDIR, dpdk_dir)
# Check for just creating env.sh, or run docker build.
if args.only_envsh is True:
@@ -174,13 +173,14 @@ def main():
elif args.target == 'spp':
create_env_sh(dockerfile_dir, rte_sdk, args.target, spp_dir)
elif args.target == 'suricata':
- create_env_sh(dockerfile_dir, rte_sdk, args.target, suricata_dir)
+ create_env_sh(dockerfile_dir, rte_sdk, args.target,
+ suricata_dir)
elif args.target == 'dpdk':
create_env_sh(dockerfile_dir, rte_sdk, args.target, dpdk_dir)
- print("Info: '%s/env.sh' created." % dockerfile_dir)
+ print("Info: '{:s}/env.sh' created.".format(dockerfile_dir))
exit()
else:
- print("Info: Nothin done because you gave %s with %s." % (
+ print("Info: Nothin done because you gave {:s} with {:s}.".format(
'--only-envsh', '--dry-run'))
exit()
else:
@@ -205,35 +205,40 @@ def main():
for opt in env_opts:
if opt in os.environ.keys():
docker_cmd += [
- '--build-arg', '%s=%s' % (opt, os.environ[opt]), '\\']
+ '--build-arg', '{:s}={:s}'.
+ format(opt, os.environ[opt]), '\\']
docker_cmd += [
- '--build-arg', 'home_dir=%s' % env.HOMEDIR, '\\',
- '--build-arg', 'rte_sdk=%s' % rte_sdk, '\\',
- '--build-arg', 'rte_target=%s' % env.RTE_TARGET, '\\',
- '--build-arg', 'dpdk_repo=%s' % args.dpdk_repo, '\\',
- '--build-arg', 'dpdk_branch=%s' % dpdk_branch, '\\']
+ '--build-arg', 'home_dir={:s}'.format(env.HOMEDIR), '\\',
+ '--build-arg', 'rte_sdk={:s}'.format(rte_sdk), '\\',
+ '--build-arg', 'rte_target={:s}'.format(env.RTE_TARGET), '\\',
+ '--build-arg', 'dpdk_repo={:s}'.format(args.dpdk_repo), '\\',
+ '--build-arg', 'dpdk_branch={:s}'.format(dpdk_branch), '\\']
if args.target == 'pktgen':
docker_cmd += [
- '--build-arg', 'pktgen_repo=%s' % args.pktgen_repo, '\\',
- '--build-arg', 'pktgen_branch=%s' % pktgen_branch, '\\',
- '--build-arg', 'pktgen_dir=%s' % pktgen_dir, '\\']
+ '--build-arg', 'pktgen_repo={:s}'.format(
+ args.pktgen_repo), '\\',
+ '--build-arg', 'pktgen_branch={:s}'.format(
+ pktgen_branch), '\\',
+ '--build-arg', 'pktgen_dir={:s}'.format(pktgen_dir), '\\']
elif args.target == 'spp':
docker_cmd += [
- '--build-arg', 'spp_repo=%s' % args.spp_repo, '\\',
- '--build-arg', 'spp_branch=%s' % spp_branch, '\\',
- '--build-arg', 'spp_dir=%s' % spp_dir, '\\']
+ '--build-arg', 'spp_repo={:s}'.format(args.spp_repo), '\\',
+ '--build-arg', 'spp_branch={:s}'.format(spp_branch), '\\',
+ '--build-arg', 'spp_dir={:s}'.format(spp_dir), '\\']
elif args.target == 'suricata':
docker_cmd += [
- '--build-arg', 'suricata_repo=%s' % args.suricata_repo, '\\',
- '--build-arg', 'suricata_branch=%s' % suricata_branch, '\\',
- '--build-arg', 'suricata_dir=%s' % suricata_dir, '\\']
+ '--build-arg', 'suricata_repo={:s}'.format(
+ args.suricata_repo), '\\',
+ '--build-arg', 'suricata_branch={:s}'.format(
+ suricata_branch), '\\',
+ '--build-arg', 'suricata_dir={:s}'.format(suricata_dir), '\\']
docker_cmd += [
- '-f', '%s' % dockerfile, '\\',
- '-t', container_image, '\\',
- dockerfile_dir]
+ '-f', '{:s}'.format(dockerfile), '\\',
+ '-t', container_image, '\\',
+ dockerfile_dir]
common.print_pretty_commands(docker_cmd)
--
2.17.1
next prev parent reply other threads:[~2020-02-25 10:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-25 10:34 [spp] [PATCH 00/29] Update SPP Container tools Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 01/29] tools/sppc: update options for assigning devices Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 02/29] tools/sppc: update dev options of l2fwd Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 03/29] tools/sppc: add container name option Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 04/29] tools/sppc: update l2fwd app for " Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 05/29] tools/sppc: update dev options of l3fwd Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 06/29] tools/sppc: update dev options of l3fwd-acl Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 07/29] tools/sppc: update dev options of testpmd Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 08/29] tools/sppc: update dev options of pktgen Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 09/29] tools/sppc: update dev options of load-balancer Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 10/29] tools/sppc: version checker for container DPDK ver Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 11/29] tools/sppc: check DPDK ver in load-balancer Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 12/29] tools/sppc: setup spp_pri opts in app_helper Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 13/29] tools/sppc: define file prefix for SPP Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 14/29] tools/sppc: update dev options of spp_primary Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 15/29] tools/sppc: setup with docker opts in SPP pri Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 16/29] tools/sppc: update calling setup_docker_opts() Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 17/29] tools/sppc: update dev options of helloworld Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 18/29] tools/sppc: update dev options of suricata Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 19/29] tools/sppc: update dev options of spp_nfv Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 20/29] tools/sppc: change to gen EAL opts with app name Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 21/29] tools/sppc: remove nouse variable Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 22/29] bin: remove sock files created by docker Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 23/29] tools/sppc: skip checking rule file if dry run Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 24/29] docs: revise examples in sppc Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 25/29] docs: update versions in " Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 26/29] docs: update old example in spp_primary container Yasufumi Ogawa
2020-02-25 10:34 ` Yasufumi Ogawa [this message]
2020-02-25 10:34 ` [spp] [PATCH 28/29] docs: update app container help msg Yasufumi Ogawa
2020-02-25 10:34 ` [spp] [PATCH 29/29] docs: update howto define app container guide Yasufumi Ogawa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200225103446.8243-28-yasufum.o@gmail.com \
--to=yasufum.o@gmail.com \
--cc=ferruh.yigit@intel.com \
--cc=spp@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).