##// 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:

r26731:0c42b6bb default
r26888:271a8020 stable
Show More
rules
36 lines | 1.4 KiB | text/plain | TextLexer
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 #!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l)
%:
dh $@ --with python2
override_dh_auto_test:
http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)"
override_dh_python2:
dh_python2
find debian/mercurial/usr/share -type d -empty -delete
override_dh_install:
python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial --install-layout=deb
# remove arch-independent python stuff
find $(CURDIR)/debian/mercurial/usr/lib \
! -name '*.so' ! -type d -delete , \
-type d -empty -delete
python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial-common --install-layout=deb
make install-doc PREFIX=$(CURDIR)/debian/mercurial-common/usr
# remove arch-dependent python stuff
find $(CURDIR)/debian/mercurial-common/usr/lib \
-name '*.so' ! -type d -delete , \
-type d -empty -delete
Augie Fackler
debian: install hg-ssh to /usr/bin just like downstream
r26296 cp contrib/hg-ssh $(CURDIR)/debian/mercurial-common/usr/bin
Augie Fackler
debian: install hgk as part of mercurial-common (issue4829)...
r26299 mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/mercurial
cp contrib/hgk $(CURDIR)/debian/mercurial-common/usr/share/mercurial
Augie Fackler
debian: install config files as part of mercurial-common...
r26298 mkdir -p $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/
cp contrib/debian/*.rc $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/
Augie Fackler
debian: include bash completions in mercurial-common
r26300 mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions
Augie Fackler
debian: install bash completion as hg and not mercurial (issue4900)
r26731 cp contrib/bash_completion $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions/hg
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 rm $(CURDIR)/debian/mercurial-common/usr/bin/hg