Commit Graph

158 Commits

Author SHA1 Message Date
5231d38261 Fix permissions on ADD/COPY
Fix a regression introduced in PR#9467 when a single file was added or
copied.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: cfc24769a26e825e4267cbfdd59af807e27508b9
Component: engine
2014-12-10 11:09:03 -08:00
9923dcade2 Merge pull request #9467 from icecrime/9401-restrict_add_chown_scope
Reduce permissions changes scope after ADD/COPY
Upstream-commit: 64ebffe7b6e4a6732b3b6f56585bc8d01f4f8ed0
Component: engine
2014-12-09 10:40:23 -08:00
15957abc33 Reduce permissions changes scope after ADD/COPY
Permissions after an ADD or COPY build instructions are now restricted
to the scope of files potentially modified by the operation rather than
the entire impacted tree.

Fixes #9401.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: f3cedce3608afe7bd570666a7fc878ab85c7bc03
Component: engine
2014-12-04 17:16:22 -08:00
52bfe6086a Make 'docker build' send non-err output to stdout
Right now 'docker build' will send:
   Sending build context to Docker daemon
to stderr, instead of stdout.  This PR fixes that.

I looked in the rest of api/client/commands.go for other cases
that might do this and only one jumped out at me:
  https://github.com/docker/docker/blob/master/api/client/commands.go#L2202
but I think if I changed that to go to stdout then it'll mess people up
who are expecting just the container ID to be printed to the screen and
there is no --quiet type of flag we can check.

Closes #9404

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 5c91bb93a7e35b2d443090cabc7ec0a2ca59b6ee
Component: engine
2014-12-04 14:06:40 -08:00
9442c6a19e Remove unnessary abstraction deepEqual
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: fa753e67ae2bf573c9dfb1da1e1135c5ef5ef415
Component: engine
2014-12-03 17:52:06 -08:00
09af87d0eb remove deprecated cmd function in integration-cli
Remove deprecated cmd function in integration-cli
and change cmd to dockerCmd in all test files

Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
Upstream-commit: 7fbbd515b1018721e91199960d1933383a8262a1
Component: engine
2014-11-25 00:32:38 +09:00
8d3c39cea7 Merge pull request #9261 from unclejack/fix_test_tmp_cleanup
fix cleanup of /tmp in tests
Upstream-commit: 0f2de5158fe66b4906de176f90e3e6d813336450
Component: engine
2014-11-21 08:48:04 -08:00
f435c304cd Merge pull request #8251 from duglin/Issue2333
Add support for ENV of the form: ENV name=value ...
Upstream-commit: 58b6f31a7a3157b5ece418da0a976a28dae9841d
Component: engine
2014-11-20 13:12:24 -08:00
5dafd01fe8 Add support for ENV of the form: ENV name=value ...
still supports the old form: ENV name value

Also, fixed an issue with the parser where it would ignore lines
at the end of the Dockerfile that ended with \

Closes #2333

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 1314e1586f8cd6201c16161eb960a743c727946b
Component: engine
2014-11-20 09:54:28 -08:00
14c4bd0633 integ-cli: fix cleanup in build tests
Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
Upstream-commit: db7fded17fd984fc3c854d1e34bd8d656c3b3692
Component: engine
2014-11-20 19:38:41 +02:00
865600707c Make sure integration-cli test clean up
Common patterns:
- Multiple images were built with same name but only one cleanup.
- Containers were deleted after images.
- Images not removed after retagging.

Signed-off-by: Tõnis Tiigi <tonistiigi@gmail.com> (github: tonistiigi)
Upstream-commit: da3d3b97ebe1e6fe1254367521c725ca12a5e61d
Component: engine
2014-11-19 23:41:46 +02:00
0cba5a8261 Merge pull request #8716 from duglin/Issue8331
Use the HTTP Last-Modified http header as the mtime value for ADD cmd when present
Upstream-commit: 4fcd3dd7488ba779c48557e90598c81c94bf74e4
Component: engine
2014-11-10 13:03:57 -07:00
2f7c6a8c08 Use the HTTP Last-Modified http header as the mtime value for ADD cmd when present
Closes #8331

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 2e482c86bc14ddd4cfa45281dcf8f9ca141c9f14
Component: engine
2014-11-07 13:58:05 -08:00
07c8c2eea7 Fix vet errors
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 18d9f1978b311ff9cadce9f0237313db14502f9f
Component: engine
2014-11-05 08:26:22 -08:00
d3c1cd34ce Merge pull request #8739 from duglin/CleanupDockerIgnores
Do some cleanup on .dockerignore paths
Upstream-commit: a85f58719f29f76f465747d095c85dbb8ba69d06
Component: engine
2014-11-03 16:05:24 -05:00
f115554d46 Do some cleanup on .dockerignore paths
While working on the fix for #8330 I noticed a few things:
1 - the split() call for the .dockerignore process will generate a blank
    "exclude".  While this isn't causing an issue right now, I got worried
	that in the future some code later on might interpret "" as something bad,
	like "everything" or ".".  So I added a check for an empty "exclude"
	and skipped it
