Message ID | 20200212033547.11693-1-lukas.bulwahn@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [v2] docker: update dependency for current build | expand |
Lukas Bulwahn <lukas.bulwahn@gmail.com> writes: > From: Pranav Annam <pranavannam@gmail.com> > > The dependency libssl1.0-dev in the Dockerfile makes docker build fail: > > The following packages have unmet dependencies: > libmysqlclient-dev : Depends: libssl-dev (>= 1.1.1-1ubuntu2.1~18.04.5~) > but it is not going to be installed > E: Unable to correct problems, you have held broken packages. > > There seems to be a conflict with different versions of libssl and > libmysqlclient that did not exist previously with Ubuntu 18.04. > > Just use the current libssl-dev from Ubuntu 18.04 to fix the build. > > Signed-off-by: Pranav Annam <pranavannam@gmail.com> > [rephrased commit message] > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> > --- > > Pranav, here is my proposal on how future patches should look > like. Please look at the difference to your original patch. Hi, > Stephen, Daniel, please pick the patch with the commit message > that you prefer and explain to us why (for future newcomers to > be pointed out to and learn). There are a few reasons that I prefer this version. What I try to do is to mostly follow the patch formatting guide from the Linux kernel. I realise that's a bit arbitrary and not especially well documented, sorry! Historically there is a lot of use of patchwork within the kernel community, it was originally developed for use within that community, and I am primarily a kernel developer. See https://www.kernel.org/doc/html/v5.5/process/submitting-patches.html especially https://www.kernel.org/doc/html/v5.5/process/submitting-patches.html#describe-your-changes https://www.kernel.org/doc/html/v5.5/process/submitting-patches.html#the-canonical-patch-format Key things for your attention next time: - line length - subject that follows a format "subsystem: summary phrase". Patchwork doesn't have hugely clear subsystems all the time, so I tend to use something like 'git log <file I change>' to see what subsystem name previous committers have used recently. - proofreading (e.g. Dockerfile, not Dokerfile) - Description that is 'imperative': 'make X do Y', 'Use libssl-dev' We're not always good at following these standards and we're not as strict as the kernel, but they're what I aspire to. Regards, Daniel > > tools/docker/Dockerfile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile > index 5ef1120..62ac461 100644 > --- a/tools/docker/Dockerfile > +++ b/tools/docker/Dockerfile > @@ -35,7 +35,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ > libpq-dev \ > libreadline-dev \ > libsqlite3-dev \ > - libssl1.0-dev \ > + libssl-dev \ > mysql-client \ > postgresql-client \ > tzdata \ > -- > 2.17.1 > > _______________________________________________ > Patchwork mailing list > Patchwork@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/patchwork
Lukas Bulwahn <lukas.bulwahn@gmail.com> writes: > From: Pranav Annam <pranavannam@gmail.com> > > The dependency libssl1.0-dev in the Dockerfile makes docker build fail: > > The following packages have unmet dependencies: > libmysqlclient-dev : Depends: libssl-dev (>= 1.1.1-1ubuntu2.1~18.04.5~) > but it is not going to be installed > E: Unable to correct problems, you have held broken packages. > > There seems to be a conflict with different versions of libssl and > libmysqlclient that did not exist previously with Ubuntu 18.04. Huh, I rebuilt my image a few weeks ago and didn't see this. So I tried this: docker-compose down docker rmi patchwork_web:latest docker-compose build --no-cache web Then I was able to reproduce the problem. I think it was being masked by the cache on my end, but I can't find a change that would have introduced it. Commit a0db4732139d ("docker: Use pyenv for Python versions") looks like it introduced the dependency, but clearly it worked then, and we haven't changed the base image or the other packages we install! It is weird that it would have broken under us like this. Anyway, your patch seems correct to me, and fixes the issue. Applied. Thank you for your contribution to Patchwork! Regards, Daniel > > Just use the current libssl-dev from Ubuntu 18.04 to fix the build. > > Signed-off-by: Pranav Annam <pranavannam@gmail.com> > [rephrased commit message] > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com> > --- > > Pranav, here is my proposal on how future patches should look > like. Please look at the difference to your original patch. > > Stephen, Daniel, please pick the patch with the commit message > that you prefer and explain to us why (for future newcomers to > be pointed out to and learn). > > tools/docker/Dockerfile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile > index 5ef1120..62ac461 100644 > --- a/tools/docker/Dockerfile > +++ b/tools/docker/Dockerfile > @@ -35,7 +35,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ > libpq-dev \ > libreadline-dev \ > libsqlite3-dev \ > - libssl1.0-dev \ > + libssl-dev \ > mysql-client \ > postgresql-client \ > tzdata \ > -- > 2.17.1 > > _______________________________________________ > Patchwork mailing list > Patchwork@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/patchwork
On Mon, 17 Feb 2020, Daniel Axtens wrote: > > > > There seems to be a conflict with different versions of libssl and > > libmysqlclient that did not exist previously with Ubuntu 18.04. > > Huh, I rebuilt my image a few weeks ago and didn't see this. > > So I tried this: > > docker-compose down > docker rmi patchwork_web:latest > docker-compose build --no-cache web > > Then I was able to reproduce the problem. I think it was being masked by > the cache on my end, but I can't find a change that would have > introduced it. Commit a0db4732139d ("docker: Use pyenv for Python > versions") looks like it introduced the dependency, but clearly it > worked then, and we haven't changed the base image or the other packages > we install! It is weird that it would have broken under us like this. > Yes, I have hit that problem with docker as well. Docker caches, Debian/Ubuntu distro updates and project-specific changes makes it impossible to figure out why it "just works on my machine", and never on those of the others ;) I guess here is no easy answer, though, and it works for the moment. Lukas
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 5ef1120..62ac461 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -35,7 +35,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libpq-dev \ libreadline-dev \ libsqlite3-dev \ - libssl1.0-dev \ + libssl-dev \ mysql-client \ postgresql-client \ tzdata \