I just tried the Docker instructions, however the rake docker:update
command is failing for me with the error shown below. Am I maybe missing
something?

I am on CentOS 8.0.1905 with Docker version 19.03.5, build 633a0ea.

I also tested using podman with podman-compose (with alias docker='podman'
etc..), however this doesn't even start with the rake docker:update command.

Regards,
Roy

[root@centos8 whimsy]# rake docker:update
docker-compose build web
Building web
Step 1/8 : FROM ubuntu:18.04
18.04: Pulling from library/ubuntu
7ddbc47eeb70: Pull complete
c1bbdc448b72: Pull complete
8c3b70e39044: Pull complete
45d437916d57: Pull complete
Digest:
sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Downloaded newer image for ubuntu:18.04
 ---> 775349758637
Step 2/8 : ENV GEM_HOME="/srv/gems"     LANG=C.UTF-8     LC_ALL=C.UTF-8
 ---> Running in 185fda5837b4
Removing intermediate container 185fda5837b4
 ---> 65ccad352b15
Step 3/8 : RUN apt-get update &&     apt-get install -y curl
software-properties-common apt-utils &&     curl -sL
https://deb.nodesource.com/setup_12.x | bash - &&     echo "deb
http://opensource.wandisco.com/ubuntu bionic svn110" >
/etc/apt/sources.list.d/subversion.list &&     curl -sL
http://opensource.wandisco.com/wandisco-debian-new.gpg |       apt-key add
- &&    apt-get update &&     DEBIAN_FRONTEND='noninteractive' apt-get
install -y       apache2       subversion       git       build-essential
    libgmp3-dev       libldap2-dev       libsasl2-dev       python3-pip
  ruby-dev       zlib1g-dev       imagemagick       img2pdf       nodejs
    procmail       poppler-utils       texlive-extra-utils       gnupg2
  libcurl4-openssl-dev       libssl-dev       apache2-dev       libapr1-dev
      libaprutil1-dev &&     gem install bundler passenger
--install_dir=/var/lib/gems/2.5.0 &&     passenger-install-apache2-module
--auto &&     passenger-install-apache2-module --snippet >
/etc/apache2/conf-enabled/passenger.conf &&     pip3 install img2pdf &&
a2enmod cgi &&     a2enmod headers &&     a2enmod rewrite &&     a2enmod
authnz_ldap &&     a2enmod speling &&     a2enmod remoteip &&     a2enmod
expires &&     a2enmod proxy_wstunnel &&    echo "ServerName whimsy.local"
> /etc/apache2/conf-enabled/servername.conf
 ---> Running in ef2b4a44e5db
Err:1 http://security.ubuntu.com/ubuntu bionic-security InRelease
  Temporary failure resolving 'security.ubuntu.com'
Err:2 http://archive.ubuntu.com/ubuntu bionic InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
  Temporary failure resolving 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/InRelease
 Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch
http://archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease  Temporary
failure resolving 'archive.ubuntu.com'
W: Failed to fetch
http://archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease
 Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch
http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease
 Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones
used instead.
Reading package lists...
Building dependency tree...
Reading state information...
Package apt-utils is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  apt

E: Unable to locate package curl
E: Unable to locate package software-properties-common
E: Package 'apt-utils' has no installation candidate
ERROR: Service 'web' failed to build: The command '/bin/sh -c apt-get
update &&     apt-get install -y curl software-properties-common apt-utils
&&     curl -sL https://deb.nodesource.com/setup_12.x | bash - &&     echo
"deb http://opensource.wandisco.com/ubuntu bionic svn110" >
/etc/apt/sources.list.d/subversion.list &&     curl -sL
http://opensource.wandisco.com/wandisco-debian-new.gpg |       apt-key add
- &&    apt-get update &&     DEBIAN_FRONTEND='noninteractive' apt-get
install -y       apache2       subversion       git       build-essential
    libgmp3-dev       libldap2-dev       libsasl2-dev       python3-pip
  ruby-dev       zlib1g-dev       imagemagick       img2pdf       nodejs
    procmail       poppler-utils       texlive-extra-utils       gnupg2
  libcurl4-openssl-dev       libssl-dev       apache2-dev       libapr1-dev
      libaprutil1-dev &&     gem install bundler passenger
