diff options
author | Reid Rankin <reidrankin@gmail.com> | 2020-02-13 14:58:40 -0500 |
---|---|---|
committer | Ariadne Conill <ariadne@dereferenced.org> | 2020-02-27 00:21:52 +0000 |
commit | 6b590f845bd6d16445db0cffc30e003f22d285ba (patch) | |
tree | da64241283b24894868f52a47b7d993f654a1613 /main/openrc | |
parent | 6354738b7740f72dbb29b36da280d4bb43833b04 (diff) | |
download | aports-6b590f845bd6d16445db0cffc30e003f22d285ba.tar.bz2 aports-6b590f845bd6d16445db0cffc30e003f22d285ba.tar.xz |
main/openrc: don't shadow /lib/modules if modloop is an overlay
In the run-from-RAM scenario, the modloop init script runs after
APK has already installed packages. If any of these packages
contain files that live under /lib/modules, /etc/init.d/modloop
will hide them by mounting the modloop on top of this directory,
even if overlayfs is available.
This change places the pre-modloop contents of /lib/modules into
the overlay stack, on top of the actual contents of the modloop
file, so that in a conflict package contents override modloop
contents.
Diffstat (limited to 'main/openrc')
-rw-r--r-- | main/openrc/APKBUILD | 4 | ||||
-rwxr-xr-x | main/openrc/modloop.initd | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/main/openrc/APKBUILD b/main/openrc/APKBUILD index f052ae9b88..11446b8e41 100644 --- a/main/openrc/APKBUILD +++ b/main/openrc/APKBUILD @@ -2,7 +2,7 @@ pkgname=openrc pkgver=0.42.1 _ver=${pkgver/_git*/} -pkgrel=5 +pkgrel=6 pkgdesc="OpenRC manages the services, startup and shutdown of a host" url="https://github.com/OpenRC/openrc" arch="all" @@ -126,7 +126,7 @@ ff9bf2f6e4f55633a9641385398f70a2e591e2b3b56b1903f168a97b07bd56dc5a65d151deeab942 493f27d588e64bb2bb542b32493ed05873f4724e8ad1751002982d7b4e07963cfb72f93603b2d678f305177cf9556d408a87b793744c6b7cd46cf9be4b744c02 hostname.initd c06eac7264f6cc6888563feeae5ca745aae538323077903de1b19102e4f16baa34c18b8c27af5dd5423e7670834e2261e9aa55f2b1ec8d8fdc2be105fe894d55 hwdrivers.initd 7113c930f7f5fb5b345b115db175f8e5837e3541b3e022d5cecf1b59067ed4b40b2adea2324a008035b97d653311217ac5cf961b4d0fc8b714a8b2505883cdc6 modules.initd -595098085d5a1204e3c5af59bb4a3b3d1fb2980db77925995aa1ec43ef5ae378cef736ddc7924191a99d39c93891d59274fbba08127b15d584c2f82b067ef683 modloop.initd +6417ac5dc0bfd2c8acd5375f07bbff661cd666ca56ded68d2eb801ce78880e6b44300da83451d2c6610b1e33ba180ceaaa9f26b27e0968f5d256075b417fdfad modloop.initd d21164f4d265456c7633c1f63a296170fcd0d95ca509bbf57c16ac33e4f2e55b840d9e5811f863732040f443ef43d4b9f248d939e273997000556014f114e82e networking.initd 80e43ded522e2d48b876131c7c9997debd43f3790e0985801a8c1dd60bc6e09f625b35a127bf225eb45a65eec7808a50d1c08a5e8abceafc61726211e061e0a2 modloop.confd d76c75c58e6f4b0801edac4e081b725ef3d50a9a8c9bbb5692bf4d0f804af7d383bf71a73d5d03ed348a89741ef0b2427eb6a7cbf5a9b9ff60a240639fa6ec88 sysfsconf.initd diff --git a/main/openrc/modloop.initd b/main/openrc/modloop.initd index a815d66f5a..ce9578015e 100755 --- a/main/openrc/modloop.initd +++ b/main/openrc/modloop.initd @@ -116,7 +116,7 @@ start() { mkdir -p /.modoverlayfs /lib/modules mount -t tmpfs $mount_ops tmpfs /.modoverlayfs mkdir -p /.modoverlayfs/modules /.modoverlayfs/work - mount -t overlay -o upperdir=/.modoverlayfs/modules,lowerdir=/.modloop/modules,workdir=/.modoverlayfs/work overlay /lib/modules + mount -t overlay -o upperdir=/.modoverlayfs/modules,lowerdir=/lib/modules:/.modloop/modules,workdir=/.modoverlayfs/work overlay /lib/modules eend $? || return 1 else rm -rf /lib/modules && ln -sf /.modloop/modules /lib/ |