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

Collapse All | Expand All

(-)b/Mk/Scripts/depends-list.sh (+6 lines)
Lines 69-74 check_dep() { Link Here
69
			d=${overlay}/${2}
69
			d=${overlay}/${2}
70
			f=
70
			f=
71
			case "${d}" in
71
			case "${d}" in
72
			*~*/*) ;; # Ignore ~ in the path which would not be a subpkg
73
			*~*)
74
			    d=${d%~*}
75
				;;
76
			esac
77
			case "${d}" in
72
			*@*/*) ;; # Ignore @ in the path which would not be a flavor
78
			*@*/*) ;; # Ignore @ in the path which would not be a flavor
73
			*@*)
79
			*@*)
74
				f=${d##*@}
80
				f=${d##*@}
(-)b/Mk/Scripts/do-depends.sh (-5 / +18 lines)
Lines 21-35 install_depends() Link Here
21
{
21
{
22
	origin=$1
22
	origin=$1
23
	target=$2
23
	target=$2
24
	depends_args=$3
24
	subpkg=$3
25
	depends_args=$4
25
	if [ -z "${dp_USE_PACKAGE_DEPENDS}" -a -z "${dp_USE_PACKAGE_DEPENDS_ONLY}" ]; then
26
	if [ -z "${dp_USE_PACKAGE_DEPENDS}" -a -z "${dp_USE_PACKAGE_DEPENDS_ONLY}" ]; then
26
		MAKEFLAGS="${dp_MAKEFLAGS}" ${dp_MAKE} -C ${origin} -DINSTALLS_DEPENDS ${target} ${depends_args}
27
		MAKEFLAGS="${dp_MAKEFLAGS}" ${dp_MAKE} -C ${origin} -DINSTALLS_DEPENDS ${target} ${depends_args}
27
		return 0
28
		return 0
28
	fi
29
	fi
29
30
30
	port_var_fetch "${origin}" "${depends_args}" \
31
	if [ -z "${subpkg}" ]; then
31
	    PKGFILE pkgfile \
32
		port_var_fetch "${origin}" "${depends_args}" \
32
	    PKGBASE pkgbase
33
			PKGFILE pkgfile \
34
			PKGBASE pkgbase
35
	else
36
		port_var_fetch "${origin}" "${depends_args}" \
37
			PKGFILE.${subpkg} pkgfile \
38
			PKGBASE.${subpkg} pkgbase
39
	fi
33
40
34
	if [ -r "${pkgfile}" -a "${target}" = "${dp_DEPENDS_TARGET}" ]; then
41
	if [ -r "${pkgfile}" -a "${target}" = "${dp_DEPENDS_TARGET}" ]; then
35
		echo "===>   Installing existing package ${pkgfile}"
42
		echo "===>   Installing existing package ${pkgfile}"
Lines 123-134 for _line in ${dp_RAWDEPENDS} ; do Link Here
123
		continue
130
		continue
124
	fi
131
	fi
125
132
133
	subpkg=
126
	case "${origin}" in
134
	case "${origin}" in
127
	*@*/*) ;; # Ignore @ in the path which would not be a flavor
135
	*@*/*) ;; # Ignore @ in the path which would not be a flavor
128
	*@*)
136
	*@*)
129
		export FLAVOR="${origin##*@}"
137
		export FLAVOR="${origin##*@}"
130
		origin=${origin%@*}
138
		origin=${origin%@*}
131
		;;
139
		;;
140
	*~*/*) ;; # Ignore ~ in the path which would not be a subpackage
141
	*~*)
142
		subpkg="${origin##*~}"
143
		origin=${origin%~*}
144
		;;
132
	esac
145
	esac
133
146
134
	case "${origin}" in
147
	case "${origin}" in
Lines 194-200 for _line in ${dp_RAWDEPENDS} ; do Link Here
194
	fi
207
	fi
195
208
196
	# Now actually install the dependencies
209
	# Now actually install the dependencies
197
	install_depends "${origin}" "${target}" "${depends_args}"
210
	install_depends "${origin}" "${target}" "${subpkg}" "${depends_args}"
198
	# Recheck if the installed dependency validates the pattern except for /nonexistent
211
	# Recheck if the installed dependency validates the pattern except for /nonexistent
199
	[ "${fct}" = "false" ] || ${fct} "${pattern}"
212
	[ "${fct}" = "false" ] || ${fct} "${pattern}"
200
	echo "===>   Returning to build of ${dp_PKGNAME}"
213
	echo "===>   Returning to build of ${dp_PKGNAME}"
