From 504217295c37a5f25eb7f896e92aaab66da809c4 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Tue, 4 Jun 2013 18:42:30 -0400 Subject: [PATCH] fix(coreos-base/coreos-init): Move daemon setup to init package. Previously coreos-base handled some sshd and dhcpcd and lacked the dependencies required to make enabling systemd units work. coreos-init is a better place for that and has a proper source package so fewer files are needed in the portage overlay. --- ...-0-r57.ebuild => coreos-base-0-r58.ebuild} | 0 .../coreos-base/coreos-base-0.ebuild | 11 ----------- .../coreos-base/coreos-base/files/ssh_config | 2 -- .../coreos-base/coreos-base/files/sshd_config | 13 ------------- ...-r6.ebuild => coreos-init-0.0.1-r7.ebuild} | 0 .../coreos-init/coreos-init-0.0.1.ebuild | 19 +++++++++++++++---- .../coreos-init/coreos-init-9999.ebuild | 17 ++++++++++++++--- 7 files changed, 29 insertions(+), 33 deletions(-) rename sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/{coreos-base-0-r57.ebuild => coreos-base-0-r58.ebuild} (100%) delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/ssh_config delete mode 100644 sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/sshd_config rename sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/{coreos-init-0.0.1-r6.ebuild => coreos-init-0.0.1-r7.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0-r57.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0-r58.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0-r57.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0-r58.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0.ebuild index ceaa4f00e3..29c60eb9a6 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/coreos-base-0.ebuild @@ -118,12 +118,6 @@ src_install() { # Insert empty fstab doins "${FILESDIR}"/fstab - # Enable dhcpcd by default - # TODO(ifup): this doesn't work - # systemd_enable_service multi-user.target dhcpcd.service - dodir /usr/lib/systemd/system/ - dosym ../dhcpcd.service /usr/lib/systemd/system/multi-user.target.wants/dhcpcd.service - # Symlink /etc/localtime to something on the stateful partition, which we # can then change around at runtime. dosym /var/lib/timezone/localtime /etc/localtime || die @@ -139,11 +133,6 @@ src_install() { #dosym /usr/bin/vim /usr/libexec/editor || die #dosym /bin/more /usr/libexec/pager || die - # Install our custom ssh config settings. - insinto /etc/ssh - doins "${FILESDIR}"/ssh{,d}_config - fperms 600 /etc/ssh/sshd_config - # Custom login shell snippets. insinto /etc/profile.d doins "${FILESDIR}"/cursor.sh diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/ssh_config b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/ssh_config deleted file mode 100644 index 14da93dfdd..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/ssh_config +++ /dev/null @@ -1,2 +0,0 @@ -Host * - UserKnownHostsFile /home/core/user/.ssh/known_hosts diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/sshd_config b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/sshd_config deleted file mode 100644 index f1fc02c098..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-base/files/sshd_config +++ /dev/null @@ -1,13 +0,0 @@ -# Force protocol v2 only -Protocol 2 - -# /etc is read-only. Fetch keys from stateful partition -# Not using v1, so no v1 key -HostKey /mnt/stateful_partition/etc/ssh/ssh_host_rsa_key -HostKey /mnt/stateful_partition/etc/ssh/ssh_host_dsa_key - -PasswordAuthentication no -UsePAM yes -PrintMotd no -PrintLastLog no -Subsystem sftp internal-sftp diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r6.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r7.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r6.ebuild rename to sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1-r7.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1.ebuild index bd72c543f0..64cf6abf57 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-0.0.1.ebuild @@ -3,7 +3,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="4" -CROS_WORKON_COMMIT="ad419999ea478bb60867e9e14f01197b928a5c73" +CROS_WORKON_COMMIT="340361e54109536b235948dd8929768513feba30" CROS_WORKON_PROJECT="coreos/init" CROS_WORKON_LOCALNAME="init" @@ -18,8 +18,13 @@ SLOT="0" KEYWORDS="amd64 arm x86" IUSE="nfs" -DEPEND="" -RDEPEND=" +# Daemons we enable here must installed during build/install in addition to +# during runtime so the systemd unit enable step works. +DEPEND=" + net-misc/dhcpcd + net-misc/openssh + " +RDEPEND="${DEPEND} sys-block/parted sys-apps/gptfdisk sys-apps/systemd @@ -32,12 +37,18 @@ src_install() { doexe "${script}" done + # Install our custom ssh config settings. + insinto /etc/ssh + doins configs/ssh{,d}_config + fperms 600 /etc/ssh/sshd_config + # Install all units, enable the higher-level services for unit in systemd/*; do systemd_dounit "${unit}" done systemd_enable_service basic.target coreos-startup.service - systemd_enable_service multi-user.target update-engine.service + systemd_enable_service multi-user.target dhcpcd.service systemd_enable_service multi-user.target sshd.socket + systemd_enable_service multi-user.target update-engine.service } diff --git a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild index 803af03fc9..38dd42cc32 100644 --- a/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/coreos-base/coreos-init/coreos-init-9999.ebuild @@ -17,8 +17,13 @@ SLOT="0" KEYWORDS="~amd64 ~arm ~x86" IUSE="nfs" -DEPEND="" -RDEPEND=" +# Daemons we enable here must installed during build/install in addition to +# during runtime so the systemd unit enable step works. +DEPEND=" + net-misc/dhcpcd + net-misc/openssh + " +RDEPEND="${DEPEND} sys-block/parted sys-apps/gptfdisk sys-apps/systemd @@ -31,12 +36,18 @@ src_install() { doexe "${script}" done + # Install our custom ssh config settings. + insinto /etc/ssh + doins configs/ssh{,d}_config + fperms 600 /etc/ssh/sshd_config + # Install all units, enable the higher-level services for unit in systemd/*; do systemd_dounit "${unit}" done systemd_enable_service basic.target coreos-startup.service - systemd_enable_service multi-user.target update-engine.service + systemd_enable_service multi-user.target dhcpcd.service systemd_enable_service multi-user.target sshd.socket + systemd_enable_service multi-user.target update-engine.service }