Bug 1539161

Summary: Review Request: moby-engine - The open-source application container engine
Product: [Fedora] Fedora Reporter: Lokesh Mandvekar <lsm5>
Component: Package ReviewAssignee: Neal Gompa <ngompa13>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bbreard, brian, carl, code, dustymabe, dwalsh, jhonce, jujens, lantw44, ngompa13, package-review, pasik, smccarty, thib, tn, ttomecek, vchelban
Target Milestone: ---Flags: ngompa13: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-08-30 04:53:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lokesh Mandvekar 2018-01-26 19:39:21 UTC
Spec URL: https://pagure.io/moby-engine/raw/master/f/moby-engine.spec
SRPM URL: https://pagure.io/moby-engine/blob/master/f/SRPMS/moby-engine-17.03.2-1.gitf5ec1e2.fc27.src.rpm

Description: Docker is an open source project to build, ship and run any application as a
lightweight container.

Docker containers are both hardware-agnostic and platform-agnostic. This means
they can run anywhere, from your laptop to the largest EC2 compute instance and
everything in between - and they don't require you to use a particular
language, framework or packaging system. That makes them great building blocks
for deploying and scaling web apps, databases, and backend services without
depending on a particular stack or provider.


koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=24472934

Fedora Account System Username: lsm5

Comment 1 Carl George 2018-01-29 19:49:04 UTC
Source3 in this spec file is containerd.  containerd is already packaged for Fedora, and provides the commands containerd, containerd-shim, and ctr.  Based on my current understanding of this brave new Moby world, Source3 and relevant sections can be dropped and instead just require containerd.

Comment 2 Carl George 2018-01-29 22:39:09 UTC
I came across this today.

https://github.com/moby/moby/pull/34226

I think it's worth considering starting this package with those binary names to avoid having to change them later.

Comment 3 Lokesh Mandvekar 2018-02-21 20:09:47 UTC
Spec URL: https://pagure.io/moby-engine/raw/master/f/moby-engine.spec
SRPM URL: https://pagure.io/moby-engine/blob/master/f/SRPMS/moby-engine-17.03.2-2.ce.gitf5ec1e2.fc27.src.rpm

koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=25221033

binaries renamed:

docker -> moby
dockerd -> moby-engine
docker-containerd -> moby-containerd
docker-containerd-ctr -> moby-containerd-ctr
docker-containerd-shim -> moby-containerd-shim
docker-init -> moby-init
docker-proxy -> moby-proxy
docker-runc -> moby-runc

RE: container storage, it uses /var/lib/docker which would be the same as that for the docker package. I'd just like to make sure common dir wouldn't cause problems ahead.

Comment 4 Daniel Walsh 2018-02-21 20:51:26 UTC
I am fine with using the same storage until moby changes the default.

Comment 5 Daniel Walsh 2018-02-21 20:52:47 UTC
Seems like the rename process has sore o hung

Comment 6 Daniel Walsh 2018-02-21 20:53:10 UTC
sort of hung

Comment 7 Daniel Walsh 2018-02-21 20:53:58 UTC
We also want to get some of our patches merged into this package.  We should be packaging up projectatomic/moby not moby/moby

Comment 8 Lokesh Mandvekar 2018-02-22 14:41:48 UTC
RE: binary renames, I'll include docker-* as symlinks to the moby-* binaries.

