From patchwork Fri Feb 16 08:26:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Stewart X-Patchwork-Id: 874315 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.137; helo=fraxinus.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=paral-in.20150623.gappssmtp.com header.i=@paral-in.20150623.gappssmtp.com header.b="Iw4tosfl"; dkim-atps=neutral Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zjRH5321Rz9t5Q for ; Fri, 16 Feb 2018 19:33:05 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id DB55A88479; Fri, 16 Feb 2018 08:33:03 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dDYBwgwT7UBP; Fri, 16 Feb 2018 08:33:03 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 29C0C88488; Fri, 16 Feb 2018 08:33:03 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 5373F1CF01F for ; Fri, 16 Feb 2018 08:33:02 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 4F5048A101 for ; Fri, 16 Feb 2018 08:33:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P7r2vA0JYOpl for ; Fri, 16 Feb 2018 08:33:01 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-it0-f65.google.com (mail-it0-f65.google.com [209.85.214.65]) by hemlock.osuosl.org (Postfix) with ESMTPS id 91E7189F83 for ; Fri, 16 Feb 2018 08:33:01 +0000 (UTC) Received: by mail-it0-f65.google.com with SMTP id y16so1122578itc.0 for ; Fri, 16 Feb 2018 00:33:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paral-in.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ro14OPB1N8WYFGLuOJOm5noKF8bv/iIYMlxEcnJBlmM=; b=Iw4tosflwcj291TanNbYK2rIEVSzN0L8C9scVQDjEp4HPljCF1ubTh8VVh9cwUNAMz FzP/Rlw1OeXwubhXhcXR8nkD9x3JYE/2i9aZz7pP+AqbZhTykfHZ0cRArHPbRC1rlAr1 HO7c6UiNCr/NzioGnPp+6/psHaodkrnx/PqiDpJ+emSm+0aubDWzF8H2lr8UsFAzgiss O4DRzEWmc9hyOMgvHQIBhOG+KjsQUN50jg0waW2sKMYr6bh4L8d5yFOTt2uXvmJ38R6o Lyq3whIhAFPSk1XwGHgEsCzyHb2TdN2tXKLjaDg4MVzyRi7s6k/oGDgMxTek/xTtBkQt gyNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ro14OPB1N8WYFGLuOJOm5noKF8bv/iIYMlxEcnJBlmM=; b=GpXHAHFSJ1NyrrPc6M0TGnSb9N3EHIqR2q8eh1Ae7fDx66mx5X1yIC1YcU0AttD7b2 hS60i3qjltz6EnDqqqVh/nYpqJH4N61AM2iCslkf7LSiNaGoqgSq5XfHnqQxjsRv8O+7 XovEtle6KZK7BQYCYV3oRAP+8zIASV2CN7BrLrF4TopdO2fW2FtzjJbdLM4J4IPrnNrE 2+/qjZbTO67B9kLqqOmONn2/X6BUSwvoi3vQ2tQtIOnCrGQcFKtgtZLPZwqtSCdtR+5X MsFvu9H9+Ci9LydkoaNOVqRglRW/VUjYfv6r9SCOsj0Q11Fdmd0PvjlcgTvtzKIKWOR5 bQtA== X-Gm-Message-State: APf1xPAII8GoAKPkOILNvWqgxQxLSz9JgdfPI760AM9q9kTsBqDsFeVz vIsoyT+IsJb84pR+Nionro5gQlTq X-Google-Smtp-Source: AH8x224c9MFzUa8/Ad4f8ZXVjKiarpQedXzedcnvscjD/7GKplSZNqr/6VvDpMQulqF1thnt6SIrRQ== X-Received: by 10.36.238.200 with SMTP id b191mr4992834iti.62.1518769585098; Fri, 16 Feb 2018 00:26:25 -0800 (PST) Received: from localhost.localdomain (69-174-166-55.lfytina2.metronetinc.net. [69.174.166.55]) by smtp.gmail.com with ESMTPSA id l5sm431855ioa.42.2018.02.16.00.26.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Feb 2018 00:26:24 -0800 (PST) From: Christian Stewart To: buildroot@buildroot.org Date: Fri, 16 Feb 2018 03:26:12 -0500 Message-Id: <20180216082617.12039-6-christian@paral.in> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180216082617.12039-1-christian@paral.in> References: <20180216082617.12039-1-christian@paral.in> Subject: [Buildroot] [PATCH 05/10] docker-proxy: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.24 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: hamilton@aperturerobotics.com, Christian Stewart MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Add docker-proxy package to Buildroot. Needed by docker-engine at runtime, and previously not included. This leads to the following error when attempting to port-map ports to a container: $ docker run -p 8080:8080 nginx docker: Error response from daemon: driver failed programming external connectivity on endpoint: exec: "docker-proxy": executable file not found in $PATH. Docker expects the docker-proxy binary to exist in the PATH. Signed-off-by: Christian Stewart --- package/Config.in | 1 + package/docker-proxy/Config.in | 18 +++++++++++++ package/docker-proxy/docker-proxy.hash | 3 +++ package/docker-proxy/docker-proxy.mk | 46 ++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 package/docker-proxy/Config.in create mode 100644 package/docker-proxy/docker-proxy.hash create mode 100644 package/docker-proxy/docker-proxy.mk diff --git a/package/Config.in b/package/Config.in index dd42db79ec..181edfb5b7 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1947,6 +1947,7 @@ menu "System tools" source "package/debianutils/Config.in" source "package/docker-containerd/Config.in" source "package/docker-engine/Config.in" + source "package/docker-proxy/Config.in" source "package/dsp-tools/Config.in" source "package/efibootmgr/Config.in" source "package/efivar/Config.in" diff --git a/package/docker-proxy/Config.in b/package/docker-proxy/Config.in new file mode 100644 index 0000000000..4f414b24b1 --- /dev/null +++ b/package/docker-proxy/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_DOCKER_PROXY + bool "docker-proxy" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Libnetwork is a Container Network Model that provides a + consistent programming interface and the required network + abstractions for applications. + + This package provides docker-proxy, a run-time dependency of Docker. + + https://github.com/docker/libnetwork + +comment "docker-proxy needs a toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/docker-proxy/docker-proxy.hash b/package/docker-proxy/docker-proxy.hash new file mode 100644 index 0000000000..e4c81fd8f3 --- /dev/null +++ b/package/docker-proxy/docker-proxy.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 25dd368af845c5d4773a0445d9401d11e1b4042ec285a06aa28976de7264e318 docker-proxy-fcf1c3b5e57833aaaa756ae3c4140ea54da00319.tar.gz + diff --git a/package/docker-proxy/docker-proxy.mk b/package/docker-proxy/docker-proxy.mk new file mode 100644 index 0000000000..34a9c86d11 --- /dev/null +++ b/package/docker-proxy/docker-proxy.mk @@ -0,0 +1,46 @@ +################################################################################ +# +# docker-proxy +# +################################################################################ + +DOCKER_PROXY_VERSION = fcf1c3b5e57833aaaa756ae3c4140ea54da00319 +DOCKER_PROXY_SITE = $(call github,docker,libnetwork,$(DOCKER_PROXY_VERSION)) + +DOCKER_PROXY_LICENSE = Apache-2.0 +DOCKER_PROXY_LICENSE_FILES = LICENSE + +DOCKER_PROXY_DEPENDENCIES = host-go host-pkgconf + +DOCKER_PROXY_GOPATH = "$(@D)/gopath" +DOCKER_PROXY_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ + CGO_ENABLED=1 \ + CGO_NO_EMULATION=1 \ + GOBIN="$(@D)/bin" \ + GOPATH="$(DOCKER_PROXY_GOPATH)" \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + $(TARGET_MAKE_ENV) + +ifeq ($(BR2_STATIC_LIBS),y) +DOCKER_PROXY_GLDFLAGS += -extldflags '-static' +endif + +define DOCKER_PROXY_CONFIGURE_CMDS + mkdir -p $(DOCKER_PROXY_GOPATH)/src/github.com/docker + ln -fs $(@D) $(DOCKER_PROXY_GOPATH)/src/github.com/docker/libnetwork +endef + +define DOCKER_PROXY_BUILD_CMDS + cd $(@D)/gopath/src/github.com/docker/libnetwork; \ + $(DOCKER_PROXY_MAKE_ENV) \ + $(HOST_DIR)/usr/bin/go build -v \ + -o $(@D)/bin/docker-proxy \ + -ldflags "$(DOCKER_PROXY_GLDFLAGS)" \ + github.com/docker/libnetwork/cmd/proxy +endef + +define DOCKER_PROXY_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/docker-proxy $(TARGET_DIR)/usr/bin/docker-proxy +endef + +$(eval $(generic-package))