gentoo-openrc: Break out OpenRC configuration into a separate Dockerfile
authorW. Trevor King <wking@tremily.us>
Fri, 18 Jul 2014 18:26:29 +0000 (11:26 -0700)
committerW. Trevor King <wking@tremily.us>
Fri, 18 Jul 2014 18:26:29 +0000 (11:26 -0700)
Gentoo users could prefer another process manager, and we want them to
have a clean location for them to swap in their systemd (or whatever)
Dockerfile.  The net stuff is new, and with it we no longer get issues
like:

   * Bringing up network interface lo ...
  SIOCSIFADDR: Operation not permitted
  SIOCSIFFLAGS: Operation not permitted
  SIOCSIFNETMASK: Operation not permitted
  SIOCADDRT: Operation not permitted                  [ !! ]
   * ERROR: loopback failed to start

README.md
build.sh
gentoo-openrc/Dockerfile.template [new file with mode: 0644]
gentoo-portage/Dockerfile.template
gentoo-syslog/Dockerfile.template

index fb83730560bf08ac3bd5fd484bc835628c75cd8a..8db851b524f3014982ca6f263217592070117cf7 100644 (file)
--- a/README.md
+++ b/README.md
@@ -20,26 +20,27 @@ The dependency graph is:
     `-- gentoo-portage  (adds portage directory)
         `-- gentoo-utc  (adds a system timezone)
             `-- gentoo-en-us  (adds locale)
-                `-- gentoo-syslog  (adds syslog-ng and associates)
-                    |-- buildbot  (adds a Buildbot master and slave)
-                    |-- docker-registry  (adds a Docker registry server)
-                    |-- gentoo-layman  (adds layman for Gentoo overlays)
-                    |   `-- package-cache  (adds a package-cache proxy)
-                    |-- gentoo-node  (adds Node and npm)
-                    |   `-- hubot  (adds hubot with an IRC adapter)
-                    |-- irker  (adds irker, and spawns irkerd by default)
-                    |-- memcached  (adds Memcached)
-                    |-- nginx  (adds Nginx)
-                    |   |-- nginx-proxy  (SSL/TLS proxying via SNI)
-                    |   |-- kibana  (adds Kibana)
-                    |   `-- kibana-azure  (adds Azure's Kibana)
-                    |-- ngircd  (adds ngIRCd)
-                    |-- postgresql  (adds PostgreSQL)
-                    |-- redis  (adds Redis)
-                    |-- salt-minion  (adds a Salt Stack minion)
-                    |-- stunnel  (adds stunnel)
-                    `-- gentoo-java  (adds IcedTea)
-                        `-- elasticsearch  (adds Elasticsearch)
+                `-- gentoo-openrc  (configure OpenRC for Docker)
+                    `-- gentoo-syslog  (adds syslog-ng and associates)
+                        |-- buildbot  (adds a Buildbot master and slave)
+                        |-- docker-registry  (adds a Docker registry server)
+                        |-- gentoo-layman  (adds layman for Gentoo overlays)
+                        |   `-- package-cache  (adds a package-cache proxy)
+                        |-- gentoo-node  (adds Node and npm)
+                        |   `-- hubot  (adds hubot with an IRC adapter)
+                        |-- irker  (adds irker, and spawns irkerd by default)
+                        |-- memcached  (adds Memcached)
+                        |-- nginx  (adds Nginx)
+                        |   |-- nginx-proxy  (SSL/TLS proxying via SNI)
+                        |   |-- kibana  (adds Kibana)
+                        |   `-- kibana-azure  (adds Azure's Kibana)
+                        |-- ngircd  (adds ngIRCd)
+                        |-- postgresql  (adds PostgreSQL)
+                        |-- redis  (adds Redis)
+                        |-- salt-minion  (adds a Salt Stack minion)
+                        |-- stunnel  (adds stunnel)
+                        `-- gentoo-java  (adds IcedTea)
+                            `-- elasticsearch  (adds Elasticsearch)
 
 Run:
 
index da794f1005b7d5852ca413b2074492f097b7dee9..7381d107927a12bdf9115b718fa50125e859d792 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -45,6 +45,7 @@ REPOS="${REPOS:-
        gentoo-portage
        gentoo-utc
        gentoo-en-us
+       gentoo-openrc
        gentoo-syslog
        gentoo-java
        gentoo-layman
diff --git a/gentoo-openrc/Dockerfile.template b/gentoo-openrc/Dockerfile.template
new file mode 100644 (file)
index 0000000..b1f88dc
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright (C) 2014 W. Trevor King <wking@tremily.us>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+FROM ${NAMESPACE}/gentoo-portage:${TAG}
+MAINTAINER ${MAINTAINER}
+
+RUN sed -i 's/#rc_sys=""/rc_sys="lxc"/g' /etc/rc.conf
+
+# Networking is setup by Docker
+RUN echo 'rc_provide="loopback net"' >> /etc/rc.conf
+RUN rc-update delete loopback boot
+RUN rc-update delete netmount default
+
+# Log boot process to /var/log/rc.log
+RUN sed -i 's/^#\(rc_logger="YES"\)$/\1/' /etc/rc.conf
index 00204ffcdd0fc5cd1901c2d928036fbee076acdf..5a0872439dd0926cd09de4a440d967c882777175 100644 (file)
@@ -24,7 +24,6 @@
 
 FROM ${NAMESPACE}/gentoo:${TAG}
 MAINTAINER ${MAINTAINER}
-RUN sed -i 's/#rc_sys=""/rc_sys="lxc"/g' /etc/rc.conf
 RUN echo 'GENTOO_MIRRORS="http://distfiles.gentoo.org/"' >> /etc/portage/make.conf
 #RUN echo 'SYNC="rsync://rsync.us.gentoo.org"' >> /etc/portage/make.conf
 RUN mkdir -p /usr/portage
index 04aaf01c20e746e8e79428b7e71bbfda45d76936..595463511a04657d9e3cd3292170dcc9ed768bfc 100644 (file)
@@ -22,7 +22,7 @@
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 # POSSIBILITY OF SUCH DAMAGE.
 
-FROM ${NAMESPACE}/gentoo-en-us:${TAG}
+FROM ${NAMESPACE}/gentoo-openrc:${TAG}
 MAINTAINER ${MAINTAINER}
 #VOLUME ["${PORTAGE}:/usr/portage:ro", "${PORTAGE}/distfiles:/usr/portage/distfiles:rw"]
 RUN emerge -v sys-process/vixie-cron app-admin/syslog-ng app-admin/logrotate
@@ -39,7 +39,4 @@ RUN sed -i 's/^\(.*\)system(); \(.*\)/\1\2/' /etc/syslog-ng/syslog-ng.conf
 # Enable /dev/log
 RUN sed -i 's|^\(.* internal();\)\(.*\)|\1 unix-stream("/dev/log");\2|' /etc/syslog-ng/syslog-ng.conf
 
-# Log boot process to /var/log/rc.log
-RUN sed -i 's/^#\(rc_logger="YES"\)$/\1/' /etc/rc.conf
-
 CMD rc default && exec tail-syslog