You're right that, request, urllib3, pyOpenSSL and coreapi dependencies don't make sense from upstream point of view.
However, pyyaml is used in trex generator that's also present in upstream.
I'll be making v2 of this patch.

Thanks,
Jozef.

On Wed, Jun 12, 2019 at 10:56 AM Ondrej Lichtner <olichtne@redhat.com> wrote:
On Tue, Jun 11, 2019 at 12:23:27PM +0200, jurbanov@redhat.com wrote:
> From: Jozef Urbanovsky <jurbanov@redhat.com>
>
> deleted obsolete code, referencing lnst-ctl, recipes, xslt results and
> test tools
> added install_requires with python dependencies
>
> Signed-off-by: Jozef Urbanovsky <jurbanov@redhat.com>
> ---
>  setup.py | 151 +++++++++++++++++--------------------------------------
>  1 file changed, 45 insertions(+), 106 deletions(-)
>
> diff --git a/setup.py b/setup.py
> index 2a6a491..33aacd6 100755
> --- a/setup.py
> +++ b/setup.py
> @@ -1,30 +1,31 @@
>  #!/usr/bin/env python3
> +
>  """
>  Install script for lnst

> -This script will install both lnst controller and slave
> -to your system. To install LNST, execute it as follows:
> +This script will install LNST to your system.
> +To install LNST, execute it as follows:

> -    ./setup.py install
> +    pip3 install .

>  To install lnst to a different root use:

> -    .setup.py install --root=<path>
> +    pip3 install --prefix <path> .

>  """

>  __author__ = """
rpazdera@redhat.com (Radek Pazdera)
> +jurbanov@redhat.com (Jozef Urbanovsky)
>  """

I think we should probably remove these __author__ module attributes
from all our source files, it seems the recommendation to use them was
kind of forgotten as it duplicates information already available
through git source control and I agree.

Doesn't really matter for this patch, just a note for the future.


> -import sys
>  import re
>  import gzip
> -import os
>  from time import gmtime, strftime
>  from setuptools import setup, find_packages
>  from lnst.Common.Version import lnst_version

> +
>  def process_template(template_path, values):
>      template_name_re = "\.in$"
>      if not re.search(template_name_re, template_path):
> @@ -40,6 +41,7 @@ def process_template(template_path, values):
>      f.close()
>      t.close()

> +
>  def gzip_file(path):
>      src = open(path, "rb")
>      dst = gzip.open(path + ".gz", "wb")
> @@ -47,13 +49,12 @@ def gzip_file(path):
>      dst.close()
>      src.close()

> +
>  # Various paths
>  CONF_DIR = "/etc/"
>  BASH_COMP_DIR = CONF_DIR + "bash_completion.d/"
>  MAN_DIR = "/usr/share/man/man1/"

> -CTL_MODULES_LOCATIONS = "/usr/share/lnst/test_modules/"
> -CTL_TOOLS_LOCATIONS = "/usr/share/lnst/test_tools/"
>  CTL_RESOURCE_DIR = "/usr/share/lnst/"
>  CTL_LOGS_DIR = "~/.lnst/logs/"

> @@ -62,26 +63,22 @@ SLAVE_CACHE_DIR = "/var/cache/lnst"

>  # Process templated files
>  TEMPLATES_VALUES = {
> -"conf_dir": CONF_DIR,
> -"man_dir": MAN_DIR,
> +    "conf_dir": CONF_DIR,
> +    "man_dir": MAN_DIR,

> -"ctl_modules_locations": CTL_MODULES_LOCATIONS,
> -"ctl_tools_locations": CTL_TOOLS_LOCATIONS,
> -"ctl_resource_dir": CTL_RESOURCE_DIR,
> -"ctl_logs_dir": CTL_LOGS_DIR,
> +    "ctl_resource_dir": CTL_RESOURCE_DIR,
> +    "ctl_logs_dir": CTL_LOGS_DIR,

> -"slave_logs_dir": SLAVE_LOGS_DIR,
> -"slave_cache_dir": SLAVE_CACHE_DIR,
> +    "slave_logs_dir": SLAVE_LOGS_DIR,
> +    "slave_cache_dir": SLAVE_CACHE_DIR,

> -"date": strftime("%Y-%m-%d", gmtime())
> +    "date": strftime("%Y-%m-%d", gmtime())
>  }

