guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] gnu: Add openvswitch.


From: 宋文武
Subject: Re: [PATCH 1/2] gnu: Add openvswitch.
Date: Thu, 09 Feb 2017 20:46:12 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Hi 宋文武!
>
> 宋文武 <address@hidden> skribis:
>
>> * gnu/packages/networking.scm (openvswitch): New variable.
>
> [...]
>
>> +     '(;; FIXME: many tests fail with:
>> +       ;;    […]
>> +       ;;    test -e $OVS_RUNDIR/ovs-vswitchd.pid
>> +       ;;    ovs-appctl -t ovs-vswitchd exit
>> +       ;;    hard failure
>> +       #:tests? #f
>
> Can we assume that the failures are due to the lack of a proper
> networking environment?  Do they pass outside of the chroot?

In `guix environment -C openvswitch` those tests did pass, but more
tests fail due to unable to bind to network address.  In the builder
they can bind and listen successful.

>
> It would be good to have a rough idea of why they fail.

I have no idea and luck for them now...

>
>> +         (replace 'install
>> +           (lambda _
>> +             (zero? (system* "make"
>> +                             "RUNDIR=/tmp"
>> +                             "PKIDIR=/tmp"
>> +                             "LOGDIR=/tmp"
>> +                             "DBDIR=/tmp"
>> +                             "install")))))))
>
> I suppose this is to prevent “mkdir /var/log” or similar, right?
> Perhaps worth mentioning in a comment.
>
> The rest LGTM.

Sure, thanks for review!


Here is the updated patch:

>From a70e24ea5fc5113d1a71ca1be8a087da380fbc76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <address@hidden>
Date: Fri, 27 Jan 2017 21:35:12 +0800
Subject: [PATCH] gnu: Add openvswitch.

* gnu/packages/networking.scm (openvswitch): New variable.
---
 gnu/packages/networking.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index c2df3013c..a10fbfed9 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1060,3 +1060,62 @@ suddenly a lot of network traffic, you can fire up 
NetHogs and immediately see
 which PID is causing this.  This makes it easy to identify programs that have
 gone wild and are suddenly taking up your bandwidth.")
     (license license:gpl2+)))
+
+(define-public openvswitch
+  (package
+    (name "openvswitch")
+    (version "2.6.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://openvswitch.org/releases/openvswitch-";
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "036gq741j9kqsjlp693nff838c9wjd1c56nswl9vyyd1lsmj0yrh"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(;; FIXME: many tests fail with:
+       ;;    […]
+       ;;    test -e $OVS_RUNDIR/ovs-vswitchd.pid
+       ;;    ovs-appctl -t ovs-vswitchd exit
+       ;;    hard failure
+       #:tests? #f
+       #:configure-flags
+       '("--enable-shared"
+         "--localstatedir=/var"
+         "--with-dbdir=/var/lib/openvswitch")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda _
+             (zero? (system* "make"
+                             ;; Don't try to create directories under /var.
+                             "RUNDIR=/tmp"
+                             "PKIDIR=/tmp"
+                             "LOGDIR=/tmp"
+                             "DBDIR=/tmp"
+                             "install")))))))
+    (native-inputs
+     `(("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-2)
+       ;; for testing
+       ("util-linux" ,util-linux)))
+    (propagated-inputs
+     `(("python-six" ,python2-six)))
+    (inputs
+     `(("libcap-ng" ,libcap-ng)
+       ("openssl" ,openssl)))
+    (synopsis "Virtual network switch")
+    (home-page "http://www.openvswitch.org/";)
+    (description
+     "Open vSwitch is a multilayer 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,
+IPFIX, RSPAN, CLI, LACP, 802.1ag).")
+    (license                            ; see debian/copyright for detail
+     (list license:lgpl2.1              ; xenserver and utilities/bugtool
+           license:gpl2                 ; datapath
+           license:bsd-2 license:bsd-3
+           license:asl2.0))))           ; all other
-- 
2.11.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]