2 - if someone puts "foo" in their .dockerignore then we'll skip "foo".
    However, if they put "./foo" then we won't due to the painfully
	simplistic logic of go's filepath.Match algorithm.  To help things
	a little (and to treat ./Dockerfile just like Dockerfile) I added
	code to filepath.Clean() each entry in .dockerignore.  It should
	result in the same semantic path but ensure that no matter how the
	user expresses the path, we'll match it.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: c0f0f5c9887032c606750b645001829d9f14f47c
Component: engine
2014-11-02 11:29:46 -08:00
b3f73f86dd builder: Restore /bin/sh handling in CMD when entrypoint is specified with JSON
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 24545c18c35620c211003561dc482d66ee6d0306
Component: engine
2014-10-27 21:50:22 +00:00
8aa0b668bd builder: whitelist verbs useful for environment replacement.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 4e74cd498b66e494b3336118a19c02000b282251
Component: engine
2014-10-27 17:38:25 +00:00
a3019fc24f builder: handle escapes without swallowing all of them.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: be49867cab663b5bdcf7804f3d2504f056db9db1
Component: engine
2014-10-27 17:38:24 +00:00
dc1bcb95a0 builder: some small fixups + fix a bug where empty entrypoints would not override inheritance.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: cdd6e97910c50e5766c8bec2121f906e9ee2d119
Component: engine
2014-10-24 00:23:25 +00:00
4efe32a77f builder: handle cases where onbuild is not uppercase.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: a34831f0168156ded7ecf96a1734c2735fede1ca
Component: engine
2014-10-21 20:17:37 +00:00
86ec0544b5 Add a testcase to make sure we don't squash tabs or convert them to spaces
This is in response to @SvenDowideit asking if we had a "tab" testcase
in https://github.com/docker/docker/issues/2315#issuecomment-58133508
I couldn't find one so I'm adding one

Closes #2315

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: c980fe09b77700fcaf47459e91a149876b7abef9
Component: engine
2014-10-17 15:52:48 -07:00
98837c45ee Merge pull request #8639 from erikh/fix_escapes
builder: fix escaping for ENV variables.
Upstream-commit: 75fd1b614dfd5acd36975357b51341585f89003c
Component: engine
2014-10-17 15:50:37 -07:00
6ef784efe2 builder: fix escaping for ENV variables.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: df0e0c76831bed08cf5e08ac9a1abebf6739da23
Component: engine
2014-10-17 21:47:35 +00:00
2e9533ccba Merge pull request #8415 from LK4D4/use_logs_in_builder
Use logs instead of attach for builder
Upstream-commit: 3c325f89e544415bafc23006ead0bdc21cab2f61
Component: engine
2014-10-17 13:32:13 -07:00
1ccc013586 Use logs instead of attach for builder
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 6f09d064bd438ab4425d6105f40887f02bb9e97e
Component: engine
2014-10-17 13:20:02 -07:00
810883724d Rewrite TestBuildCopyDisallowRemote to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 98e7608b4cec04463781ccb314259873bbb56a16
Component: engine
2014-10-17 11:58:12 -07:00
50718a9b0f Rewrite TestBuildCopyEtcToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: c8a5d56fd789b50b78ad58c07a535aaf01af77f7
Component: engine
2014-10-17 11:57:48 -07:00
7e037f1bad Rewrite TestBuildCopyWholeDirToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 6582ea574cfcd6cc8e3b1abebe7bfcc7aee05ece
Component: engine
2014-10-17 11:57:30 -07:00
5ab35b8993 Rewrite TestBuildCopyDirContentToExistDir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 4a029259ff41c37eb72a6f221f9725f66491139f
Component: engine
2014-10-17 11:57:07 -07:00
3100829c7e Rewrite TestBuildCopyDirContentToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 832618afc6e6a8c489afb40f94340f158f9680c7
Component: engine
2014-10-17 11:56:49 -07:00
ff7999247d Rewrite TestBuildCopySingleFileToNonExistDir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 24d83afd5203f93a22a3d95a212e9ec295aadc8b
Component: engine
2014-10-17 11:56:28 -07:00
f2d974c957 Rewrite TestBuildCopySingleFileToExistDir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 2248109ff8607264ba40d4a4ac24bad66462d105
Component: engine
2014-10-17 11:56:01 -07:00
e5897b7fab Rewrite TestBuildCopySingleFileToWorkdir to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: d41cba6aed1ffdda9c3e3441d720dab9afc3eb66
Component: engine
2014-10-17 11:55:34 -07:00
be8f5dfa14 Rewrite TestBuildCopySingleFileToRoot to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: 83c5dced10c4e2a40990e927ccc15a1e0428529c
Component: engine
2014-10-17 11:55:04 -07:00
fa31328c73 Rewrite TestBuildCopyAddMultipleFiles to not use fixtures
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: e45c92153d0c21308fe5983aa76182cc03ef398e
Component: engine
2014-10-17 11:54:29 -07:00
02f8c7b8a5 Merge pull request #8567 from LK4D4/add_log_done
Add logDone for TestBuildAddSingleFileToNonExistDir
Upstream-commit: 5a20dc67b005717a0549fe504a3b0ccf62c913c6
Component: engine
2014-10-17 11:20:12 -07:00
2cbac498ba Merge pull request #8486 from duglin/Issue5701
Add failing testcase for single quotes in CMD
Upstream-commit: 09ceae5c9c268f2b79954b1580c5ec1632f24d0e
Component: engine
2014-10-17 11:11:49 -07:00
a1fc81a541 Cleanup errorOut resp in build tests
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: b1e3c9e9cd49591f8efcbcd00d45bcd98fbe2831
Component: engine
2014-10-16 15:06:20 -07:00
9a84feded9 Add failing testcase for single quotes in CMD
Closes #5701

