an [abandoned] attempt to slice out the docker/docker/pkg package
Find a file
Aaron Lehmann eb7916eb53 Fix race in RunCommandWithOutputForDuration
This function was starting a goroutine that modifies one of its return
values. The intent is for the goroutine to only influence the return
value when it's causing the function to return, but it's racy and can
also modify the return value when the function is returning due to the
timeout. Fix the goroutine to not modify return values directly.

Also, give the channel a buffer so that the goroutine doesn't block
forever after a timeout.

Fixes #18305

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-12-03 16:34:01 -08:00
aaparser check version for docker-default aa profile 2015-11-30 10:18:12 -08:00
ansiescape Use notary library for trusted image fetch and signing 2015-07-24 14:08:20 -07:00
archive Fix for zero-sized layers 2015-11-25 18:02:03 -08:00
blkiodev Add support for blkio.weight_device 2015-11-11 23:06:36 +08:00
broadcaster Move types from progressreader and broadcastwriter to broadcaster 2015-10-06 22:20:07 -04:00
chrootarchive Merge pull request #17035 from estesp/fix-build-dir-perms 2015-10-20 08:57:19 -07:00
devicemapper Fix golint warnings 2015-11-02 08:02:25 -08:00
directory Add user namespace (mapping) support to the Docker engine 2015-10-09 17:47:37 -04:00
discovery Enhancing --cluster-advertise to support <interface-name> 2015-10-27 11:03:22 -07:00
filenotify Fix spelling of 'existent' 2015-11-25 13:45:37 +00:00
fileutils Support multi-dir wildcards in .dockerignore 2015-11-13 13:44:07 -08:00
graphdb Merge pull request #16054 from jfrazelle/update-sqlite3-dep 2015-09-03 19:20:57 -07:00
homedir Update libcontainer 2015-07-16 16:02:26 -07:00
httputils Update httputils tests 2015-09-09 14:59:25 +02:00
idtools Correct build-time directory creation with user namespaced daemon 2015-10-20 08:59:48 -04:00
integration Fix race in RunCommandWithOutputForDuration 2015-12-03 16:34:01 -08:00
ioutils Cap the amount of buffering done by BytesPipe 2015-11-12 10:11:29 -08:00
jsonlog add labels/env log option for jsonfile 2015-10-12 21:12:46 +02:00
jsonmessage events/jsonmessage: add and prefer TimeNano for events 2015-09-18 13:15:26 -04:00
locker Fix race in locker call to dec() 2015-11-24 11:59:09 -05:00
longpath Windows: Fixing longpath hanlding of UNC paths. 2015-09-30 19:36:08 -07:00
mflag Remove defaults for flags/options that expect no value 2015-11-19 08:37:51 -08:00
mount This patch adds --tmpfs as a option for mounting tmpfs on directories 2015-12-02 10:06:59 -05:00
namesgenerator add james golick to names generator 2015-11-29 10:40:12 -08:00
nat Adding support to publish on custom host port ranges 2015-08-15 02:41:29 +00:00
parsers Merge pull request #17438 from pmalmgren/17037-systemd226-cgroup 2015-11-30 11:47:16 -08:00
pidfile Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
platform Merge pull request #18090 from vdemeester/17478-follow-up-cleanup-pkg-platform 2015-11-19 14:00:23 -05:00
plugins Add user namespace (mapping) support to the Docker engine 2015-10-09 17:47:37 -04:00
pools Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
progressreader Move types from progressreader and broadcastwriter to broadcaster 2015-10-06 22:20:07 -04:00
promise Move Go() promise-like func from utils to pkg/promise 2014-09-29 23:16:27 -07:00
proxy Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
pubsub Don't use time.After if there is no timeout 2015-07-14 09:14:51 -07:00
random Prefer crypto rand seed for pkg/rand 2015-07-29 12:55:57 -04:00
reexec make docker compile on freebsd 2015-07-29 21:25:56 +03:00
signal Define all of the signals defined by kill -l 2015-11-12 09:55:18 -05:00
sockets Remove usage of listenbuffer package 2015-11-30 09:04:55 -08:00
stdcopy Added test coverage to StdCopy closes #11584 2015-09-25 11:15:45 +02:00
streamformatter Add newlines to FormatProgress for JSON as well 2015-10-28 12:58:47 +00:00
stringid Update daemon and docker core to use new content addressable storage 2015-11-24 09:40:25 -08:00
stringutils pkg: stringutils: Add more tests to strslice 2015-09-01 20:27:45 +02:00
symlink Windows: Fix long path handling for docker build 2015-09-15 10:58:11 -07:00
sysinfo Add support for blkio.weight_device 2015-11-11 23:06:36 +08:00
system Merge pull request #17456 from Microsoft/TestChtimesFix 2015-11-20 18:07:09 +01:00
tailfile typofix - https://github.com/vlajos/misspell_fixer 2015-08-07 23:25:49 +01:00
tarsum Fix golint warnings 2015-11-02 08:02:25 -08:00
term kill TODO 2015-11-12 16:41:25 +08:00
timeoutconn Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
timeutils modifying docker --since and --until to support nanoseconds and time zones 2015-11-13 09:56:15 -06:00
tlsconfig Fix golint warnings 2015-11-02 08:02:25 -08:00
truncindex Do not rely on string comparison in truncindex 2015-11-04 11:34:05 -08:00
ulimit Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
units Multiple fixes to 'docker stats' output: 2015-07-30 10:14:57 +03:00
urlutil Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
useragent Lint on pkg/* packages 2015-07-27 21:26:21 +02:00
version Fix minor typo 2015-03-25 00:46:22 +08:00
README.md Add README to pkg 2013-12-23 23:12:19 +00:00

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

Utility packages are kept separate from the docker 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 Docker 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!