Re: [PATCH 5/5] travis-ci: don't fail if user already exists on 32 bit Linux build job
- From
Jeff King <peff@peff.net>
- Date
- Jan 23, 2018, 16:46 UTC
- Message-ID
- <20180123164605.GH13068@sigill.intra.peff.net>
- In-Reply-To
- <20180122133220.18587-6-szeder.dev@gmail.com>
On Mon, Jan 22, 2018 at 02:32:20PM +0100, SZEDER Gábor wrote:
Show 12 quoted lines
> The 32 bit Linux build job runs in a Docker container, which lends > itself to running and debugging locally, too. Especially during > debugging one usually doesn't want to start with a fresh container > every time, to save time spent on installing a bunch of dependencies. > However, that doesn't work quite smootly, because the script running > in the container always creates a new user, which then must be removed > every time before subsequent executions, or the build script fails. > > Make this process more convenient and don't try to create that user if > it already exists and has the right user ID in the container, so > developers don't have to bother with running a 'userdel' each time > before they run the build script.
Makes sense.
> The build job on Travis CI always starts with a fresh Docker > container, so this change doesn't make a difference there.
I wonder if that is fixable. Installing dependencies into the container takes quite a lot of time, and is just wasted effort.
Show 15 quoted lines
> diff --git a/ci/run-linux32-build.sh b/ci/run-linux32-build.sh > index e37e1d2d5f..13047adde3 100755 > --- a/ci/run-linux32-build.sh > +++ b/ci/run-linux32-build.sh > @@ -33,7 +33,13 @@ then > CI_USER=root > else > CI_USER=ci > - useradd -u $HOST_UID $CI_USER > + if test "$(id -u $CI_USER)" = $HOST_UID > + then > + : # user already exists with the right ID > + else > + useradd -u $HOST_UID $CI_USER > + fi
Is it worth redirecting the stderr of "id" to avoid noise when $CI_USER does not yet exist at all? Or is that a useful log message? :)
-Peff