Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
| ... | ... |
@@ -56,20 +56,23 @@ func (daemon *Daemon) FillPlatformInfo(v *types.Info, sysInfo *sysinfo.SysInfo) |
| 56 | 56 |
|
| 57 | 57 |
v.InitCommit.Expected = dockerversion.InitCommitID |
| 58 | 58 |
if rv, err := exec.Command(DefaultInitBinary, "--version").Output(); err == nil {
|
| 59 |
+ // examples of how Tini outputs version info: |
|
| 60 |
+ // "tini version 0.13.0 - git.949e6fa" |
|
| 61 |
+ // "tini version 0.13.2" |
|
| 59 | 62 |
parts := strings.Split(strings.TrimSpace(string(rv)), " - ") |
| 60 |
- if len(parts) == 2 {
|
|
| 61 |
- if dockerversion.InitCommitID[0] == 'v' {
|
|
| 62 |
- vs := strings.TrimPrefix(parts[0], "tini version ") |
|
| 63 |
- v.InitCommit.ID = "v" + vs |
|
| 64 |
- } else {
|
|
| 65 |
- // Get the sha1 |
|
| 66 |
- gitParts := strings.Split(parts[1], ".") |
|
| 67 |
- if len(gitParts) == 2 && gitParts[0] == "git" {
|
|
| 68 |
- v.InitCommit.ID = gitParts[1] |
|
| 69 |
- v.InitCommit.Expected = dockerversion.InitCommitID[0:len(gitParts[1])] |
|
| 70 |
- } |
|
| 63 |
+ |
|
| 64 |
+ v.InitCommit.ID = "" |
|
| 65 |
+ if v.InitCommit.ID == "" && len(parts) >= 2 {
|
|
| 66 |
+ gitParts := strings.Split(parts[1], ".") |
|
| 67 |
+ if len(gitParts) == 2 && gitParts[0] == "git" {
|
|
| 68 |
+ v.InitCommit.ID = gitParts[1] |
|
| 69 |
+ v.InitCommit.Expected = dockerversion.InitCommitID[0:len(v.InitCommit.ID)] |
|
| 71 | 70 |
} |
| 72 | 71 |
} |
| 72 |
+ if v.InitCommit.ID == "" && len(parts) >= 1 {
|
|
| 73 |
+ vs := strings.TrimPrefix(parts[0], "tini version ") |
|
| 74 |
+ v.InitCommit.ID = "v" + vs |
|
| 75 |
+ } |
|
| 73 | 76 |
|
| 74 | 77 |
if v.InitCommit.ID == "" {
|
| 75 | 78 |
logrus.Warnf("failed to retrieve %s version: unknown output format: %s", DefaultInitBinary, string(rv))
|