View | Details | Raw Unified | Return to bug 227109 | Differences between
and this patch

Collapse All | Expand All

(-)Mk/Scripts/actual-package-depends.sh (-2 / +2 lines)
Lines 2-8 Link Here
2
# MAINTAINER: portmgr@FeeeBSD.org
2
# MAINTAINER: portmgr@FeeeBSD.org
3
# $FreeBSD$
3
# $FreeBSD$
4
4
5
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_ACTUAL_PACKAGE_DEPENDS}" ] && set -x
5
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_ACTUAL_PACKAGE_DEPENDS}" ] && set -x
6
6
7
if [ -z "${PKG_BIN}" ]; then
7
if [ -z "${PKG_BIN}" ]; then
8
	echo "PKG_BIN required in environment." >&2
8
	echo "PKG_BIN required in environment." >&2
Lines 60-66 find_dep() { Link Here
60
		searchfile=$pattern
60
		searchfile=$pattern
61
		;;
61
		;;
62
	*)
62
	*)
63
		searchfile=$(/usr/bin/which ${pattern} 2>/dev/null)
63
		searchfile=$(command -v ${pattern} 2>/dev/null)
64
		;;
64
		;;
65
	esac
65
	esac
66
	if [ -n "${searchfile}" ]; then
66
	if [ -n "${searchfile}" ]; then
(-)Mk/Scripts/check-stagedir.sh (-12 / +12 lines)
Lines 20-26 listmtree() { # mtreefile prefix Link Here
20
	{
20
	{
21
		echo '#mtree'
21
		echo '#mtree'
22
		sed 's/nochange$//;' $1
22
		sed 's/nochange$//;' $1
23
	} | tar -tf- | sed "s,^,$2/,;s,^$2/\.$,$2,;s,^$,/,"
23
	} | tar -tf- | sed "s,^,$2/,;s,^$2/\\.$,$2,;s,^$,/,"
24
}
24
}
25
25
26
### PRODUCE MTREE FILE
26
### PRODUCE MTREE FILE
Lines 33-39 parse_mtree() { Link Here
33
		# Use MTREE_FILE if specified and it doesn't already
33
		# Use MTREE_FILE if specified and it doesn't already
34
		# match LOCALBASE
34
		# match LOCALBASE
35
		if [ -n "${MTREE_FILE}" ]; then
35
		if [ -n "${MTREE_FILE}" ]; then
36
			if [ "${PREFIX}" != "${LOCALBASE}" -o "${MTREE_FILE}" \
36
			if [ "${PREFIX}" != "${LOCALBASE}" ] || [ "${MTREE_FILE}" \
37
			    != "${PORTSDIR}/Templates/BSD.local.dist" ]; then
37
			    != "${PORTSDIR}/Templates/BSD.local.dist" ]; then
38
				listmtree "${MTREE_FILE}" "${PREFIX}"
38
				listmtree "${MTREE_FILE}" "${PREFIX}"
39
			fi
39
			fi
Lines 90-110 setup_plist_seds() { Link Here
90
90
91
	sed_plist_sub=$(mktemp -t sed_plist_sub)
91
	sed_plist_sub=$(mktemp -t sed_plist_sub)
92
	# We only exit 0 or exit 1
92
	# We only exit 0 or exit 1
93
	trap "rm -f ${sed_plist_sub}" EXIT 1
93
	trap 'rm -f ${sed_plist_sub}' EXIT 1
94
	echo "${PLIST_SUB_SED}" | /bin/sh ${SCRIPTSDIR}/plist_sub_sed_sort.sh ${sed_plist_sub}
94
	echo "${PLIST_SUB_SED}" | /bin/sh ${SCRIPTSDIR}/plist_sub_sed_sort.sh ${sed_plist_sub}
95
	unset PLIST_SUB_SED
95
	unset PLIST_SUB_SED
96
	# Used for generate_plist
96
	# Used for generate_plist
97
	sed_files_gen="${sed_portdocsexamples} /^share\/licenses/d; \
97
	sed_files_gen="${sed_portdocsexamples} /^share\\/licenses/d; \
98
	    \#${LOCALBASE}/lib/debug#d;"
98
	    \\#${LOCALBASE}/lib/debug#d;"
99
	sed_dirs_gen="s,^,@dir ,; \
99
	sed_dirs_gen="s,^,@dir ,; \
100
	    ${sed_portdocsexamples} \
100
	    ${sed_portdocsexamples} \
101
	    /^@dir share\/licenses/d;"
101
	    /^@dir share\\/licenses/d;"
102
102
103
	# These prevent ignoring DOCS/EXAMPLES dirs with sed_portdocsexamples
103
	# These prevent ignoring DOCS/EXAMPLES dirs with sed_portdocsexamples
104
	sed_files="/^share\/licenses/d; \
104
	sed_files="/^share\\/licenses/d; \
105
	    \#${LOCALBASE}/lib/debug#d;"
105
	    \\#${LOCALBASE}/lib/debug#d;"
106
	sed_dirs="s,^,@dir ,; \
106
	sed_dirs="s,^,@dir ,; \
107
	    /^@dir share\/licenses/d;"
107
	    /^@dir share\\/licenses/d;"
108
108
109
}
109
}
110
110
Lines 124-132 generate_plist() { Link Here
124
	    | sort -u >${WRKDIR}/.traced-dirs
124
	    | sort -u >${WRKDIR}/.traced-dirs
125
	find ${STAGEDIR} -type d | sed -e "s,^${STAGEDIR},,;/^$/d" | sort \
125
	find ${STAGEDIR} -type d | sed -e "s,^${STAGEDIR},,;/^$/d" | sort \
126
	    >${WRKDIR}/.staged-dirrms-sorted
126
	    >${WRKDIR}/.staged-dirrms-sorted
127
	find -s -d ${STAGEDIR}${PREFIX} -type d -empty | sed -e "s,^${STAGEDIR},,;\,^${PREFIX}$,d;/^$/d" \
127
	find -s -d ${STAGEDIR}${PREFIX} -type d -empty | sed -e "s,^${STAGEDIR},,;\\,^${PREFIX}$,d;/^$/d" \
128
	    >${WRKDIR}/.staged-dirs-dfs
128
	    >${WRKDIR}/.staged-dirs-dfs
129
	find -s -d ${STAGEDIR} -type d ! -path "${STAGEDIR}${PREFIX}/*" | sed -e "s,^${STAGEDIR},,;\,^${PREFIX}$,d;/^$/d" \
129
	find -s -d ${STAGEDIR} -type d ! -path "${STAGEDIR}${PREFIX}/*" | sed -e "s,^${STAGEDIR},,;\\,^${PREFIX}$,d;/^$/d" \
130
	    >>${WRKDIR}/.staged-dirs-dfs
130
	    >>${WRKDIR}/.staged-dirs-dfs
131
	sort ${WRKDIR}/.staged-dirs-dfs >${WRKDIR}/.staged-dirs-sorted
131
	sort ${WRKDIR}/.staged-dirs-dfs >${WRKDIR}/.staged-dirs-sorted
132
	awk '{print FNR, $0}' ${WRKDIR}/.staged-dirs-dfs \
132
	awk '{print FNR, $0}' ${WRKDIR}/.staged-dirs-dfs \
Lines 230-236 esac Link Here
230
validate_env STAGEDIR PREFIX LOCALBASE WRKDIR WRKSRC MTREE_FILE \
230
validate_env STAGEDIR PREFIX LOCALBASE WRKDIR WRKSRC MTREE_FILE \
231
    TMPPLIST PLIST_SUB_SED SCRIPTSDIR PORT_OPTIONS NO_PREFIX_RMDIR
231
    TMPPLIST PLIST_SUB_SED SCRIPTSDIR PORT_OPTIONS NO_PREFIX_RMDIR
232
232
233
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECK_STAGEDIR}" ] && set -x
233
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_CHECK_STAGEDIR}" ] && set -x
234
234
235
set -u
235
set -u
236
236
(-)Mk/Scripts/check-vulnerable.sh (-1 / +1 lines)
Lines 9-15 set -e Link Here
9
9
10
validate_env dp_ECHO_MSG dp_PKG_BIN dp_PORTNAME dp_PKGNAME
10
validate_env dp_ECHO_MSG dp_PKG_BIN dp_PORTNAME dp_PKGNAME
11
11
12
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECK_VULNERABLE}" ] && set -x
12
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_CHECK_VULNERABLE}" ] && set -x
13
13
14
set -u
14
set -u
15
15
(-)Mk/Scripts/check_leftovers.sh (-6 / +6 lines)
Lines 23-29 Link Here
23
# The PLIST_SUB feature can be disabled by setting PLIST_SUB_SED=
23
# The PLIST_SUB feature can be disabled by setting PLIST_SUB_SED=
24
# in environment.
24
# in environment.
25
25
26
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECK_LEFTOVERS}" ] && set -x
26
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_CHECK_LEFTOVERS}" ] && set -x
27
27
28
origin="$1"
28
origin="$1"
29
[ $# -eq 1 ] || { echo "Must supply ORIGIN as parameter" >&2; exit 1; }
29
[ $# -eq 1 ] || { echo "Must supply ORIGIN as parameter" >&2; exit 1; }
Lines 45-53 fi Link Here
45
if [ -z "${CCACHE_DIR}" ]; then
45
if [ -z "${CCACHE_DIR}" ]; then
46
	CCACHE_DIR=$(make -C ${portdir} -VCCACHE_DIR)
46
	CCACHE_DIR=$(make -C ${portdir} -VCCACHE_DIR)
47
fi
47
fi
48
homedirs=$(awk -F: -v users="$(make -C ${portdir} -V USERS|sed -e 's, ,|,g;/^$/d;s,^,^(,;s,$,)$,')" 'users && $1 ~ users {print $9}' ${PORTSDIR}/UIDs|sort -u|sed -e "s|/usr/local|${PREFIX}|"|tr "\n" " ")
48
homedirs=$(awk -F: -v users="$(make -C ${portdir} -V USERS|sed -e 's, ,|,g;/^$/d;s,^,^(,;s,$,)$,')" 'users && $1 ~ users {print $9}' ${PORTSDIR}/UIDs|sort -u|sed -e "s|/usr/local|${PREFIX}|"|tr "\\n" " ")
49
plistsub_sed=$(mktemp -t plistsub_sed)
49
plistsub_sed=$(mktemp -t plistsub_sed)
50
trap "rm -f ${plistsub_sed}" EXIT 1
50
trap 'rm -f ${plistsub_sed}' EXIT 1
51
make -C ${portdir} -VPLIST_SUB_SED | /bin/sh ${PORTSDIR}/Mk/Scripts/plist_sub_sed_sort.sh ${plistsub_sed}
51
make -C ${portdir} -VPLIST_SUB_SED | /bin/sh ${PORTSDIR}/Mk/Scripts/plist_sub_sed_sort.sh ${plistsub_sed}
52
tmpplist=$(make -C ${portdir} -VTMPPLIST)
52
tmpplist=$(make -C ${portdir} -VTMPPLIST)
53
53
Lines 119-134 while read -r modtype path extra; do Link Here
119
		# bsd.port.mk for now.
119
		# bsd.port.mk for now.
120
		# Skip if it is PREFIX and non-LOCALBASE. See misc/kdehier4
120
		# Skip if it is PREFIX and non-LOCALBASE. See misc/kdehier4
121
		# or mail/qmail for examples
121
		# or mail/qmail for examples
122
		[ "${path}" = "${PREFIX}" -a "${LOCALBASE}" != "${PREFIX}" ] &&
122
		[ "${path}" = "${PREFIX}" ] && [ "${LOCALBASE}" != "${PREFIX}" ] &&
123
		    ignore_path=1
123
		    ignore_path=1
124
124
125
		# The removal of info may be a bug; it's part of BSD.local.dist.
125
		# The removal of info may be a bug; it's part of BSD.local.dist.
126
		# See ports/74691
126
		# See ports/74691
127
127
128
		[ "${sub_path}" = "info" -a "${LOCALBASE}" != "${PREFIX}" ] &&
128
		[ "${sub_path}" = "info" ] && [ "${LOCALBASE}" != "${PREFIX}" ] &&
129
		    ignore_path=1
129
		    ignore_path=1
130
130
131
		[ $ignore_path -eq 0 ] && echo "- ${sub_path}"
131
		[ $ignore_path -eq 0 ] && printf -- "- %s\\n" "${sub_path}"
132
		;;
132
		;;
133
	M)
133
	M)
