[meta-virtualization] [PATCH] docker: update to docker 1.12.5 release

Fathi Boudra fathi.boudra at linaro.org
Mon Dec 19 07:30:58 PST 2016


On 19 December 2016 at 16:02, Bruce Ashfield
<bruce.ashfield at windriver.com> wrote:
> On 2016-12-19 02:58 AM, Fathi Boudra wrote:
>>
>> * update description:
>>   - reword docker officially supported hosts section
>>   - bump minimal required kernel from 3.8 to 3.10
>> * update SRCREV to match docker 1.12.5 tag
>> * set GOHOSTOS and GOOS explicitely
>> * use a switch to set GOARCH based on TARGET_ARCH value. It also allows to
>>   tune arm architecture and set GOARM as appropriate.
>> * add zfs graphdriver exclusion to DOCKER_BUILDTAGS
>
>
> Is the zfs issue something new with 1.12.5 ? Or is it just due to
> a different use case ?
>
> I'd like to avoid mixing changes that are not related to the version
> bump with the patch that does the bump .. since I've had no ends of
> trouble with docker breaking on corner cases. Smaller patches let
> me more easily bisect issues.
>
> I was wondering the same thing about the GOHOSTOS/GOOS
>
>> * cosmetic:
>>   - align all the DEPENDS
>>   - fix indentation in do_install(): space -> tab
>
>
> We could/should probably split this into the uprev and then the
> smaller patches
>
> i.e.
>
>  - version bump
>  - doc/description update
>  - zfs
>  - go build cleanup and arch selection
>  - cosmetic
>
> If you don't think you'll have time to get to the split, I can have
> a go at it myself .. just let me know so I can make the time to do
> the split.

I have time to split the changes. I'll follow up.

> Thanks for the update, I was slowly getting around to doing this
> myself so it is nice to get the patch.
>
> Cheers,
>
> Bruce
>
>
>>
>> Signed-off-by: Fathi Boudra <fathi.boudra at linaro.org>
>> ---
>>  recipes-containers/docker/docker_git.bb | 57
>> ++++++++++++++++++++++-----------
>>  1 file changed, 38 insertions(+), 19 deletions(-)
>>
>> diff --git a/recipes-containers/docker/docker_git.bb
>> b/recipes-containers/docker/docker_git.bb
>> index 2cff6f1..6d7145e 100644
>> --- a/recipes-containers/docker/docker_git.bb
>> +++ b/recipes-containers/docker/docker_git.bb
>> @@ -9,16 +9,16 @@ DESCRIPTION = "Linux container runtime \
>>   large-scale web deployments, database clusters, continuous deployment \
>>   systems, private PaaS, service-oriented architectures, etc. \
>>   . \
>> - This package contains the daemon and client. Using docker.io on
>> non-amd64 \
>> - hosts is not supported at this time. Please be careful when using it \
>> - on anything besides amd64. \
>> + This package contains the daemon and client. Using docker.io is \
>> + officially supported on x86_64 and arm (32-bit) hosts. \
>> + Other architectures are considered experimental. \
>>   . \
>> - Also, note that kernel version 3.8 or above is required for proper \
>> + Also, note that kernel version 3.10 or above is required for proper \
>>   operation of the daemon process, and that any lower versions may have \
>>   subtle and/or glaring issues. \
>>   "
>>
>> -SRCREV = "34d9a8240914d30f3a8fe28c1b7d1d4e36d0657b"
>> +SRCREV = "7392c3b0ce0f9d3e918a321c66668c5d1ef4f689"
>>  SRC_URI = "\
>>         git://github.com/docker/docker.git;nobranch=1 \
>>         file://docker.service \
>> @@ -32,10 +32,11 @@ LIC_FILES_CHKSUM =
>> "file://LICENSE;md5=aadc30f9c14d876ded7bedc0afd2d3d7"
>>
>>  S = "${WORKDIR}/git"
>>
>> -DOCKER_VERSION = "1.12.0"
>> +DOCKER_VERSION = "1.12.5"
>>  PV = "${DOCKER_VERSION}+git${SRCREV}"
>>
>> -DEPENDS = "go-cross \
>> +DEPENDS = " \
>> +    go-cross \
>>      go-cli \
>>      go-pty \
>>      go-context \
>> @@ -66,14 +67,32 @@ DOCKER_PKG="github.com/docker/docker"
>>  do_configure[noexec] = "1"
>>
>>  do_compile() {
>> -       export GOARCH="${TARGET_ARCH}"
>> -       # supported amd64, 386, arm arm64
>> -       if [ "${TARGET_ARCH}" = "x86_64" ]; then
>> -               export GOARCH="amd64"
>> -       fi
>> -       if [ "${TARGET_ARCH}" = "aarch64" ]; then
>> -               export GOARCH="arm64"
>> -       fi
>> +       GOHOSTOS="linux"
>> +       GOOS="linux"
>> +
>> +       case "${TARGET_ARCH}" in
>> +               arm)
>> +                       GOARCH=arm
>> +                       case "${TUNE_PKGARCH}" in
>> +                               cortexa*)
>> +                                       export GOARM=7
>> +                               ;;
>> +                       esac
>> +               ;;
>> +               aarch64)
>> +                       GOARCH=arm64
>> +               ;;
>> +               i586|i686)
>> +                       GOARCH=386
>> +               ;;
>> +               x86_64)
>> +                       GOARCH=amd64
>> +               ;;
>> +               *)
>> +                       GOARCH="${TARGET_ARCH}"
>> +               ;;
>> +       esac
>> +       export GOHOSTOS GOOS GOARCH
>>
>>         # Set GOPATH. See 'PACKAGERS.md'. Don't rely on
>>         # docker to download its dependencies but rather
>> @@ -92,7 +111,7 @@ do_compile() {
>>         export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
>>         export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
>>         # in order to exclude devicemapper and btrfs -
>> https://github.com/docker/docker/issues/14056
>> -       export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs
>> exclude_graphdriver_devicemapper'
>> +       export DOCKER_BUILDTAGS='exclude_graphdriver_zfs
>> exclude_graphdriver_btrfs exclude_graphdriver_devicemapper'
>>
>>         # this is the unsupported built structure
>>         # that doesn't rely on an existing docker
>> @@ -121,9 +140,9 @@ do_install() {
>>                 install -m 644 ${S}/contrib/init/systemd/docker.*
>> ${D}/${systemd_unitdir}/system
>>                 # replaces one copied from above with one that uses the
>> local registry for a mirror
>>                 install -m 644 ${WORKDIR}/docker.service
>> ${D}/${systemd_unitdir}/system
>> -        else
>> -            install -d ${D}${sysconfdir}/init.d
>> -            install -m 0755 ${WORKDIR}/docker.init
>> ${D}${sysconfdir}/init.d/docker.init
>> +       else
>> +               install -d ${D}${sysconfdir}/init.d
>> +               install -m 0755 ${WORKDIR}/docker.init
>> ${D}${sysconfdir}/init.d/docker.init
>>         fi
>>
>>         mkdir -p ${D}/usr/share/docker/
>>
>


More information about the meta-virtualization mailing list