--install_dir=/var/lib/gems/2.5.0 &&     passenger-install-apache2-module
--auto &&     passenger-install-apache2-module --snippet >
/etc/apache2/conf-enabled/passenger.conf &&     pip3 install img2pdf &&
a2enmod cgi &&     a2enmod headers &&     a2enmod rewrite &&     a2enmod
authnz_ldap &&     a2enmod speling &&     a2enmod remoteip &&     a2enmod
expires &&     a2enmod proxy_wstunnel &&    echo "ServerName whimsy.local"
> /etc/apache2/conf-enabled/servername.conf' returned a non-zero code: 100
rake aborted!
Command failed with status (1): [docker-compose build web...]
/root/whimsy/whimsy/Rakefile:262:in `block (3 levels) in <top (required)>'
/root/whimsy/whimsy/Rakefile:261:in `chdir'
/root/whimsy/whimsy/Rakefile:261:in `block (2 levels) in <top (required)>'
/usr/share/gems/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => docker:update => docker:build
(See full trace by running task with --trace)
[root@centos8 whimsy]#


Op di 19 nov. 2019 om 18:49 schreef Sam Ruby <ru...@intertwingly.net>:

> On Tue, Nov 19, 2019 at 9:15 AM sebb <seb...@gmail.com> wrote:
> >
> > On Tue, 19 Nov 2019 at 13:34, Sam Ruby <ru...@intertwingly.net> wrote:
> >
> > > On Tue, Nov 19, 2019 at 8:17 AM sebb <seb...@gmail.com> wrote:
> > > >
> > > > On Tue, 19 Nov 2019 at 12:26, sebb <seb...@gmail.com> wrote:
> > > >
> > > > > docker:update had issues pulling down various svn repos, e.g.
> > > > >
> > > > > svn: E170013: Unable to connect to a repository at URL  ...
> > > > > svn: E125009: Invalid config: unable to load certificate file
> > > > > '/Users/sebb/.subversion/Thawte_Premium_Server_CA.pem'
> > > > >
> > > > > I was able to remove the Invalid config error by changing
> /Users/sebb
> > > =>
> > > > > /root
> > > > > However I then got the error:
> > > > >
> > > > > svn: E000111: Error running context: Connection refused
> > > > >
> > > > > I assume that is because my SVN is set to grab passwords from the
> macOS
> > > > > keychain
> > > > >
> > > > >
> > > > Turns out that SVN was down at the time.
> > > >
> > > > Once I copied the cert to the expected place it worked OK.
> > > >
> > > > I've just realised that the /srv/svn directory is mounted from the
> host
> > > OS.
> > > > So checkouts in the image actually update the host working directory.
> > > > Given that, it seems to me it would make more sense to do the
> check-out
> > > on
> > > > the host under /srv, and mount that instead.
> > >
> > > Two issues:
> > >
> > > 1) From time to time subversion makes changes to the file format.  It
> > > could be the case that the version of subversion you have on the host
> > > is not compatible with the version of subversion in the container.
> > >
> >
> > In which case having the checkout on the host filing system is risky.
> > It would be safer to have the data all within the container, and not
> > accessible from the host.
> > AFAICT it should not take any more space overall.
>
> It's complicated, and a lot depends on what the use cases we intend to
> support are.
>
> For now, I've updated the Dockerfile to install a compatible version
> of subversion, and updated DOCKER.md to explain the constraints.
>
> I actually developed these files using the /srv directory from the
> MACOSX instructions.
>
> My thoughts are that most people would feel more comfortable doing
> their browsing and updates in the host environment, so a shared mount
> would be in order.
>
> I definitely would not want to put repository data in images as those
> are frozen (i.e., updates would be done in separate layers and would
> take up more space).  Similarly, I would not want to put repository
> data in container space as those go away when the container exits.
> Putting this data into a docker volume would work (and may be faster),
> but may be less convenient for people that want to access the data
> from their host.
>
> These constraints are particularly true for the whimsy directory.  I'm
> comfortable exec'ing into the container and editing the files using
> vim, but others may want to use their Mac IDEs.
>
> > But for those who can cope with the possible issue, there could be
> another
> > build that uses host data under /svn
>
> I do most of my whimsy work on my Ubuntu desktop machine, but I
> recently updated the MACOSX instructions and have this working on my
> laptop.  I'm more likely to use those instructions than the container
> instructions, but being able to share a /srv directory would be
> convenient for me, allowing me to switch between the two.
>
> > 2) Doing the checkout on the host only defers the problem.  A number
> > > of whimsy processes access svn (checkouts and commits).
> > >
> > >
> > It might be useful to be able to disable commits for testing purposes.
> > This is also true of LDAP.
>
> Agreed, though for testing purposes I have defined a locally hosted
> subversion repository for the board agenda tests, allowing commits to
> be tested.
>
> > Regarding the SVN checkouts, maybe it would make sense to start by
> checking
> > out only the top-level files/directories for some of the less-used/larger
> > trees.
>
> The largest are iclas, cclas, grants, and member-apps.  I believe that
> these are only used by one tool, and primarily to determine if there
> is a collision.  In these days of terabyte hard drives, it isn't a
> huge issue for me, but may be for others.
>
> > > Also there does not seem to be a visual editor included in the docker
> > > build.
> > > > > (I had to use sed)
> > > > > It would be useful to have vi(m) or such.
> > >
> > > I've been doing an "apt install vim" when needed, but, yes, it would
> > > be nice to have vim already installed.  There probably are a lot of
> > > affordances that would be helpful.  At one point I tried an "apachectl
> > > status" and that failed as there wasn't a browser installed that it
> > > could use to fetch the status.  I no longer recall what other commands
> > > I tried to use to check network status and the like only to find that
> > > they weren't installed.
> > >
> > > - Sam Ruby
> > >
> > > P.S.  Thanks for helping work through this!
>
> - Sam Ruby
>

Reply via email to