##// END OF EJS Templates
dockerlib: allow non-unique uid and gid of $DBUILDUSER (issue4657)...
dockerlib: allow non-unique uid and gid of $DBUILDUSER (issue4657) There are make targets for building mercurial packages for various distributions using docker. One of the preparation steps before building is to create inside the docker image a user with the same uid/gid as the current user on the host system, so that the resulting files have appropriate ownership/permissions. It's possible to run `make docker-<distro>` as a user with uid or gid that is already present in a vanilla docker container of that distibution. For example, issue4657 is about failing to build fedora packages as a user with uid=999 and gid=999 because these ids are already used in fedora, and groupadd fails. useradd would fail too, if the flow ever got to it (and there was a user with such uid already). A straightforward (maybe too much) way to fix this is to allow non-unique uid and gid for the new user and group that get created inside the image. I'm not sure of the implications of this, but marmoute encouraged me to try and send this patch for stable.

File last commit:

r25660:328739ea default
r26888:271a8020 stable
Show More
md5sum.py
42 lines | 999 B | text/x-python | PythonLexer
Thomas Arendsen Hein
Unified #! paths for python scripts and removed them for test modules.
r4122 #!/usr/bin/env python
Peter van Dijk
clarify license on md5sum.py
r1928 #
# Based on python's Tools/scripts/md5sum.py
#
# This software may be used and distributed according to the terms
# of the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2, which is
# GPL-compatible.
Patrick Mezard
tests: Windows compatibility fixes...
r7080 import sys, os
Dirkjan Ochtman
python 2.6 compatibility: compatibility wrappers for hash functions
r6470
try:
from hashlib import md5
except ImportError:
from md5 import md5
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924
Patrick Mezard
tests: Windows compatibility fixes...
r7080 try:
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
pass
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 for filename in sys.argv[1:]:
try:
fp = open(filename, 'rb')
Gregory Szorc
global: mass rewrite to use modern exception syntax...
r25660 except IOError as msg:
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 sys.stderr.write('%s: Can\'t open: %s\n' % (filename, msg))
sys.exit(1)
Thomas Arendsen Hein
Whitespace/Tab cleanup
r3223
Dirkjan Ochtman
python 2.6 compatibility: compatibility wrappers for hash functions
r6470 m = md5()
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 try:
Martin Geisler
check-code: flag 0/1 used as constant Boolean expression
r14494 while True:
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 data = fp.read(8192)
if not data:
break
m.update(data)
Gregory Szorc
global: mass rewrite to use modern exception syntax...
r25660 except IOError as msg:
Peter van Dijk
add md5sum.py required by fix in previous changeset
r1924 sys.stderr.write('%s: I/O error: %s\n' % (filename, msg))
sys.exit(1)
sys.stdout.write('%s %s\n' % (m.hexdigest(), filename))
sys.exit(0)