makeroot.sh: allow duplicate entries even with -f <filelist>

makefs disallows duplicate entries unless the -D option is specified.

Previously makeroot.sh enabled -D unless a filelist was provided via
the -f options.  The filelist logic creates an mtree manifest from the
METALOG and the provided filelist by passing them through `sort -u`,
so duplicates were not expected.  However, duplicates can still occur
when a directory appears in multiple packages -- for example,

./etc/pam.d type=dir uname=root gname=wheel mode=0755
./etc/pam.d type=dir mode=0755 tags=package=runtime
./etc/pam.d type=dir mode=0755 tags=package=at
./etc/pam.d type=dir mode=0755 tags=package=ftp
./etc/pam.d type=dir mode=0755 tags=package=telnet

For the purposes of makefs these directory entries are identical, but
are of course not identical for sort -u.

For now just leave the allow duplicates -D flag enabled.

PR:		228606
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Ed Maste 2018-05-30 13:51:00 +00:00
parent f912a970e6
commit 5dbe22000d

View File

@ -80,7 +80,7 @@ while getopts "B:de:f:g:K:k:l:p:s:" opt; do
B) BFLAG="-B ${OPTARG}" ;;
d) DEBUG=1 ;;
e) EXTRAS="${EXTRAS} ${OPTARG}" ;;
f) FILELIST="${OPTARG}"; DUPFLAG= ;;
f) FILELIST="${OPTARG}";;
g) GROUP="${OPTARG}" ;;
K) KEYUSERS="${KEYUSERS} ${OPTARG}" ;;
k) KEYDIR="${OPTARG}" ;;