This is due to @SvenDowideit comment at: https://github.com/docker/docker/issues/5701#issuecomment-58133541
where he asked for a testcase showing the error case.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 9edf96782470deb15deec3be07e3988164454148
Component: engine
2014-10-16 14:40:55 -07:00
2c00860ff9 Minor fix of tests names
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: fcfe80f63397c0a8bdd6605798c0639ec3dcda56
Component: engine
2014-10-14 11:47:01 -07:00
b0b0bf7337 Add logDone for TestBuildAddSingleFileToNonExistDir
Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
Upstream-commit: fbaa41b5aa920ca752481e1b94aeff29857cb76d
Component: engine
2014-10-14 11:17:41 -07:00
872f82a3de Fix builder from being over-aggressive on ${}
`${SOME_VAR%pattern}` was turning into `SOME_VAL%pattern}` which the shell would then balk at.

I've updated the `TOKEN_ENV_INTERPOLATION` regex to account for this (ie, if `${` is used, it _must_ also match the closing `}`), and renamed the variable to not be exported (since it's not used outside the function following it).

I also added comments for the bits of `tokenEnvInterpolation` so they're easier to follow. 😄

Signed-off-by: Andrew Page <admwiggin@gmail.com>
Upstream-commit: 24189b2c36985f8345691fa6ec2c0766cfc133a7
Component: engine
2014-10-14 00:58:55 -06:00
3381602232 builder: ONBUILD triggers were not accurately being executed in JSON cases.
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 1150c1639a9efbd2e5e4ac1e71961aef77a32de0
Component: engine
2014-10-14 01:59:45 +00:00
b7f1d56490 Fix Tag Test for longer tags
Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
Upstream-commit: de32f48e6668e9f071272d588cf6acdd7090b9ca
Component: engine
2014-10-07 19:37:08 -07:00
2d4da4a816 Allow child to overwrite entrypoint from parent
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 50fa9dffcf023c81f3142f0ddd294db4ac6b8281
Component: engine
2014-10-07 23:45:35 +00:00
a6ccd9b35c Merge pull request #8434 from tiborvass/ignore_invalid_Dockerfile_instructions
Ignore unknown dockerfile instructions
Upstream-commit: 12203e475de1da4c6c58b52cc458e353f2b7ea3a
Component: engine
2014-10-07 14:45:51 -07:00
6c9c0cbd11 Merge pull request #8341 from unclejack/add_workdir_test
add test for workdir env vars and add docs
Upstream-commit: 40cad37f0a4f182150476a577196af29da142fc1
Component: engine
2014-10-07 14:27:32 +10:00
6634e2c862 Add test for ignoring invalid dockerfile instructions
Signed-off-by: Tibor Vass <teabee89@gmail.com>
Upstream-commit: 9fe1dd3103071a7ce8e6d7a1ce204351e8eaa248
Component: engine
2014-10-06 23:14:25 -04:00
3bb92dd8aa Merge pull request #8409 from unclejack/integcli_lint
integcli: lint fixes
Upstream-commit: a650ab7f29ea89d89a1bdee19823ca45fac4d4a4
Component: engine
2014-10-06 14:32:08 -07:00