Package name
uutils
Current version in Wolfi
0.8.0-r0
Upstream project URL
https://github.com/uutils/coreutils
Problem
In < 0.7.0-r0 the package size of uutils was ~29 MiB.
Starting in 0.8.0-r0 the package size exploded to 1446 MiB.
I did not see this previously reported anywhere in this repo: https://github.com/search?q=repo%3Awolfi-dev%2Fos+uutils&type=issues
Steps to reproduce
$ apk update
$ apk add 'uutils=0.8.0-r0'
(1/1) Installing uutils (0.8.0-r0)
Executing busybox-1.37.0-r58.trigger
OK: 1446 MiB in 16 packages
Previous version
$ apk update
$ apk add 'uutils=0.7.0-r0'
(1/1) Installing uutils (0.7.0-r0)
Executing busybox-1.37.0-r58.trigger
OK: 29 MiB in 16 packages
Root cause (if known)
The coreutils binary is being installed once per uutil command added to /usr/bin/. Previously the command was installed once at /usr/bin/coreutils and then symlinked to all other uutil commands.
Using this to initially inspect the size of each file:
apk info -Lq uutils | while read -r f; do
[ -f "/$f" ] && du -h "/$f"
done
With 0.7.0-r0:
0 /usr/bin/[
0 /usr/bin/arch
0 /usr/bin/b2sum
0 /usr/bin/base32
0 /usr/bin/base64
0 /usr/bin/basename
0 /usr/bin/basenc
0 /usr/bin/cat
0 /usr/bin/chgrp
0 /usr/bin/chmod
0 /usr/bin/chown
0 /usr/bin/chroot
0 /usr/bin/cksum
0 /usr/bin/comm
13M /usr/bin/coreutils
0 /usr/bin/cp
0 /usr/bin/csplit
0 /usr/bin/cut
0 /usr/bin/date
0 /usr/bin/dd
0 /usr/bin/df
0 /usr/bin/dir
0 /usr/bin/dircolors
0 /usr/bin/dirname
0 /usr/bin/du
0 /usr/bin/echo
0 /usr/bin/env
0 /usr/bin/expand
0 /usr/bin/expr
0 /usr/bin/factor
0 /usr/bin/false
0 /usr/bin/fmt
0 /usr/bin/fold
0 /usr/bin/groups
0 /usr/bin/head
0 /usr/bin/hostid
0 /usr/bin/hostname
0 /usr/bin/id
0 /usr/bin/install
0 /usr/bin/join
0 /usr/bin/link
0 /usr/bin/ln
0 /usr/bin/logname
0 /usr/bin/ls
0 /usr/bin/md5sum
0 /usr/bin/mkdir
0 /usr/bin/mkfifo
0 /usr/bin/mknod
0 /usr/bin/mktemp
0 /usr/bin/more
0 /usr/bin/mv
0 /usr/bin/nice
0 /usr/bin/nl
0 /usr/bin/nohup
0 /usr/bin/nproc
0 /usr/bin/numfmt
0 /usr/bin/od
0 /usr/bin/paste
0 /usr/bin/pathchk
0 /usr/bin/pinky
0 /usr/bin/pr
0 /usr/bin/printenv
0 /usr/bin/printf
0 /usr/bin/ptx
0 /usr/bin/pwd
0 /usr/bin/readlink
0 /usr/bin/realpath
0 /usr/bin/rm
0 /usr/bin/rmdir
0 /usr/bin/seq
0 /usr/bin/sha1sum
0 /usr/bin/sha224sum
0 /usr/bin/sha256sum
0 /usr/bin/sha384sum
0 /usr/bin/sha512sum
0 /usr/bin/shred
0 /usr/bin/shuf
0 /usr/bin/sleep
0 /usr/bin/sort
0 /usr/bin/split
0 /usr/bin/stat
0 /usr/bin/stdbuf
0 /usr/bin/stty
0 /usr/bin/sum
0 /usr/bin/sync
0 /usr/bin/tac
0 /usr/bin/tail
0 /usr/bin/tee
0 /usr/bin/test
0 /usr/bin/timeout
0 /usr/bin/touch
0 /usr/bin/tr
0 /usr/bin/true
0 /usr/bin/truncate
0 /usr/bin/tsort
0 /usr/bin/tty
0 /usr/bin/uname
0 /usr/bin/unexpand
0 /usr/bin/uniq
0 /usr/bin/unlink
0 /usr/bin/users
0 /usr/bin/vdir
0 /usr/bin/wc
0 /usr/bin/who
0 /usr/bin/whoami
0 /usr/bin/yes
<omitting man pages>
692K /var/lib/db/sbom/uutils-0.7.0-r0.spdx.json
Repeating with 0.8.0-r0:
13M /usr/bin/[
13M /usr/bin/arch
13M /usr/bin/b2sum
13M /usr/bin/base32
13M /usr/bin/base64
13M /usr/bin/basename
13M /usr/bin/basenc
13M /usr/bin/cat
13M /usr/bin/chgrp
13M /usr/bin/chmod
13M /usr/bin/chown
13M /usr/bin/chroot
13M /usr/bin/cksum
13M /usr/bin/comm
13M /usr/bin/coreutils
13M /usr/bin/cp
13M /usr/bin/csplit
13M /usr/bin/cut
13M /usr/bin/date
13M /usr/bin/dd
13M /usr/bin/df
13M /usr/bin/dir
13M /usr/bin/dircolors
13M /usr/bin/dirname
13M /usr/bin/du
13M /usr/bin/echo
13M /usr/bin/env
13M /usr/bin/expand
13M /usr/bin/expr
13M /usr/bin/factor
13M /usr/bin/false
13M /usr/bin/fmt
13M /usr/bin/fold
13M /usr/bin/groups
13M /usr/bin/head
13M /usr/bin/hostid
13M /usr/bin/hostname
13M /usr/bin/id
13M /usr/bin/install
13M /usr/bin/join
13M /usr/bin/link
13M /usr/bin/ln
13M /usr/bin/logname
13M /usr/bin/ls
13M /usr/bin/md5sum
13M /usr/bin/mkdir
13M /usr/bin/mkfifo
13M /usr/bin/mknod
13M /usr/bin/mktemp
13M /usr/bin/more
13M /usr/bin/mv
13M /usr/bin/nice
13M /usr/bin/nl
13M /usr/bin/nohup
13M /usr/bin/nproc
13M /usr/bin/numfmt
13M /usr/bin/od
13M /usr/bin/paste
13M /usr/bin/pathchk
13M /usr/bin/pinky
13M /usr/bin/pr
13M /usr/bin/printenv
13M /usr/bin/printf
13M /usr/bin/ptx
13M /usr/bin/pwd
13M /usr/bin/readlink
13M /usr/bin/realpath
13M /usr/bin/rm
13M /usr/bin/rmdir
13M /usr/bin/seq
13M /usr/bin/sha1sum
13M /usr/bin/sha224sum
13M /usr/bin/sha256sum
13M /usr/bin/sha384sum
13M /usr/bin/sha512sum
13M /usr/bin/shred
13M /usr/bin/shuf
13M /usr/bin/sleep
13M /usr/bin/sort
13M /usr/bin/split
13M /usr/bin/stat
13M /usr/bin/stdbuf
13M /usr/bin/stty
13M /usr/bin/sum
13M /usr/bin/sync
13M /usr/bin/tac
13M /usr/bin/tail
13M /usr/bin/tee
13M /usr/bin/test
13M /usr/bin/timeout
13M /usr/bin/touch
13M /usr/bin/tr
13M /usr/bin/true
13M /usr/bin/truncate
13M /usr/bin/tsort
13M /usr/bin/tty
13M /usr/bin/uname
13M /usr/bin/unexpand
13M /usr/bin/uniq
13M /usr/bin/unlink
13M /usr/bin/users
13M /usr/bin/vdir
13M /usr/bin/wc
13M /usr/bin/who
13M /usr/bin/whoami
13M /usr/bin/yes
<omitting man pages>
72M /var/lib/db/sbom/uutils-0.8.0-r1.spdx.json
Using sha256sum to validate it's the same binary:
apk info -Lq uutils | while read -r f; do
sha256sum "/$f"
done
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/[
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/arch
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/b2sum
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/base32
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/base64
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/basename
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/basenc
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/cat
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/chgrp
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/chmod
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/chown
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/chroot
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/cksum
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/comm
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/coreutils
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/cp
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/csplit
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/cut
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/date
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/dd
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/df
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/dir
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/dircolors
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/dirname
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/du
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/echo
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/env
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/expand
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/expr
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/factor
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/false
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/fmt
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/fold
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/groups
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/head
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/hostid
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/hostname
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/id
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/install
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/join
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/link
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/ln
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/logname
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/ls
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/md5sum
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/mkdir
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/mkfifo
ff1d04a665aca69d005399815b816dfa9d8440c01f40eeacfb081f52b40a4d85 /usr/bin/mknod
...<omitting the rest>...
I also confirmed that prior to 0.8.0-r0 everything was symlinked:
$ apk update
$ apk add 'uutils=0.7.0-r0'
$ apk info -Lq uutils | while read -r f; do
ls -lah "/$f"
done
lrwxrwxrwx 1 root root 9 May 24 16:14 '/usr/bin/[' -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/arch -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/b2sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/base32 -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/base64 -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/basename -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/basenc -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/cat -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/chgrp -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/chmod -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/chown -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/chroot -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/cksum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/comm -> coreutils
-rwxr-xr-x 1 root root 13M Mar 8 23:58 /usr/bin/coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/cp -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/csplit -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/cut -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/date -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/dd -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/df -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/dir -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/dircolors -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/dirname -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/du -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/echo -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/env -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/expand -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/expr -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/factor -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/false -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/fmt -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/fold -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/groups -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/head -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/hostid -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/hostname -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/id -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/install -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/join -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/link -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/ln -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/logname -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/ls -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/md5sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/mkdir -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/mkfifo -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/mknod -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/mktemp -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/more -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/mv -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/nice -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/nl -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/nohup -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/nproc -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/numfmt -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/od -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/paste -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/pathchk -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/pinky -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/pr -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/printenv -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/printf -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/ptx -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/pwd -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/readlink -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/realpath -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/rm -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/rmdir -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/seq -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sha1sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sha224sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sha256sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sha384sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sha512sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/shred -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/shuf -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sleep -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sort -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/split -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/stat -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/stdbuf -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/stty -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sum -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/sync -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/tac -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/tail -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/tee -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/test -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/timeout -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/touch -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/tr -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/true -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/truncate -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/tsort -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/tty -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/uname -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/unexpand -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/uniq -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/unlink -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/users -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/vdir -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/wc -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/who -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/whoami -> coreutils
lrwxrwxrwx 1 root root 9 May 24 16:14 /usr/bin/yes -> coreutils
<omitting rest>
With 0.8.0-r0:
$ apk update
$ apk add 'uutils=0.8.0-r0'
$ apk info -Lq uutils | while read -r f; do
ls -lah "/$f"
done
-rwxr-xr-x 1 root root 13M May 1 13:30 '/usr/bin/['
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/arch
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/b2sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/base32
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/base64
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/basename
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/basenc
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/cat
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/chgrp
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/chmod
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/chown
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/chroot
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/cksum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/comm
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/coreutils
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/cp
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/csplit
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/cut
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/date
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/dd
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/df
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/dir
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/dircolors
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/dirname
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/du
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/echo
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/env
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/expand
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/expr
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/factor
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/false
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/fmt
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/fold
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/groups
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/head
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/hostid
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/hostname
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/id
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/install
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/join
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/link
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/ln
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/logname
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/ls
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/md5sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/mkdir
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/mkfifo
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/mknod
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/mktemp
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/more
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/mv
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/nice
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/nl
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/nohup
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/nproc
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/numfmt
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/od
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/paste
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/pathchk
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/pinky
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/pr
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/printenv
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/printf
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/ptx
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/pwd
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/readlink
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/realpath
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/rm
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/rmdir
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/seq
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sha1sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sha224sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sha256sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sha384sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sha512sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/shred
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/shuf
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sleep
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sort
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/split
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/stat
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/stdbuf
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/stty
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sum
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/sync
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/tac
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/tail
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/tee
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/test
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/timeout
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/touch
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/tr
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/true
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/truncate
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/tsort
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/tty
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/uname
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/unexpand
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/uniq
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/unlink
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/users
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/vdir
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/wc
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/who
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/whoami
-rwxr-xr-x 1 root root 13M May 1 13:30 /usr/bin/yes
<omitting the rest>
Proposed solution
No response
Testing performed
No response
Acceptance criteria
Package name
uutils
Current version in Wolfi
0.8.0-r0
Upstream project URL
https://github.com/uutils/coreutils
Problem
In <
0.7.0-r0the package size ofuutilswas ~29 MiB.Starting in
0.8.0-r0the package size exploded to 1446 MiB.I did not see this previously reported anywhere in this repo: https://github.com/search?q=repo%3Awolfi-dev%2Fos+uutils&type=issues
Steps to reproduce
Previous version
Root cause (if known)
The
coreutilsbinary is being installed once per uutil command added to/usr/bin/. Previously the command was installed once at/usr/bin/coreutilsand then symlinked to all other uutil commands.Using this to initially inspect the size of each file:
With
0.7.0-r0:Repeating with
0.8.0-r0:Using
sha256sumto validate it's the same binary:I also confirmed that prior to
0.8.0-r0everything was symlinked:With
0.8.0-r0:Proposed solution
No response
Testing performed
No response
Acceptance criteria