134
		# Check relative/plist paths
134
		# Check relative/plist paths
(-)Mk/Scripts/checksum.sh (-4 / +6 lines)
Lines 11-17 validate_env dp_CHECKSUM_ALGORITHMS dp_CURDIR dp_DISTDIR dp_DISTINFO_FILE \ Link Here
11
	dp_DIST_SUBDIR dp_ECHO_MSG dp_FETCH_REGET dp_MAKE dp_MAKEFLAGS \
11
	dp_DIST_SUBDIR dp_ECHO_MSG dp_FETCH_REGET dp_MAKE dp_MAKEFLAGS \
12
	dp_DISABLE_SIZE dp_NO_CHECKSUM
12
	dp_DISABLE_SIZE dp_NO_CHECKSUM
13
13
14
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CHECKSUM}" ] && set -x
14
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_CHECKSUM}" ] && set -x
15
15
16
set -u
16
set -u
17
17
Lines 34-40 if [ -f "${dp_DISTINFO_FILE}" ]; then Link Here
34
				ignore="true"
34
				ignore="true"
35
			fi
35
			fi
36
36
37
			if [ $ignore = "false" -a -z "$CKSUM" ]; then
37
			if [ $ignore = "false" ] && [ -z "$CKSUM" ]; then
38
				${dp_ECHO_MSG} "=> No $alg checksum recorded for $file."
38
				${dp_ECHO_MSG} "=> No $alg checksum recorded for $file."
39
				ignore="true"
39
				ignore="true"
40
			fi
40
			fi
Lines 57-63 if [ -f "${dp_DISTINFO_FILE}" ]; then Link Here
57
				${dp_ECHO_MSG} "=> $alg Checksum mismatch for $file."
57
				${dp_ECHO_MSG} "=> $alg Checksum mismatch for $file."
58
				refetchlist="$refetchlist $file "
58
				refetchlist="$refetchlist $file "
59
				OK="${OK:-retry}"
59
				OK="${OK:-retry}"
60
				[ "${OK}" = "retry" -a "${dp_FETCH_REGET}" -gt 0 ] && rm -f "${file}"
60
				if [ "${OK}" = "retry" ] && [ "${dp_FETCH_REGET}" -gt 0 ]; then
61
					rm -f "${file}"
62
				fi
61
				ignored="false"
63
				ignored="false"
62
			fi
64
			fi
63
		done
65
		done
Lines 77-83 if [ -f "${dp_DISTINFO_FILE}" ]; then Link Here
77
		fi
79
		fi
78
	fi
80
	fi
79
81
80
	if [ "$OK" != "true" -a "${dp_FETCH_REGET}" -eq 0 ]; then
82
	if [ "$OK" != "true" ] && [ "${dp_FETCH_REGET}" -eq 0 ]; then
81
		${dp_ECHO_MSG} "===>  Giving up on fetching files: $refetchlist"
83
		${dp_ECHO_MSG} "===>  Giving up on fetching files: $refetchlist"
82
		${dp_ECHO_MSG} "Make sure the Makefile and distinfo file (${dp_DISTINFO_FILE})"
84
		${dp_ECHO_MSG} "Make sure the Makefile and distinfo file (${dp_DISTINFO_FILE})"
83
		${dp_ECHO_MSG} "are up to date.  If you are absolutely sure you want to override this"
85
		${dp_ECHO_MSG} "are up to date.  If you are absolutely sure you want to override this"
(-)Mk/Scripts/create-manifest.sh (-1 / +1 lines)
Lines 16-22 validate_env dp_ACTUAL_PACKAGE_DEPENDS dp_CATEGORIES dp_COMMENT \ Link Here
16
	dp_PKGVERSION dp_PKG_BIN dp_PKG_IGNORE_DEPENDS dp_PKG_NOTES \
16
	dp_PKGVERSION dp_PKG_BIN dp_PKG_IGNORE_DEPENDS dp_PKG_NOTES \
17
	dp_PORT_OPTIONS dp_PREFIX dp_USERS dp_WWW
17
	dp_PORT_OPTIONS dp_PREFIX dp_USERS dp_WWW
18
18
19
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_CREATE_MANIFEST}" ] && set -x
19
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_CREATE_MANIFEST}" ] && set -x
20
20
21
set -u
21
set -u
22
22
(-)Mk/Scripts/depends-list.sh (-4 / +4 lines)
Lines 38-51 done Link Here
38
shift $((OPTIND-1))
38
shift $((OPTIND-1))
39
39
40
validate_env PORTSDIR dp_PKGNAME
40
validate_env PORTSDIR dp_PKGNAME
41
if [ ${recursive} -eq 1 -o ${requires_wrkdir} -eq 1 ]; then
41
if [ ${recursive} -eq 1 ] || [ ${requires_wrkdir} -eq 1 ]; then
42
	validate_env dp_MAKE
42
	validate_env dp_MAKE
43
	# Cache command executions to avoid looking them up again in every
43
	# Cache command executions to avoid looking them up again in every
44
	# sub-make.
44
	# sub-make.
45
	MAKE="${dp_MAKE}" export_ports_env >/dev/null
45
	MAKE="${dp_MAKE}" export_ports_env >/dev/null
46
fi
46
fi
47
47
48
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DEPENDS_LIST}" ] && set -x
48
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_DEPENDS_LIST}" ] && set -x
49
49
50
set -u
50
set -u
51
51
Lines 75-81 check_dep() { Link Here
75
			d=${d%@*}
75
			d=${d%@*}
76
			;;
76
			;;
77
		esac
77
		esac
78
		if [ ${flavors} -eq 1 -a -n "${FLAVOR:-}" ]; then
78
		if [ ${flavors} -eq 1 ] && [ -n "${FLAVOR:-}" ]; then
79
			port_display="${d}@${FLAVOR}"
79
			port_display="${d}@${FLAVOR}"
80
		else
80
		else
81
			port_display="${d}"
81
			port_display="${d}"
Lines 118-124 check_dep() { Link Here
118
			show_dep=0
118
			show_dep=0
119
		fi
119
		fi
120
		[ ${show_dep} -eq 1 ] && echo "${port_display}"
120
		[ ${show_dep} -eq 1 ] && echo "${port_display}"
121
		if [ ${recursive} -eq 1 -o ${requires_wrkdir} -eq 1 -a ${show_dep} -eq 1 ]; then
121
		if [ ${recursive} -eq 1 ] || ( [ ${requires_wrkdir} -eq 1 ] && [ ${show_dep} -eq 1 ] ); then
122
			# shellcheck disable=SC2068
122
			# shellcheck disable=SC2068
123
			# Do not add quotes, we want to split the string here.
123
			# Do not add quotes, we want to split the string here.
124
			check_dep $@
124
			check_dep $@
(-)Mk/Scripts/dialog4ports.sh (-5 / +5 lines)
Lines 3-17 Link Here
3
# Maintainer: portmgr@FreeBSD.org
3
# Maintainer: portmgr@FreeBSD.org
4
set -e
4
set -e
5
5
6
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DIALOG4PORTS}" ] && set -x
6
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_DIALOG4PORTS}" ] && set -x
7
7
8
if [ -z "${DIALOG4PORTS}" -o -z "${PORTSDIR}" -o -z "${MAKE}" ]; then
8
if [ -z "${DIALOG4PORTS}" ] || [ -z "${PORTSDIR}" ] || [ -z "${MAKE}" ]; then
9
	echo "DIALOG4PORTS, MAKE and PORTSDIR required in environment." >&2
