Hi Simon,
At the end, I did work on the packaging of openvswitch.
The issue about the multiple update-rc.d was, as I expected, due to your
multiple calls to dh_installinit in debian/rules.
I have attached a patch which removes most lintian warnings and errors.
Please apply it, but before you upload, I would strongly suggest that
you do some functional tests, to make sure that I didn't break anything
(especially your init scripts, since I didn't understand the goal of
your double dh_installinit calls).
As I understand, you are also upstream for openvswitch. If that is the
case, then best would be to have the man page fixes to be applied
upstream, and the debian/patches folder to go away.
Now, the only remaining lintian issues are:
- no-upstream-changelog (this one can be ignore, IMO)
- W: openvswitch-switch: manpage-has-bad-whatis-entry
usr/share/man/man5/ovs-vswitchd.conf.db.5.gz (please fix it...)
- I: openvswitch source: debian-watch-file-is-missing (it'd be great to
have a watch file: where's your upstream tarball located?)
I hope that helps,
Cheers,
Thomas Goirand (zigo)
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/changelog openvswitch-1.4.0/debian/changelog
--- openvswitch-1.4.0_2+nmu1/debian/changelog 2012-03-08 08:56:43.000000000 +0000
+++ openvswitch-1.4.0/debian/changelog 2012-03-08 18:25:15.000000000 +0000
@@ -1,3 +1,24 @@
+openvswitch (1.4.0-2+nmu2) unstable; urgency=low
+
+ * NMU.
+ * Sets debhelper build-dependency to be (>= 8)
+ * Removed useless po-debconf build-dependency (there's no
+ debian/*.templates file in the package)
+ * Replaced build-dependency python (>= 2.6.6-3) by python-all (>= 2.6.6-3~)
+ * Added dh_python2 /usr/src call to fix python dependencies correctly in the
+ dkms package.
+ * Added missing ${python:Depends} dependency in the dkms package.
+ * Clean debian/rules target really cleans (including *.pyc files)
+ * Fixed long descriptions who were not really describing the package.
+ * Added long descriptions for the init scripts.
+ * Remove useless debian folder inside /usr/src/openvswitch-version for the
+ dkms package (it's useless there and adding some lintian warnings), removes
+ some license files in there too, and also the rhel folder, so that there's
+ no lintian warning anymore.
+ * Bumped standards-version (no change but the above).
+
+ -- Thomas Goirand <[email protected]> Thu, 08 Mar 2012 17:34:53 +0000
+
openvswitch (1.4.0-2+nmu1) unstable; urgency=low
* Non maintainer upload.
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/compat openvswitch-1.4.0/debian/compat
--- openvswitch-1.4.0_2+nmu1/debian/compat 2012-01-31 03:44:54.000000000 +0000
+++ openvswitch-1.4.0/debian/compat 2012-03-08 16:59:17.000000000 +0000
@@ -1 +1 @@
-7
+8
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/control openvswitch-1.4.0/debian/control
--- openvswitch-1.4.0_2+nmu1/debian/control 2012-03-08 08:56:36.000000000 +0000
+++ openvswitch-1.4.0/debian/control 2012-03-08 17:57:59.000000000 +0000
@@ -4,11 +4,11 @@
Maintainer: Open vSwitch developers <[email protected]>
Uploaders: Ben Pfaff <[email protected]>, Simon Horman <[email protected]>
Build-Depends:
- debhelper (>= 5), autoconf (>= 2.64), automake (>= 1.10) | automake1.10,
- libssl-dev, pkg-config (>= 0.21), po-debconf, bzip2, openssl,
- python (>= 2.6.6-3), procps, python-qt4,
+ debhelper (>= 8), autoconf (>= 2.64), automake (>= 1.10) | automake1.10,
+ libssl-dev, pkg-config (>= 0.21), bzip2, openssl,
+ python-all (>= 2.6.6-3~), procps, python-qt4,
python-zopeinterface, python-twisted-conch
-Standards-Version: 3.9.2
+Standards-Version: 3.9.3
Homepage: http://openvswitch.org/
Package: openvswitch-datapath-source
@@ -16,17 +16,31 @@
Depends: module-assistant, bzip2, debhelper (>= 5.0.37), ${misc:Depends}
Suggests: openvswitch-switch
Description: Open vSwitch datapath module source - module-assistant version
+ 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 the Open vSwitch datapath module source code
that is needed by openvswitch-switch. The kernel module can be built
from it using module-assistant or make-kpkg. README.Debian in this
package provides further instructions.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-datapath-dkms
Architecture: all
-Depends: dkms (>= 1.95), make, libc6-dev, ${misc:Depends}
+Depends: dkms (>= 1.95), make, libc6-dev, ${misc:Depends}, ${python:Depends}
Description: Open vSwitch datapath module source - DKMS version
+ 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 the Open vSwitch datapath module source code
that is needed by openvswitch-switch. DKMS can built the kernel
module from it.
@@ -38,20 +52,32 @@
python (>= 2.7) | python-argparse
Suggests: ethtool
Description: Open vSwitch common components
+ 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.
+ .
openvswitch-common provides components required by both openvswitch-switch
and openvswitch-controller.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-switch
Architecture: linux-any
Suggests: openvswitch-datapath-module
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, openvswitch-common (= ${binary:Version}), module-init-tools, procps, uuid-runtime
Description: Open vSwitch switch implementations
+ 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.
+ .
openvswitch-switch provides the userspace components and utilities for
the Open vSwitch kernel-based switch.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-ipsec
Architecture: linux-any
@@ -63,10 +89,16 @@
openvswitch-switch (= ${binary:Version}),
python-openvswitch (= ${source:Version})
Description: Open vSwitch GRE-over-IPsec support
+ 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.
+ .
The ovs-monitor-ipsec script provides support for encrypting GRE
tunnels with IPsec.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-pki
Architecture: all
@@ -74,11 +106,17 @@
${misc:Depends}, openvswitch-common (>= ${source:Version}),
openvswitch-common (<< ${source:Version}.1~)
Description: Open vSwitch public key infrastructure dependency 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, 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.
+ .
openvswitch-pki provides PKI (public key infrastructure) support for
Open vSwitch switches and controllers, reducing the risk of
man-in-the-middle attacks on the Open vSwitch network infrastructure.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-controller
Architecture: linux-any
@@ -86,10 +124,16 @@
${shlibs:Depends}, openvswitch-common (= ${binary:Version}),
openvswitch-pki (= ${source:Version}), ${misc:Depends}
Description: Open vSwitch controller implementation
+ 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.
+ .
The Open vSwitch controller enables OpenFlow switches that connect to it
to act as MAC-learning Ethernet switches.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-brcompat
Architecture: linux-any
@@ -97,6 +141,14 @@
${shlibs:Depends}, openvswitch-switch (= ${binary:Version}), ${misc:Depends}
Recommends: bridge-utils
Description: Open vSwitch bridge compatibility support
+ 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.
+ .
openvswitch-brcompat provides a way for applications that use the
Linux bridge to gradually migrate to Open vSwitch. Programs that
ordinarily control the Linux bridge module, such as "brctl", instead
@@ -104,8 +156,6 @@
.
Once this package is installed, adding BRCOMPAT=yes in
/etc/default/openvswitch-switch enables bridge compatibility.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-dbg
Section: debug
@@ -117,6 +167,14 @@
openvswitch-ipsec (= ${binary:Version}),
openvswitch-switch (= ${binary:Version})
Description: Debug symbols for Open vSwitch packages
+ 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 contains the debug symbols for all the other openvswitch-*
packages. Install it to debug one of them or to examine a core dump
produced by one of them.
@@ -126,6 +184,14 @@
Section: python
Depends: ${misc:Depends}, ${python:Depends}
Description: Python 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, 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 bindings for Open vSwitch database.
Package: ovsdbmonitor
@@ -133,19 +199,31 @@
Section: utils
Depends: ${python:Depends}, python-openvswitch, ${misc:Depends}
Description: Open vSwitch graphical monitoring tool
+ 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 is a GUI tool for monitoring and troubleshooting local
or remote Open vSwitch installations. It presents GUI tables that
graphically represent an Open vSwitch kernel flow table (similar to
"ovs-dpctl dump-flows") and Open vSwitch database contents (similar
to "ovs-vsctl list <table>").
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
Package: openvswitch-test
Architecture: all
-Depends: ${misc:Depends}, python-twisted-web, python (>= 2.7) | python-argparse
+Depends: ${misc:Depends}, ${python:Depends}, python-twisted-web, python (>= 2.7) | python-argparse
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, 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.
- .
- Open vSwitch is a full-featured software-based Ethernet switch.
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/openvswitch-controller.init openvswitch-1.4.0/debian/openvswitch-controller.init
--- openvswitch-1.4.0_2+nmu1/debian/openvswitch-controller.init 2012-01-31 03:44:54.000000000 +0000
+++ openvswitch-1.4.0/debian/openvswitch-controller.init 2012-03-08 17:26:51.000000000 +0000
@@ -27,6 +27,8 @@
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Open vSwitch controller
+# Description: The Open vSwitch controller enables OpenFlow switches that connect to it
+# to act as MAC-learning Ethernet switches.
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/openvswitch-ipsec.init openvswitch-1.4.0/debian/openvswitch-ipsec.init
--- openvswitch-1.4.0_2+nmu1/debian/openvswitch-ipsec.init 2012-01-31 03:44:54.000000000 +0000
+++ openvswitch-1.4.0/debian/openvswitch-ipsec.init 2012-03-08 17:25:34.000000000 +0000
@@ -24,6 +24,8 @@
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Open vSwitch GRE-over-IPsec daemon
+# Description: The ovs-monitor-ipsec script provides support for encrypting GRE
+# tunnels with IPsec.
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/openvswitch-switch.init openvswitch-1.4.0/debian/openvswitch-switch.init
--- openvswitch-1.4.0_2+nmu1/debian/openvswitch-switch.init 2012-01-31 03:44:54.000000000 +0000
+++ openvswitch-1.4.0/debian/openvswitch-switch.init 2012-03-08 17:24:41.000000000 +0000
@@ -21,6 +21,8 @@
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Open vSwitch switch
+# Description: openvswitch-switch provides the userspace components and utilities for
+# the Open vSwitch kernel-based switch.
### END INIT INFO
(test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/patches/0001-fixes-a-man-page-typo.patch openvswitch-1.4.0/debian/patches/0001-fixes-a-man-page-typo.patch
--- openvswitch-1.4.0_2+nmu1/debian/patches/0001-fixes-a-man-page-typo.patch 1970-01-01 00:00:00.000000000 +0000
+++ openvswitch-1.4.0/debian/patches/0001-fixes-a-man-page-typo.patch 2012-03-08 17:38:16.000000000 +0000
@@ -0,0 +1,15 @@
+Description: Fixes openvswitch-switch: spelling-error-in-manpage usr/share/man/man1/ovsdb-server.1.gz noticable noticeable
+Author: Thomas Goirand <[email protected]>
+Forwarded: no
+
+--- openvswitch-1.4.0.orig/lib/stress-unixctl.man
++++ openvswitch-1.4.0/lib/stress-unixctl.man
+@@ -58,7 +58,7 @@ The default period, used when stress opt
+ \fBstress/enable\fR) but this particular stress option has not been
+ specifically configured (with \fBstress/set\fR). It is \fBdisabled\fR
+ if the option is disabled by default. It is nonzero for options that
+-can be left on at low levels without noticable impact to the end user.
++can be left on at low levels without noticeable impact to the end user.
+ .RE
+ .
+ .IP "\fBstress/set \fIoption\fR \fIperiod\fR [\fBrandom\fR|\fBperiodic\fR]"
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/patches/0002-fixed-hyphen-as-minus.patch openvswitch-1.4.0/debian/patches/0002-fixed-hyphen-as-minus.patch
--- openvswitch-1.4.0_2+nmu1/debian/patches/0002-fixed-hyphen-as-minus.patch 1970-01-01 00:00:00.000000000 +0000
+++ openvswitch-1.4.0/debian/patches/0002-fixed-hyphen-as-minus.patch 2012-03-08 18:03:33.000000000 +0000
@@ -0,0 +1,24 @@
+Description: Escape some hyphen in man page
+Author: Thomas Goirand <[email protected]>
+Forwarded: no
+
+--- openvswitch-1.4.0.orig/vswitchd/ovs-vswitchd.conf.db.5
++++ openvswitch-1.4.0/vswitchd/ovs-vswitchd.conf.db.5
+@@ -1526,7 +1526,7 @@ known. If the interface is successfully
+ (generally either in the range 1 to 65279, inclusive, or 65534, the
+ port number for the OpenFlow ``local port\(cq\(cq). If the interface
+ cannot be added then Open vSwitch sets this column
+-to -1.
++to \-1.
+ .ST "System-Specific Details:"
+ .IP "\fBtype\fR: string"
+ The interface type, one of:
+@@ -2897,7 +2897,7 @@ optional integer, in range 0 to 255
+ optional integer, in range 0 to 255
+ .TQ 3.00in
+ \fBactive_timeout\fR
+-integer, at least -1
++integer, at least \-1
+ .TQ 3.00in
+ \fBadd_id_to_interface\fR
+ boolean
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/patches/series openvswitch-1.4.0/debian/patches/series
--- openvswitch-1.4.0_2+nmu1/debian/patches/series 1970-01-01 00:00:00.000000000 +0000
+++ openvswitch-1.4.0/debian/patches/series 2012-03-08 18:04:43.000000000 +0000
@@ -0,0 +1,2 @@
+0001-fixes-a-man-page-typo.patch
+0002-fixed-hyphen-as-minus.patch
diff -u -r -N openvswitch-1.4.0_2+nmu1/debian/rules openvswitch-1.4.0/debian/rules
--- openvswitch-1.4.0_2+nmu1/debian/rules 2012-01-31 03:44:54.000000000 +0000
+++ openvswitch-1.4.0/debian/rules 2012-03-08 18:23:54.000000000 +0000
@@ -72,6 +72,7 @@
rm -rf _debian
[ ! -f Makefile ] || $(MAKE) distclean
dh_clean
+ rm -f python/ovs/*.pyc python/ovs/db/*.pyc
install: install-indep install-arch
install-indep: build-indep
@@ -97,6 +98,16 @@
# Prepare dkms.conf from the dkms.conf.in template
sed "s/__VERSION__/$(DEB_UPSTREAM_VERSION)/g" debian/dkms.conf.in > debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/dkms.conf
+ # We don't need the debian folder in there, just upstream sources...
+ rm -rf debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/debian
+ # We don't need the rhel stuff in there either
+ rm -rf debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/rhel
+ # And we should also clean useless license files, which are already
+ # descriped in our debian/copyright anyway.
+ rm -f debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/COPYING \
+ debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/ovsdb/ovsdbmonitor/COPYING \
+ debian/$(pdkms)/usr/src/$(PACKAGE)-$(DEB_UPSTREAM_VERSION)/xenserver/LICENSE
+
install-arch: build-arch
dh_testdir
dh_testroot
@@ -117,7 +128,7 @@
dh_installexamples
dh_installdebconf
dh_installlogrotate
- dh_installinit -R -Nopenvswitch-switch
+# dh_installinit -R -Nopenvswitch-switch
dh_installinit -R -popenvswitch-switch --error-handler=init_script_error
dh_installcron
dh_installman --language=C
@@ -126,6 +137,8 @@
dh_compress
dh_fixperms
dh_python2
+ dh_python2 /usr/src
+ dh_python2 /usr/bin
dh_perl
dh_makeshlibs
dh_installdeb
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev