From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47884) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fAS8C-0001FL-IN for guix-patches@gnu.org; Sun, 22 Apr 2018 23:27:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fAS89-0006uM-1r for guix-patches@gnu.org; Sun, 22 Apr 2018 23:27:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:56682) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fAS88-0006uG-Sr for guix-patches@gnu.org; Sun, 22 Apr 2018 23:27:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fAS88-00084G-L7 for guix-patches@gnu.org; Sun, 22 Apr 2018 23:27:04 -0400 Subject: [bug#31237] [PATCH] gnu: Add runc. Resent-Message-ID: From: iyzsong@member.fsf.org (=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?=) References: <20180422125844.15227-1-iyzsong@member.fsf.org> <877eoygahy.fsf@gnu.org> <20180422230603.gm2u5637w3rkdpvc@abyayala> Date: Mon, 23 Apr 2018 11:25:51 +0800 In-Reply-To: <20180422230603.gm2u5637w3rkdpvc@abyayala> (Nils Gillmann's message of "Sun, 22 Apr 2018 23:06:03 +0000") Message-ID: <87vacizjr4.fsf@member.fsf.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Nils Gillmann Cc: 31237@debbugs.gnu.org Nils Gillmann writes: > Ludovic Court=C3=A8s transcribed 1.2K bytes: >> Hello, >>=20 >> =E5=AE=8B=E6=96=87=E6=AD=A6 skribis: >>=20 >> > * gnu/packages/virtualization.scm (runc): New variable. >>=20 >> Nice! >>=20 >> > +(define-public runc >> > + (package >> > + (name "runc") >> > + (version "1.0.0-rc5") >>=20 >> If the actual release is going to be out soon, I=E2=80=99d be in favor of >> waiting for it; an RC doesn=E2=80=99t sound great. WDYT? Sure, but it's not clear to me when the 1.0.0 release will be out... > > What I wanted to comment earlier from my experience packaging this: > I was advised to follow the docker suggestions, where the dependency > versions are known by recommended commit. Okay, I have some ideas to use runc directly with rootfs bulit by guix, I haven't looked into docker yet. > >> > + (build-system gnu-build-system) >>=20 >> Would =E2=80=98go-build-system=E2=80=99 work better? Or is it something= of a hybrid >> (apparently it has makefiles)? > > Same question here, since my runc package so far (without testing) just b= uilds, > with go-build-system. Okay, I have to modify the unpack phase for the tarball.=20 > >> > + (arguments >> > + '(#:tests? #f ; FIXME: 20/139 tests fail. >>=20 >> Have you looked a bit into them, just to see if it=E2=80=99s one of the = usual >> things (/bin/sh, networking, etc.) or if it=E2=80=99s more involved? No I haven't, some fails are: --- FAIL: TestFactoryNewTmpfs (0.00s) factory_linux_test.go:87: operation not permitted FAIL github.com/opencontainers/runc/libcontainer 0.047s ? github.com/opencontainers/runc/libcontainer/apparmor [no test files] --- FAIL: TestInvalidCgroupPath (0.00s) apply_raw_test.go:16: couldn't get cgroup root: mountpoint for cgroup not = found apply_raw_test.go:25: couldn't get cgroup data: mountpoint for cgroup not = found panic: runtime error: invalid memory address or nil pointer dereference [re= covered] --- FAIL: TestValidateRootlessMountUid (0.00s) rootless_test.go:96: Expected error to not occur when uid=3D not set in mo= unt options: rootfs (/var) does not exist rootless_test.go:106: Expected error to not occur when setting uid=3D0 in = mount options: rootfs (/var) does not exist rootless_test.go:112: Expected error to not occur when setting uid=3D2 in = mount options and UidMapping[0].size is 10 --- FAIL: TestValidateValidSysctl (0.00s) validator_test.go:229: Expected error to not occur with {net.ctl=3Dctl} bu= t got: "rootfs (/var) does not exist" validator_test.go:229: Expected error to not occur with {kernel.msgmax=3Dc= tl} but got: "rootfs (/var) does not exist" validator_test.go:229: Expected error to not occur with {fs.mqueue.ctl=3Dc= tl} but got: "rootfs (/var) does not exist" --- FAIL: TestNsenterValidPaths (0.01s) nsenter_test.go:65: nsenter exits with a non-zero exit status Look like it need /var, network namespace and other things? But thoes are unittest (runc also has integrationtest target)... Need more investment. >>=20 >> > + (invoke "make")))) >>=20 >> Perhaps honor (parallel-job-count). Thanks for the tip! Now I think it's not needed, since the target only run one 'go build' command, so there is nothing to be executed parallel... >>=20 >> > + (synopsis "Open container initiative runtime") >> > + (home-page "https://www.opencontainers.org/") >> > + (description >> > + "@command{runc} is a command line client for running applications >> > +packaged according to the Open Container Initiative (OCI) format and = is a >> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ >> An @uref would be nice. :-) Okay. Pushed, thanks ludo and ng0 for the review!