(-)b/Mk/Scripts/functions.sh (-1 / +2 lines)
Lines 6-12 Link Here
6
# Strip (owner,group,perm) from keywords
6
# Strip (owner,group,perm) from keywords
7
_strip_perms() {
7
_strip_perms() {
8
	sed -Ee 's/^@\([^)]*\)[[:space:]]+//' \
8
	sed -Ee 's/^@\([^)]*\)[[:space:]]+//' \
9
	    -e 's/^(@[[:alpha:]]+)\([^)]*\)[[:space:]]+/\1 /'
9
	    -e 's/^(@[[:alpha:]]+)\([^)]*\)[[:space:]]+/\1 /' \
10
		-e 's/^@@[[:alnum:]]+@@//'
10
}
11
}
11
12
12
# Expand TMPPLIST to absolute paths, splitting files and dirs into separate
13
# Expand TMPPLIST to absolute paths, splitting files and dirs into separate
(-)b/Mk/bsd.licenses.mk (-25 / +44 lines)
Lines 152-162 _LICENSE_LIST_PORT_VARS= PERMS NAME GROUPS Link Here
152
# 					  bsd.port.mk to avoid creating LICENSE_{REQ,SEQ} for a
152
# 					  bsd.port.mk to avoid creating LICENSE_{REQ,SEQ} for a
153
# 					  few more targets only.
153
# 					  few more targets only.
154
154
155
_LICENSE_DIR?=		${PREFIX}/share/licenses/${PKGNAME}
155
.    for sp in ${_PKGS}
156
_LICENSE_DIR.${sp}?=		${PREFIX}/share/licenses/${PKGNAME${_SP.${sp}}}
157
_LICENSE_CATALOG.${sp}?=	${_LICENSE_DIR.${sp}}/catalog.mk
158
_LICENSE_REPORT.${sp}?=	${_LICENSE_DIR.${sp}}/LICENSE
159
.    endfor
156
_LICENSE_STORE?=	${PORTSDIR}/Templates/Licenses
160
_LICENSE_STORE?=	${PORTSDIR}/Templates/Licenses
157
_LICENSE_CATALOG?=	${_LICENSE_DIR}/catalog.mk
158
_LICENSE_CATALOG_TMP?=	${WRKDIR}/.license-catalog.mk
161
_LICENSE_CATALOG_TMP?=	${WRKDIR}/.license-catalog.mk
159
_LICENSE_REPORT?=	${_LICENSE_DIR}/LICENSE
160
_LICENSE_REPORT_TMP?=	${WRKDIR}/.license-report
162
_LICENSE_REPORT_TMP?=	${WRKDIR}/.license-report
161
_LICENSE_COOKIE?=	${WRKDIR}/.license_done.${PORTNAME}.${PREFIX:S/\//_/g}
163
_LICENSE_COOKIE?=	${WRKDIR}/.license_done.${PORTNAME}.${PREFIX:S/\//_/g}
162
164
Lines 771-800 ${_LICENSE_COOKIE}: Link Here
771
# Package list entries, and installation
773
# Package list entries, and installation
772
774
773
.    if !defined(NO_LICENSES_INSTALL)
775
.    if !defined(NO_LICENSES_INSTALL)
774
PLIST_FILES+=	${_LICENSE_CATALOG} \
776
.      for sp in ${_PKGS}
775
				${_LICENSE_REPORT}
777
.        if ${sp} == ${PKGBASE}
776
778
PLIST_FILES+=	${_LICENSE_CATALOG.${sp}} \
777
.      if ${_LICENSE_COMB} == "single"
779
				${_LICENSE_REPORT.${sp}}
778
PLIST_FILES+=	${_LICENSE_DIR}/${_LICENSE}
780
.          if ${_LICENSE_COMB} == "single"
779
.      else
781
PLIST_FILES+=	${_LICENSE_DIR.${sp}}/${_LICENSE}
780
.        for lic in ${_LICENSE}
782
.          else
781
.          if defined(_LICENSE_FILE_${lic})
783
.            for lic in ${_LICENSE}
782
PLIST_FILES+=	${_LICENSE_DIR}/${lic}
784
.              if defined(_LICENSE_FILE_${lic})
785
PLIST_FILES+=	${_LICENSE_DIR.${sp}}/${lic}
786
.              endif
787
.            endfor
783
.          endif
788
.          endif
784
.        endfor
789
.        else
785
.      endif
790
PLIST_FILES${_SP.${sp}}+=	${_LICENSE_CATALOG.${sp}} \
791
				${_LICENSE_REPORT.${sp}}
792
.          if ${_LICENSE_COMB} == "single"
793
PLIST_FILES${_SP.${sp}}+=	${_LICENSE_DIR.${sp}}/${_LICENSE}
794
.          else
795
.            for lic in ${_LICENSE}
796
.              if defined(_LICENSE_FILE_${lic})
797
PLIST_FILES${_SP.${sp}}+=	${_LICENSE_DIR.${sp}}/${lic}
798
.              endif
799
.            endfor
800
.          endif
801
.        endif
786
802
787
install-license:
803
788
	@${MKDIR} ${STAGEDIR}${_LICENSE_DIR}
804
install-license: install-license.${sp}
789
	@${INSTALL_DATA} ${_LICENSE_CATALOG_TMP} ${STAGEDIR}${_LICENSE_CATALOG}
805
install-license.${sp}:
790
	@${INSTALL_DATA} ${_LICENSE_REPORT_TMP} ${STAGEDIR}${_LICENSE_REPORT}
806
	@${MKDIR} ${STAGEDIR}${_LICENSE_DIR.${sp}}
791
.      if ${_LICENSE_COMB} == "single"
807
	@${INSTALL_DATA} ${_LICENSE_CATALOG_TMP} ${STAGEDIR}${_LICENSE_CATALOG.${sp}}
792
	@${INSTALL_DATA} ${_LICENSE_FILE} ${STAGEDIR}${_LICENSE_DIR}/${_LICENSE}
808
	@${INSTALL_DATA} ${_LICENSE_REPORT_TMP} ${STAGEDIR}${_LICENSE_REPORT.${sp}}
793
.      else
809
.        if ${_LICENSE_COMB} == "single"
794
.        for lic in ${_LICENSE}
810
	@${INSTALL_DATA} ${_LICENSE_FILE} ${STAGEDIR}${_LICENSE_DIR.${sp}}/${_LICENSE}
795
	@${INSTALL_DATA} ${_LICENSE_FILE_${lic}} ${STAGEDIR}${_LICENSE_DIR}/${lic}
811
.        else
796
.        endfor
812
.          for lic in ${_LICENSE}
797
.      endif
813
	@${INSTALL_DATA} ${_LICENSE_FILE_${lic}} ${STAGEDIR}${_LICENSE_DIR.${sp}}/${lic}
814
.          endfor
815
.        endif
816
.      endfor
798
.    endif
817
.    endif
799
818
800
.  else	# !LICENSE
819
.  else	# !LICENSE
(-)b/Mk/bsd.options.mk (-2 / +25 lines)
Lines 197-204 _ALL_OPTIONS_HELPERS= ${_OPTIONS_DEPENDS:S/$/_DEPENDS/} \ Link Here
197
			CONFIGURE_ENABLE CONFIGURE_OFF CONFIGURE_ON \
197
			CONFIGURE_ENABLE CONFIGURE_OFF CONFIGURE_ON \
198
			CONFIGURE_WITH IMPLIES MESON_ARGS MESON_DISABLED \
198
			CONFIGURE_WITH IMPLIES MESON_ARGS MESON_DISABLED \
199
			MESON_ENABLED MESON_FALSE MESON_OFF MESON_ON MESON_TRUE \
199
			MESON_ENABLED MESON_FALSE MESON_OFF MESON_ON MESON_TRUE \
200
			PREVENTS PREVENTS_MSG QMAKE_OFF QMAKE_ON USE USE_OFF \
200
			PREVENTS PREVENTS_MSG QMAKE_OFF QMAKE_ON \
201
			VARS VARS_OFF
201
			SUBPACKAGES SUBPACKAGES_OFF USE USE_OFF VARS VARS_OFF
202
202
203
# The format here is target_family:priority:target-type
203
# The format here is target_family:priority:target-type
204
_OPTIONS_TARGETS=	fetch:300:pre fetch:500:do fetch:700:post \
204
_OPTIONS_TARGETS=	fetch:300:pre fetch:500:do fetch:700:post \
Lines 455-460 ALL_OPTIONS= ${OPTIONS_DEFINE} Link Here
455
_OPTIONS_${target}?=
455
_OPTIONS_${target}?=
456
.  endfor
456
.  endfor
457
457
458
# Handle subpackages before the rest to be able to handle options helpers
459
# with subpackages
460
.  for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
461
.    if ${PORT_OPTIONS:M${opt}}
462
.      if defined(${opt}_SUBPACKAGES)
463
SUBPACKAGES+=	${${opt}_SUBPACKAGES}
464
.      endif
465
.    else
466
.      if defined(${opt}_SUBPACKAGES_OFF)
467
SUBPACKAGES+=	${${opt}_SUBPACKAGES_OFF}
468
.      endif
469
.    endif
470
.  endfor
458
.  for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
471
.  for opt in ${_REALLY_ALL_POSSIBLE_OPTIONS}
459
# PLIST_SUB
472
# PLIST_SUB
460
PLIST_SUB?=
473
PLIST_SUB?=
Lines 540-545 ${flags}+= ${${opt}_${flags}} Link Here
540
.        if defined(${opt}_${deptype}_DEPENDS)
553
.        if defined(${opt}_${deptype}_DEPENDS)
541
${deptype}_DEPENDS+=	${${opt}_${deptype}_DEPENDS}
554
${deptype}_DEPENDS+=	${${opt}_${deptype}_DEPENDS}
542
.        endif
555
.        endif
556
.        for p in ${SUBPACKAGES}
557
.          if defined(${opt}_${deptype}_DEPENDS.${p})
558
${deptype}_DEPENDS.{p}+=	${${opt}_${deptype}_DEPENDS.${p}}
559
.          endif
560
.        endfor
543
.      endfor
561
.      endfor
544
.      for target in ${_OPTIONS_TARGETS}
562
.      for target in ${_OPTIONS_TARGETS}
545
_target=	${target:C/:.*//}
563
_target=	${target:C/:.*//}
Lines 611-616 ${flags}+= ${${opt}_${flags}_OFF} Link Here
611
.        if defined(${opt}_${deptype}_DEPENDS_OFF)
629
.        if defined(${opt}_${deptype}_DEPENDS_OFF)
612
${deptype}_DEPENDS+=	${${opt}_${deptype}_DEPENDS_OFF}
630
${deptype}_DEPENDS+=	${${opt}_${deptype}_DEPENDS_OFF}
613
.        endif
631
.        endif
632
.        for p in ${SUBPACKAGES}
633
.          if defined(${opt}_${deptype}_DEPENDS_OFF.${p})
634
${deptype}_DEPENDS.{p}+=	${${opt}_${deptype}_DEPENDS_OFF.${p}}
635
.          endif
636
.        endfor
614
.      endfor
637
.      endfor
615
.      for target in ${_OPTIONS_TARGETS}
638
.      for target in ${_OPTIONS_TARGETS}
616
_target=	${target:C/:.*//}
639
_target=	${target:C/:.*//}
(-)b/Mk/bsd.port.mk (-85 / +211 lines)
Lines 2196-2201 PKGMESSAGE?= ${PKGDIR}/pkg-message Link Here
2196
_PKGMESSAGES+=	${PKGMESSAGE}
2196
_PKGMESSAGES+=	${PKGMESSAGE}
2197
2197
2198
TMPPLIST?=	${WRKDIR}/.PLIST.mktmp
2198
TMPPLIST?=	${WRKDIR}/.PLIST.mktmp
2199
_PLIST?=	${WRKDIR}/.PLIST
2199
2200
2200
# backward compatibility for users
2201
# backward compatibility for users
2201
.    if defined(_PKG_TRANSITIONING_TO_NEW_EXT)
2202
.    if defined(_PKG_TRANSITIONING_TO_NEW_EXT)
Lines 2229-2239 ALL_TARGET?= all Link Here
2229
INSTALL_TARGET?=	install
2230
INSTALL_TARGET?=	install
2230
INSTALL_TARGET+=	${LATE_INSTALL_ARGS}
2231
INSTALL_TARGET+=	${LATE_INSTALL_ARGS}
2231
2232
2232
# Integrate with the license auditing framework
2233
.    if !defined (DISABLE_LICENSES)
2234
.include "${PORTSDIR}/Mk/bsd.licenses.mk"
2235
.    endif
2236
2237
# Popular master sites
2233
# Popular master sites
2238
.include "${PORTSDIR}/Mk/bsd.sites.mk"
2234
.include "${PORTSDIR}/Mk/bsd.sites.mk"
2239
2235
Lines 2607-2620 check-categories: Link Here
2607
2603
2608
PKGREPOSITORYSUBDIR?=	All
2604
PKGREPOSITORYSUBDIR?=	All
2609
PKGREPOSITORY?=		${PACKAGES}/${PKGREPOSITORYSUBDIR}
2605
PKGREPOSITORY?=		${PACKAGES}/${PKGREPOSITORYSUBDIR}
2610
.    if exists(${PACKAGES})
2611
PACKAGES:=	${PACKAGES:S/:/\:/g}
2612
_HAVE_PACKAGES=	yes
2613
PKGFILE?=		${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX}
2614
.    else
2615
PKGFILE?=		${.CURDIR}/${PKGNAME}${PKG_SUFX}
2616
.    endif
2617
WRKDIR_PKGFILE=	${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}
2618
2606
2619
# The "latest version" link -- ${PKGNAME} minus everthing after the last '-'
2607
# The "latest version" link -- ${PKGNAME} minus everthing after the last '-'
2620
PKGLATESTREPOSITORY?=	${PACKAGES}/Latest
2608
PKGLATESTREPOSITORY?=	${PACKAGES}/Latest
Lines 2627-2632 PKGOLDLATESTFILE= ${PKGLATESTREPOSITORY}/${PKGBASE}.${PKG_COMPRESSION_FORMAT} Link Here
2627
PKGOLDSIGFILE=			${PKGLATESTREPOSITORY}/${PKGBASE}.${PKG_COMPRESSION_FORMAT}.sig
2615
PKGOLDSIGFILE=			${PKGLATESTREPOSITORY}/${PKGBASE}.${PKG_COMPRESSION_FORMAT}.sig
2628
.    endif
2616
.    endif
2629
2617
2618
2619
_PKGS=	${PKGBASE}
2620
PORTS_FEATURES+=	SUBPACKAGES
2621
.    if defined(SUBPACKAGES)
2622
.      if ${SUBPACKAGES:Mmain}
2623
DEV_ERROR+=	"SUBPACKAGES cannot contain 'main', it is a reserved value"
2624
.      endif
2625
.      for sp in ${SUBPACKAGES}
2626
.        if ${sp:C/[[:lower:][:digit:]_]//g}
2627
_BAD_SUBPACKAGES_NAMES+=	${sp}
2628
.        endif
2629
.      endfor
2630
.      if !empty(_BAD_SUBPACKAGES_NAMES)
2631
DEV_ERROR+=	"SUBPACKAGES cannot subpackages that are not all [a-z0-9_]: ${_BAD_SUBPACKAGES_NAMES}"
2632
.      endif
2633
.    endif
2634
.    for sp in ${SUBPACKAGES}
2635
# If a FRAMEWORK generated package needs to override its subpackage package name
2636
# it can do it with this mechanism
2637
.      if !defined(_PKGS.${sp})
2638
_PKGS.${sp}=	${PKGBASE}-${sp}
2639
.      endif
2640
_PKGS+=	${_PKGS.${sp}}
2641
PKGBASE.${sp}=	${_PKGS.${sp}}
2642
_SP.${_PKGS.${sp}}=.${sp}
2643
.    endfor
2644
2645
.    if !defined(_DID_SUBPACKAGES_HELPERS)
2646
_DID_SUBPACKAGES_HELPERS=	yes
2647
_SUBPACKAGE_HELPERS_FILE=	DESCR PKGINSTALL PKGDEINSTALL PKGMESSAGE \
2648
							PKGPREINSTALL PKGPOSTINSTALL PKGPREDEINSTALL PKGPOSTDEINSTALL \
2649
							PKGPREUPGRADE PKGPOSTUPGRADE PKGUPGRADE
2650
2651
.      for sp in ${SUBPACKAGES}
2652
# These overwrite the current value
2653
.        for v in ${_SUBPACKAGE_HELPERS_FILE}
2654
${v}.${sp}?=	${$v}.${sp}
2655
.        endfor
2656
_PKGMESSAGES.${sp}=		${PKGMESSAGE}.${sp}
2657
.        if !exists(${DESCR.${sp}})
2658
DESCR.${sp}=	${DESCR}
2659
DEV_WARNING+=	"DESCR.${sp} needs to point to an existing file."
2660
.        endif
2661
COMMENT.${sp}?=	${COMMENT} (subpkg: ${sp})
2662
.      endfor
2663
.    endif
2664
2665
.    if exists(${PACKAGES})
2666
PACKAGES:=	${PACKAGES:S/:/\:/g}
2667
_HAVE_PACKAGES=	yes
2668
_PKGDIR=	${PKGREPOSITORY}
2669
.    else
2670
_PKGDIR=	${.CURDIR}
2671
.    endif
2672
.    for sp in ${_PKGS}
2673
PKGNAME${_SP.${sp}}=	${sp}-${PKGVERSION}
2674
PKGNAMES+=				${PKGNAME${_SP.${sp}}}
2675
PKGFILE${_SP.${sp}}=	${_PKGDIR}/${PKGNAME${_SP.${sp}}}${PKG_SUFX}
2676
.    endfor
2677
_EXTRA_PACKAGE_TARGET_DEP+=	${_PKGDIR}
2678
.    for sp in ${_PKGS}
2679
WRKDIR_PKGFILE${_SP.${sp}}=	${WRKDIR}/pkg/${PKGNAME${_SP.${sp}}}${PKG_SUFX}
2680
.    endfor
2681
2682
# Integrate with the license auditing framework
2683
.    if !defined (DISABLE_LICENSES)
2684
.include "${PORTSDIR}/Mk/bsd.licenses.mk"
2685
.    endif
2686
2630
CONFIGURE_SCRIPT?=	configure
2687
CONFIGURE_SCRIPT?=	configure
2631
CONFIGURE_CMD?=		./${CONFIGURE_SCRIPT}
2688
CONFIGURE_CMD?=		./${CONFIGURE_SCRIPT}
2632
CONFIGURE_TARGET?=	${HOSTARCH}-portbld-${OPSYS:tl}${OSREL}
2689
CONFIGURE_TARGET?=	${HOSTARCH}-portbld-${OPSYS:tl}${OSREL}
Lines 3402-3411 do-test: Link Here
3402
_EXTRA_PACKAGE_TARGET_DEP+= ${PKGFILE}
3459
_EXTRA_PACKAGE_TARGET_DEP+= ${PKGFILE}
3403
_PORTS_DIRECTORIES+=	${PKGREPOSITORY}
3460
_PORTS_DIRECTORIES+=	${PKGREPOSITORY}
3404
3461
3405
${PKGFILE}: ${WRKDIR_PKGFILE} ${PKGREPOSITORY}
3406
	@${LN} -f ${WRKDIR_PKGFILE} ${PKGFILE} 2>/dev/null \
3407
			|| ${CP} -f ${WRKDIR_PKGFILE} ${PKGFILE}
3408
3409
.      if ${PKGORIGIN} == "ports-mgmt/pkg" || ${PKGORIGIN} == "ports-mgmt/pkg-devel"
3462
.      if ${PKGORIGIN} == "ports-mgmt/pkg" || ${PKGORIGIN} == "ports-mgmt/pkg-devel"
3410
_EXTRA_PACKAGE_TARGET_DEP+=	${PKGLATESTREPOSITORY}
3463
_EXTRA_PACKAGE_TARGET_DEP+=	${PKGLATESTREPOSITORY}
3411
_PORTS_DIRECTORIES+=	${PKGLATESTREPOSITORY}
3464
_PORTS_DIRECTORIES+=	${PKGLATESTREPOSITORY}
Lines 3431-3444 ${PKGOLDSIGFILE}: ${PKGLATESTREPOSITORY} Link Here
3431
.    endif
3484
.    endif
3432
3485
3433
# from here this will become a loop for subpackages
3486
# from here this will become a loop for subpackages
3434
${WRKDIR_PKGFILE}: ${TMPPLIST} create-manifest ${WRKDIR}/pkg
3487
.    for sp in ${_PKGS}
3435
	@if ! ${SETENV} ${PKG_ENV} ${PKG_CREATE} ${PKG_CREATE_ARGS} -m ${METADIR} -p ${TMPPLIST} -o ${WRKDIR}/pkg ${PKGNAME}; then \
3488
${_PLIST}.${sp}: ${TMPPLIST}
3489
	@if [ "${PKGBASE}" = "${sp}" ]; then \
3490
		${SED} "/^@comment /d; /@@/d" ${TMPPLIST} > ${.TARGET} ; \
3491
	else \
3492
		${SED} -n "s/@@${sp:S/${PKGBASE}-//}@@//p" ${TMPPLIST} > ${.TARGET} ; \
3493
	fi
3494
3495
${WRKDIR_PKGFILE${_SP.${sp}}}:	${_PLIST}.${sp} create-manifest ${WRKDIR}/pkg
3496
	@echo "===>   Building ${PKGNAME${_SP.${sp}}}"
3497
	@if ! ${SETENV} ${PKG_ENV} ${PKG_CREATE} ${PKG_CREATE_ARGS} -m ${METADIR}.${sp} -p ${_PLIST}.${sp} -o ${WRKDIR}/pkg ${PKGNAME}; then \
3436
		cd ${.CURDIR} && eval ${MAKE} delete-package >/dev/null; \
3498
		cd ${.CURDIR} && eval ${MAKE} delete-package >/dev/null; \
3437
		exit 1; \
3499
		exit 1; \
3438
	fi
3500
	fi
3439
	#
3501
3440
# Temporary will be later dynamically added per subpackages
3502
_EXTRA_PACKAGE_TARGET_DEP+=	${WRKDIR_PKGFILE${_SP.${sp}}}
3441
_EXTRA_PACKAGE_TARGET_DEP+=	${WRKDIR_PKGFILE}
3503
3504
${PKGFILE${_SP.${sp}}}: ${WRKDIR_PKGFILE${_SP.${sp}}}
3505
	@${LN} -f ${WRKDIR_PKGFILE${_SP.${sp}}} ${PKGFILE${_SP.${sp}}} 2>/dev/null \
3506
		|| ${CP} -f ${WRKDIR_PKGFILE${_SP.${sp}}} ${PKGFILE${_SP.${sp}}}
3507
3508
_EXTRA_PACKAGE_TARGET_DEP+=	${PKGFILE${_SP.${sp}}}
3509
.    endfor
3442
# This will be the end of the loop
3510
# This will be the end of the loop
3443
3511
3444
.    if !target(do-package)
3512
.    if !target(do-package)
Lines 3455-3468 do-package: ${_EXTRA_PACKAGE_TARGET_DEP} ${WRKDIR}/pkg Link Here
3455
3523
3456
.    if !target(delete-package)
3524
.    if !target(delete-package)
3457
delete-package:
3525
delete-package:
3458
	@${ECHO_MSG} "===>  Deleting package for ${PKGNAME}"
3526
.      for sp in ${_PKGS}
3527
	@${ECHO_MSG} "===>  Deleting package for ${sp}"
3459
# When staging, the package may only be in the workdir if not root
3528
# When staging, the package may only be in the workdir if not root
3460
	@${RM} ${PKGFILE} ${WRKDIR_PKGFILE} 2>/dev/null || :
3529
	@${RM} ${PKGFILE${_SP.${sp}}} ${WRKDIR_PKGFILE${_SP.${sp}}} 2>/dev/null || :
3530
.      endfor
3461
.    endif
3531
.    endif
3462
3532
3463
.    if !target(delete-package-list)
3533
.    if !target(delete-package-list)
3464
delete-package-list:
3534
delete-package-list:
3465
	@${ECHO_CMD} "[ -f ${PKGFILE} ] && (${ECHO_CMD} deleting ${PKGFILE}; ${RM} ${PKGFILE})"
3535
.      for sp in ${_PKGS}
3536
	@${ECHO_CMD} "[ -f ${PKGFILE${_SP.${sp}}} ] && (${ECHO_CMD} deleting ${PKGFILE${_SP.${sp}}}; ${RM} ${PKGFILE${_SP.${sp}}})"
3537
.      endfor
3466
.    endif
3538
.    endif
3467
3539
3468
# Used by scripts and users to install a package from local repository.
3540
# Used by scripts and users to install a package from local repository.
Lines 3474-3486 _INSTALL_PKG_ARGS= -f Link Here
3474
.      if defined(INSTALLS_DEPENDS)
3546
.      if defined(INSTALLS_DEPENDS)
3475
_INSTALL_PKG_ARGS+=	-A
3547
_INSTALL_PKG_ARGS+=	-A
3476
.      endif
3548
.      endif
3477
install-package:
3549
.      for sp in ${_PKGS}
3478
	@if [ -f "${WRKDIR}/pkg/${PKGNAME}${PKG_SUFX}" ]; then \
3550
install-package: install-package.${sp}
3479
	    _pkgfile="${WRKDIR_PKGFILE}"; \
3551
install-package.${sp}:
3552
	@if [ -f "${WRKDIR_PKGFILE${_SP.${sp}}}" ]; then \
3553
	    _pkgfile="${WRKDIR_PKGFILE${_SP.${sp}}}"; \
3480
	else \
3554
	else \
3481
	    _pkgfile="${PKGFILE}"; \
3555
	    _pkgfile="${PKGFILE${_SP.${sp}}}"; \
3482
	fi; \
3556
	fi; \
3483
	${PKG_ADD} ${_INSTALL_PKG_ARGS} $${_pkgfile}
3557
	${PKG_ADD} ${_INSTALL_PKG_ARGS} $${_pkgfile}
3558
.      endfor
3484
.    endif
3559
.    endif
3485
3560
3486
# Utility targets follow
3561
# Utility targets follow
Lines 3673-3679 install-message: Link Here
3673
test-message:
3748
test-message:
3674
	@${ECHO_MSG} "===>  Testing for ${PKGNAME}"
3749
	@${ECHO_MSG} "===>  Testing for ${PKGNAME}"
3675
package-message:
3750
package-message:
3676
	@${ECHO_MSG} "===>  Building package for ${PKGNAME}"
3751
	@${ECHO_MSG} "===>  Building packages for ${PKGNAME}"
3677
3752
3678
# Empty pre-* and post-* targets
3753
# Empty pre-* and post-* targets
3679
3754
Lines 3743-3756 deinstall: Link Here
3743
		${SU_CMD} "${MAKE} ${.TARGET}"
3818
		${SU_CMD} "${MAKE} ${.TARGET}"
3744
	@${ECHO_MSG} "===>  Returning to user credentials"
3819
	@${ECHO_MSG} "===>  Returning to user credentials"
3745
.      else
3820
.      else
3746
	@${ECHO_MSG} "===>  Deinstalling for ${PKGBASE}"
3821
.        for _sp in ${_PKGS}
3747
	@if ${PKG_INFO} -e ${PKGBASE}; then \
3822
	@${ECHO_MSG} "===>  Deinstalling for ${_sp}"
3748
		p=`${PKG_INFO} -q -O ${PKGBASE}`; \
3823
	@if ${PKG_INFO} -e ${_sp}; then \
3824
		p=`${PKG_INFO} -q -O ${_sp}`; \
3749
		${ECHO_MSG} "===>   Deinstalling $${p}"; \
3825
		${ECHO_MSG} "===>   Deinstalling $${p}"; \
3750
		${PKG_DELETE} -f ${PKGBASE} ; \
3826
		${PKG_DELETE} -f ${_sp} ; \
3751
	else \
3827
	else \
3752
		${ECHO_MSG} "===>   ${PKGBASE} not installed, skipping"; \
3828
		${ECHO_MSG} "===>   ${_sp} not installed, skipping"; \
3753
	fi
3829
	fi
3830
.        endfor
3754
	@${RM} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
3831
	@${RM} ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
3755
.      endif
3832
.      endif
3756
.    endif
3833
.    endif
Lines 3976-3982 package-name: Link Here
3976
repackage: pre-repackage package
4053
repackage: pre-repackage package
3977
4054
3978
pre-repackage:
4055
pre-repackage:
3979
	@${RM} ${PACKAGE_COOKIE}
4056
	@${RM} ${PACKAGE_COOKIE} ${TMPPLIST}*
3980
.    endif
4057
.    endif
3981
4058
3982
# Build a package but don't check the cookie for installation, also don't
4059
# Build a package but don't check the cookie for installation, also don't
Lines 3994-4003 package-noinstall: package Link Here
3994
depends: pkg-depends extract-depends patch-depends lib-depends fetch-depends build-depends run-depends
4071
depends: pkg-depends extract-depends patch-depends lib-depends fetch-depends build-depends run-depends
3995
4072
3996
.      for deptype in PKG EXTRACT PATCH FETCH BUILD LIB RUN TEST
4073
.      for deptype in PKG EXTRACT PATCH FETCH BUILD LIB RUN TEST
4074
.        for sp in ${_PKGS}
4075
${deptype}_DEPENDS_ALL+=	${${deptype}_DEPENDS${_SP.${sp}}}
4076
.        endfor
3997
${deptype:tl}-depends:
4077
${deptype:tl}-depends:
3998
.        if defined(${deptype}_DEPENDS) && !defined(NO_DEPENDS)
4078
.        if !empty(${deptype}_DEPENDS_ALL) && !defined(NO_DEPENDS)
3999
	@${SETENV} \
4079
	@${SETENV} \
4000
		dp_RAWDEPENDS="${${deptype}_DEPENDS}" \
4080
		dp_RAWDEPENDS="${${deptype}_DEPENDS_ALL}" \
4001
		dp_DEPTYPE="${deptype}_DEPENDS" \
4081
		dp_DEPTYPE="${deptype}_DEPENDS" \
4002
		dp_DEPENDS_TARGET="${DEPENDS_TARGET}" \
4082
		dp_DEPENDS_TARGET="${DEPENDS_TARGET}" \
4003
		dp_DEPENDS_PRECLEAN="${DEPENDS_PRECLEAN}" \
4083
		dp_DEPENDS_PRECLEAN="${DEPENDS_PRECLEAN}" \
Lines 4026-4032 ${deptype:tl}-depends: Link Here
4026
4106
4027
# Dependency lists: both build and runtime, recursive.  Print out directory names.
4107
# Dependency lists: both build and runtime, recursive.  Print out directory names.
4028
4108
4029
_UNIFIED_DEPENDS=${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} ${TEST_DEPENDS}
4109
_UNIFIED_DEPENDS=${PKG_DEPENDS_ALL} ${EXTRACT_DEPENDS_ALL} ${PATCH_DEPENDS_ALL} ${FETCH_DEPENDS_ALL} ${BUILD_DEPENDS_ALL} ${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL} ${TEST_DEPENDS_ALL}
4030
_DEPEND_SPECIALS=	${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*):.*$,\1,}
4110
_DEPEND_SPECIALS=	${_UNIFIED_DEPENDS:M*\:*\:*:C,^[^:]*:([^:]*):.*$,\1,}
4031
4111
4032
.    for d in ${_UNIFIED_DEPENDS:M*\:/*}
4112
.    for d in ${_UNIFIED_DEPENDS:M*\:/*}
Lines 4079-4087 ALL-DEPENDS-LIST= ${DEPENDS-LIST} -r ${_UNIFIED_DEPENDS:Q} Link Here
4079
ALL-DEPENDS-FLAVORS-LIST=	${DEPENDS-LIST} -f -r ${_UNIFIED_DEPENDS:Q}
4159
ALL-DEPENDS-FLAVORS-LIST=	${DEPENDS-LIST} -f -r ${_UNIFIED_DEPENDS:Q}
4080
DEINSTALL-DEPENDS-FLAVORS-LIST=	${DEPENDS-LIST} -f -r ${_UNIFIED_DEPENDS:N${PKG_DEPENDS}:Q}
4160
DEINSTALL-DEPENDS-FLAVORS-LIST=	${DEPENDS-LIST} -f -r ${_UNIFIED_DEPENDS:N${PKG_DEPENDS}:Q}
4081
MISSING-DEPENDS-LIST=		${DEPENDS-LIST} -m ${_UNIFIED_DEPENDS:Q}
4161
MISSING-DEPENDS-LIST=		${DEPENDS-LIST} -m ${_UNIFIED_DEPENDS:Q}
4082
BUILD-DEPENDS-LIST=			${DEPENDS-LIST} "${PKG_DEPENDS} ${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}"
4162
BUILD-DEPENDS-LIST=			${DEPENDS-LIST} "${PKG_DEPENDS_ALL} ${EXTRACT_DEPENDS_ALL} ${PATCH_DEPENDS_ALL} ${FETCH_DEPENDS_ALL} ${BUILD_DEPENDS_ALL} ${LIB_DEPENDS_ALL}"
4083
RUN-DEPENDS-LIST=			${DEPENDS-LIST} "${LIB_DEPENDS} ${RUN_DEPENDS}"
4163
RUN-DEPENDS-LIST=			${DEPENDS-LIST} "${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL}"
4084
TEST-DEPENDS-LIST=			${DEPENDS-LIST} ${TEST_DEPENDS:Q}
4164
TEST-DEPENDS-LIST=			${DEPENDS-LIST} ${TEST_DEPENDS_ALL:Q}
4085
CLEAN-DEPENDS-LIST=			${DEPENDS-LIST} -wr ${_UNIFIED_DEPENDS:Q}
4165
CLEAN-DEPENDS-LIST=			${DEPENDS-LIST} -wr ${_UNIFIED_DEPENDS:Q}
4086
CLEAN-DEPENDS-LIMITED-LIST=	${DEPENDS-LIST} -w ${_UNIFIED_DEPENDS:Q}
4166
CLEAN-DEPENDS-LIMITED-LIST=	${DEPENDS-LIST} -w ${_UNIFIED_DEPENDS:Q}
4087
4167
Lines 4170-4176 fetch-required: fetch Link Here
4170
	@${ECHO_MSG} "===> Fetching all required distfiles for ${PKGNAME} and dependencies"
4250
	@${ECHO_MSG} "===> Fetching all required distfiles for ${PKGNAME} and dependencies"
4171
.        for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
4251
.        for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
4172
.          if defined(${deptype}_DEPENDS)
4252
.          if defined(${deptype}_DEPENDS)
4173
	@targ=fetch; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
4253
	@targ=fetch; deps="${${deptype}_DEPENDS_ALL}"; ${FETCH_LIST}
4174
.          endif
4254
.          endif
4175
.        endfor
4255
.        endfor
4176
.      endif
4256
.      endif
Lines 4182-4188 fetch-required-list: fetch-list Link Here
4182
.      if !defined(NO_DEPENDS)
4262
.      if !defined(NO_DEPENDS)
4183
.        for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
4263
.        for deptype in PKG EXTRACT PATCH FETCH BUILD RUN
4184
.          if defined(${deptype}_DEPENDS)
4264
.          if defined(${deptype}_DEPENDS)
4185
	@targ=fetch-list; deps="${${deptype}_DEPENDS}"; ${FETCH_LIST}
4265
	@targ=fetch-list; deps="${${deptype}_DEPENDS_ALL}"; ${FETCH_LIST}
4186
.          endif
4266
.          endif
4187
.        endfor
4267
.        endfor
4188
.      endif
4268
.      endif
Lines 4221-4227 package-depends-list: Link Here
4221
	@${PACKAGE-DEPENDS-LIST}
4301
	@${PACKAGE-DEPENDS-LIST}
4222
.    endif
4302
.    endif
4223
4303
4224
_LIB_RUN_DEPENDS=	${LIB_DEPENDS} ${RUN_DEPENDS}
4304
_LIB_RUN_DEPENDS=	${LIB_DEPENDS_ALL} ${RUN_DEPENDS_ALL}
4225
PACKAGE-DEPENDS-LIST?= \
4305
PACKAGE-DEPENDS-LIST?= \
4226
	if [ "${CHILD_DEPENDS}" ]; then \
4306
	if [ "${CHILD_DEPENDS}" ]; then \
4227
		installed=$$(${PKG_INFO} -qO ${PKGORIGIN} 2>/dev/null || \
4307
		installed=$$(${PKG_INFO} -qO ${PKGORIGIN} 2>/dev/null || \
Lines 4240-4245 PACKAGE-DEPENDS-LIST?= \ Link Here
4240
	for dir in ${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}; do \
4320
	for dir in ${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}; do \
4241
		unset flavor; \
4321
		unset flavor; \
4242
		case $${dir} in \
4322
		case $${dir} in \
4323
		*~*) \
4324
			dir=$${dir%~*}; \
4325
			;; \
4326
		esac; \
4327
		case $${dir} in \
4243
		*@*) \
4328
		*@*) \
4244
			flavor=$${dir\#*@}; \
4329
			flavor=$${dir\#*@}; \
4245
			dir=$${dir%@*}; \
4330
			dir=$${dir%@*}; \
Lines 4268-4328 PACKAGE-DEPENDS-LIST?= \ Link Here
4268
		fi; \
4353
		fi; \
4269
	done
4354
	done
4270
4355
4271
ACTUAL-PACKAGE-DEPENDS?= \
4356
# FIXME: SELF_DEPENDS can only be used to depend on sub packages whose
4357
# package name has not been overrided by the framework, otherwize the
4358
# assumption made below that the package name is "PKGBASE-$$self" is broken.
4359
.    for sp in ${_PKGS}
4360
ACTUAL-PACKAGE-DEPENDS${_SP.${sp}}?= \
4272
	depfiles="" ; \
4361
	depfiles="" ; \
4273
	for lib in ${LIB_DEPENDS:C/\:.*//}; do \
4362
	for lib in ${LIB_DEPENDS${_SP.${sp}}:C/\:.*//}; do \
4274
		depfiles="$$depfiles `${SETENV} LIB_DIRS="${LIB_DIRS}" LOCALBASE="${LOCALBASE}" ${SH} ${SCRIPTSDIR}/find-lib.sh $${lib}`" ; \
4363
		depfiles="$$depfiles `${SETENV} LIB_DIRS="${LIB_DIRS}" LOCALBASE="${LOCALBASE}" ${SH} ${SCRIPTSDIR}/find-lib.sh $${lib}`" ; \
4275
	done ; \
4364
	done ; \
4276
	${SETENV} PKG_BIN="${PKG_BIN}" ${SH} ${SCRIPTSDIR}/actual-package-depends.sh $${depfiles} ${RUN_DEPENDS:C/(.*)\:.*/"\1"/}
4365
	for self in ${SELF_DEPENDS${_SP.${sp}}}; do \
4366
		if [ "$$self" = "main" ]; then \
4367
			printf "\"%s\": {origin: \"%s\", version: \"%s\"}\n" ${PKGBASE} ${PKGORIGIN} ${PKGVERSION}; \
4368
		else \
4369
			printf "\"%s-%s\": {origin: \"%s\", version: \"%s\"}\n" ${PKGBASE} $$self ${PKGORIGIN} ${PKGVERSION}; \
4370
		fi ; \
4371
	done ; \
4372
	${SETENV} PKG_BIN="${PKG_BIN}" ${SH} ${SCRIPTSDIR}/actual-package-depends.sh $${depfiles} ${RUN_DEPENDS${_SP.${sp}}:C/(.*)\:.*/"\1"/}
4373
.    endfor
4277
4374
4278
PKG_NOTES_ENV?=
4375
PKG_NOTES_ENV?=
4279
.    for note in ${PKG_NOTES}
4376
.    for note in ${PKG_NOTES}
4280
PKG_NOTES_ENV+=	dp_PKG_NOTE_${note}=${PKG_NOTE_${note}:Q}
4377
PKG_NOTES_ENV+=	dp_PKG_NOTE_${note}=${PKG_NOTE_${note}:Q}
4281
.    endfor
4378
.    endfor
4282
4379
4283
create-manifest:
4380
.    for sp in ${_PKGS}
4381
PKG_NOTES.${sp}=	${PKG_NOTES}
4382
PKG_NOTES_ENV.${sp}=	${PKG_NOTES_ENV}
4383
.      if ${sp} != ${PKGBASE}
4384
PKG_NOTES.${sp}+=	subpackage
4385
PKG_NOTES_ENV.${sp}+=	dp_PKG_NOTE_subpackage=${_SP.${sp}:S/^.//1}
4386
.      endif
4387
create-manifest: create-manifest.${sp}
4388
create-manifest.${sp}:
4284
	@${SETENV} \
4389
	@${SETENV} \
4285
			dp_SCRIPTSDIR='${SCRIPTSDIR}'                         \
4390
			dp_SCRIPTSDIR='${SCRIPTSDIR}'                         \
4286
			dp_ACTUAL_PACKAGE_DEPENDS='${ACTUAL-PACKAGE-DEPENDS}' \
4391
			dp_ACTUAL_PACKAGE_DEPENDS='${ACTUAL-PACKAGE-DEPENDS${_SP.${sp}}}' \
4287
			dp_CATEGORIES='${CATEGORIES:u:S/$/,/}'                \
4392
			dp_CATEGORIES='${CATEGORIES:u:S/$/,/}'                \
4288
			dp_COMMENT=${COMMENT:Q}                               \
4393
			dp_COMMENT=${COMMENT${_SP.${sp}}:Q}                   \
4289
			dp_COMPLETE_OPTIONS_LIST='${COMPLETE_OPTIONS_LIST}'   \
4394
			dp_COMPLETE_OPTIONS_LIST='${COMPLETE_OPTIONS_LIST}'   \
4290
			dp_DEPRECATED=${DEPRECATED:Q}                         \
4395
			dp_DEPRECATED=${DEPRECATED:Q}                         \
4291
			dp_DESCR='${DESCR}'                                   \
4396
			dp_DESCR='${DESCR${_SP.${sp}}}'                       \
4292
			dp_EXPIRATION_DATE='${EXPIRATION_DATE}'               \
4397
			dp_EXPIRATION_DATE='${EXPIRATION_DATE}'               \
4293
			dp_GROUPS='${GROUPS:u:S/$/,/}'                        \
4398
			dp_GROUPS='${GROUPS:u:S/$/,/}'                        \
4294
			dp_LICENSE='${LICENSE:u:S/$/,/}'                      \
4399
			dp_LICENSE='${LICENSE:u:S/$/,/}'                      \
4295
			dp_LICENSE_COMB='${LICENSE_COMB}'                     \
4400
			dp_LICENSE_COMB='${LICENSE_COMB}'                     \
4296
			dp_MAINTAINER='${MAINTAINER}'                         \
4401
			dp_MAINTAINER='${MAINTAINER}'                         \
4297
			dp_METADIR='${METADIR}'                               \
4402
			dp_METADIR='${METADIR}.${sp}'                         \
4298
			dp_NO_ARCH='${NO_ARCH}'                               \
4403
			dp_NO_ARCH='${NO_ARCH}'                               \
4299
			dp_PKGBASE='${PKGBASE}'                               \
4404
			dp_PKGBASE='${sp}'                                    \
4300
			dp_PKGDEINSTALL='${PKGDEINSTALL}'                     \
4405
			dp_PKGDEINSTALL='${PKGDEINSTALL${_SP.${sp}}}'         \
4301
			dp_PKGINSTALL='${PKGINSTALL}'                         \
4406
			dp_PKGINSTALL='${PKGINSTALL${_SP.${sp}}}'             \
4302
			dp_PKGMESSAGES='${_PKGMESSAGES}'                      \
4407
			dp_PKGMESSAGES='${_PKGMESSAGES${_SP.${sp}}}'          \
4303
			dp_PKGORIGIN='${PKGORIGIN}'                           \
4408
			dp_PKGORIGIN='${PKGORIGIN}'                           \
4304
			dp_PKGPOSTDEINSTALL='${PKGPOSTDEINSTALL}'             \
4409
			dp_PKGPOSTDEINSTALL='${PKGPOSTDEINSTALL${_SP.${sp}}}' \
4305
			dp_PKGPOSTINSTALL='${PKGPOSTINSTALL}'                 \
4410
			dp_PKGPOSTINSTALL='${PKGPOSTINSTALL${_SP.${sp}}}'     \
4306
			dp_PKGPREDEINSTALL='${PKGPREDEINSTALL}'               \
4411
			dp_PKGPREDEINSTALL='${PKGPREDEINSTALL${_SP.${sp}}}'   \
4307
			dp_PKGPREINSTALL='${PKGPREINSTALL}'                   \
4412
			dp_PKGPREINSTALL='${PKGPREINSTALL${_SP.${sp}}}'       \
4308
			dp_PKGVERSION='${PKGVERSION}'                         \
4413
			dp_PKGVERSION='${PKGVERSION}'                         \
4309
			dp_PKG_BIN='${PKG_BIN}'                               \
4414
			dp_PKG_BIN='${PKG_BIN}'                               \
4310
			dp_PKG_IGNORE_DEPENDS='${PKG_IGNORE_DEPENDS}'         \
4415
			dp_PKG_IGNORE_DEPENDS='${PKG_IGNORE_DEPENDS}'         \
4311
			dp_PKG_NOTES='${PKG_NOTES}'                           \
4416
			dp_PKG_NOTES='${PKG_NOTES.${sp}}'                     \
4312
			dp_PORT_OPTIONS='${PORT_OPTIONS}'                     \
4417
			dp_PORT_OPTIONS='${PORT_OPTIONS}'                     \
4313
			dp_PREFIX='${PREFIX}'                                 \
4418
			dp_PREFIX='${PREFIX}'                                 \
4314
			dp_USERS='${USERS:u:S/$/,/}'                          \
4419
			dp_USERS='${USERS:u:S/$/,/}'                          \
4315
			dp_WWW='${WWW}'                                       \
4420
			dp_WWW='${WWW}'                                       \
4316
			${PKG_NOTES_ENV}                                      \
4421
			${PKG_NOTES_ENV.${sp}}                                \
4317
			${SH} ${SCRIPTSDIR}/create-manifest.sh
4422
			${SH} ${SCRIPTSDIR}/create-manifest.sh
4423
.    endfor
4318
4424
4319
# Print out package names.
4425
# Print out package names.
4320
4426
4321
package-depends:
4427
package-depends:
4322
	@${PACKAGE-DEPENDS-LIST} | ${AWK} '{print $$1":"$$3}'
4428
	@${PACKAGE-DEPENDS-LIST} | ${AWK} '{print $$1":"$$3}'
4323
4429
4324
actual-package-depends:
4430
.    for sp in ${_PKGS}
4325
	@${ACTUAL-PACKAGE-DEPENDS}
4431
actual-package-depends: actual-package-depends.${sp}
4432
actual-package-depends.${sp}:
4433
	@${ACTUAL-PACKAGE-DEPENDS${_SP.${sp}}}
4434
.    endfor
4326
4435
4327
# Build packages for port and dependencies
4436
# Build packages for port and dependencies
4328
4437
Lines 4369-4380 install-missing-packages: Link Here
4369
# first to avoid gratuitous breakage.
4478
# first to avoid gratuitous breakage.
4370
4479
4371
.    if !target(describe)
4480
.    if !target(describe)
4372
_EXTRACT_DEPENDS=${EXTRACT_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4481
_EXTRACT_DEPENDS=${EXTRACT_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4373
_PATCH_DEPENDS=${PATCH_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4482
_PATCH_DEPENDS=${PATCH_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4374
_FETCH_DEPENDS=${FETCH_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4483
_FETCH_DEPENDS=${FETCH_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4375
_LIB_DEPENDS=${LIB_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4484
_LIB_DEPENDS=${LIB_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,}
4376
_BUILD_DEPENDS=${BUILD_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
4485
_BUILD_DEPENDS=${BUILD_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
4377
_RUN_DEPENDS=${RUN_DEPENDS:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
4486
_RUN_DEPENDS=${RUN_DEPENDS_ALL:C/^[^ :]+:([^ :@]+)(@[^ :]+)?(:[^ :]+)?/\1/:O:u:C,(^[^/]),${PORTSDIR}/\1,} ${_LIB_DEPENDS}
4378
.      if exists(${DESCR})
4487
.      if exists(${DESCR})
4379
_DESCR=${DESCR}
4488
_DESCR=${DESCR}
4380
.      else
4489
.      else
Lines 4559-4564 generate-plist: ${WRKDIR} Link Here
4559
	@for file in ${PLIST_FILES}; do \
4668
	@for file in ${PLIST_FILES}; do \
4560
		${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB_SANITIZED:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} >> ${TMPPLIST}; \
4669
		${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB_SANITIZED:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} >> ${TMPPLIST}; \
4561
	done
4670
	done
4671
.      for sp in ${_PKGS}
4672
.        if ${sp} != ${PKGBASE}
4673
	@for file in ${PLIST_FILES${_SP.${sp}}}; do \
4674
		${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB_SANITIZED:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's/^/@@${_SP.${sp}:S/^.//}@@/' >> ${TMPPLIST}; \
4675
	done
4676
.        endif
4677
.      endfor
4562
.      if !empty(PLIST)
4678
.      if !empty(PLIST)
4563
.        for f in ${PLIST}
4679
.        for f in ${PLIST}
4564
	@if [ -f "${f}" ]; then \
4680
	@if [ -f "${f}" ]; then \
Lines 4572-4577 generate-plist: ${WRKDIR} Link Here
4572
	@${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB_SANITIZED:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's,^,@dir ,' >> ${TMPPLIST}
4688
	@${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB_SANITIZED:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's,^,@dir ,' >> ${TMPPLIST}
4573
.      endfor
4689
.      endfor
4574
4690
4691
.      for sp in ${_PKGS}
4692
.        if ${sp} != ${PKGBASE}
4693
.          for dir in ${PLIST_DIRS${_SP.${sp}}}
4694
	@${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB_SANITIZED:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -e 's,^,@@${_SP.${sp}:S/^.//}@@@dir ,' >> ${TMPPLIST}
4695
.          endfor
4696
.        endif
4697
.      endfor
4575
.    endif
4698
.    endif
4576
4699
4577
${TMPPLIST}:
4700
${TMPPLIST}:
Lines 4725-4744 stage-qa: Link Here
4725
4848
4726
pretty-flavors-package-names: .PHONY
4849
pretty-flavors-package-names: .PHONY
4727
.    if empty(FLAVORS)
4850
.    if empty(FLAVORS)
4728
	@${ECHO_CMD} "no flavor: ${PKGNAME}"
4851
	@${ECHO_CMD} "no flavor: ${_PKGS}"
4729
.    else
4852
.    else
4730
.      for f in ${FLAVORS}
4853
.      for f in ${FLAVORS}
4731
	@${ECHO_CMD} -n "${f}: "
4854
	@${ECHO_CMD} -n "${f}: "
4732
	@cd ${.CURDIR} && ${SETENV} FLAVOR=${f} ${MAKE} -B -V PKGNAME
4855
	@cd ${.CURDIR} && ${SETENV} -i FLAVOR=${f} ${MAKE} -B -V _PKGS
4733
.      endfor
4856
.      endfor
4734
.    endif
4857
.    endif
4735
4858
4736
flavors-package-names: .PHONY
4859
flavors-package-names: .PHONY
4737
.    if empty(FLAVORS)
4860
.    if empty(FLAVORS)
4738
	@${ECHO_CMD} "${PKGNAME}"
4861
	@${ECHO_CMD} "${_PKGS}"
4739
.    else
4862
.    else
4740
.      for f in ${FLAVORS}
4863
.      for f in ${FLAVORS}
4741
	@cd ${.CURDIR} && ${SETENV} FLAVOR=${f} ${MAKE} -B -V PKGNAME
4864
	@cd ${.CURDIR} && ${SETENV} -i FLAVOR=${f} ${MAKE} -B -V _PKGS | ${XARGS} -n 1
4742
.      endfor
4865
.      endfor
4743
.    endif
4866
.    endif
4744
4867
Lines 4749-4767 STAGE_ARGS= -i ${STAGEDIR} Link Here
4749
STAGE_ARGS=	-N
4872
STAGE_ARGS=	-N
4750
.      endif
4873
.      endif
4751
4874
4752
fake-pkg:
4875
.      for sp in ${_PKGS}
4753
.      if defined(INSTALLS_DEPENDS)
4876
fake-pkg: fake-pkg.${sp}
4754
.        if !defined(NO_PKG_REGISTER)
4877
fake-pkg.${sp}: ${_PLIST}.${sp}
4878
.        if defined(INSTALLS_DEPENDS)
4879
.          if !defined(NO_PKG_REGISTER)
4755
	@${ECHO_MSG} "===>   Registering installation for ${PKGNAME} as automatic"
4880
	@${ECHO_MSG} "===>   Registering installation for ${PKGNAME} as automatic"
4756
.        endif
4881
.          endif
4757
	@${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} -d ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
4882
	@${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} -d ${STAGE_ARGS} -m ${METADIR}.${sp} -f ${_PLIST}.${sp}
4758
.      else
4883
.        else
4759
.        if !defined(NO_PKG_REGISTER)
4884
.          if !defined(NO_PKG_REGISTER)
4760
	@${ECHO_MSG} "===>   Registering installation for ${PKGNAME}"
4885
	@${ECHO_MSG} "===>   Registering installation for ${PKGNAME}"
4886
.          endif
4887
	@${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} ${STAGE_ARGS} -m ${METADIR}.${sp} -f ${_PLIST}.${sp}
4761
.        endif
4888
.        endif
4762
	@${SETENV} ${PKG_ENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_REGISTER} ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST}
4889
	@${RM} -r ${METADIR}.${sp}
4763
.      endif
4890
.      endfor
4764
	@${RM} -r ${METADIR}
4765
.    endif
4891
.    endif
4766
4892
4767
# Depend is generally meaningless for arbitrary ports, but if someone wants
4893
# Depend is generally meaningless for arbitrary ports, but if someone wants

Return to bug 275735