* [gentoo-commits] proj/openrc:master commit in: init.d/, conf.d/, /
@ 2015-10-14 17:53 William Hubbs
0 siblings, 0 replies; only message in thread
From: William Hubbs @ 2015-10-14 17:53 UTC (permalink / raw
To: gentoo-commits
commit: b29b2fb3cb3e73b4453483ced908f0ef10e47e9c
Author: William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Wed Oct 14 15:41:14 2015 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 17:19:13 2015 +0000
URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=b29b2fb3
mtab: make /etc/mtab as a file configurable
NEWS.md | 23 +++++++++++++++++++++++
conf.d/Makefile | 2 +-
conf.d/mtab | 5 +++++
init.d/mtab.in | 15 ++++++++-------
4 files changed, 37 insertions(+), 8 deletions(-)
diff --git a/NEWS.md b/NEWS.md
index 819a340..d67ed60 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -3,6 +3,29 @@
This file will contain a list of notable changes for each release. Note
the information in this file is in reverse order.
+## OpenRC-0.18.3
+
+Modern Linux systems expect /etc/mtab to be a symbolic link to
+/proc/self/mounts. Reasons for this change include support for mount
+namespaces, which will not work if /etc/mtab is a file.
+By default, the mtab service enforces this on each reboot.
+
+If you find that this breaks your system in some way, please do the
+following:
+
+- Set mtab_is_file=yes in /etc/conf.d/mtab.
+
+- Restart mtab. This will recreate the /etc/mtab file.
+
+- Check for an issue on https://github.com/openrc/openrc/issues
+ explaining why you need /etc/mtab to be a file. If there isn't one,
+ please open one and explain in detail why you need this to be a file.
+ If there is one, please add your comments to it. Please give concrete
+ examples of why it is important that /etc/mtab be a file instead of a
+ symbolic link. Those comments will be taken into consideration for how
+ long to keep supporting mtab as a file or when the support can be
+ removed.
+
## OpenRC-0.18
The behaviour of localmount and netmount in this version is changing. In
diff --git a/conf.d/Makefile b/conf.d/Makefile
index 93476fc..34a3b07 100644
--- a/conf.d/Makefile
+++ b/conf.d/Makefile
@@ -15,7 +15,7 @@ include ${MK}/os.mk
CONF-FreeBSD= ipfw moused powerd rarpd savecore syscons
-CONF-Linux= consolefont devfs dmesg hwclock keymaps killprocs modules
+CONF-Linux= consolefont devfs dmesg hwclock keymaps killprocs modules mtab
CONF-NetBSD= moused rarpd savecore
diff --git a/conf.d/mtab b/conf.d/mtab
new file mode 100644
index 0000000..9e16d9b
--- /dev/null
+++ b/conf.d/mtab
@@ -0,0 +1,5 @@
+# This setting controls whether /etc/mtab is a file or symbolic link.
+# Most of the time, you shouldn't touch this. However, if the default
+# breaks your system in some way, please see the NEWS.md file that comes
+# with OpenRC for the actions to take.
+# mtab_is_file=no
diff --git a/init.d/mtab.in b/init.d/mtab.in
index 1442ffd..4deaba6 100644
--- a/init.d/mtab.in
+++ b/init.d/mtab.in
@@ -14,16 +14,17 @@ start()
{
local rc=0
ebegin "Updating /etc/mtab"
- if [ -L /etc/mtab ] ; then
- ewarn "/etc/mtab is a symlink, not updating."
- ewarn "FYI - You can safely remove mtab from your runlevels."
- elif ! checkpath -W /etc; then
+ if ! checkpath -W /etc; then
rc=1
- elif [ ! -e /etc/mtab ]; then
- einfo "Creating mtab symlink"
+ elif ! yesno ${mtab_is_file:-no}; then
+ [ ! -L /etc/mtab ] && [ -f /etc/mtab] &&
+ ewarn "Removing /etc/mtab file"
+ einfo "Creating mtab symbolic link"
ln -snf /proc/self/mounts /etc/mtab
else
- einfo "Updating mtab file"
+ [ -L /etc/mtab ] && ewarn "Removing /etc/mtab symbolic link"
+ rm -f /etc/mtab
+ einfo "Creating mtab file"
# With / as tmpfs we cannot umount -at tmpfs in localmount as that
# makes / readonly and dismounts all tmpfs even if in use which is
# not good. Luckily, umount uses /etc/mtab instead of /proc/mounts
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-10-14 17:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-14 17:53 [gentoo-commits] proj/openrc:master commit in: init.d/, conf.d/, / William Hubbs
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox