moby/pkg
Sebastiaan van Stijn 98caf09f0f
fix go-digest to make sure the algorithms are registered
Previously, ioutils imported the crypty/sha256 package, because it was
used by the HashData() utility. As a side-effect of that import, the
sha256 algorithm was registered through its `init()` function.

Now that the HashData() utility is removed, the import is no longer needed
in this package, but some parts of our code depended on the side-effect, and
without this, it fail to recognise the algorithms, unless something else
happens to import crypto/sha256 / crypto/sha512, which made our
tests fail:

```
=== Failed
=== FAIL: reference TestLoad (0.00s)
    store_test.go:53: failed to parse reference: unsupported digest algorithm

=== FAIL: reference TestSave (0.00s)
    store_test.go:82: failed to parse reference: unsupported digest algorithm

=== FAIL: reference TestAddDeleteGet (0.00s)
    store_test.go:174: could not parse reference: unsupported digest algorithm

=== FAIL: reference TestInvalidTags (0.00s)
    store_test.go:355: assertion failed: error is not nil: unsupported digest algorithm
```

While it would be better to do the import in the actual locations where it's
expected, there may be code-paths we overlook, so instead adding the import
here temporarily. Until the PR in go-digest has been merged and released.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-08-20 00:35:41 +02:00
..
aaparser Also trim "~..." from AppArmor versions 2020-10-08 17:03:51 -07:00
archive Merge pull request #42676 from aaronlehmann/patternmatcher-doublestar-bug 2021-08-16 19:58:55 -07:00
authorization Update documentation links 2021-02-25 12:11:50 +01:00
broadcaster Various code-cleanup 2018-05-23 17:50:54 +02:00
capabilities Add more import comments 2019-04-10 16:59:33 +02:00
chrootarchive replace uses of deprecated containerd/sys.RunningInUserNS() 2021-06-18 11:01:24 +02:00
containerfs remove various LCOW bits (container, image, pkg/containerfs) 2021-07-27 13:36:21 +02:00
devicemapper reformat "nolint" comments 2021-06-10 13:03:42 +02:00
directory TestMoveToSubdir: use sort.Strings() (gosimple) 2019-09-18 12:55:45 +02:00
discovery discovery & test: Fix goroutine leaks by adding 1 buffer to channel 2021-03-24 10:32:39 -04:00
dmesg Use Klogctl from x/sys/unix to read Linux kernel log 2019-08-22 08:25:13 +02:00
filenotify TestPollerEvent: fix filemode (staticcheck) 2019-09-18 12:57:56 +02:00
fileutils Test fix for Windows compatibility 2021-08-12 20:03:41 -07:00
fsutils Add canonical import comment 2018-02-05 16:51:57 -05:00
homedir pkg/homedir: clarify Get() docs wrt static linking 2019-10-24 16:39:24 -07:00
idtools pkg/system: deprecate some consts and move them to pkg/idtools 2021-06-18 23:16:15 +02:00
ioutils fix go-digest to make sure the algorithms are registered 2021-08-20 00:35:41 +02:00
jsonmessage gosimple: S1039: unnecessary use of fmt.Sprintf 2021-06-10 13:03:27 +02:00
locker replace pkg/locker with github.com/moby/locker 2020-09-10 22:15:40 +02:00
longpath Add canonical import comment 2018-02-05 16:51:57 -05:00
loopback reformat "nolint" comments 2021-06-10 13:03:42 +02:00
mount Separate non-Windows mount code from common code 2020-11-08 23:15:15 +11:00
namesgenerator updated names-generator.go for alphabetization 2021-07-13 23:52:51 +02:00
parsers pkg/parsers: remove uses of mattn/go-shellwords 2020-07-14 14:03:10 +02:00
pidfile Allow system.MkDirAll() to be used as drop-in for os.MkDirAll() 2019-08-08 15:05:49 +02:00
platform Use unix.Uname instead of shelling out to uname on darwin/freebsd 2019-09-03 22:43:16 +02:00
plugingetter Move plugin client to separate interface 2018-05-30 15:22:10 -04:00
plugins Reduce TestClientWithRequestTimeout flakiness 2021-06-29 23:53:23 +02:00
pools bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
progress pkg/progress: normalize comment formatting 2019-11-27 15:41:23 +01:00
pubsub docker stats: fix 'panic: close of closed channel' 2020-10-24 11:48:56 +08:00
reexec bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
signal replace pkg/signal with moby/sys/signal v0.5.0 2021-07-23 09:32:54 +02:00
stack pkg/signal: move signal.DumpStacks() to a separate package 2021-07-15 18:09:43 +02:00
stdcopy Merge pull request #37088 from ohbarye/fix-typos-duplicated-the 2018-05-19 20:57:47 +02:00
streamformatter bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
stringid Entropy cannot be saved 2019-06-07 11:54:45 +01:00
symlink replace pkg/symlink with github.com/moby/sys/symlink 2020-11-03 11:17:12 +01:00
sysinfo pkg/sysinfo: use correct name for AppArmor in t.Skip() 2021-07-14 23:10:13 +02:00
system system: remove LCOWSupported() utility 2021-07-27 13:36:19 +02:00
tailfile bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
tarsum bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
term pkg/term: vendor moby/term and make pkg/term an alias 2020-04-21 16:29:19 +02:00
truncindex Entropy cannot be saved 2019-06-07 11:54:45 +01:00
urlutil Be explicit about github.com prefix being a legacy feature 2018-05-30 11:09:14 +02: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!