blob: 9ca2a6b179601c5e2867215b383086a595e035b7 [file] [log] [blame] [raw]
#!/bin/sh
# Copyright 2015-2024 Rivoreo
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
# IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
set -f
mountpoints="`cut -d ' ' -s -f 2 /proc/mounts`" || exit
for f in /bin /etc /lib /opt /sbin /tmp /usr/local/bin /usr/local/include /usr/local/lib /usr/local/share /usr/bin /usr/include /usr/lib /usr/sbin /usr/share /usr/src /usr/local /usr /var/backups /var/cache /var/crash /var/empty /var/lib /var/log /var/mail /var/spool /var/tmp; do
[ -h "$f" ] && continue
[ -e "$f" ] || continue
canon_path="`readlink --canonicalize $f`" && [ "$canon_path" != $f ] || canon_path=
for p in $mountpoints; do
[ "$p" = $f ] && continue 2
[ -n "$canon_path" ] && [ "$canon_path" = $f ] && continue 2
done
mount --bind $f $f
done