Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.sbin/postinstall postinstall: sort the items. keep obsol...
details: https://anonhg.NetBSD.org/src/rev/03e4a7d2e12b
branches: trunk
changeset: 1020756:03e4a7d2e12b
user: lukem <lukem%NetBSD.org@localhost>
date: Sun Apr 25 01:44:55 2021 +0000
description:
postinstall: sort the items. keep obsolete* last
Consistency and quality of life improvements to postinstall:
Order all of the items (including disabled) alphabetically.
Consistent comment style before each item block.
Move other functions used by do_*() before rather than after do_*().
diffstat:
usr.sbin/postinstall/postinstall.in | 961 +++++++++++++++++++----------------
1 files changed, 518 insertions(+), 443 deletions(-)
diffs (truncated from 1282 to 300 lines):
diff -r 80b363401d2e -r 03e4a7d2e12b usr.sbin/postinstall/postinstall.in
--- a/usr.sbin/postinstall/postinstall.in Sun Apr 25 01:15:39 2021 +0000
+++ b/usr.sbin/postinstall/postinstall.in Sun Apr 25 01:44:55 2021 +0000
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# $NetBSD: postinstall.in,v 1.36 2021/04/25 01:15:39 lukem Exp $
+# $NetBSD: postinstall.in,v 1.37 2021/04/25 01:44:55 lukem Exp $
#
# Copyright (c) 2002-2021 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -590,7 +590,8 @@
# find all the target symlinks of shared libaries and exclude them
# from consideration for removal
#
-exclude_libs() {
+exclude_libs()
+{
local target="$(ls -l -d lib*.so.* 2> /dev/null \
| ${AWK} '{ print $11; }' \
| ${SED} -e 's@.*/@@' | ${SORT} -u)"
@@ -808,9 +809,170 @@
# items
# -----
#
+# NOTE: Keep these items sorted, except for obsolete* which are listed last.
+#
+
+#
+# atf
+#
+
+handle_atf_user()
+{
+ local op="$1"
+ local failed=0
+
+ local conf="${DEST_DIR}/etc/atf/common.conf"
+ if grep '[^#]*unprivileged-user[ \t]*=.*_atf' "${conf}" >/dev/null
+ then
+ if [ "$1" = "fix" ]; then
+ ${SED} -e \
+ "/[^#]*unprivileged-user[\ t]*=/s/_atf/_tests/" \
+ "${conf}" >"${conf}.new"
+ failed=$(( ${failed} + $? ))
+ mv "${conf}.new" "${conf}"
+ failed=$(( ${failed} + $? ))
+ msg "Set unprivileged-user=_tests in ${conf}"
+ else
+ msg "unprivileged-user=_atf in ${conf} should be" \
+ "unprivileged-user=_tests"
+ failed=1
+ fi
+ fi
+
+ return ${failed}
+}
+
+additem atf "install missing atf configuration files and validate them"
+do_atf()
+{
+ [ -n "$1" ] || err 3 "USAGE: do_atf fix|check"
+ op="$1"
+ failed=0
+
+ # Ensure atf configuration files are in place.
+ if find_file_in_dirlist NetBSD.conf "NetBSD.conf" \
+ "${SRC_DIR}/external/bsd/atf/etc/atf" \
+ "${SRC_DIR}/etc/atf"; then
+ # ${dir} is set by find_file_in_dirlist()
+ populate_dir "${op}" true "${dir}" "${DEST_DIR}/etc/atf" 644 \
+ NetBSD.conf common.conf || failed=1
+ else
+ failed=1
+ fi
+ if find_file_in_dirlist atf-run.hooks "atf-run.hooks" \
+ "${SRC_DIR}/external/bsd/atf/dist/tools/sample" \
+ "${SRC_DIR}/etc/atf"; then
+ # ${dir} is set by find_file_in_dirlist()
+ populate_dir "${op}" true "${dir}" "${DEST_DIR}/etc/atf" 644 \
+ atf-run.hooks || failed=1
+ else
+ failed=1
+ fi
+
+ # Validate the _atf to _tests user/group renaming.
+ if [ -f "${DEST_DIR}/etc/atf/common.conf" ]; then
+ handle_atf_user "${op}" || failed=1
+ else
+ failed=1
+ fi
+
+ return ${failed}
+}
+
#
-# Bluetooth
+# autofsconfig
+#
+
+additem autofsconfig "automounter configuration files"
+do_autofsconfig()
+{
+ [ -n "$1" ] || err 3 "USAGE: do_autofsconfig fix|check"
+ local autofs_files="
+include_ldap
+include_nis
+special_hosts
+special_media
+special_noauto
+special_null
+"
+ op="$1"
+ failed=0
+ if [ "$op" = "fix" ]; then
+ mkdir -p "${DEST_DIR}/etc/autofs"
+ fi
+ failed=$(( ${failed} + $? ))
+ populate_dir "$op" false "${SRC_DIR}/etc" \
+ "${DEST_DIR}/etc" \
+ 644 \
+ auto_master
+ failed=$(( ${failed} + $? ))
+ populate_dir "$op" false "${SRC_DIR}/etc/autofs" \
+ "${DEST_DIR}/etc/autofs" \
+ 644 \
+ ${autofs_files}
+ return ${failed}
+}
+
+
+#
+# blocklist
+#
+
+fixblock()
+{
+ local op="$1"
+ local target="${DEST_DIR}$2"
+
+ if [ ! -f "${target}" ]; then
+ continue
+ fi
+
+ if ${GREP} '[bB]lack' "${target}" > /dev/null; then
+ if [ "$1" = "check" ]; then
+ msg "Fix old configuration file(s)."
+ return 1
+ else
+ local p=$(${STAT} -f %Lp "${target}")
+ chmod u+w "${target}" || return 1
+ if [ "$2" = "/etc/npf.conf" ]; then
+ ${SED} -i -e 's/"blacklistd"/"blocklistd"/g' "${target}"
+ else
+ ${SED} -i -e 's/\([bB]\)lacklist/\1locklist/g' "${target}"
+ fi
+ chmod "${p}" "${target}"
+ fi
+ fi
+}
+
+additem blocklist "rename old files to blocklist"
+do_blocklist()
+{
+ [ -n "$1" ] || err 3 "USAGE: do_blocklist fix|check"
+ local op="$1"
+
+ # if we are actually using blocklistd
+ for i in /var/db/blacklist.db /etc/blacklistd.conf; do
+ local old="${DEST_DIR}${i}"
+ if [ ! -f "${old}" ]; then
+ continue
+ elif [ "$1" = "check" ]; then
+ msg "Rename old file(s)."
+ return 1
+ fi
+ local new=$(echo "${old}" | ${SED} s/black/block/)
+ mv "${old}" "${new}" || return 1
+ done
+
+ for i in /etc/rc.conf /etc/npf.conf /etc/blocklistd.conf \
+ /etc/defaults/rc.conf; do
+ fixblock "${op}" "${i}" || return 1
+ done
+}
+
+
+#
+# bluetooth
#
additem bluetooth "Bluetooth configuration is up to date"
@@ -844,62 +1006,72 @@
return ${failed}
}
-fixblock() {
- local op="$1"
- local target="${DEST_DIR}$2"
-
- if [ ! -f "${target}" ]; then
- continue
- fi
-
- if ${GREP} '[bB]lack' "${target}" > /dev/null; then
- if [ "$1" = "check" ]; then
- msg "Fix old configuration file(s)."
- return 1
- else
- local p=$(${STAT} -f %Lp "${target}")
- chmod u+w "${target}" || return 1
- if [ "$2" = "/etc/npf.conf" ]; then
- ${SED} -i -e 's/"blacklistd"/"blocklistd"/g' "${target}"
- else
- ${SED} -i -e 's/\([bB]\)lacklist/\1locklist/g' "${target}"
- fi
- chmod "${p}" "${target}"
- fi
- fi
-}
#
-# blocklist update
+# catpages
#
-additem blocklist "rename old files to blocklist"
-do_blocklist()
+
+obsolete_catpages()
{
- [ -n "$1" ] || err 3 "USAGE: do_blocklist fix|check"
- local op="$1"
-
- # if we are actually using blocklistd
- for i in /var/db/blacklist.db /etc/blacklistd.conf; do
- local old="${DEST_DIR}${i}"
- if [ ! -f "${old}" ]; then
- continue
- elif [ "$1" = "check" ]; then
- msg "Rename old file(s)."
- return 1
+ basedir="$2"
+ section="$3"
+ mandir="${basedir}/man${section}"
+ catdir="${basedir}/cat${section}"
+ test -d "$mandir" || return 0
+ test -d "$catdir" || return 0
+ (cd "$mandir" && find . -type f) | {
+ failed=0
+ while read manpage; do
+ manpage="${manpage#./}"
+ case "$manpage" in
+ *.Z)
+ catname="$catdir/${manpage%.*.Z}.0"
+ ;;
+ *.gz)
+ catname="$catdir/${manpage%.*.gz}.0"
+ ;;
+ *)
+ catname="$catdir/${manpage%.*}.0"
+ ;;
+ esac
+ test -e "$catname" -a "$catname" -ot "$mandir/$manpage" || continue
+ if [ "$1" = "fix" ]; then
+ rm "$catname"
+ failed=$(( ${failed} + $? ))
+ msg "Removed obsolete cat page $catname"
+ else
+ msg "Obsolete cat page $catname"
+ failed=1
fi
- local new=$(echo "${old}" | ${SED} s/black/block/)
- mv "${old}" "${new}" || return 1
done
-
- for i in /etc/rc.conf /etc/npf.conf /etc/blocklistd.conf \
- /etc/defaults/rc.conf; do
- fixblock "${op}" "${i}" || return 1
+ exit $failed
+ }
+}
+
+additem catpages "remove outdated cat pages"
+do_catpages()
+{
+ failed=0
+ for manbase in /usr/share/man /usr/X11R6/man /usr/X11R7/man; do
+ for sec in 1 2 3 4 5 6 7 8 9; do
+ obsolete_catpages "$1" "${DEST_DIR}${manbase}" "${sec}"
+ failed=$(( ${failed} + $? ))
+ if [ "$1" = "fix" ]; then
+ rmdir "${DEST_DIR}${manbase}/cat${sec}"/* \
+ 2>/dev/null
+ rmdir "${DEST_DIR}${manbase}/cat${sec}" \
+ 2>/dev/null
+ fi
+ done
done
+ return $failed
Home |
Main Index |
Thread Index |
Old Index