cookbook/container: example of building+running docker containers.

This got... long... and complicated.  But I think it's a really good
demonstration of getting redo to do complicated things elegantly.  At
least, I hope it is.
This commit is contained in:
Avery Pennarun 2019-01-02 23:46:01 -05:00
commit 3923a7d3f8
38 changed files with 1375 additions and 7 deletions

View file

@ -0,0 +1,21 @@
#!/usr/bin/env python
import hashlib, os, stat, sys
for name in sys.stdin:
name = name[:-1] # skip terminating newline
st = os.lstat(name)
if stat.S_ISREG(st.st_mode):
h = hashlib.sha256()
f = open(name)
while 1:
b = f.read(65536)
if not b: break
h.update(b)
digest = h.hexdigest()
elif stat.S_ISLNK(st.st_mode):
digest = hashlib.sha256(os.readlink(name)).hexdigest()
else:
digest = '0'
print('%s %07o-%s-%s-%s' % (
name,
st.st_mode, st.st_uid, st.st_gid, digest))