9
	echo "DIALOG4PORTS, MAKE and PORTSDIR required in environment." >&2
10
	exit 1
10
	exit 1
11
fi
11
fi
12
12
13
: ${DIALOGPORT:=ports-mgmt/dialog4ports}
13
: "${DIALOGPORT:=ports-mgmt/dialog4ports}"
14
: ${DIALOGNAME:=dialog4ports}
14
: "${DIALOGNAME:=dialog4ports}"
15
15
16
OPTIONSFILE="$1"
16
OPTIONSFILE="$1"
17
17
Lines 19-25 if ! [ -e $DIALOG4PORTS ]; then Link Here
19
	# If INSTALL_AS_USER is set then just build and use the WRKDIR version
19
	# If INSTALL_AS_USER is set then just build and use the WRKDIR version
20
	# Also do this if PREFIX!=LOCALBASE to avoid missing file or double
20
	# Also do this if PREFIX!=LOCALBASE to avoid missing file or double
21
	# installs
21
	# installs
22
	if [ -n "${INSTALL_AS_USER}" -o "${PREFIX}" != "${LOCALBASE}" ]; then
22
	if [ -n "${INSTALL_AS_USER}" ] || [ "${PREFIX}" != "${LOCALBASE}" ]; then
23
		if ! [ -d "${PORTSDIR}/${DIALOGPORT}" ]; then
23
		if ! [ -d "${PORTSDIR}/${DIALOGPORT}" ]; then
24
			echo "===> Skipping 'config' as ${DIALOGPORT} is not checked out" >&2
24
			echo "===> Skipping 'config' as ${DIALOGPORT} is not checked out" >&2
25
			exit 1
25
			exit 1
(-)Mk/Scripts/do-depends.sh (-8 / +8 lines)
Lines 13-19 validate_env dp_RAWDEPENDS dp_DEPTYPE dp_DEPENDS_TARGET dp_DEPENDS_PRECLEAN \ Link Here
13
	dp_PKGNAME dp_STRICT_DEPENDS dp_LOCALBASE dp_LIB_DIRS dp_SH \
13
	dp_PKGNAME dp_STRICT_DEPENDS dp_LOCALBASE dp_LIB_DIRS dp_SH \
14
	dp_SCRIPTSDIR PORTSDIR dp_MAKE dp_MAKEFLAGS
14
	dp_SCRIPTSDIR PORTSDIR dp_MAKE dp_MAKEFLAGS
15
15
16
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_DEPENDS}" ] && set -x
16
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_DO_DEPENDS}" ] && set -x
17
17
18
set -u
18
set -u
19
19
Lines 22-28 install_depends() Link Here
22
	origin=$1
22
	origin=$1
23
	target=$2
23
	target=$2
24
	depends_args=$3
24
	depends_args=$3
25
	if [ -z "${dp_USE_PACKAGE_DEPENDS}" -a -z "${dp_USE_PACKAGE_DEPENDS_ONLY}" ]; then
25
	if [ -z "${dp_USE_PACKAGE_DEPENDS}" ] && [ -z "${dp_USE_PACKAGE_DEPENDS_ONLY}" ]; then
26
		MAKEFLAGS="${dp_MAKEFLAGS}" ${dp_MAKE} -C ${origin} -DINSTALLS_DEPENDS ${target} ${depends_args}
26
		MAKEFLAGS="${dp_MAKEFLAGS}" ${dp_MAKE} -C ${origin} -DINSTALLS_DEPENDS ${target} ${depends_args}
27
		return 0
27
		return 0
28
	fi
28
	fi
Lines 31-37 install_depends() Link Here
31
	    PKGFILE pkgfile \
31
	    PKGFILE pkgfile \
32
	    PKGBASE pkgbase
32
	    PKGBASE pkgbase
33
33
34
	if [ -r "${pkgfile}" -a "${target}" = "${dp_DEPENDS_TARGET}" ]; then
34
	if [ -r "${pkgfile}" ] && [ "${target}" = "${dp_DEPENDS_TARGET}" ]; then
35
		echo "===>   Installing existing package ${pkgfile}"
35
		echo "===>   Installing existing package ${pkgfile}"
36
		if [ "${pkgbase}" = "pkg" ]; then
36
		if [ "${pkgbase}" = "pkg" ]; then
37
			[ -d ${dp_WRKDIR} ] || mkdir -p ${dp_WRKDIR}
37
			[ -d ${dp_WRKDIR} ] || mkdir -p ${dp_WRKDIR}
Lines 41-47 install_depends() Link Here
41
		else
41
		else
42
			${dp_PKG_ADD} -A ${pkgfile}
42
			${dp_PKG_ADD} -A ${pkgfile}
43
		fi
43
		fi
44
	elif [ -n "${dp_USE_PACKAGE_DEPENDS_ONLY}" -a "${target}" = "${dp_DEPENDS_TARGET}" ]; then
44
	elif [ -n "${dp_USE_PACKAGE_DEPENDS_ONLY}" ] && [ "${target}" = "${dp_DEPENDS_TARGET}" ]; then
45
		echo "===>   ${dp_PKGNAME} depends on package: ${pkgfile} - not found" >&2
45
		echo "===>   ${dp_PKGNAME} depends on package: ${pkgfile} - not found" >&2
46
		echo "===>   USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source" >&2
46
		echo "===>   USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source" >&2
47
		exit 1
47
		exit 1
