Commit Graph

43 Commits

Author SHA1 Message Date
Tianon Gravi
52379fa76d Convert script shebangs from "#!/bin/bash" to "#!/usr/bin/env bash"
This is especially important for distributions like NixOS where `/bin/bash` doesn't exist, or for MacOS users who've installed a newer version of Bash than the one that comes with their OS.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2017-02-13 11:01:54 -08:00
Luiz Svoboda
63aaf5e316 Add variable DOCKER_BUILD_ARGS to build-deb script
Some containers were being built (`docker build`) without
the DOCKER_BUILD_ARGS variable, which was causing some
issues because of the lack of network proxy configuration.

Fixes #29132

Signed-off-by: Luiz Svoboda <luizek@gmail.com>
2016-12-06 10:17:41 -02:00
Sebastiaan van Stijn
44c816a808 Merge pull request #27829 from DieterReuter/fix-aptrepo-distro-versions
Fix creation of the APT repo directory structure for similar distros
2016-11-10 16:23:27 +01:00
Michael Crosby
d58b47623b Replace grimes with tini
There is no reason to duplicate efforts and tini is well built and
better than grimes.  It is a much stronger option for the default init
and @krallin has done a great job maintaining it and helping make
changes so that it will work with Docker.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2016-11-08 14:42:54 -08:00
Alexander Morozov
bf0fe87fe6 project: fix build rpm
* change workdir for accessing install-binaries.sh
* use other gopath for binaries to preserve sources
* add sources of proxy and grimes to rpc spec
* use dynamic proxy with -linkmode external in deb and rpm

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-28 14:34:17 -07:00
Dieter Reuter
8b8d27fb78 Include distro name into .deb filename
Right now we do have a problem to store the .debs for raspbian-jessie and
debian-jessie distro version for armhf arch. Both .debs have the same filename
so we have to include the distro version, too.