>  TEMPLATES = [
> -"install/lnst-ctl.conf.in",
> -"install/lnst-slave.conf.in",
> -"install/lnst-ctl.1.in",
> -"install/lnst-slave.1.in",
> -"install/lnst-pool-wizard.1.in"
> +    "install/lnst-ctl.conf.in",
> +    "install/lnst-slave.conf.in",
> +    "install/lnst-slave.1.in",
>  ]

>  for template in TEMPLATES:
> @@ -89,12 +86,9 @@ for template in TEMPLATES:
>  # ---

>  # Pack man pages
> -gzip_file("install/lnst-ctl.1")
>  gzip_file("install/lnst-slave.1")
> -gzip_file("install/lnst-pool-wizard.1")
>  # ---

> -
>  LONG_DESC = """LNST

>  Linux Network Stack Test is a tool that supports development and execution
> @@ -104,92 +98,37 @@ For detailed description of the architecture of LNST please refer to
>  project website <https://fedorahosted.org/lnst>.
>  """

> -SCRIPTS = ["lnst-ctl", "lnst-slave", "lnst-pool-wizard"]
> -
> -RECIPE_FILES = []
> -for dirpath, dirnames, files in os.walk("recipes/"):
> -    if len(files) > 0:
> -        RECIPE_FILES.append((CTL_RESOURCE_DIR + dirpath + "/",
> -                             [dirpath + "/" + f for f in files]))
> -
> -TEST_MODULES = [
> -    (CTL_MODULES_LOCATIONS,
> -        ["test_modules/DummyFailing.py",
> -         "test_modules/Icmp6Ping.py",
> -         "test_modules/IcmpPing.py",
> -         "test_modules/Iperf.py",
> -         "test_modules/Multicast.py",
> -         "test_modules/NetCat.py",
> -         "test_modules/Netperf.py",
> -         "test_modules/PacketAssert.py",
> -         "test_modules/PktCounter.py",
> -         "test_modules/PktgenTx.py",
> -         "test_modules/LinkNeg.py",
> -         "test_modules/Custom.py"]
> -    )
> -]
> -
> -MULTICAST_TEST_TOOLS = [
> -    (CTL_TOOLS_LOCATIONS + "multicast",
> -        ["test_tools/multicast/igmp_utils.h",
> -         "test_tools/multicast/lnst-setup.sh",
> -         "test_tools/multicast/Makefile",
> -         "test_tools/multicast/multicast_utils.h",
> -         "test_tools/multicast/parameters_igmp.h",
> -         "test_tools/multicast/parameters_multicast.h",
> -         "test_tools/multicast/README",
> -         "test_tools/multicast/sockopt_utils.h"]),
> -    (CTL_TOOLS_LOCATIONS + "multicast/client",
> -        ["test_tools/multicast/client/send_igmp_query.c",
> -         "test_tools/multicast/client/send_simple.c"]),
> -    (CTL_TOOLS_LOCATIONS + "multicast/offline",
> -        ["test_tools/multicast/offline/max_groups.c",
> -         "test_tools/multicast/offline/sockopt_block_source.c",
> -         "test_tools/multicast/offline/sockopt_if.c",
> -         "test_tools/multicast/offline/sockopt_loop.c",
> -         "test_tools/multicast/offline/sockopt_membership.c",
> -         "test_tools/multicast/offline/sockopt_source_membership.c",
> -         "test_tools/multicast/offline/sockopt_ttl.c"]),
> -    (CTL_TOOLS_LOCATIONS + "multicast/server",
> -        ["test_tools/multicast/server/recv_block_source.c",
> -         "test_tools/multicast/server/recv_membership.c",
> -         "test_tools/multicast/server/recv_simple.c",
> -         "test_tools/multicast/server/recv_source_membership.c"]),
> -    (CTL_TOOLS_LOCATIONS + "tcp_conn",
> -        ["test_tools/tcp_conn/lnst-setup.sh",
> -         "test_tools/tcp_conn/Makefile",
> -         "test_tools/tcp_conn/tcp_connect.c",
> -         "test_tools/tcp_conn/tcp_listen.c"])
> -]
> +SCRIPTS = ["lnst-slave"]

