pull/run the container:
docker pull reliableembeddedsystems/oci-lighttpd:latest
docker run -p 8079:80 --interactive --tty --entrypoint=/bin/ash reliableembeddedsystems/oci-lighttpd:latest --login
In the container:
sha256sum /lib/libBrokenLocale-2.31.so
f899be243afeb1f820c87063a0c4ea7a4ea9dbbe56f233136813c53588d003ef /lib/libBrokenLocale-2.31.so
exit
create an image usable by terrier:
sudo docker save 458c2cb0b638 -o image.tar
sudo mkdir image && cd image
sudo tar xvf ../image.tar
cd 968cdb1a5815591c1e84ee7e5862be582d1b824c2a6e9bc21cfbc086ec77f215
sudo mkdir rootfs && cd rootfs
sudo tar xvf ../layer.tar
sha256sum of the lib:
sha256sum lib/libBrokenLocale-2.31.so
f899be243afeb1f820c87063a0c4ea7a4ea9dbbe56f233136813c53588d003ef lib/libBrokenLocale-2.31.so
create sha256sum of all files
sudo sh -c "find . -type f \( ! -iname sha256list \) -exec sha256sum {} \; > sha256list"
copy it somewhere:
rm -f ../../../sha256list
sudo cp sha256list ../../../
just to make sure it's still all sane:
cat sha256list | grep Broken
f899be243afeb1f820c87063a0c4ea7a4ea9dbbe56f233136813c53588d003ef ./lib/libBrokenLocale-2.31.so
convert the sha256list into a yml file usable by terrier:
convertSHA.sh sha256list image.tar.yml
still sane?
cat image.tar.yml | grep -A2 libBrokenLocale-2.31.so
- name: '/lib/libBrokenLocale-2.31.so'
hashes:
- hash: 'f899be243afeb1f820c87063a0c4ea7a4ea9dbbe56f233136813c53588d003ef'
adjust the yml file to point to the tarball
vi image.tar.yml
image: image.tar.yml -> image: image.tar
run terrier
terrier -cfg image.tar.yml
[+] Loading config: image.tar.yml
[+] Analysing Image
[+] Docker Image Source: image.tar
[*] Inspecting Layer: 968cdb1a5815591c1e84ee7e5862be582d1b824c2a6e9bc21cfbc086ec77f215
[!] Not all components were identifed: (1/237)
[!] Component not identified: /lib/libBrokenLocale-2.31.so
Hmm now it's getting freaky ;)
When I turn on veryverbose:
terrier -cfg image.tar.yml | grep libBrokenLocale-2.31.so
[*] Linkname File: ./lib/libBrokenLocale.so.1 libBrokenLocale-2.31.so
[*] Analysing File: ./lib/libBrokenLocale-2.31.so
[*] Linkname File: ./lib/libBrokenLocale-2.31.so
[*] File is TypeReg: ./lib/libBrokenLocale-2.31.so
[*] File not found in tar: /lib/libBrokenLocale-2.31.so
...
File not found in tar: /lib/libBrokenLocale-2.31.so repeats many times
...
*] File not found in tar: /lib/libBrokenLocale-2.31.so
[!] Component not identified: /lib/libBrokenLocale-2.31.so
There are 237 sha256 checksums and files and 236 work ;)
cat sha256list | wc
237 474 23003
Can you please advise and tell me what's different with this specific library so it can not be found by terrier?