github.com/mforkel/docker-ce-i386@v17.12.1-ce-rc2+incompatible/components/packaging/rpm/gen-rpm-ver (about)

     1  #!/usr/bin/env bash
     2  
     3  ENGINE_DIR=$1
     4  VERSION=$2
     5  
     6  [[ $# < 2 ]] && echo 'not enough args' && exit 1
     7  
     8  DATE_COMMAND="date"
     9  if [[ $(uname) -eq "Darwin" ]]; then
    10      DATE_COMMAND="docker run --rm alpine date"
    11  fi
    12  
    13  GIT_COMMAND="git -C $ENGINE_DIR"
    14  rpmName=docker-ce
    15  rpmVersion="$VERSION"
    16  rpmRelease=1
    17  
    18  # rpmRelease versioning is as follows
    19  # Docker 1.7.0:  version=1.7.0, release=1
    20  # Docker 1.7.0-rc1: version=1.7.0, release=0.1.rc1
    21  # Docker 1.7.0-cs1: version=1.7.0.cs1, release=1
    22  # Docker 1.7.0-cs1-rc1: version=1.7.0.cs1, release=0.1.rc1
    23  # Docker 1.7.0-dev nightly: version=1.7.0, release=0.0.YYYYMMDD.HHMMSS.gitHASH
    24  
    25  # if we have a "-rc*" suffix, set appropriate release
    26  if [[ "$rpmVersion" =~ .*-rc[0-9]+$ ]] ; then
    27      rcVersion=${rpmVersion#*-rc}
    28      rpmVersion=${rpmVersion%-rc*}
    29      rpmRelease="0.${rcVersion}.rc${rcVersion}"
    30  fi
    31  
    32  DOCKER_GITCOMMIT=$($GIT_COMMAND rev-parse --short HEAD)
    33  if [ -n "$($GIT_COMMAND status --porcelain --untracked-files=no)" ]; then
    34      DOCKER_GITCOMMIT="$DOCKER_GITCOMMIT-unsupported"
    35  fi
    36  
    37  # if we have a "-dev" suffix or have change in Git, let's make this package version more complex so it works better
    38  if [[ "$rpmVersion" == *-dev ]] || [ -n "$($GIT_COMMAND status --porcelain)" ]; then
    39      gitUnix="$($GIT_COMMAND log -1 --pretty='%at')"
    40      gitDate="$($DATE_COMMAND --date "@$gitUnix" +'%Y%m%d.%H%M%S')"
    41      gitCommit="$($GIT_COMMAND log -1 --pretty='%h')"
    42      gitVersion="${gitDate}.git${gitCommit}"
    43      # gitVersion is now something like '20150128.112847.17e840a'
    44      rpmVersion="${rpmVersion%-dev}"
    45      rpmRelease="0.0.$gitVersion"
    46  fi
    47  
    48  # Replace any other dashes with periods
    49  rpmVersion="${rpmVersion/-/.}"
    50  echo $rpmVersion $rpmRelease $DOCKER_GITCOMMIT