1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/pkg
Sebastiaan van Stijn dee3f716b3
pkg/chrootarchive: replace system.MkdirAll for os.Mkdir
system.MkdirAll is a special version of os.Mkdir to handle creating directories
using Windows volume paths ("\\?\Volume{4c1b02c1-d990-11dc-99ae-806e6f6e6963}").
This may be important when MkdirAll is used, which traverses all parent paths to
create them if missing (ultimately landing on the "volume" path).

Commit 62f648b061 introduced the system.MkdirAll
calls, as a change was made in applyLayer() for Windows to use Windows volume
paths as an alternative for chroot (which is not supported on Windows). Later
iteractions changed this to regular Windows long-paths (`\\?\<path>`) in
230cfc6ed2, and 9b648dfac6.
Such paths are handled by the `os` package.

However, in these tests, the parent path already exists (all paths created are
a direct subdirectory within `tmpDir`). It looks like `MkdirAll` here is used
out of convenience to not have to handle `os.ErrExist` errors. As all these
tests are running in a fresh temporary directory, there should be no need to
handle those, and it's actually desirable to produce an error in that case, as
the directory already existing would be unexpected.

Because of the above, this test changes `system.MkdirAll` to `os.Mkdir`. As we
are changing these lines, this patch also changes the legacy octal notation
(`0700`) to the now preferred `0o700`.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-10-16 13:58:50 +02:00
..
aaparser
archive Merge pull request #44222 from thaJeztah/godoc_instead_of_readme 2022-10-10 00:06:17 -07:00
authorization pkg/*: fix "empty-lines" (revive) 2022-09-28 01:58:49 +02:00
broadcaster
capabilities
chrootarchive pkg/chrootarchive: replace system.MkdirAll for os.Mkdir 2022-10-16 13:58:50 +02:00
containerfs pkg/containerfs: drop ContainerFS type alias 2022-09-23 16:56:53 -04:00
devicemapper pkg/*: fix "empty-lines" (revive) 2022-09-28 01:58:49 +02:00
directory Merge pull request #44251 from thaJeztah/pkg_dir_cleanup 2022-10-15 22:48:19 +02:00
dmesg
fileutils replace pkg/fileutils Matching funcs with github.com/moby/patternmatcher 2022-09-30 23:25:28 +02:00
homedir
idtools pkg/idtools: cleanup errors 2022-10-08 21:56:28 +02:00
ioutils pkg/*: fix "empty-lines" (revive) 2022-09-28 01:58:49 +02:00
jsonmessage pkg/jsonmessage: export "Stream" interface 2022-08-29 16:15:37 +02:00
longpath
loopback pkg/loopback: use ioctl helpers from x/sys/unix 2022-10-08 21:20:29 +02:00
namesgenerator pkg/*: fix "empty-lines" (revive) 2022-09-28 01:58:49 +02:00
parsers Merge pull request #43786 from thaJeztah/gofmt_119 2022-07-08 21:56:26 -07:00
pidfile pkg/pidfile: remove PIDFile type, rename New() to Write() 2022-10-15 16:40:16 +02:00
platform all: use unix.ByteSliceToString for utsname fields 2022-05-18 17:13:20 -07:00
plugingetter
plugins pkg/*: fix "empty-lines" (revive) 2022-09-28 01:58:49 +02:00
pools
progress refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
reexec Merge pull request #44222 from thaJeztah/godoc_instead_of_readme 2022-10-10 00:06:17 -07:00
stack all: replace strings.Replace with strings.ReplaceAll 2022-05-09 19:45:40 +08:00
stdcopy refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
streamformatter
stringid pkg: replace some README's with GoDoc package descriptions 2022-09-30 17:11:37 +02:00
sysinfo pkg: replace some README's with GoDoc package descriptions 2022-09-30 17:11:37 +02:00
system Merge pull request #44265 from thaJeztah/pkg_system_move_init_step1 2022-10-15 21:28:13 +02:00
tailfile pkg/*: fix "empty-lines" (revive) 2022-09-28 01:58:49 +02:00
tarsum pkg/*: fix "empty-lines" (revive) 2022-09-28 01:58:49 +02:00
useragent
README.md

pkg/ is a collection of utility packages used by the Moby project without being specific to its internals.

Utility packages are kept separate from the moby core codebase to keep it as small and concise as possible. If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the Moby organization, to facilitate re-use by other projects. However that is not the priority.

The directory pkg is named after the same directory in the camlistore project. Since Brad is a core Go maintainer, we thought it made sense to copy his methods for organizing Go code :) Thanks Brad!

Because utility packages are small and neatly separated from the rest of the codebase, they are a good place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!