Lines 72-78 find_file() Link Here
72
72
73
find_file_path()
73
find_file_path()
74
{
74
{
75
	if which -s $1 ; then
75
	if command -v $1 >/dev/null ; then
76
		echo "===>   ${dp_PKGNAME} depends on executable: $1 - found"
76
		echo "===>   ${dp_PKGNAME} depends on executable: $1 - found"
77
		return 0
77
		return 0
78
	fi
78
	fi
Lines 82-88 find_file_path() Link Here
82
82
83
find_lib()
83
find_lib()
84
{
84
{
85
	echo -n "===>   ${dp_PKGNAME} depends on shared library: $1"
85
	printf "===>   %s depends on shared library: %s" "${dp_PKGNAME}" "$1"
86
	libfile=$(env -i PATH="${PATH}" LIB_DIRS="${dp_LIB_DIRS}" LOCALBASE="${dp_LOCALBASE}" ${dp_SH} ${dp_SCRIPTSDIR}/find-lib.sh $1)
86
	libfile=$(env -i PATH="${PATH}" LIB_DIRS="${dp_LIB_DIRS}" LOCALBASE="${dp_LOCALBASE}" ${dp_SH} ${dp_SCRIPTSDIR}/find-lib.sh $1)
87
	if [ -z "${libfile}" ]; then
87
	if [ -z "${libfile}" ]; then
88
		echo " - not found"
88
		echo " - not found"
Lines 100-106 for _line in ${dp_RAWDEPENDS} ; do Link Here
100
	IFS=:
100
	IFS=:
101
	set -- ${_line}
101
	set -- ${_line}
102
	IFS=${myifs}
102
	IFS=${myifs}
103
	if [ $# -lt 2 -o $# -gt 3 ]; then
103
	if [ $# -lt 2 ] || [ $# -gt 3 ]; then
104
		echo "Error: bad dependency syntax in ${dp_DEPTYPE}" >&2
104
		echo "Error: bad dependency syntax in ${dp_DEPTYPE}" >&2
105
		echo "expecting: pattern:origin[@flavour][:target]" >&2
105
		echo "expecting: pattern:origin[@flavour][:target]" >&2
106
		echo "got: ${_line}" >&2
106
		echo "got: ${_line}" >&2
Lines 190-196 if [ $err -eq 1 ]; then Link Here
190
	exit 1
190
	exit 1
191
fi
191
fi
192
192
193
if [ -n "${dp_STRICT_DEPENDS}" -a ${anynotfound} -eq 1 ]; then \
193
if [ -n "${dp_STRICT_DEPENDS}" ] && [ ${anynotfound} -eq 1 ]; then \
194
	echo "===>   dp_STRICT_DEPENDS set - Not installing missing dependencies."
194
	echo "===>   dp_STRICT_DEPENDS set - Not installing missing dependencies."
195
	echo "       This means a dependency is wrong since it was not satisfied in the ${dp_DEPTYPE} phase."
195
	echo "       This means a dependency is wrong since it was not satisfied in the ${dp_DEPTYPE} phase."
196
	exit 1
196
	exit 1
(-)Mk/Scripts/do-fetch.sh (-8 / +7 lines)
Lines 13-19 validate_env dp_DEVELOPER dp_DISABLE_SIZE dp_DISTDIR dp_DISTINFO_FILE \ Link Here
13
	dp_MASTER_SITE_BACKUP dp_MASTER_SITE_OVERRIDE dp_MASTER_SORT_AWK \
13
	dp_MASTER_SITE_BACKUP dp_MASTER_SITE_OVERRIDE dp_MASTER_SORT_AWK \
14
	dp_NO_CHECKSUM dp_RANDOMIZE_SITES dp_SITE_FLAVOR dp_TARGET
14
	dp_NO_CHECKSUM dp_RANDOMIZE_SITES dp_SITE_FLAVOR dp_TARGET
15
15
16
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_FETCH}" ] && set -x
16
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_DO_FETCH}" ] && set -x
17
17
18
set -u
18
set -u
19
19
Lines 48-54 for _file in "${@}"; do Link Here
48
			fi
48
			fi
49
		done
49
		done
50
	fi
50
	fi
51
	if [ -f "${file}" -a "$force_fetch" != "true" ]; then
51
	if [ -f "${file}" ] && [ "$force_fetch" != "true" ]; then
52
		continue
52
		continue
53
	fi
53
	fi
54
	full_file="${dp_DIST_SUBDIR:+${dp_DIST_SUBDIR}/}${file}"
54
	full_file="${dp_DIST_SUBDIR:+${dp_DIST_SUBDIR}/}${file}"
Lines 58-64 for _file in "${@}"; do Link Here
58
		${dp_ECHO_MSG} "=> Please correct this problem and try again."
58
		${dp_ECHO_MSG} "=> Please correct this problem and try again."
59
		exit 1
59
		exit 1
60
	fi
60
	fi
61
	if [ -f "${dp_DISTINFO_FILE}" -a -z "${dp_NO_CHECKSUM}" ]; then
61
	if [ -f "${dp_DISTINFO_FILE}" ] && [ -z "${dp_NO_CHECKSUM}" ]; then
62
		_sha256sum=$(distinfo_data SHA256 "${full_file}")
62
		_sha256sum=$(distinfo_data SHA256 "${full_file}")
63
		if [ -z "$_sha256sum" ]; then
63
		if [ -z "$_sha256sum" ]; then
64
			${dp_ECHO_MSG} "=> ${dp_DIST_SUBDIR:+$dp_DIST_SUBDIR/}$file is not in ${dp_DISTINFO_FILE}."
64
			${dp_ECHO_MSG} "=> ${dp_DIST_SUBDIR:+$dp_DIST_SUBDIR/}$file is not in ${dp_DISTINFO_FILE}."
Lines 104-114 for _file in "${@}"; do Link Here
104
		fi
104
		fi
105
	done
105
	done
106
	___MASTER_SITES_TMP=
106
	___MASTER_SITES_TMP=
107
	SORTED_MASTER_SITES_CMD_TMP="echo ${dp_MASTER_SITE_OVERRIDE} $(echo -n "${__MASTER_SITES_TMP}" | awk "${dp_MASTER_SORT_AWK}") ${dp_MASTER_SITE_BACKUP}"
107
	SORTED_MASTER_SITES_CMD_TMP="echo ${dp_MASTER_SITE_OVERRIDE} $(printf "%s" "${__MASTER_SITES_TMP}" | awk "${dp_MASTER_SORT_AWK}") ${dp_MASTER_SITE_BACKUP}"
108
	case ${dp_TARGET} in
108
	case ${dp_TARGET} in
109
		fetch-list)
109
		fetch-list)
110
			echo -n "mkdir -p ${dp_DISTDIR} && "
110
			printf "mkdir -p %s && cd %s && { " "${dp_DISTDIR}" "${dp_DISTDIR}"
111
			echo -n "cd ${dp_DISTDIR} && { "
112
			;;
111
			;;
113
	esac
112
	esac
114
	sites_remaining=0
113
	sites_remaining=0
Lines 134-140 for _file in "${@}"; do Link Here
134
				;;
133
				;;
135
		esac
134
		esac
136
		_fetch_cmd="${dp_FETCH_CMD} ${dp_FETCH_BEFORE_ARGS}"
135
		_fetch_cmd="${dp_FETCH_CMD} ${dp_FETCH_BEFORE_ARGS}"
137
		if [ -z "${dp_DISABLE_SIZE}" -a -n "${CKSIZE}" ]; then
136
		if [ -z "${dp_DISABLE_SIZE}" ] && [ -n "${CKSIZE}" ]; then
138
			_fetch_cmd="${_fetch_cmd} -S ${CKSIZE}"
137
			_fetch_cmd="${_fetch_cmd} -S ${CKSIZE}"
139
		fi
138
		fi
140
		_fetch_cmd="${_fetch_cmd} ${args} ${dp_FETCH_AFTER_ARGS}"
139
		_fetch_cmd="${_fetch_cmd} ${args} ${dp_FETCH_AFTER_ARGS}"
Lines 155-161 for _file in "${@}"; do Link Here
155
				fi
154
				fi
156
				;;
155
				;;
157
			fetch-list)
156
			fetch-list)
158
				echo -n "env $(escape "${_fetch_cmd}") || "
157
				printf "env %s || " "$(escape "${_fetch_cmd}")"
159
				;;
158
				;;
160
			fetch-url-list-int)
159
			fetch-url-list-int)
161
				echo ${args}
160
				echo ${args}
(-)Mk/Scripts/do-patch.sh (-2 / +2 lines)
Lines 13-19 validate_env dp_BZCAT dp_CAT dp_DISTDIR dp_ECHO_MSG dp_EXTRA_PATCHES \ Link Here
13
	dp_PATCH_SILENT dp_PATCH_WRKSRC dp_PKGNAME dp_PKGORIGIN \
13
	dp_PATCH_SILENT dp_PATCH_WRKSRC dp_PKGNAME dp_PKGORIGIN \
14
	dp_UNZIP_NATIVE_CMD dp_XZCAT
14
	dp_UNZIP_NATIVE_CMD dp_XZCAT