> -MAN_PAGES = [(MAN_DIR, ["install/lnst-ctl.1.gz", "install/lnst-slave.1.gz",
> -                        "install/lnst-pool-wizard.1.gz"])]
> +MAN_PAGES = [(MAN_DIR, ["install/lnst-slave.1.gz"])]

>  CONFIG = [(CONF_DIR, ["install/lnst-ctl.conf", "install/lnst-slave.conf"])]

> -BASH_COMP = [(BASH_COMP_DIR, ["install/lnst-ctl.bash",
> -                              "install/lnst-slave.bash",
> -                              "install/lnst-pool-wizard.bash"])]
> -
> -SCHEMAS = [(CTL_RESOURCE_DIR, ["schema-recipe.rng", "schema-sm.rng"])]
> +BASH_COMP = [(BASH_COMP_DIR, ["install/lnst-slave.bash"])]

> -RESULT_XSLT_DATA = [(CTL_RESOURCE_DIR + "result_xslt/",
> -                     ["result_xslt/" + f for f in os.listdir("result_xslt")])]
> +SCHEMAS = [(CTL_RESOURCE_DIR, ["schema-sm.rng"])]

> -DATA_FILES = CONFIG + TEST_MODULES + MULTICAST_TEST_TOOLS + MAN_PAGES + \
> -             SCHEMAS + BASH_COMP + RECIPE_FILES + RESULT_XSLT_DATA
> +DATA_FILES = CONFIG + MAN_PAGES + SCHEMAS + BASH_COMP

>  setup(name="lnst",
> -    version=lnst_version.version,
> -    description="Linux Network Stack Test",
> -    author="LNST Team",
> -    author_email="lnst-developers@lists.fedorahosted.org",
> -    maintainer="Jiri Pirko",
> -    maintainer_email="jiri@resnulli.us",
> -    url="http://lnst-project.org",
> -    long_description=LONG_DESC,
> -    platforms=["linux"],
> -    license=["GNU GPLv2"],
> -    packages=find_packages(),
> -    scripts=SCRIPTS,
> -    data_files=DATA_FILES)
> +      version=lnst_version.version,
> +      description="Linux Network Stack Test",
> +      author="LNST Team",
> +      author_email="lnst-developers@lists.fedorahosted.org",
> +      maintainer="Ondrej Lichtner",
> +      maintainer_email="olichtne@redhat.com",
> +      url="http://lnst-project.org",
> +      long_description=LONG_DESC,
> +      platforms=["linux"],
> +      license=["GNU GPLv2"],
> +      packages=find_packages(),
> +      install_requires=['pyyaml',
> +                        'lxml',
> +                        'requests',
> +                        'urllib3',
> +                        'pyroute2',
> +                        'pyOpenSSL',
> +                        'coreapi',
> +                        'libvirt-python'],

hmmm the pyyaml, requests, urllib3, pyOpenSSL, coreapi aren't really
dependencies of lnst are they? They're used in our internal extension
code that interfaces with a result database, but if they're not actually
used by the upstream code, I'm not sure we want to include them here.

> +      scripts=SCRIPTS,
> +      data_files=DATA_FILES)
> --
> 2.21.0
> _______________________________________________
> LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org
> To unsubscribe send an email to lnst-developers-leave@lists.fedorahosted.org
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahosted.org

Other than the install_requires note, the patch looks ok I think so
depending on whether or not they're actually requirements I'll accept
this.

-Ondrej