Use shell function because I like it. No functional changes.

This commit is contained in:
uebayasi 2009-12-10 16:01:06 +00:00
parent e08ad0e79f
commit c5999c8ae5
1 changed files with 38 additions and 8 deletions

View File

@ -1,6 +1,6 @@
#! /bin/sh -- #! /bin/sh --
# #
# $NetBSD: checkflist,v 1.35 2009/11/30 16:13:23 uebayasi Exp $ # $NetBSD: checkflist,v 1.36 2009/12/10 16:01:06 uebayasi Exp $
# #
# Verify output of makeflist against contents of ${DESTDIR} and ${metalog}. # Verify output of makeflist against contents of ${DESTDIR} and ${metalog}.
@ -84,9 +84,13 @@ shift $((${OPTIND} - 1))
# * ignore METALOG and METALOG.* # * ignore METALOG and METALOG.*
# * ignore etc/mtree/set.* # * ignore etc/mtree/set.*
# #
ignore_exceptions()
{
IGNORE_REGEXP="^\./var/db/syspkg(\$|/)" IGNORE_REGEXP="^\./var/db/syspkg(\$|/)"
IGNORE_REGEXP="${IGNORE_REGEXP}|^\./METALOG(\..*)?\$" IGNORE_REGEXP="${IGNORE_REGEXP}|^\./METALOG(\..*)?\$"
IGNORE_REGEXP="${IGNORE_REGEXP}|^\./etc/mtree/set\.[a-z]*\$" IGNORE_REGEXP="${IGNORE_REGEXP}|^\./etc/mtree/set\.[a-z]*\$"
${EGREP} -v -e "${IGNORE_REGEXP}"
}
# #
# Here would be a good place to add custom exceptions to flist checking. # Here would be a good place to add custom exceptions to flist checking.
@ -100,15 +104,41 @@ IGNORE_REGEXP="${IGNORE_REGEXP}|^\./etc/mtree/set\.[a-z]*\$"
# #
# All three lists are filtered against ${IGNORE_REGEXP}. # All three lists are filtered against ${IGNORE_REGEXP}.
# #
generate_files()
{
( cd "${DESTDIR}" && ${FIND} ${origin} \ ( cd "${DESTDIR}" && ${FIND} ${origin} \
\( -type d -o -type f -o -type l \) -print ) \ \( -type d -o -type f -o -type l \) -print ) \
| ${SORT} -u | ${EGREP} -v -e "${IGNORE_REGEXP}" >"${SDIR}/files" | ${SORT} -u | ignore_exceptions >"${SDIR}/files"
}
generate_flist()
{
${HOST_SH} "${rundir}/makeflist" ${xargs} ${dargs} \ ${HOST_SH} "${rundir}/makeflist" ${xargs} ${dargs} \
| ${SORT} -u | ${EGREP} -v -e "${IGNORE_REGEXP}" >"${SDIR}/flist" | ${SORT} -u | ignore_exceptions >"${SDIR}/flist"
}
generate_mlist()
{
if [ -n "${metalog}" ]; then if [ -n "${metalog}" ]; then
${AWK} '{print $1}' <"${metalog}" \ ${AWK} '{print $1}' <"${metalog}" \
| ${SORT} -u | ${EGREP} -v -e "${IGNORE_REGEXP}" >"${SDIR}/mlist" | ${SORT} -u | ignore_exceptions >"${SDIR}/mlist"
fi fi
}
generate_missing()
{
${COMM} -23 "${SDIR}/files" "${SDIR}/mlist" > "${SDIR}/missing"
}
generate_extra()
{
${COMM} -13 "${SDIR}/files" "${SDIR}/mlist" > "${SDIR}/extra"
}
generate_files
generate_flist
generate_mlist
# #
# compare DESTDIR with METALOG, and report on differences. # compare DESTDIR with METALOG, and report on differences.
@ -116,8 +146,8 @@ fi
# XXX: Temporarily disabled due to problems with obsolete files in metalog # XXX: Temporarily disabled due to problems with obsolete files in metalog
# #
if false && [ -n "${metalog}" ]; then if false && [ -n "${metalog}" ]; then
${COMM} -23 "${SDIR}/files" "${SDIR}/mlist" > "${SDIR}/missing" generate_missing
${COMM} -13 "${SDIR}/files" "${SDIR}/mlist" > "${SDIR}/extra" generate_extra
# Handle case insensitive filesystems # Handle case insensitive filesystems
mv -f "${SDIR}/extra" "${SDIR}/extra.all" mv -f "${SDIR}/extra" "${SDIR}/extra.all"
@ -157,8 +187,8 @@ fi
# #
# compare flist with DESTDIR, and report on differences. # compare flist with DESTDIR, and report on differences.
# #
${COMM} -23 "${SDIR}/flist" "${SDIR}/files" > "${SDIR}/missing" generate_missing
${COMM} -13 "${SDIR}/flist" "${SDIR}/files" > "${SDIR}/extra" generate_extra
# Handle case insensitive filesystems # Handle case insensitive filesystems
mv -f "${SDIR}/missing" "${SDIR}/missing.all" mv -f "${SDIR}/missing" "${SDIR}/missing.all"