2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-30 22:05:19 +00:00
Commit Graph

5 Commits

Author SHA1 Message Date
Frode Nordahl
4ce47bbccf debian: Move ovs-flowviz to openvswitch-common.
The ovs-flowviz executable Python script is expected to be
executed by the end user.

Surveying where current executable binaries are installed for the
package, the placement of ovs-flowviz in python3-openvswitch
is unexpected to me, other client binaries are shipped inside the
openvswitch-common package.

To me, the python3-openvswitch package represents a library
dependency, which you would install to get the Python ovs module
for your Python application to consume.

This is also the current choice of placement for the downstream
Debian / Ubuntu package [0].

Consequently this patch proposes to move ovs-flowviz and its
manual page to openvswitch-common.

The Python dependencies are added as recommended dependencies,
which will retain good interactive UX, and at the same time allow
non-interactive users to opt out.

0: 353e3d71cc
Signed-off-by: Frode Nordahl <fnordahl@ubuntu.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
2025-01-14 17:44:41 +01:00
Frode Nordahl
e4193663af debian: Use pybuild to handle OVS Python module.
At present, the OVS Python module is built and installed after
`dh_install`.  This was done to ensure proper linking of the
_json Python extension.

A side effect of this approach is that .install files unexpectedly
do not work, and consequently placement of Python executables
become cumbersome and non-standard.

The preferred approach to this is to make use of pybuild.  In
addition to solving the .install file problem, it also takes care
of building extensions for every requested/supported Python
version, without the need for retrieving and looping over versions
in debian/rules.

We still can't use fully standard Python handling, as we have
interdependencies between C and Python parts of the code base to
build the Python JSON extension.

Signed-off-by: Frode Nordahl <fnordahl@ubuntu.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
2025-01-14 17:43:57 +01:00
Ilya Maximets
19ee88ef0f debian, rhel: Move ovs-flowviz and the man page to appropriate places.
ovs-flowviz script should be shipped in bindir in fedora and the
man pages should be shipped in the same python3-openvswitch package
for both debian and fedora.

Acked-by: Eelco Chaudron <echaudro@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
2024-10-25 21:36:12 +02:00
Frode Nordahl
02428f7151 debian: Archive debian packaging source.
The packaging source in the OVS repository has drifted away from
what is currently in Debian and Ubuntu.  This state is problematic
because from time to time someone tries to build packages from the
upstream OVS debian package source and then expect that package to
work with up-/down-grades from-/to/ distro versions.

To support the on-going work to remove the out of tree OVS kernel
driver from the repository [0], an update to the debian packaging
is also required.  On the back of the discussion in [0] we agreed
that replacing the current version with what Debian and Ubuntu
is currently converging on would be preferable.

This commit is a first in a series to update the upstream OVS
debian packaging source to be up to date with what is currently
in Debian and Ubuntu.

0: https://mail.openvswitch.org/pipermail/ovs-dev/2022-June/394634.html

Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
2022-07-15 13:43:39 +02:00
Ben Pfaff
1ca0323e7c Require Python 3 and remove support for Python 2.
Python 2 reaches end-of-life on January 1, 2020, which is only
a few months away.  This means that OVS needs to stop depending
on in the next release that should occur roughly that same time.
Therefore, this commit removes all support for Python 2.  It
also makes Python 3 a mandatory build dependency.

Some of the interesting consequences:

- HAVE_PYTHON, HAVE_PYTHON2, and HAVE_PYTHON3 conditionals have
  been removed, since we now know that Python3 is available.

- $PYTHON and $PYTHON2 are removed, and $PYTHON3 is always
  available.

- Many tests for Python 2 support have been removed, and the ones
  that depended on Python 3 now run unconditionally.  This allowed
  several macros in the testsuite to be removed, making the code
  clearer.  This does make some of the changes to the testsuite
  files large due to indentation level changes.

- #! lines for Python now use /usr/bin/python3 instead of
  /usr/bin/python.

- Packaging depends on Python 3 packages.

Acked-by: Numan Siddique <nusiddiq@redhat.com>
Tested-by: Numan Siddique <nusiddiq@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
2019-09-27 09:23:50 -07:00