15
15
16
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_PATCH}" ] && set -x
16
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_DO_PATCH}" ] && set -x
17
17
18
set -u
18
set -u
19
19
Lines 83-89 patch_from_directory() { Link Here
83
							PATCHES_APPLIED="${PATCHES_APPLIED} ${i}"
83
							PATCHES_APPLIED="${PATCHES_APPLIED} ${i}"
84
						else
84
						else
85
							${dp_ECHO_MSG} "=> ${msg} patch ${i} failed to apply cleanly."
85
							${dp_ECHO_MSG} "=> ${msg} patch ${i} failed to apply cleanly."
86
							if [ -n "${PATCHES_APPLIED}" -a "${dp_PATCH_SILENT}" != "yes" ]; then
86
							if [ -n "${PATCHES_APPLIED}" ] && [ "${dp_PATCH_SILENT}" != "yes" ]; then
87
								${dp_ECHO_MSG} "=> Patch(es) ${PATCHES_APPLIED} applied cleanly."
87
								${dp_ECHO_MSG} "=> Patch(es) ${PATCHES_APPLIED} applied cleanly."
88
							fi
88
							fi
89
							false
89
							false
(-)Mk/Scripts/do-users-groups.sh (-14 / +14 lines)
Lines 12-23 validate_env dp_ECHO_MSG dp_GID_FILES dp_GID_OFFSET dp_GROUPS_BLACKLIST \ Link Here
12
	dp_UG_DEINSTALL dp_UG_INSTALL dp_UID_FILES dp_UID_OFFSET \
12
	dp_UG_DEINSTALL dp_UG_INSTALL dp_UID_FILES dp_UID_OFFSET \
13
	dp_USERS_BLACKLIST
13
	dp_USERS_BLACKLIST
14
14
15
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_DO_USERS_GROUPS}" ] && set -x
15
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_DO_USERS_GROUPS}" ] && set -x
16
16
17
set -u
17
set -u
18
18
19
USERS=$1
19
ALL_USERS=$1
20
GROUPS=$2
20
ALL_GROUPS=$2
21
21
22
error() {
22
error() {
23
	${dp_ECHO_MSG} "${1}"
23
	${dp_ECHO_MSG} "${1}"
Lines 46-52 fi Link Here
46
# Both scripts need to start the same, so
46
# Both scripts need to start the same, so
47
cp -f "${dp_UG_INSTALL}" "${dp_UG_DEINSTALL}"
47
cp -f "${dp_UG_INSTALL}" "${dp_UG_DEINSTALL}"
48
48
49
if [ -n "${GROUPS}" ]; then
49
if [ -n "${ALL_GROUPS}" ]; then
50
	for file in ${dp_GID_FILES}; do
50
	for file in ${dp_GID_FILES}; do
51
		if [ ! -f "${file}" ]; then
51
		if [ ! -f "${file}" ]; then
52
			error "** ${file} doesn't exist. Exiting."
52
			error "** ${file} doesn't exist. Exiting."
Lines 54-60 if [ -n "${GROUPS}" ]; then Link Here
54
	done
54
	done
55
	${dp_ECHO_MSG} "===> Creating groups."
55
	${dp_ECHO_MSG} "===> Creating groups."
56
	echo "echo \"===> Creating groups.\"" >> "${dp_UG_INSTALL}"
56
	echo "echo \"===> Creating groups.\"" >> "${dp_UG_INSTALL}"
57
	for group in ${GROUPS}; do
57
	for group in ${ALL_GROUPS}; do
58
		# _bgpd:*:130:
58
		# _bgpd:*:130:
59
		if ! grep -q "^${group}:" ${dp_GID_FILES}; then \
59
		if ! grep -q "^${group}:" ${dp_GID_FILES}; then \
60
			error "** Cannot find any information about group \`${group}' in ${dp_GID_FILES}."
60
			error "** Cannot find any information about group \`${group}' in ${dp_GID_FILES}."
Lines 87-93 if [ -n "${GROUPS}" ]; then Link Here
87
	done
87
	done
88
fi
88
fi
89
89
90
if [ -n "${USERS}" ]; then
90
if [ -n "${ALL_USERS}" ]; then
91
	for file in ${dp_UID_FILES}; do
91
	for file in ${dp_UID_FILES}; do
92
		if [ ! -f "${file}" ]; then
92
		if [ ! -f "${file}" ]; then
93
			error "** ${file} doesn't exist. Exiting."
93
			error "** ${file} doesn't exist. Exiting."
Lines 97-103 if [ -n "${USERS}" ]; then Link Here
97
	${dp_ECHO_MSG} "===> Creating users"
97
	${dp_ECHO_MSG} "===> Creating users"
98
	echo "echo \"===> Creating users\"" >> "${dp_UG_INSTALL}"
98
	echo "echo \"===> Creating users\"" >> "${dp_UG_INSTALL}"
99
99
100
	for user in ${USERS}; do
100
	for user in ${ALL_USERS}; do
101
		# _bgpd:*:130:130:BGP Daemon:/var/empty:/sbin/nologin
101
		# _bgpd:*:130:130:BGP Daemon:/var/empty:/sbin/nologin
102
		if ! grep -q "^${user}:" ${dp_UID_FILES} ; then
102
		if ! grep -q "^${user}:" ${dp_UID_FILES} ; then
103
			error "** Cannot find any information about user \`${user}' in ${dp_UID_FILES}."
103
			error "** Cannot find any information about user \`${user}' in ${dp_UID_FILES}."
Lines 148-155 if [ -n "${USERS}" ]; then Link Here
148
	done
148
	done
149
fi
149
fi
150
150
151
if [ -n "${GROUPS}" ]; then
151
if [ -n "${ALL_GROUPS}" ]; then
152
	for group in ${GROUPS}; do
152
	for group in ${ALL_GROUPS}; do
153
		# mail:*:6:postfix,clamav
153
		# mail:*:6:postfix,clamav
154
		while read -r line; do
154
		while read -r line; do
155
			# Do not change IFS for more than one command, if we
155
			# Do not change IFS for more than one command, if we
Lines 170-176 if [ -n "${GROUPS}" ]; then Link Here
170
			set -- ${members}
170
			set -- ${members}
171
			IFS=${o_IFS}
171
			IFS=${o_IFS}
172
			for login in "$@"; do
172
			for login in "$@"; do
173
				for user in ${USERS}; do
173
				for user in ${ALL_USERS}; do
174
					if [ -n "${user}" ] && [ "${user}" = "${login}" ]; then
174
					if [ -n "${user}" ] && [ "${user}" = "${login}" ]; then
175
						cat >> "${dp_UG_INSTALL}" <<-eot2
175
						cat >> "${dp_UG_INSTALL}" <<-eot2
176
						if ! \${PW} groupshow ${group} | grep -qw ${login}; then
176
						if ! \${PW} groupshow ${group} | grep -qw ${login}; then
Lines 187-194 if [ -n "${GROUPS}" ]; then Link Here
187
	done
187
	done
188
fi
188
fi
189
189
190
if [ -n "${USERS}" ]; then
190
if [ -n "${ALL_USERS}" ]; then
191
	for user in ${USERS}; do
191
	for user in ${ALL_USERS}; do
192
		if ! echo "${dp_USERS_BLACKLIST}" | grep -qw "${user}"; then
192
		if ! echo "${dp_USERS_BLACKLIST}" | grep -qw "${user}"; then
193
			cat >> "${dp_UG_DEINSTALL}" <<-eot
193
			cat >> "${dp_UG_DEINSTALL}" <<-eot
194
			if \${PW} usershow ${user} >/dev/null 2>&1; then
194
			if \${PW} usershow ${user} >/dev/null 2>&1; then
Lines 199-206 if [ -n "${USERS}" ]; then Link Here
199
	done
199
	done
200
fi
200
fi
201
201
202
if [ -n "${GROUPS}" ]; then
202
if [ -n "${ALL_GROUPS}" ]; then
203
	for group in ${GROUPS}; do
203
	for group in ${ALL_GROUPS}; do
204
		if ! echo "${dp_GROUPS_BLACKLIST}" | grep -qw "${group}"; then
204
		if ! echo "${dp_GROUPS_BLACKLIST}" | grep -qw "${group}"; then
205
			cat >> "${dp_UG_DEINSTALL}" <<-eot
205
			cat >> "${dp_UG_DEINSTALL}" <<-eot
206
			if \${PW} groupshow ${group} >/dev/null 2>&1; then
206
			if \${PW} groupshow ${group} >/dev/null 2>&1; then
(-)Mk/Scripts/find-lib.sh (-3 / +3 lines)
Lines 2-15 Link Here
2
# MAINTAINER: portmgr@FreeBSD.org
2
# MAINTAINER: portmgr@FreeBSD.org
3
# $FreeBSD$
3
# $FreeBSD$
4
4
5
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_FIND_LIB}" ] && set -x
5
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_FIND_LIB}" ] && set -x
6
6
7
if [ -z "${LIB_DIRS}" -o -z "${LOCALBASE}" ]; then
7
if [ -z "${LIB_DIRS}" ] || [ -z "${LOCALBASE}" ]; then
8
	echo "LIB_DIRS, LOCALBASE required in environment." >&2
8
	echo "LIB_DIRS, LOCALBASE required in environment." >&2
9
	exit 1
9
	exit 1
10
fi
10
fi
11
11
12
if [ -f /usr/share/misc/magic.mime -o -f /usr/share/misc/magic.mime.mgc ]; then
12
if [ -f /usr/share/misc/magic.mime ] || [ -f /usr/share/misc/magic.mime.mgc ]; then
13
	echo >&2
13
	echo >&2
14
	echo "Either /usr/share/misc/magic.mime or /usr/share/misc/magic.mime.mgc exist and must be removed." >&2
14
	echo "Either /usr/share/misc/magic.mime or /usr/share/misc/magic.mime.mgc exist and must be removed." >&2
15
	echo "These are legacy files from an older release and may safely be deleted." >&2
15
	echo "These are legacy files from an older release and may safely be deleted." >&2
(-)Mk/Scripts/functions.sh (-3 / +3 lines)
Lines 30-36 parse_plist() { Link Here
30
		# the plist so it does not show up as an orphan. PLIST_SUB uses
30
		# the plist so it does not show up as an orphan. PLIST_SUB uses
31
		# a @comment to deactive files. XXX: It would be better to
31
		# a @comment to deactive files. XXX: It would be better to
32
		# make all ports use @ignore instead of @comment.
32
		# make all ports use @ignore instead of @comment.
33
		if [ ${parse_comments} -eq 1 -a -z "${line%%@comment *}" ]; then
33
		if [ ${parse_comments} -eq 1 ] && [ -z "${line%%@comment *}" ]; then
34
			line="${line##*@comment }"
34
			line="${line##*@comment }"
35
			# Remove @comment so it can be parsed as a file,
35
			# Remove @comment so it can be parsed as a file,
36
			# but later prepend it again to create a list of
36
			# but later prepend it again to create a list of
Lines 60-66 parse_plist() { Link Here
60
		@dir*|'@unexec rmdir'*|'@unexec /bin/rmdir'*)
60
		@dir*|'@unexec rmdir'*|'@unexec /bin/rmdir'*)
61
			line="$(printf %s "$line" \
61
			line="$(printf %s "$line" \
62
			    | sed -Ee 's/\|\|.*//;s|[[:space:]]+[0-9]*[[:space:]]*>[&]?[[:space:]]*[^[:space:]]+||g' \
62
			    | sed -Ee 's/\|\|.*//;s|[[:space:]]+[0-9]*[[:space:]]*>[&]?[[:space:]]*[^[:space:]]+||g' \
63
			        -e "/^@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?/s|([^%])%D([^%])|\1${cwd}\2|g" \
63
			        -e "/^@unexec[[:space:]]+(\\/bin\\/)?rmdir( -p)?/s|([^%])%D([^%])|\\1${cwd}\\2|g" \
64
			        -e '/^@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?/s|"(.*)"[[:space:]]*|\1|g' \
64
			        -e '/^@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?/s|"(.*)"[[:space:]]*|\1|g' \
65
			        -e 's/@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?[[:space:]]+//' \
65
			        -e 's/@unexec[[:space:]]+(\/bin\/)?rmdir( -p)?[[:space:]]+//' \
66
				-e 's/@dir(rm|rmtry)?[[:space:]]+//' \
66
				-e 's/@dir(rm|rmtry)?[[:space:]]+//' \
Lines 213-219 distinfo_data() { Link Here
213
	alg=$1
213
	alg=$1
214
	file=$2
214
	file=$2
215
215
216
	if [ \( -n "${dp_DISABLE_SIZE}" -a -n "${dp_NO_CHECKSUM}" \) -o ! -f "${dp_DISTINFO_FILE}" ]; then
216
	if ( [ -n "${dp_DISABLE_SIZE}" ] && [ -n "${dp_NO_CHECKSUM}" ] ) || [ ! -f "${dp_DISTINFO_FILE}" ]; then
217
		exit
217
		exit
218
	fi
218
	fi
219
	awk -v alg="$alg" -v file="${file}" \
219
	awk -v alg="$alg" -v file="${file}" \
(-)Mk/Scripts/makesum.sh (-1 / +1 lines)
Lines 10-16 set -e Link Here
10
validate_env dp_CHECKSUM_ALGORITHMS dp_CKSUMFILES dp_DISTDIR dp_DISTINFO_FILE \
10
validate_env dp_CHECKSUM_ALGORITHMS dp_CKSUMFILES dp_DISTDIR dp_DISTINFO_FILE \
11
	dp_ECHO_MSG
11
	dp_ECHO_MSG
12
12
13
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_MAKESUM}" ] && set -x
13
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_MAKESUM}" ] && set -x
14
14
15
set -u
15
set -u
16
16
(-)Mk/Scripts/qa.sh (-87 / +89 lines)
Lines 2-16 Link Here
2
# MAINTAINER: portmgr@FreeBSD.org
2
# MAINTAINER: portmgr@FreeBSD.org
3
# $FreeBSD$
3
# $FreeBSD$
4
4
5
if [ -z "${STAGEDIR}" -o -z "${PREFIX}" -o -z "${LOCALBASE}" ]; then
5
if [ -z "${STAGEDIR}" ] || [ -z "${PREFIX}" ] || [ -z "${LOCALBASE}" ]; then
6
	echo "STAGEDIR, PREFIX, LOCALBASE required in environment." >&2
