Allocate daemon listening ports

Mark the daemon listening ports as allocated in the portallocator in
order to prevent containers from exposing this port themselves.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
make.sh tgz should handle windows binary

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
add binary extension to docker binary in tgz

Docker-DCO-1.1-Signed-off-by: Daniel, Dao Quang Minh <dqminh89@gmail.com> (github: dqminh)
Merge pull request #9181 from icecrime/allocate_daemon_ports

Allocate daemon listening ports
Refactor to optimize storage driver ApplyDiff()

To avoid an expensive call to archive.ChangesDirs() which walks two directory
trees and compares every entry, archive.ApplyLayer() has been extended to
also return the size of the layer changes.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
Allow for relative paths on ADD/COPY

Moved Tianon's PR from: https://github.com/docker/docker/pull/7870
on top of the latest code

Closes: #3936

Signed-off-by: Andrew Page <admwiggin@gmail.com>
Signed-off-by: Doug Davis <dug@us.ibm.com>
Merge pull request #9635 from duglin/Issue3936

Allow for relative paths on ADD/COPY
Merge pull request #9720 from jlhawn/apply_diff_optimize

Refactor to optimize storage driver ApplyDiff()
Merge pull request #9688 from dqminh/fix-make-tgz

make.sh tgz should handle windows binary
pkg/tarsum: delete the logging code

Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com>
Merge pull request #9733 from unclejack/disable_tarsum_logging

pkg/tarsum: delete the logging code
Make `FROM scratch` a special cased 'no-base' spec

There has been a lot of discussion (issues 4242 and 5262) about making
`FROM scratch` either a special case or making `FROM` optional, implying
starting from an empty file system.

This patch makes the build command `FROM scratch` special cased from now on
and if used does not pull/set the the initial layer of the build to the ancient
image ID (511136ea..) but instead marks the build as having no base image. The
next command in the dockerfile will create an image with a parent image ID of "".
This means every image ever can now use one fewer layer!

This also makes the image name `scratch` a reserved name by the TagStore. You
will not be able to tag an image with this name from now on. If any users
currently have an image tagged as `scratch`, they will still be able to use that
image, but will not be able to tag a new image with that name.

Goodbye '511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158',
it was nice knowing you.

Fixes #4242

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
Merge pull request #8827 from jlhawn/build_implied_from_scratch

Make `FROM scratch` a special cased 'no-base' spec