Signed-off-by: Dieter Reuter <dieter.reuter@me.com>
2016-10-28 20:59:49 +02:00
Alexander Morozov
36f47aa252 Merge pull request #27519 from justincormack/proxy-build
Build docker-proxy from git checkout like other external binaries
2016-10-25 08:54:13 -07:00
Justin Cormack
3996975b08 Build docker-proxy from git checkout like other external binaries
This means we can vendor libnetwork without special casing, and
it is built the same way as the other external binaries.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-25 13:13:22 +01:00
Kenfe-Mickael Laventure
7781a1bf0f Make experimental a runtime flag
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-10-24 15:20:01 -07:00
Alexander Morozov
179479c6cd project: unify way of installing runc and containerd
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-10-20 08:50:02 -07:00
Alexander Morozov
1b41125ad9 project: move go binaries installation to separate script
It should allow easier updates for containerd and runc

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-09-23 09:21:29 -07:00
Brian Goff
f672a963c9 Propagate BUILD_APT_MIRROR and consume in buil-deb
Passses down BUILD_APT_MIRROR to the docker env.
Ensures BUILD_APT_MIRROR is used when building debs, but only when the
consuming `Dockerfile` actually uses it, otherwise it will cause the
build to fail (e.g. on Ubuntu builds we aren't using APT_MIRROR).

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2016-09-07 10:57:00 -04:00
Daniel Nephin
1ea9c19ffe Require manpages for packages.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-22 16:34:46 -04:00
Daniel Nephin
7004f219f5 Make manpages in a conatiner.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-22 16:32:51 -04:00
Daniel Nephin
00a8a40398 Add a script to generate man pages from cobra commands.
Use the generate.sh script instead of md2man directly.
Update Dockerfile for generating man pages.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-07-19 12:00:21 -04:00
Stefan Scherer
6509cc4e63 Revert tasksmax workaround to avoid unsupported bins
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-06-29 08:10:10 +02:00
Alexander Morozov
4531c01509 Merge pull request #22236 from kencochrane/remove_git_from_rpm
Exclude .git directories from the source RPMS and debian packages
2016-05-06 11:16:12 -07:00
Kenfe-Mickael Laventure
20e1b9593e Update build-deb to make correct use of DOCKER_BUILD_PKGS
An environment variable cannot directly be used as a bash array, this
patch loops through all the IFS separated value (which default to
space) instead.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-05-02 11:22:01 -07:00
Ken Cochrane
f1ad6f127b Exclude .git directories from the source RPMS
Ignore .git directory when creating debian sources

Added missing DOCKER_GITCOMMIT env variable to build-deb

Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
2016-04-26 09:26:32 -04:00
Christy Perez
2b849e0263 Build-deb hack for systemd tasksmax
Since we can't use the TasksMax value in the docker.service
file by default, we can uncomment it at buildtime.

See docker/docker/pull/21491 for some background.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-04-07 11:08:30 -05:00
Harald Albers
a7e9bf6cb7 Use https for git clone in build
Signed-off-by: Harald Albers <github@albersweb.de>
2016-03-29 09:35:42 +02:00
Tonis Tiigi
61277c395b Fix symlink copying for deb init scripts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2016-03-24 23:15:17 -07:00
Ken Cochrane
bb66d7144f Packaging changes required for new containerd binaries
These are the changes required due to the new binaries that containerd introduced.
The rpm, and deb packages now include 5 binaries.

docker, containerd, containerd-shim, ctr, and runc

The tar files also include all 5 binaries.

Signed-off-by: Ken Cochrane <KenCochrane@gmail.com>
2016-03-24 16:25:33 -04:00
David Calavera
027f4fdca6 Move debian rules to the right place before creating the package.
debhelper has changed the way it performs path validations and
building the deb package fails when it tries to compress the files.

Signed-off-by: David Calavera <david.calavera@gmail.com>
2016-03-15 16:17:38 -04:00
Govinda Fichtner
7b31ed432e add support for building first ARM debian package
Signed-off-by: Govinda Fichtner <govinda.fichtner@googlemail.com>
2016-01-29 00:21:17 +01:00
Tibor Vass
7d19ca7c40 Merge pull request #19423 from jfrazelle/apparmor-no-install
disable install of docker-engine for 1.10, try to get ready for 1.11
2016-01-21 12:08:50 -05:00
Jessica Frazelle
0bff2515f7 add a way to only build requested pkgs
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-19 17:47:27 -08:00
Jessica Frazelle
c4bc9657b9 disable install of docker-engine for 1.10, try to get ready for 1.11
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2016-01-18 13:38:29 -08:00
Lei Jitang
82051ab996 Add DOCKER_BUILD_ARGS env to pass build-arg for building deb and rpm
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2015-12-29 04:09:44 -05:00
Jessica Frazelle
4935f7f500 fix gopath when building debs
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-11-30 13:44:59 -08:00
Jessica Frazelle
8369f00d30 add generate aa profile to deb install
Signed-off-by: Jessica Frazelle <acidburn@docker.com>
2015-10-19 16:15:25 -07:00
Jessica Frazelle
76d6751600 pass DOCKER_EXPERIMENTAL into build images
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-07-23 09:42:22 -07:00
Mary Anthony
eacae64bd8 Moving man pages out of docs
Adding in other areas per comments
Updating with comments; equalizing generating man page info
Updating with duglin's comments
Doug is right here again;fixing.

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-10 13:43:35 -07:00
Jessica Frazelle
c5f49886fa ugh typo in hack scripts fix, introduced by 2b4facdf
Signed-off-by: Jessica Frazelle <princess@docker.com>
2015-06-10 11:00:59 -07:00
Jörg Thalheim
2b4facdf2e hack: explicit bundles for integration-cli prequisites
no longer load hide critical code such as in .integration-daemon-{start,stop},
if this step failed, it will had logged the corresponding module before:

---> Making bundle: .integration-daemon-start (in bundles/1.7.0-dev/daemon-start)

which is nicer to debug.

This will make it also easier to execute a single tests in an interactive shell.

$ make shell
docker> . hack/make.sh binary .integration-daemon-start .integration-daemon-setup
docker> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED STATUS              PORTS               NAMES
docker> go test github.com/docker/docker/integration-cli

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-06-09 07:22:26 +02:00
Tianon Gravi
aa54a93f74 Swap build-* to use UTC instead of local time
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-06-03 09:56:46 -07:00
Tianon Gravi
ac3388367b Make "DEST" a make.sh construct instead of ad-hoc
Using "DEST" for our build artifacts inside individual bundlescripts was already well-established convention, but this officializes it by having `make.sh` itself set the variable and create the directory, also handling CYGWIN oddities in a single central place (instead of letting them spread outward from `hack/make/binary` like was definitely on their roadmap, whether they knew it or not; sneaky oddities).

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-30 11:16:43 -07:00
Tianon Gravi
297cd347a6 Fix '~' expansion in build-deb... (properly this time)
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-07 14:02:21 -06:00
Tianon Gravi
867eed8f35 Fix build-deb
This fixes the part of #12996 that I forgot. 👼

This also fixes a minor path issue (there's no `libexec` in Debian), and fixes a minor bug with the `debVersion` parsing.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-06 18:10:15 -06:00
Tianon Gravi
9f5730e131 Remove hacky "cp .../Dockerfile.build ." in "build-deb"
Turns out that `-f` on a file that's in `.dockerignore` actually does work.  No idea why it wasn't when I was doing this before, but oh well! 🤘

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-05-01 14:45:00 -06:00
Tianon Gravi
929af4c38d Fix daemon start/stop logic in hack/make/* scripts
From the Bash manual's `set -e` description:
(https://www.gnu.org/software/bash/manual/bashref.html#index-set)

> Exit immediately if a pipeline (see Pipelines), which may consist of a
> single simple command (see Simple Commands), a list (see Lists), or a
> compound command (see Compound Commands) returns a non-zero status.
> The shell does not exit if the command that fails is part of the
> command list immediately following a while or until keyword, part of
> the test in an if statement, part of any command executed in a && or
> || list except the command following the final && or ||, any command
> in a pipeline but the last, or if the command’s return status is being
> inverted with !. If a compound command other than a subshell returns a
> non-zero status because a command failed while -e was being ignored,
> the shell does not exit.

Additionally, further down:

> If a compound command or shell function executes in a context where -e
> is being ignored, none of the commands executed within the compound
> command or function body will be affected by the -e setting, even if
> -e is set and a command returns a failure status. If a compound
> command or shell function sets -e while executing in a context where
> -e is ignored, that setting will not have any effect until the
> compound command or the command containing the function call
> completes.

Thus, the only way to have our `.integration-daemon-stop` script
actually run appropriately to clean up our daemon on test/script failure
is to use `trap ... EXIT`, which we traditionally avoid because it does
not have any stacking capabilities, but in this case is a reasonable
compromise because it's going to be the only script using it (for now,
at least; we can evaluate more complex solutions in the future if they
actually become necessary).

The alternatives were much less reasonable.  One is to have the entire
complex chains in any script wanting to use `.integration-daemon-start`
/ `.integration-daemon-stop` be chained together with `&&` in an `if`
block, which is untenable.  The other I could think of was taking the
body of these scripts out into separate scripts, essentially meaning
we'd need two files for each of these, which further complicates the
maintenance.

Add to that the fact that our `trap ... EXIT` is scoped to the enclosing
subshell (`( ... )`) and we're in even more reasonable territory with
this pattern.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-04-23 11:31:16 -06:00
Jörg Thalheim
6533cb973f hack/make/test-integration-cli: introduce MAKEDIR variable
- every execution of dirname costs time
- less repeating

Signed-off-by: Jörg Thalheim <joerg@higgsboson.tk>
2015-04-15 10:44:14 +02:00
Tianon Gravi
eee1efcfd6 Add "builder-deb" base images for building ".deb" packages properly
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
2015-04-06 10:43:36 -06:00