6
	echo "STAGEDIR, PREFIX, LOCALBASE required in environment." >&2
7
	exit 1
7
	exit 1
8
fi
8
fi
9
9
10
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_QA}" ] && set -x
10
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_QA}" ] && set -x
11
11
12
LF=$(printf '\nX')
12
LF=$(printf '\nX')
13
LF=${LF%X}
13
LF=${LF%X}
14
SOH=$(printf '\1')
14
15
15
notice() {
16
notice() {
16
	echo "Notice: $*" >&2
17
	echo "Notice: $*" >&2
Lines 112-118 baselibs() { Link Here
112
	local rc
113
	local rc
113
	local found_openssl
114
	local found_openssl
114
	local file
115
	local file
115
	[ "${PKGBASE}" = "pkg" -o "${PKGBASE}" = "pkg-devel" ] && return
116
	[ "${PKGBASE}" = "pkg" ] || [ "${PKGBASE}" = "pkg-devel" ] && return
116
	while read -r f; do
117
	while read -r f; do
117
		case ${f} in
118
		case ${f} in
118
		File:\ .*)
119
		File:\ .*)
Lines 133-141 baselibs() { Link Here
133
	done <<-EOF
134
	done <<-EOF
134
	$(list_stagedir_elfs -exec readelf -d {} + 2>/dev/null)
135
	$(list_stagedir_elfs -exec readelf -d {} + 2>/dev/null)
135
	EOF
136
	EOF
136
	if [ -z "${USESSSL}" -a -n "${found_openssl}" ]; then
137
	if [ -z "${USESSSL}" ] && [ -n "${found_openssl}" ]; then
137
		warn "you need USES=ssl"
138
		warn "you need USES=ssl"
138
	elif [ -n "${USESSSL}" -a -z "${found_openssl}" ]; then
139
	elif [ -n "${USESSSL}" ] && [ -z "${found_openssl}" ]; then
139
		warn "you may not need USES=ssl"
140
		warn "you may not need USES=ssl"
140
	fi
141
	fi
141
	return ${rc}
142
	return ${rc}
Lines 163-169 symlinks() { Link Here
163
					warn "Bad symlink '${l#${STAGEDIR}}' pointing to an absolute pathname '${link}'"
164
					warn "Bad symlink '${l#${STAGEDIR}}' pointing to an absolute pathname '${link}'"
164
				fi
165
				fi
165
				# Also warn if the symlink exists nowhere.
166
				# Also warn if the symlink exists nowhere.
166
				if [ ! -e "${STAGEDIR}${link}" -a ! -e "${link}" ]; then
167
				if [ ! -e "${STAGEDIR}${link}" ] && [ ! -e "${link}" ]; then
167
					warn "Symlink '${l#${STAGEDIR}}' pointing to '${link}' which does not exist in the stage directory or in localbase"
168
					warn "Symlink '${l#${STAGEDIR}}' pointing to '${link}' which does not exist in the stage directory or in localbase"
168
				fi
169
				fi
169
				;;
170
				;;
Lines 231-245 sharedmimeinfo() { Link Here
231
	local f found
232
	local f found
232
233
233
	found=0
234
	found=0
234
	for f in ${STAGEDIR}${PREFIX}/share/mime/packages/*.xml; do
235
	for f in "${STAGEDIR}${PREFIX}"/share/mime/packages/*.xml; do
235
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/*.xml" ] && break #no matches
236
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/*.xml" ] && break #no matches
236
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/freedesktop.org.xml" ] && continue
237
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/mime/packages/freedesktop.org.xml" ] && continue
237
		found=1
238
		found=1
238
		break
239
		break
239
	done
240
	done
240
	if [ -z "${USESSHAREDMIMEINFO}" -a ${found} -eq 1 ]; then
241
	if [ -z "${USESSHAREDMIMEINFO}" ] && [ ${found} -eq 1 ]; then
241
		warn "you need USES=shared-mime-info"
242
		warn "you need USES=shared-mime-info"
242
	elif [ -n "${USESSHAREDMIMEINFO}" -a ${found} -eq 0 ]; then
243
	elif [ -n "${USESSHAREDMIMEINFO}" ] && [ ${found} -eq 0 ]; then
243
		warn "you may not need USES=shared-mime-info"
244
		warn "you may not need USES=shared-mime-info"
244
	fi
245
	fi
245
	return 0
246
	return 0
Lines 272-278 libtool() { Link Here
272
273
273
libperl() {
274
libperl() {
274
	local has_some_libperl_so files found
275
	local has_some_libperl_so files found
275
	if [ -n "${SITE_ARCH_REL}" -a -d "${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}" ]; then
276
	if [ -n "${SITE_ARCH_REL}" ] && [ -d "${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}" ]; then
276
		has_some_libperl_so=0
277
		has_some_libperl_so=0
277
		files=0
278
		files=0
278
		while read -r f; do
279
		while read -r f; do
Lines 296-302 libperl() { Link Here
296
		$(find ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} -name '*.so')
297
		$(find ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} -name '*.so')
297
		EOT
298
		EOT
298
299
299
		if [ ${files} -gt 0 -a ${has_some_libperl_so} -eq 0 ]; then
300
		if [ ${files} -gt 0 ] && [ ${has_some_libperl_so} -eq 0 ]; then
300
			err "None of the ${files} .so in ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} are linked with ${LIBPERL}, see above for the full list."
301
			err "None of the ${files} .so in ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} are linked with ${LIBPERL}, see above for the full list."
301
			return 1
302
			return 1
302
		else
303
		else
Lines 306-312 libperl() { Link Here
306
}
307
}
307
308
308
prefixvar() {
309
prefixvar() {
309
	if [ ${PREFIX} != ${LINUXBASE} -a -d ${STAGEDIR}${PREFIX}/var ]; then
310
	if [ ${PREFIX} != ${LINUXBASE} ] && [ -d ${STAGEDIR}${PREFIX}/var ]; then
310
		warn "port uses ${PREFIX}/var instead of /var"
311
		warn "port uses ${PREFIX}/var instead of /var"
311
	fi
312
	fi
312
}
313
}
Lines 314-332 prefixvar() { Link Here
314
terminfo() {
315
terminfo() {
315
	local f found
316
	local f found
316
317
317
	for f in ${STAGEDIR}${PREFIX}/share/misc/*.terminfo; do
318
	for f in "${STAGEDIR}${PREFIX}"/share/misc/*.terminfo; do
318
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/*.terminfo" ] && break #no matches
319
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/*.terminfo" ] && break #no matches
319
		found=1
320
		found=1
320
		break
321
		break
321
	done
322
	done
322
	for f in ${STAGEDIR}${PREFIX}/share/misc/terminfo.db*; do
323
	for f in "${STAGEDIR}${PREFIX}"/share/misc/terminfo.db*; do
323
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/terminfo.db*" ] && break #no matches
324
		[ "${f}" = "${STAGEDIR}${PREFIX}/share/misc/terminfo.db*" ] && break #no matches
324
		found=1
325
		found=1
325
		break
326
		break
326
	done
327
	done
327
	if [ -z "${USESTERMINFO}" -a -n "${found}" ]; then
328
	if [ -z "${USESTERMINFO}" ] && [ -n "${found}" ]; then
328
		warn "you need USES=terminfo"
329
		warn "you need USES=terminfo"
329
	elif [ -n "${USESTERMINFO}" -a -z "${found}" ]; then
330
	elif [ -n "${USESTERMINFO}" ] && [ -z "${found}" ]; then
330
		warn "you may not need USES=terminfo"
331
		warn "you may not need USES=terminfo"
331
	fi
332
	fi
332
	return 0
333
	return 0
Lines 357-416 proxydeps_suggest_uses() { Link Here
357
	elif [ ${pkg} = 'databases/sqlite2' ]; then
358
	elif [ ${pkg} = 'databases/sqlite2' ]; then
358
		warn "you need USES+=sqlite:2"
359
		warn "you need USES+=sqlite:2"
359
	# Gnome -> same as port
360
	# Gnome -> same as port
360
	# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \&\& echo "\\${pkg} = \\\"\2/\3\\\" -o \\\\"|'|sort|sh
361
	# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\([^[:space:]]*\).*|[ "\1" = "\3" ] \&\& echo "[ \\${pkg} = \\\"\2/\3\\\" ] \|\| \\\\"|'|env LANG=C sort|sh
361
	elif [ ${pkg} = "accessibility/atk" -o \
362
	elif [ ${pkg} = "accessibility/atk" ] || \
362
		${pkg} = "accessibility/atkmm" -o \
363
		[ ${pkg} = "accessibility/atkmm" ] || \
363
		${pkg} = "graphics/cairo" -o \
364
		[ ${pkg} = "graphics/cairo" ] || \
364
		${pkg} = "graphics/cairomm" -o \
365
		[ ${pkg} = "graphics/cairomm" ] || \
365
		${pkg} = "devel/dconf" -o \
366
		[ ${pkg} = "devel/dconf" ] || \
366
		${pkg} = "audio/esound" -o \
367
		[ ${pkg} = "audio/esound" ] || \
367
		${pkg} = "devel/gconf2" -o \
368
		[ ${pkg} = "devel/gconf2" ] || \
368
		${pkg} = "devel/gconfmm26" -o \
369
		[ ${pkg} = "devel/gconfmm26" ] || \
369
		${pkg} = "devel/glib12" -o \
370
		[ ${pkg} = "devel/glib12" ] || \
370
		${pkg} = "devel/glib20" -o \
371
		[ ${pkg} = "devel/glib20" ] || \
371
		${pkg} = "devel/glibmm" -o \
372
		[ ${pkg} = "devel/glibmm" ] || \
372
		${pkg} = "audio/gsound" -o \
373
		[ ${pkg} = "audio/gsound" ] || \
373
		${pkg} = "x11-toolkits/gtk12" -o \
374
		[ ${pkg} = "x11-toolkits/gtk12" ] || \
374
		${pkg} = "x11-toolkits/gtk20" -o \
375
		[ ${pkg} = "x11-toolkits/gtk20" ] || \
375
		${pkg} = "x11-toolkits/gtk30" -o \
376
		[ ${pkg} = "x11-toolkits/gtk30" ] || \
376
		${pkg} = "www/gtkhtml3" -o \
377
		[ ${pkg} = "www/gtkhtml3" ] || \
377
		${pkg} = "www/gtkhtml4" -o \
378
		[ ${pkg} = "www/gtkhtml4" ] || \
378
		${pkg} = "x11-toolkits/gtkmm20" -o \
379
		[ ${pkg} = "x11-toolkits/gtkmm20" ] || \
379
		${pkg} = "x11-toolkits/gtkmm24" -o \
380
		[ ${pkg} = "x11-toolkits/gtkmm24" ] || \
380
		${pkg} = "x11-toolkits/gtkmm30" -o \
381
		[ ${pkg} = "x11-toolkits/gtkmm30" ] || \
381
		${pkg} = "x11-toolkits/gtksourceview" -o \
382
		[ ${pkg} = "x11-toolkits/gtksourceview" ] || \
382
		${pkg} = "x11-toolkits/gtksourceview2" -o \
383
		[ ${pkg} = "x11-toolkits/gtksourceview2" ] || \
383
		${pkg} = "x11-toolkits/gtksourceview3" -o \
384
		[ ${pkg} = "x11-toolkits/gtksourceview3" ] || \
384
		${pkg} = "x11-toolkits/gtksourceviewmm3" -o \
385
		[ ${pkg} = "x11-toolkits/gtksourceviewmm3" ] || \
385
		${pkg} = "devel/libbonobo" -o \
386
		[ ${pkg} = "devel/libbonobo" ] || \
386
		${pkg} = "x11-toolkits/libbonoboui" -o \
387
		[ ${pkg} = "x11-toolkits/libbonoboui" ] || \
387
		${pkg} = "databases/libgda5" -o \
388
		[ ${pkg} = "databases/libgda5" ] || \
388
		${pkg} = "databases/libgda5-ui" -o \
389
		[ ${pkg} = "databases/libgda5-ui" ] || \
389
		${pkg} = "databases/libgdamm5" -o \
390
		[ ${pkg} = "databases/libgdamm5" ] || \
390
		${pkg} = "devel/libglade2" -o \
391
		[ ${pkg} = "devel/libglade2" ] || \
391
		${pkg} = "x11/libgnome" -o \
392
		[ ${pkg} = "x11/libgnome" ] || \
392
		${pkg} = "graphics/libgnomecanvas" -o \
393
		[ ${pkg} = "graphics/libgnomecanvas" ] || \
393
		${pkg} = "x11/libgnomekbd" -o \
394
		[ ${pkg} = "x11/libgnomekbd" ] || \
394
		${pkg} = "print/libgnomeprint" -o \
395
		[ ${pkg} = "print/libgnomeprint" ] || \
395
		${pkg} = "x11-toolkits/libgnomeprintui" -o \
396
		[ ${pkg} = "x11-toolkits/libgnomeprintui" ] || \
396
		${pkg} = "x11-toolkits/libgnomeui" -o \
397
		[ ${pkg} = "x11-toolkits/libgnomeui" ] || \
397
		${pkg} = "devel/libgsf" -o \
398
		[ ${pkg} = "devel/libgsf" ] || \
398
		${pkg} = "www/libgtkhtml" -o \
399
		[ ${pkg} = "www/libgtkhtml" ] || \
399
		${pkg} = "x11-toolkits/libgtksourceviewmm" -o \
400
		[ ${pkg} = "x11-toolkits/libgtksourceviewmm" ] || \
400
		${pkg} = "graphics/librsvg2" -o \
401
		[ ${pkg} = "graphics/librsvg2" ] || \
401
		${pkg} = "devel/libsigc++12" -o \
402
		[ ${pkg} = "devel/libsigc++12" ] || \
402
		${pkg} = "devel/libsigc++20" -o \
403
		[ ${pkg} = "devel/libsigc++20" ] || \
403
		${pkg} = "x11-toolkits/libwnck" -o \
404
		[ ${pkg} = "x11-toolkits/libwnck" ] || \
404
		${pkg} = "x11-toolkits/libwnck3" -o \
405
		[ ${pkg} = "x11-toolkits/libwnck3" ] || \
405
		${pkg} = "textproc/libxml++26" -o \
406
		[ ${pkg} = "textproc/libxml++26" ] || \
406
		${pkg} = "textproc/libxml2" -o \
407
		[ ${pkg} = "textproc/libxml2" ] || \
407
		${pkg} = "textproc/libxslt" -o \
408
		[ ${pkg} = "textproc/libxslt" ] || \
408
		${pkg} = "x11-wm/metacity" -o \
409
		[ ${pkg} = "x11-wm/metacity" ] || \
409
		${pkg} = "x11-toolkits/pango" -o \
410
		[ ${pkg} = "x11-toolkits/pango" ] || \
410
		${pkg} = "x11-toolkits/pangomm" -o \
411
		[ ${pkg} = "x11-toolkits/pangomm" ] || \
411
		${pkg} = "x11-toolkits/pangox-compat" -o \
412
		[ ${pkg} = "x11-toolkits/pangox-compat" ] || \
412
		${pkg} = "x11-toolkits/vte" -o \
413
		[ ${pkg} = "x11-toolkits/vte" ] || \
413
		${pkg} = "x11-toolkits/vte3" ]; then
414
		[ ${pkg} = "x11-toolkits/vte3" ]; then
414
		warn "you need USE_GNOME+=${pkg#*/}"
415
		warn "you need USE_GNOME+=${pkg#*/}"
415
	# Gnome different as port
416
	# Gnome different as port
416
	# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \|\| echo "elif [ \\${pkg} = \\\"\2/\3\\\" ]; then; warn \\\"you need USE_GNOME+=\1\\\""|'|sort|sh
417
	# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \|\| echo "elif [ \\${pkg} = \\\"\2/\3\\\" ]; then; warn \\\"you need USE_GNOME+=\1\\\""|'|sort|sh
Lines 550-556 proxydeps_suggest_uses() { Link Here
550
	elif expr ${pkg} : "^databases/db[456]" > /dev/null; then
551
	elif expr ${pkg} : "^databases/db[456]" > /dev/null; then
551
		warn "you need USES+=bdb"
552
		warn "you need USES+=bdb"
552
	# fam/gamin
553
	# fam/gamin
553
	elif [ ${pkg} = "devel/fam" -o ${pkg} = "devel/gamin" ]; then
554
	elif [ ${pkg} = "devel/fam" ] || [ ${pkg} = "devel/gamin" ]; then
554
		warn "you need USES+=fam"
555
		warn "you need USES+=fam"
555
	# firebird
556
	# firebird
556
	elif [ ${pkg} = "databases/firebird25-client" ]; then
557
	elif [ ${pkg} = "databases/firebird25-client" ]; then
Lines 567-573 proxydeps_suggest_uses() { Link Here
567
	elif [ ${pkg} = "converters/libiconv" ]; then
568
	elif [ ${pkg} = "converters/libiconv" ]; then
568
		warn "you need USES+=iconv, USES+=iconv:wchar_t, or USES+=iconv:translit depending on needs"
569
		warn "you need USES+=iconv, USES+=iconv:wchar_t, or USES+=iconv:translit depending on needs"
569
	# jpeg
570
	# jpeg
570
	elif [ ${pkg} = "graphics/jpeg" -o ${pkg} = "graphics/jpeg-turbo" ]; then
571
	elif [ ${pkg} = "graphics/jpeg" ] || [ ${pkg} = "graphics/jpeg-turbo" ]; then
571
		warn "you need USES+=jpeg"
572
		warn "you need USES+=jpeg"
572
	# libarchive
573
	# libarchive
573
	elif [ ${pkg} = "archivers/libarchive" ]; then
574
	elif [ ${pkg} = "archivers/libarchive" ]; then
Lines 578-584 proxydeps_suggest_uses() { Link Here
578
	elif expr ${pkg} : "^lang/lua" > /dev/null; then
579
	elif expr ${pkg} : "^lang/lua" > /dev/null; then
579
		warn "you need USES+=lua"
580
		warn "you need USES+=lua"
580
	# motif
581
	# motif
581
	elif [ ${pkg} = "x11-toolkits/lesstif" -o ${pkg} = "x11-toolkits/open-motif" ]; then
582
	elif [ ${pkg} = "x11-toolkits/lesstif" ] || [ ${pkg} = "x11-toolkits/open-motif" ]; then
582
		warn "you need USES+=motif"
583
		warn "you need USES+=motif"
583
	# ncurses
584
	# ncurses
584
	elif [ ${pkg} = "devel/ncurses" ]; then
585
	elif [ ${pkg} = "devel/ncurses" ]; then
Lines 587-593 proxydeps_suggest_uses() { Link Here
587
	elif [ ${pkg} = "lang/libobjc2" ]; then
588
	elif [ ${pkg} = "lang/libobjc2" ]; then
588
		warn "you need USES+=objc"
589
		warn "you need USES+=objc"
589
	# openal
590
	# openal
590
	elif [ ${pkg} = "audio/openal" -o ${pkg} = "audio/openal-soft" -o ${pkg} = "audio/freealut" ]; then
591
	elif [ ${pkg} = "audio/openal" ] || [ ${pkg} = "audio/openal-soft" ] || [ ${pkg} = "audio/freealut" ]; then
591
		warn "you need USES+=openal"
592
		warn "you need USES+=openal"
592
	# pure
593
	# pure
593
	elif [ ${pkg} = "lang/pure" ]; then
594
	elif [ ${pkg} = "lang/pure" ]; then
Lines 596-604 proxydeps_suggest_uses() { Link Here
596
	elif [ ${pkg} = "devel/readline" ]; then
597
	elif [ ${pkg} = "devel/readline" ]; then
597
		warn "you need USES+=readline"
598
		warn "you need USES+=readline"
598
	# ssl
599
	# ssl
599
	elif [ ${pkg} = "security/openssl" -o ${pkg} = "security/openssl111" \
600
	elif [ ${pkg} = "security/openssl" ] || [ ${pkg} = "security/openssl111" ] || \
600
	  -o ${pkg} = "security/libressl" -o ${pkg} = "security/libressl-devel" \
601
	  [ ${pkg} = "security/libressl" ] || [ ${pkg} = "security/libressl-devel" ]; then
601
	  ]; then
602
		warn "you need USES=ssl"
602
		warn "you need USES=ssl"
603
	# Tcl
603
	# Tcl
604
	elif expr ${pkg} : "^lang/tcl" > /dev/null; then
604
	elif expr ${pkg} : "^lang/tcl" > /dev/null; then
Lines 678-686 proxydeps() { Link Here
678
		EOT
678
		EOT
679
	done <<-EOT
679
	done <<-EOT
680
	$(list_stagedir_elfs | \
680
	$(list_stagedir_elfs | \
681
		file -F $'\1' -f - | \
681
		file -F "${SOH}" -f - | \
682
		grep -a 'ELF.*FreeBSD.*dynamically linked' | \
682
		grep -a 'ELF.*FreeBSD.*dynamically linked' | \
683
		cut -f 1 -d $'\1'| \
683
		cut -f 1 -d "${SOH}"| \
684
		sed -e 's/^\.//')
684
		sed -e 's/^\.//')
685
	EOT
685
	EOT
686
686
Lines 690-701 proxydeps() { Link Here
690
}
690
}
691
691
692
sonames() {
692
sonames() {
693
	[ ! -d ${STAGEDIR}${PREFIX}/lib -o -n "${BUNDLE_LIBS}" ] && return 0
693
	[ ! -d ${STAGEDIR}${PREFIX}/lib ] || [ -n "${BUNDLE_LIBS}" ] && return 0
694
	while read -r f; do
694
	while read -r f; do
695
		# No results presents a blank line from heredoc.
695
		# No results presents a blank line from heredoc.
696
		[ -z "${f}" ] && continue
696
		[ -z "${f}" ] && continue
697
		# Ignore symlinks
697
		# Ignore symlinks
698
		[ -f "${f}" -a ! -L "${f}" ] || continue
698
		if [ -f "${f}" ] && [ ! -L "${f}" ]; then
699
			continue
700
		fi
699
		if ! readelf -d ${f} | grep -q SONAME; then
701
		if ! readelf -d ${f} | grep -q SONAME; then
700
			warn "${f} doesn't have a SONAME."
702
			warn "${f} doesn't have a SONAME."
701
			warn "pkg(8) will not register it as being provided by the port."
703
			warn "pkg(8) will not register it as being provided by the port."
Lines 733-743 perlcore() { Link Here
733
	local portname version module gotsome
735
	local portname version module gotsome
734
	[ -x "${LOCALBASE}/bin/corelist" ] || return 0
736
	[ -x "${LOCALBASE}/bin/corelist" ] || return 0
735
	for dep in ${UNIFIED_DEPENDS}; do
737
	for dep in ${UNIFIED_DEPENDS}; do
736
		portname=$(expr "${dep}" : ".*/p5-\(.*\)")
738
		portname=$(expr "${dep}" : ".*/p5-\\(.*\\)")
737
		if [ -n "${portname}" ]; then
739
		if [ -n "${portname}" ]; then
738
			gotsome=1
740
			gotsome=1
739
			module=$(perlcore_port_module_mapping "${portname}")
741
			module=$(perlcore_port_module_mapping "${portname}")
740
			version=$(expr "${dep}" : ".*>=*\([^:<]*\)")
742
			version=$(expr "${dep}" : ".*>=*\\([^:<]*\\)")
741
743
742
			while read -r l; do
744
			while read -r l; do
743
				case "${l}" in
745
				case "${l}" in
Lines 791-799 no_arch() { Link Here
791
		rc=1
793
		rc=1
792
	done <<-EOF
794
	done <<-EOF
793
	$(list_stagedir_elfs  \
795
	$(list_stagedir_elfs  \
794
		| file -F $'\1' -f - -N \
796
		| file -F "${SOH}" -f - -N \
795
		| grep -aE 'ELF .* [LM]SB .*, .*, version [0-9]+ \(FreeBSD\)' \
797
		| grep -aE 'ELF .* [LM]SB .*, .*, version [0-9]+ \(FreeBSD\)' \
796
		| cut -f 1 -d $'\1')
798
		| cut -f 1 -d "${SOH}")
797
	EOF
799
	EOF
798
	return $rc
800
	return $rc
799
}
801
}
Lines 817-823 gemdeps() Link Here
817
						rc=1
819
						rc=1
818
					fi <<-EOF
820
					fi <<-EOF
819
					$(${LOCALBASE}/bin/gem list -e "${name}" \
821
					$(${LOCALBASE}/bin/gem list -e "${name}" \
820
						| sed "s|.*(\(.*\))|\1|" \
822
						| sed "s|.*(\\(.*\\))|\\1|" \
821
						| tr -d ' ' \
823
						| tr -d ' ' \
822
						| tr , '\n')
824
						| tr , '\n')
823
					EOF
825
					EOF
Lines 855-861 gemfiledeps() Link Here
855
	fi
857
	fi
856
	
858
	
857
	# advise install of bundler if its not present for check
859
	# advise install of bundler if its not present for check
858
	if ! type bundle > /dev/null 2>&1; then
860
	if ! command -v bundle > /dev/null 2>&1; then
859
		notice "Please install sysutils/rubygem-bundler for additional Gemfile-checks"
861
		notice "Please install sysutils/rubygem-bundler for additional Gemfile-checks"
860
		return 0
862
		return 0
861
	fi
863
	fi
(-)Mk/Scripts/smart_makepatch.sh (-4 / +4 lines)
Lines 25-33 Link Here
25
# if those targets modify source files (e.g. with sed).  You may also
25
# if those targets modify source files (e.g. with sed).  You may also
26
# want to disable EXTRA_PATCHES as well if that is being used.
26
# want to disable EXTRA_PATCHES as well if that is being used.
27
27
28
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_SMART_MAKEPATCH}" ] && set -x
28
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_SMART_MAKEPATCH}" ] && set -x
29
29
30
if [ -z "${PATCHDIR}" -o -z "${PATCH_WRKSRC}" -o -z "${WRKDIR}" ]; then
30
if [ -z "${PATCHDIR}" ] || [ -z "${PATCH_WRKSRC}" ] || [ -z "${WRKDIR}" ]; then
31
	echo "WRKDIR, PATCHDIR, and PATCH_WRKSRC required in environment." >&2
31
	echo "WRKDIR, PATCHDIR, and PATCH_WRKSRC required in environment." >&2
32
	exit 1
32
	exit 1
33
fi
33
fi
Lines 245-253 compare_common_patches() { Link Here
245
			cpatch=${DESTDIR}/${P}
245
			cpatch=${DESTDIR}/${P}
246
			ppatch_stripped=$(mktemp -t portpatch)
246
			ppatch_stripped=$(mktemp -t portpatch)
247
			cpatch_stripped=$(mktemp -t portpatch)
247
			cpatch_stripped=$(mktemp -t portpatch)
248
			egrep -v -- '--- .+ UTC$' ${ppatch} \
248
			grep -E -v -- '--- .+ UTC$' ${ppatch} \
249
				> ${ppatch_stripped}
249
				> ${ppatch_stripped}
250
			egrep -v -- '--- .+ UTC$' ${cpatch} \
250
			grep -E -v -- '--- .+ UTC$' ${cpatch} \
251
				> ${cpatch_stripped}
251
				> ${cpatch_stripped}
252
			# Don't replace patches with only metadata changes
252
			# Don't replace patches with only metadata changes
253
			if ! cmp -s ${ppatch_stripped} ${cpatch_stripped}; then
253
			if ! cmp -s ${ppatch_stripped} ${cpatch_stripped}; then

Return to bug 227109