Merge pull request #612 from flatcar-linux/krnowak/fix-remote-fs

Enable remote-fs
This commit is contained in:
Krzesimir Nowak 2020-09-26 16:06:06 +02:00 committed by GitHub
commit d2e2187bde

View File

@ -423,17 +423,34 @@ multilib_src_install_all() {
# Flatcar: Don't set any extra environment variables by default. # Flatcar: Don't set any extra environment variables by default.
rm "${ED}/usr/lib/environment.d/99-environment.conf" || die rm "${ED}/usr/lib/environment.d/99-environment.conf" || die
# Flatcar: Don't enable services in /etc, move to /usr. # Flatcar: These lines more or less follow the systemd's
systemd_enable_service multi-user.target systemd-networkd.service # preset file (90-systemd.preset). We do it that way, to avoid
systemd_enable_service multi-user.target systemd-resolved.service # putting symlink in /etc. Please keep the lines in the same
# order as the "enable" lines appear in the preset file.
systemd_enable_service multi-user.target remote-fs.target
systemd_enable_service multi-user.target remote-cryptsetup.target
systemd_enable_service multi-user.target machines.target
# Flatcar: getty@.service is enabled manually below.
systemd_enable_service sysinit.target systemd-timesyncd.service systemd_enable_service sysinit.target systemd-timesyncd.service
systemd_enable_service multi-user.target systemd-networkd.service
# For systemd-networkd.service, it has it in Also, which also
# needs to be enabled
systemd_enable_service sockets.target systemd-networkd.socket
# For systemd-networkd.service, it has it in Also, which also
# needs to be enabled
systemd_enable_service network-online.target systemd-networkd-wait-online.service
systemd_enable_service multi-user.target systemd-resolved.service
# Flatcar: not enabling reboot.target - it has no WantedBy
# entry.
systemd_enable_service remount-fs.target systemd-pstore.service
# Flatcar: Enable getty manually. # Flatcar: Enable getty manually.
mkdir --parents "${ED}/usr/lib/systemd/system/getty.target.wants" mkdir --parents "${ED}/usr/lib/systemd/system/getty.target.wants"
dosym ../getty@.service "/usr/lib/systemd/system/getty.target.wants/getty@tty1.service" dosym ../getty@.service "/usr/lib/systemd/system/getty.target.wants/getty@tty1.service"
# Flatcar: Do not enable random services if /etc was detected # Flatcar: Use an empty preset file, because systemctl
# as empty!!! # preset-all puts symlinks in /etc, not in /usr. We don't use
# /etc, because it is not autoupdated. We do the "preset" above.
rm "${ED}$(usex split-usr '' /usr)/lib/systemd/system-preset/90-systemd.preset" || die rm "${ED}$(usex split-usr '' /usr)/lib/systemd/system-preset/90-systemd.preset" || die
insinto $(usex split-usr '' /usr)/lib/systemd/system-preset insinto $(usex split-usr '' /usr)/lib/systemd/system-preset
doins "${FILESDIR}"/99-default.preset doins "${FILESDIR}"/99-default.preset
@ -495,18 +512,14 @@ migrate_locale() {
fi fi
} }
save_enabled_units() { # Flatcar: save_enabled_units function is dropped, because it's
ENABLED_UNITS=() # unused. When building releases, we assume that there was no systemd
type systemctl &>/dev/null || return # previously, so there are no units to remember.
for x; do
if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then
ENABLED_UNITS+=( "${x}" )
fi
done
}
pkg_preinst() { pkg_preinst() {
save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service # Flatcar: When building releases, we assume that there was no
# systemd previously, so there are no units to remember, so
# there is no point in calling save_enabled_units.
if ! use split-usr; then if ! use split-usr; then
local dir local dir
@ -555,20 +568,16 @@ pkg_postinst() {
# between OpenRC & systemd # between OpenRC & systemd
migrate_locale migrate_locale
# Flatcar: Reenabling systemd-timesyncd service too. # Flatcar: Dropping the reenabling, since there earlier there
systemd_reenable systemd-networkd.service systemd-resolved.service systemd-timesyncd.service # was no systemd (we are building the release from scratch
# here). The function checks if the unit is enabled before
# running reenable, which in our case results in no action at
# all (because no service is enabled).
if [[ ${ENABLED_UNITS[@]} ]]; then # Flatcar: Dropping handling of ENABLED_UNITS.
systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}"
fi
if [[ -z ${REPLACING_VERSIONS} ]]; then # Flatcar: We enable getty and remote-fs targets in /usr
if type systemctl &>/dev/null; then # ourselves above.
systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1
fi
elog "To enable a useful set of services, run the following:"
elog " systemctl preset-all --preset-mode=enable-only"
fi
if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then
rm "${EROOT}/var/lib/systemd/timesync" rm "${EROOT}/var/lib/systemd/timesync"