Bug 1259427

Summary: Docker version invalid
Product: [Fedora] Fedora Reporter: haosdent <haosdent>
Component: dockerAssignee: Lokesh Mandvekar <lsm5>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: adimania, admiller, dwalsh, ichavero, jcajka, jchaloup, lsm5, miminar, mysql1230, vbatts
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-16 20:06:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description haosdent 2015-09-02 14:57:25 UTC
Description of problem:

Hello, the docker rpm packaged by fedora have a invalid version (1.7.0.fc22) which not match http://semver.org/ standard. There are some related issue here:

https://github.com/docker/docker/issues/15933
https://issues.apache.org/jira/browse/MESOS-2986

Could you change the version to 1.x.x-fc22 which match semver when package rpm, so that other tools depends on docker version output are more easy to parser and compare version?

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. docker --version

Actual results:

Docker version 1.7.0.fc22, build 74e7a7a/1.7.0


Expected results:

Docker version 1.7.0-fc22, build 74e7a7a/1.7.0


Additional info:

Comment 1 Daniel Walsh 2015-09-02 15:32:04 UTC
Lokesh how does this get set?  Is this something we set in the build environment?

Comment 2 Lokesh Mandvekar 2015-09-02 15:40:46 UTC
It's set via https://pkgs.fedoraproject.org/cgit/docker.git/tree/docker.spec#n355

This was because of an earlier request by docker upstream so that we could tell the difference between upstream and fedora rpms.

I'll make this change right away across the board.

Comment 3 Daniel Walsh 2015-09-02 15:44:41 UTC
Ok seems like a good fix.

Comment 4 haosdent 2015-09-02 16:50:08 UTC
Thank you for your fast response!

Comment 5 Lokesh Mandvekar 2015-09-02 17:31:11 UTC
Just committed below patch to master/rawhide. Will add to other branches..


diff --git a/docker.spec b/docker.spec
index 5fe4905..68a9f18 100644
--- a/docker.spec
+++ b/docker.spec
@@ -41,6 +41,7 @@
 # docker stuff (prefix with d_)
 %global d_commit 566d2be0920655a5d6248ebc91a2079e138c59dd
 %global d_shortcommit %(c=%{d_commit}; echo ${c:0:7})
+%global d_dist %(echo %{?dist} | sed 's/./-/')

 # d-s-s stuff (prefix with dss_)
 %global dss_libdir %{_prefix}/lib/docker-storage-setup
@@ -352,7 +353,7 @@ This package installs %{summary}.

 # here keep the new line above otherwise autosetup fails when applying patch
 cp %{SOURCE5} .
-sed -i 's/$/%{?dist}/' VERSION
+sed -i 's/$/%{d_dist}/' VERSION

 # untar d-s-s
 tar zxf %{SOURCE8}
@@ -405,9 +406,9 @@ install -p -m 755 _build/src/%{repo}-fetch %{buildroot}%{_bindir}
 install -p -m 755 _build/src/%{repo}tarsum %{buildroot}%{_bindir}

 # Grab the first thing from -dev
-for x in bundles/*-dev%{?dist}; do \
-  install -p -m 755 $x/dynbinary/%{repo}-*-dev%{?dist} %{buildroot}%{_bindir}/%{repo}
-  install -p -m 755 $x/dynbinary/%{repo}init-*-dev%{?dist} %{buildroot}%{_libexecdir}/%{repo}/%{repo}init
+for x in bundles/*-dev%{d_dist}; do \
+  install -p -m 755 $x/dynbinary/%{repo}-*-dev%{d_dist} %{buildroot}%{_bindir}/%{repo}
+  install -p -m 755 $x/dynbinary/%{repo}init-*-dev%{d_dist} %{buildroot}%{_libexecdir}/%{repo}/%{repo}init
   break
 done



This now gives:

Client:
 Version:      1.9.0-dev-fc24
 API version:  1.21
 Package Version: docker-1.9.0-2.gitf8950e0.fc24.x86_64
 Go version:   go1.5
 Git commit:   0ff2a0f-dirty
 Built:        Wed Sep  2 17:12:02 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.0-dev-fc24
 API version:  1.21
 Package Version: 
 Go version:   go1.5
 Git commit:   0ff2a0f-dirty
 Built:        Wed Sep  2 17:12:02 UTC 2015
 OS/Arch:      linux/amd64

Comment 6 haosdent 2015-09-02 17:45:29 UTC
Thank you very much for so fast progress!

Comment 7 Daniel Walsh 2015-09-29 14:57:46 UTC
Fixed in docker-1.9

Comment 8 mysql1230 2016-02-04 08:37:38 UTC
There is mesos-0.22.2 release to fix MESOS-2986 ticket. Are you willing to update mesos-0.22.2 to fedora 22 update YUM repository?

http://mesos.apache.org/downloads/
https://issues.apache.org/jira/browse/MESOS-2986

Comment 9 haosdent 2016-02-04 08:47:02 UTC
Thank you for you reply, we do some special handle in this case. I think we don't have mesos in fedora yum repository, right? As far as I know, most user install it from source tarball or mesosphere repositories.

Comment 10 Jan Chaloupka 2016-02-04 08:58:37 UTC
mysql1230, if you would like to have mesos in Fedora, please create a request for packaging it into Fedora (open new bz with "Request: package mesos into Fedora"). I will take a look at it and see what requirements are needed.

Comment 11 mysql1230 2016-02-05 04:02:15 UTC
there is mesos binary in below fedora mirror repository, I'm not sure if belong to fedora yum.
http://fedora.mirror.digitalpacific.com.au/linux/updates/22/x86_64/m/

It's need lots of memory and disk space to re-compile from source tarball, and I can't find mesos-0.22.2 from mesosphere, only mesos-0.22.1 in mesosphere.

I raise a new bz request, please check
https://bugzilla.redhat.com/show_bug.cgi?id=1304952

Comment 12 Jan Chaloupka 2016-02-05 09:55:44 UTC
haosdent, mysql1230, mesos is already packaged and built in Fedora.

There is an update for f23 needing karma:

https://bodhi.fedoraproject.org/updates/FEDORA-2015-14263

For f22, I have changed summary of the bz#1304952 for updating f22's mesos to 0.22.2. What about updating f22's mesos to 0.23.0? It is already built for f23 and could be used instead. Can you take a look at it and test it if it works for you and does not introduce any regression?

For additional conversation lets move to bz#1304952.