Comment 9 Lokesh Mandvekar 2018-02-22 14:45:59 UTC
(In reply to Daniel Walsh from comment #7)
> We also want to get some of our patches merged into this package.  We should
> be packaging up projectatomic/moby not moby/moby

Sure, that can be done once we have projectatomic/moby ready with the patches.

Comment 10 Lokesh Mandvekar 2018-02-22 16:00:15 UTC
SRPM URL: https://pagure.io/moby-engine/blob/master/f/SRPMS/moby-engine-17.03.2-3.ce.gitf5ec1e2.fc27.src.rpm

docker-* are symlinks to moby-* in this build.

Spec location is the same.

Comment 11 Frantisek Kluknavsky 2018-02-23 01:04:20 UTC
rpmlint *.rpm
moby-engine.x86_64: W: incoherent-version-in-changelog 17.03.2-3.ce ['17.03.2-3.ce.gitf5ec1e2.fc26', '17.03.2-3.ce.gitf5ec1e2']
moby-engine.x86_64: E: statically-linked-binary /usr/libexec/moby-engine/moby-init
moby-engine.x86_64: W: udev-rule-in-etc /etc/udev/rules.d/80-moby.rules
moby-engine.x86_64: W: non-conffile-in-etc /etc/udev/rules.d/80-moby.rules
moby-engine.x86_64: E: wrong-script-interpreter /usr/share/bash-completion/completions/moby /usr/bin/env bash
moby-engine.x86_64: E: non-executable-script /usr/share/bash-completion/completions/moby 644 /usr/bin/env bash
moby-engine.x86_64: W: manual-page-warning /usr/share/man/man1/moby-run.1.gz 1125: warning: macro `You' not defined
moby-engine.x86_64: W: no-manual-page-for-binary docker
moby-engine.x86_64: W: no-manual-page-for-binary moby-engine
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/armon/go-metrics/metrics.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/armon/go-metrics/sink.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/armon/go-metrics/start.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/armon/go-metrics/statsite.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/asn1/asn1.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/asn1/common.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/asn1/marshal.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/cert_pool.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/pem_decrypt.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/pkcs1.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/pkix/pkix.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/root.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/root_unix.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/verify.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/google/certificate-transparency/go/x509/x509.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/pborman/uuid/dce.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/pborman/uuid/node.go
moby-engine-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/moby-f5ec1e2936dcbe7b5001c2b817188b095c700c27/_build/src/github.com/docker/docker/vendor/github.com/pborman/uuid/time.go
moby-engine-fish-completion.x86_64: W: summary-not-capitalized C fish completion files for Docker
moby-engine-fish-completion.x86_64: W: no-documentation
moby-engine-nano.x86_64: W: summary-not-capitalized C nano syntax highlighting files for Moby
moby-engine-nano.x86_64: W: no-documentation
moby-engine-vim.x86_64: W: summary-not-capitalized C vim syntax highlighting files for Moby
moby-engine-vim.x86_64: W: no-documentation
moby-engine-zsh-completion.x86_64: W: summary-not-capitalized C zsh completion files for Moby
moby-engine-zsh-completion.x86_64: W: no-documentation
7 packages and 0 specfiles checked; 21 errors, 14 warnings.

Comment 12 Frantisek Kluknavsky 2018-02-23 01:16:01 UTC
MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.

file /usr/libexec/moby-engine is not owned by any package

Comment 13 Frantisek Kluknavsky 2018-03-05 18:53:45 UTC
incoherent-version-in-changelog is a false positive (Am I missing a difference? The scanner seems confused by .ce suffix.)
udev-rule-in-etc - pull request created
non-conffile-in-etc - goes away with the udev rule
non-executable-script - bash completions are non-executable on purpose
manual-page-warning - should probably be fixed upstream
no-manual-page-for-binary docker - true, but judging by the content of the man pages, they need bigger changes than just a symlink.

Comment 14 Lokesh Mandvekar 2018-03-20 18:42:57 UTC
fixed some rpmlint errors. Currently I see: 

 $ rpmlint moby-engine.spec RPMS/x86_64/* SRPMS/moby-engine-17.03.2-4.ce.gitf5ec1e2.fc28.src.rpm 
moby-engine.x86_64: E: statically-linked-binary /usr/libexec/moby-engine/moby-init
moby-engine.x86_64: W: manual-page-warning /usr/share/man/man1/moby-run.1.gz 1125: warning: macro `You' not defined
moby-engine.x86_64: W: no-manual-page-for-binary docker
moby-engine.x86_64: W: no-manual-page-for-binary moby-engine
moby-engine-debuginfo.x86_64: E: useless-provides debuginfo(build-id)
moby-engine-debugsource.x86_64: W: no-documentation
moby-engine-fish-completion.x86_64: W: no-documentation
moby-engine-nano.x86_64: W: summary-not-capitalized C nano syntax highlighting files for Moby
moby-engine-nano.x86_64: W: no-documentation
moby-engine-vim.x86_64: W: no-documentation
moby-engine-zsh-completion.x86_64: W: no-documentation
8 packages and 1 specfiles checked; 2 errors, 9 warnings.


Spec URL: https://pagure.io/moby-engine/blob/master/f/moby-engine.spec
SRPM URL: https://pagure.io/moby-engine/blob/master/f/SRPMS/moby-engine-17.03.2-4.ce.gitf5ec1e2.fc28.src.rpm

Comment 15 Frantisek Kluknavsky 2018-04-25 18:20:46 UTC
The statically linked binary is needed to run inside a container with unknown content.
Other warnings seem quite minor.

Comment 16 Brian J. Murrell 2018-07-18 17:15:14 UTC
Any progress here in the last couple of months?  The docker package in F28 is getting long-in-the-tooth.

Comment 17 Daniel Walsh 2018-07-18 17:54:37 UTC
What features are you looking for?  Have you checked out podman?

Comment 18 Brian J. Murrell 2018-07-18 17:56:46 UTC
The --mount option for docker run since "-v" cannot handle paths with : in them.

Comment 19 Daniel Walsh 2018-07-18 20:46:45 UTC
Sadly this is an option that podman does not have either.  Will add it to the todo list.

Comment 20 Neal Gompa 2018-07-19 14:03:36 UTC
Can we please have an updated docker package?

Comment 21 Lokesh Mandvekar 2018-08-17 03:44:41 UTC
Frantisek, can you set the fedora-review+ again? Since, the review was 60 days ago, fedpkg request-repo refuses to work.

Thanks,

Comment 22 Neal Gompa 2018-08-17 08:31:36 UTC
Since the review has already been done, I'll do it...

Comment 23 Lokesh Mandvekar 2018-08-17 10:46:20 UTC
(In reply to Neal Gompa from comment #22)
> Since the review has already been done, I'll do it...

Thanks Neal

Comment 24 Gwyn Ciesla 2018-08-17 13:32:23 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/moby-engine

Comment 25 Fedora Update System 2018-08-19 18:12:21 UTC
moby-engine-18.06.0-1.ce.git0ffa825.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-a37148fc00

Comment 26 Lokesh Mandvekar 2018-08-19 19:37:51 UTC
I noticed the reviewed version didn't work well on Fedora :\ . So, I kept the binary locations and unitfile similar to what docker-ce upstream  rpm provides for now.

I'll check on using fedora's packaged containerd instead of bundled containerd in future builds.

I undid the symlinks to "moby" for now, best to wait until we hear from upstream.

Let me know how this works..

Comment 27 Fedora Update System 2018-08-19 23:29:13 UTC
moby-engine-18.06.0-1.ce.git0ffa825.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-a37148fc00

Comment 28 Scott McCarty 2018-08-21 13:50:44 UTC
Will people be able to type "yum install docker" "systemctl enable docker" and "docker run -it fedora bash" with this package?

Comment 29 Scott McCarty 2018-08-21 13:51:58 UTC
Will the versioning track the Docker CE version closely so that people understand what this is?

Comment 30 Fedora Update System 2018-08-30 04:53:26 UTC
moby-engine-18.06.0-1.ce.git0ffa825.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.