public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "William Hubbs" <williamh@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/openrc:0.18.x commit in: /, init.d/, conf.d/
Date: Wed, 14 Oct 2015 21:03:27 +0000 (UTC)	[thread overview]
Message-ID: <1444856408.fb23cbe204b9adeb817e2f5be7a1bb827bb9a477.williamh@OpenRC> (raw)

commit:     fb23cbe204b9adeb817e2f5be7a1bb827bb9a477
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 21:00:08 2015 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=fb23cbe2

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


                 reply	other threads:[~2015-10-14 21:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1444856408.fb23cbe204b9adeb817e2f5be7a1bb827bb9a477.williamh@OpenRC \
    --to=williamh@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox