moby/pkg
Aleksa Sarai 98fe4bd8f1
pkg: devmapper: dynamically load dm_task_deferred_remove
dm_task_deferred_remove is not supported by all distributions, due to
out-dated versions of devicemapper. However, in the case where the
devicemapper library was updated without rebuilding Docker (which can
happen in some distributions) then we should attempt to dynamically load
the relevant object rather than try to link to it.

This can only be done if Docker was built dynamically, for obvious
reasons.

In order to avoid having issues arise when dlsym(3) was unnecessary,
gate the whole dlsym(3) logic behind a buildflag that we disable by
default (libdm_dlsym_deferred_remove).

Signed-off-by: Aleksa Sarai <asarai@suse.de>
2018-02-16 17:23:23 +11:00
..
aaparser Add canonical import comment 2018-02-05 16:51:57 -05:00
archive Add canonical import comment 2018-02-05 16:51:57 -05:00
authorization Add canonical import comment 2018-02-05 16:51:57 -05:00
broadcaster Add canonical import comment 2018-02-05 16:51:57 -05:00
chrootarchive Add canonical import comment 2018-02-05 16:51:57 -05:00
containerfs Add canonical import comment 2018-02-05 16:51:57 -05:00
devicemapper pkg: devmapper: dynamically load dm_task_deferred_remove 2018-02-16 17:23:23 +11:00
directory Add canonical import comment 2018-02-05 16:51:57 -05:00
discovery Add canonical import comment 2018-02-05 16:51:57 -05:00
dmesg Add canonical import comment 2018-02-05 16:51:57 -05:00
filenotify Add canonical import comment 2018-02-05 16:51:57 -05:00
fileutils Add canonical import comment 2018-02-05 16:51:57 -05:00
fsutils Add canonical import comment 2018-02-05 16:51:57 -05:00
homedir Add canonical import comment 2018-02-05 16:51:57 -05:00
idtools Add canonical import comment 2018-02-05 16:51:57 -05:00
ioutils Add canonical import comment 2018-02-05 16:51:57 -05:00
jsonmessage Add canonical import comment 2018-02-05 16:51:57 -05:00
locker Add canonical import comment 2018-02-05 16:51:57 -05:00
longpath Add canonical import comment 2018-02-05 16:51:57 -05:00
loopback Add canonical import comment 2018-02-05 16:51:57 -05:00
mount Add canonical import comment 2018-02-05 16:51:57 -05:00
namesgenerator Add canonical import comment 2018-02-05 16:51:57 -05:00
parsers Add canonical import comment 2018-02-05 16:51:57 -05:00
pidfile Add canonical import comment 2018-02-05 16:51:57 -05:00
platform Add canonical import comment 2018-02-05 16:51:57 -05:00
plugingetter Add canonical import comment 2018-02-05 16:51:57 -05:00
plugins Add canonical import comment 2018-02-05 16:51:57 -05:00
pools Add canonical import comment 2018-02-05 16:51:57 -05:00
progress Add canonical import comment 2018-02-05 16:51:57 -05:00
pubsub Add canonical import comment 2018-02-05 16:51:57 -05:00
reexec Add canonical import comment 2018-02-05 16:51:57 -05:00
signal Add canonical import comment 2018-02-05 16:51:57 -05:00
stdcopy Add canonical import comment 2018-02-05 16:51:57 -05:00
streamformatter Add canonical import comment 2018-02-05 16:51:57 -05:00
stringid Add canonical import comment 2018-02-05 16:51:57 -05:00
symlink Add canonical import comment 2018-02-05 16:51:57 -05:00
sysinfo Add canonical import comment 2018-02-05 16:51:57 -05:00
system Fix typos in pkg 2018-02-10 19:43:13 +08:00
tailfile Fix typos in pkg 2018-02-10 19:43:13 +08:00
tarsum Add canonical import comment 2018-02-05 16:51:57 -05:00
term Add canonical import comment 2018-02-05 16:51:57 -05:00
truncindex Add canonical import comment 2018-02-05 16:51:57 -05:00
urlutil Add canonical import comment 2018-02-05 16:51:57 -05:00
useragent Add canonical import comment 2018-02-05 16:51:57 -05:00
README.md Rename a few docker to moby 2017-10-25 13:56:12 +02:00

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!