On Fri, Jul 1, 2022 at 4:09 PM Ilya Maximets <[email protected]> wrote:
>
> On 6/29/22 15:52, Frode Nordahl wrote:
> > * Update upstream OVS debian packaging to be on par with package
> > source in Debian/Ubuntu:
> > - Provide a openvswitch-switch-dpdk package that integrates with
> > the dpdk package in the distributions so that end users can opt
> > into a DPDK-enabled Open vSwitch binary.
> > - Provide systemd service files.
> > - Provide openvswitch-source package for reproducible integrated
> > build of for example OVN.
> > - Stop building shared library and subsequently remove
> > libopenvswitch and libopenvswitch-dev binary packages.
> >
> > Co-authored-by: Luca Boccassi <[email protected]>
> > Co-authored-by: Christian Ehrhardt <[email protected]>
> > Co-authored-by: James Page <[email protected]>
> > Co-authored-by: Corey Bryant <[email protected]>
> > Signed-off-by: Frode Nordahl <[email protected]>
> > ---
>
> Hi. I didn't thoroughly read the whole thing, but I left
> a few comments for a few things I spotted. See inline.
>
> Best regards, Ilya Maximets.
>
> <snip>
>
> > +$(srcdir)/debian/copyright: AUTHORS.rst debian/copyright.in
> > + $(AM_V_GEN) \
> > + { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \
> > + sed '34,/^$$/d' $(srcdir)/AUTHORS.rst |
> > \
> > + sed -n -e '/^$$/q' -e 's/^/ /p'; \
> > + sed -e '34,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \
> > + } > $@
>
>
> It's not a problem of a current patch, but the build target above
> doesn't work as expected. The 'copyright' file after these
> manipulations is a mess.
> Upstream commit 3deca69b08f2 ("doc: Convert AUTHORS to rST") broke it.
>
> Should be fixed in Ubuntu/Debian as well or is it just a problem of
> OVS upstream?
Thank you for pointing this out. I'll extend the series with a patch
to fix this issue as well as forwarding it to debian/ubuntu.
> > +Package: openvswitch-test
> > +Architecture: all
> > +Depends:
> > + python3-twisted,
> > + ${misc:Depends},
> > + ${python3:Depends},
> > +Breaks:
> > + python3-openvswitch (<<2.17.2-1),
> > + openvswitch-common (<<2.17.2-1),
> > +Replaces:
> > + python3-openvswitch (<<2.17.2-1),
> > + openvswitch-common (<<2.17.2-1),
>
> Here it says 2.17.2-1. It might not make a lot of sense for
> upstream, especially when Ubuntu/Debian will release a new minor
> version, this check will become obsolete, IIUC. In any case,
> I'm not sure how to correctly maintain that. What do you think?
These will be updated to 2.17~ in the next iteration of the patch. The
Breaks and Replaces fields are added now as a one-off due to the new
package source moving files between packages etc. It helps the
packaging system (apt) in handling the upgrade. They do not need to be
maintained per version moving forward, they will only be updated if we
move files between packages or make breaking changes again in the
future. Some more details on this page:
https://wiki.debian.org/PackageTransition
Since there will be no maintenance required for these fields tied to
the upstream version cadence, are you ok with it?
> > +Description: Open vSwitch test package
> > + Open vSwitch is a production quality, multilayer, software-based,
> > + Ethernet virtual switch. It is designed to enable massive network
> > + automation through programmatic extension, while still supporting
> > + standard management interfaces and protocols (e.g. NetFlow, IPFIX,
> > + sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
> > + to support distribution across multiple physical servers similar to
> > + VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
> > + .
> > + This package contains utilities that are useful to diagnose
> > + performance and connectivity issues in Open vSwitch setup.
> > +
> > +Package: openvswitch-testcontroller
> > +Architecture: linux-any
> > +Breaks:
> > + openvswitch-common (<<2.17.2-1),
> > +Replaces:
> > + openvswitch-common (<<2.17.2-1),
> > +Depends:
> > + openvswitch-common (= ${binary:Version}),
> > + openvswitch-pki (= ${source:Version}),
> > + ${misc:Depends},
> > + ${shlibs:Depends},
> > +Description: Simple controller for testing OpenFlow setups
> > + This controller enables OpenFlow switches that connect to it to act
> > + as MAC-learning Ethernet switches. It can be used for initial
> > + testing of OpenFlow networks. It is not a necessary or desirable
> > + part of a production OpenFlow deployment.
> > +
> > +Package: openvswitch-vtep
> > +Architecture: linux-any
> > +Depends:
> > + lsb-release,
> > + openvswitch-common (>= ${binary:Version}),
> > + openvswitch-switch (>= ${binary:Version}),
> > + python3-openvswitch (>= ${source:Version}),
> > + ${misc:Depends},
> > + ${python3:Depends},
> > + ${shlibs:Depends},
> > +Description: Open vSwitch VTEP utilities
> > + Open vSwitch is a production quality, multilayer, software-based, Ethernet
> > + virtual switch. It is designed to enable massive network automation
> > through
> > + programmatic extension, while still supporting standard management
> > interfaces
> > + and protocols (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In
> > + addition, it is designed to support distribution across multiple physical
> > + servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus
> > + 1000V.
> > + .
> > + This package provides utilities that are useful to interact with a
> > + VTEP-configured database and a VTEP emulator.
> > +
> > +Package: python3-openvswitch
> > +Architecture: all
> > +Section: python
> > +Depends:
> > + python3-six,
> > + ${misc:Depends},
> > + ${python3:Depends},
> > +Description: Python 3 bindings for Open vSwitch
> > + Open vSwitch is a production quality, multilayer, software-based,
> > + Ethernet virtual switch. It is designed to enable massive network
> > + automation through programmatic extension, while still supporting
> > + standard management interfaces and protocols (e.g. NetFlow, IPFIX,
> > + sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed
> > + to support distribution across multiple physical servers similar to
> > + VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
> > + .
> > + This package contains the full Python 3 bindings for Open vSwitch
> > + database.
> > diff --git a/debian/copyright.in b/debian/copyright.in
> > new file mode 100644
> > index 000000000..bfac3c667
> > --- /dev/null
> > +++ b/debian/copyright.in
> > @@ -0,0 +1,658 @@
> > +The original sources for this package can be found at:
> > +
> > + http://openvswitch.org/
> > +
> > +Upstream Authors (from AUTHORS):
> > +
> > +%AUTHORS%
> > +
> > +Upstream Copyright Holders:
> > +
> > + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
> > + Copyright (c) 2010 Jean Tourrilhes - HP-Labs.
> > + Copyright (c) 2008,2009,2010 Citrix Systems, Inc.
> > + and authors listed above.
> > + Copyright (c) 2011 Gaetano Catalli
> > + Copyright (C) 2000-2003 Geoffrey Wossum ([email protected])
> > + Copyright (C) 2000 The NetBSD Foundation, Inc.
> > + Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
> > + Copyright (c) 1982, 1986, 1990, 1993 The Regents of the University of
> > California.
> > + Copyright (c) 2008, 2012 Vincent Bernat <[email protected]>
> > + Copyright (c) 2014 Michael Chapman
> > + Copyright (c) 2014 WindRiver, Inc.
> > + Copyright (c) 2014 Avaya, Inc.
>
> This part is outdated. The list was updated a few years ago in
> commit 9e9b4f5bb682 ("debian: Update list of copyright holders.").
> It was done to resolve a Debian bug:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942056
Thank you for pointing this out, the next iteration of the patch will
contain a copyright.in file based on
https://salsa.debian.org/openstack-team/third-party/openvswitch/-/blob/126e49044d610f02b121cb7022820623805bb9a8/debian/copyright
which appears to be the most correct/up to date version of this file.
> > diff --git a/debian/openvswitch-common.install
> > b/debian/openvswitch-common.install
> > new file mode 100644
> > index 000000000..a26121cdd
> > --- /dev/null
> > +++ b/debian/openvswitch-common.install
> > @@ -0,0 +1,27 @@
> > +etc/bash_completion.d/ovs-appctl-bashcomp.bash
> > usr/share/bash-completion/completions
> > +usr/bin/ovs-appctl
> > +usr/bin/ovs-docker
> > +usr/bin/ovs-ofctl
> > +usr/bin/ovs-parse-backtrace
> > +usr/bin/ovs-pki
> > +usr/bin/ovsdb-client
> > +usr/bin/ovsdb-tool
> > +usr/sbin/ovs-bugtool
> > +usr/sbin/ovsdb-server
> > +usr/share/man/man1/ovsdb-client.1
> > +usr/share/man/man1/ovsdb-server.1
> > +usr/share/man/man1/ovsdb-tool.1
> > +usr/share/man/man5/ovsdb-server.5
> > +usr/share/man/man5/ovsdb.5
> > +usr/share/man/man7/ovs-actions.7
> > +usr/share/man/man7/ovs-fields.7
> > +usr/share/man/man7/ovsdb-server.7
> > +usr/share/man/man7/ovsdb.7
> > +usr/share/man/man8/ovs-appctl.8
> > +usr/share/man/man8/ovs-bugtool.8
> > +usr/share/man/man8/ovs-ofctl.8
> > +usr/share/man/man8/ovs-parse-backtrace.8
> > +usr/share/man/man8/ovs-pki.8
> > +usr/share/openvswitch/bugtool-plugins
> > +usr/share/openvswitch/scripts/ovs-bugtool-*
> > +usr/share/openvswitch/scripts/ovs-lib
>
> This list will need a small update due to a recent commit:
>
> 6f24c2bc769a ("ovsdb: Add Local_Config schema.")
Ack, thx!
> > diff --git a/debian/openvswitch-switch.install
> > b/debian/openvswitch-switch.install
> > new file mode 100644
> > index 000000000..bd0b261a0
> > --- /dev/null
> > +++ b/debian/openvswitch-switch.install
> > @@ -0,0 +1,27 @@
> > +debian/ifupdown.sh usr/share/openvswitch/scripts
> > +debian/ovs-systemd-reload /usr/share/openvswitch/scripts
> > +etc/bash_completion.d/ovs-vsctl-bashcomp.bash
> > usr/share/bash-completion/completions
> > +usr/bin/ovs-dpctl
> > +usr/bin/ovs-dpctl-top
> > +usr/bin/ovs-pcap
> > +usr/bin/ovs-tcpdump
> > +usr/bin/ovs-tcpundump
> > +usr/bin/ovs-vlan-test
> > +usr/bin/ovs-vsctl
> > +usr/sbin/ovs-vswitchd
> > +usr/share/man/man1/ovs-pcap.1
> > +usr/share/man/man1/ovs-tcpundump.1
> > +usr/share/man/man5/ovs-vswitchd.conf.db.5
> > +usr/share/man/man8/ovs-ctl.8
> > +usr/share/man/man8/ovs-dpctl-top.8
> > +usr/share/man/man8/ovs-dpctl.8
> > +usr/share/man/man8/ovs-kmod-ctl.8
> > +usr/share/man/man8/ovs-tcpdump.8
> > +usr/share/man/man8/ovs-vlan-test.8
> > +usr/share/man/man8/ovs-vsctl.8
> > +usr/share/man/man8/ovs-vswitchd.8
> > +usr/share/openvswitch/scripts/ovs-check-dead-ifs
> > +usr/share/openvswitch/scripts/ovs-ctl
> > +usr/share/openvswitch/scripts/ovs-kmod-ctl
> > +usr/share/openvswitch/scripts/ovs-save
> > +usr/share/openvswitch/vswitch.ovsschema
>
> And this list also, I guess.
Ack, thx!
--
Frode Nordahl
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev