summaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorKris Kennaway <kris@FreeBSD.org>2006-02-11 02:34:48 +0000
committerKris Kennaway <kris@FreeBSD.org>2006-02-11 02:34:48 +0000
commit4c3ff6399dad77878673e32aac8983dff0efad6c (patch)
tree09eab05cc40a5acae29c1185b7701e899d20c86b /Mk
parentAdd missing dependency on p5-Kwiki-Cache. (diff)
- Remove the use of .error in favour of BROKEN to fail more gracefully
[1] - Fix all-depends-list target with dependencies that use the ':target' syntax. [2] - Correct errors in USE_DOS2UNIX. [3], [4] - Detect conflicts between installed and requested FAM implementations and fail more gracefully instead of registering a dependency on the wrong port. Set the default implementation based on what the user has already installed. [5] - Correctly clean up info subdirectories in pkg-plist [6] - The linux ldconfig invocation has to be done in a chroot, else some FreeBSD native libs get cached in the linux ld.so.cache. Use the internal chroot feature of the linux ldconfig to do this. [7] - Update the OpenLDAP default version. [8] PR: ports/92446 [1], ports/86310 [2], ports/92584 [3], ports/92688 (partial) [4], ports/92583 [5], ports/91057 [6], ports/92322 [7], ports/86310 [9] Submitted by: linimon [1], mi [2], jylefort [3], danfe [3], Alejandro Pulver <alejandro at varnet dot biz> [4], marcus [5], gerald [6], netchild [7], vsevolod [8]
Notes
Notes: svn path=/head/; revision=155693
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.port.mk33
1 files changed, 26 insertions, 7 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 5b963d1a04fe..4853b64e4df7 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -1275,7 +1275,7 @@ PREFIX?= ${LOCALBASE}
.endif
.if defined(USE_LINUX_PREFIX)
-LDCONFIG_CMD?= ${LINUXBASE}/sbin/ldconfig
+LDCONFIG_CMD?= ${LINUXBASE}/sbin/ldconfig -r ${LINUXBASE}
LDCONFIG_PLIST_EXEC_CMD?= ${LDCONFIG_CMD}
LDCONFIG_PLIST_UNEXEC_CMD?= ${LDCONFIG_CMD}
.else
@@ -1523,7 +1523,7 @@ _OPENLDAP_FLAVOUR=
.if ${WANT_OPENLDAP_VER} == 22
LIB_DEPENDS+= ldap-2.2.7:${PORTSDIR}/net/openldap22${_OPENLDAP_FLAVOUR}-client
.elif ${WANT_OPENLDAP_VER} == 23
-LIB_DEPENDS+= ldap-2.3.1:${PORTSDIR}/net/openldap23${_OPENLDAP_FLAVOUR}-client
+LIB_DEPENDS+= ldap-2.3.2:${PORTSDIR}/net/openldap23${_OPENLDAP_FLAVOUR}-client
.else
BROKEN= unknown OpenLDAP version: ${WANT_OPENLDAP_VER}
.endif
@@ -1535,6 +1535,12 @@ DEFAULT_FAM_SYSTEM= gamin
FAM_SYSTEM_FAM= fam.0:${PORTSDIR}/devel/fam
FAM_SYSTEM_GAMIN= fam.0:${PORTSDIR}/devel/gamin
+.if exists(${LOCALBASE}/libexec/gam_server)
+_HAVE_FAM_SYSTEM= gamin
+.elif exists(${LOCALBASE}/bin/fam)
+_HAVE_FAM_SYSTEM= fam
+.endif
+
.if defined(WANT_FAM_SYSTEM)
.if defined(WITH_FAM_SYSTEM) && ${WITH_FAM_SYSTEM}!=${WANT_FAM_SYSTEM}
BROKEN= The port wants to use ${WANT_FAM_SYSTEM} as its FAM system and you wish to use ${WITH_FAM_SYSTEM}
@@ -1543,9 +1549,19 @@ FAM_SYSTEM= ${WANT_FAM_SYSTEM}
.elif defined(WITH_FAM_SYSTEM)
FAM_SYSTEM= ${WITH_FAM_SYSTEM}
.else
+.if defined(_HAVE_FAM_SYSTEM)
+FAM_SYSTEM= ${_HAVE_FAM_SYSTEM}
+.else
FAM_SYSTEM= ${DEFAULT_FAM_SYSTEM}
+.endif
.endif # WANT_FAM_SYSTEM
+.if defined(_HAVE_FAM_SYSTEM)
+.if ${_HAVE_FAM_SYSTEM}!= ${FAM_SYSTEM}
+BROKEN= FAM system mismatch: ${_HAVE_FAM_SYSTEM} is installed and desired FAM system is ${FAM_SYSTEM}
+.endif
+.endif
+
.if defined(FAM_SYSTEM_${FAM_SYSTEM:U})
LIB_DEPENDS+= ${FAM_SYSTEM_${FAM_SYSTEM:U}}
.else
@@ -1698,7 +1714,7 @@ X_FONTS_TTF_PORT= ${PORTSDIR}/x11/XFree86
X_FONTS_TYPE1_PORT= ${PORTSDIR}/x11/XFree86
X_MANUALS_PORT= ${PORTSDIR}/x11/XFree86
.else
-.error Bad X_WINDOW_SYSTEM setting
+IGNORE= cannot install: bad X_WINDOW_SYSTEM setting; valid values are 'xfree86-3', 'xfree86-4', 'xorg'
.endif
.if defined(USE_IMAKE)
@@ -3231,12 +3247,12 @@ patch-dos2unix:
.if defined(USE_DOS2UNIX)
.if ${USE_DOS2UNIX:U}=="YES"
@${ECHO_MSG} "===> Converting DOS text files to UNIX text files"
- @${FIND} -E ${WRKSRC} -type f -print0 | \
- ${XARGS} -0 ${REINPLACE_CMD} -i"" -e 's/[[:cntrl:]]*$$//'
+ @${FIND} ${WRKSRC} -type f -print0 | \
+ ${XARGS} -0 ${REINPLACE_CMD} -i '' -e 's/ $$//'
.else
.for f in ${USE_DOS2UNIX}
@${ECHO_MSG} "===> Converting DOS text file to UNIX text file: ${f}"
- @${REINPLACE_CMD} -i"" -e 's/[[:cntrl:]]*$$//' ${WRKSRC}/${f}
+ @${REINPLACE_CMD} -i '' -e 's/ $$//' ${WRKSRC}/${f}
.endfor
.endif
.else
@@ -4584,7 +4600,7 @@ misc-depends:
# Dependency lists: both build and runtime, recursive. Print out directory names.
_UNIFIED_DEPENDS=${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} ${PERL_BUILD_DEPENDS} ${PERL_RUN_DEPENDS}
-_DEPEND_DIRS= ${_UNIFIED_DEPENDS:C,^[^:]*:([^:]*),\1,} ${DEPENDS:C,:.*,,}
+_DEPEND_DIRS= ${_UNIFIED_DEPENDS:C,^[^:]*:([^:]*).*$,\1,} ${DEPENDS:C,:.*,,}
all-depends-list:
@${ALL-DEPENDS-LIST}
@@ -5068,6 +5084,9 @@ add-plist-info:
@${LS} ${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${PREFIX}/::g >> ${TMPPLIST}
@${ECHO_CMD} "@exec install-info %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \
>> ${TMPPLIST}
+ if [ "`${DIRNAME} $i`" != "." ]; then \
+ ${ECHO_CMD} "@unexec ${RMDIR} %D/info/`${DIRNAME} $i` 2> /dev/null || true" >> ${TMPPLIST}; \
+ fi
.endfor
.if (${PREFIX} != "/usr")
@${ECHO_CMD} "@unexec if [ -f %D/${INFO_PATH}/dir ]; then if sed -e '1,/Menu:/d' %D/${INFO_PATH}/dir | grep -q '^[*] '; then true; else rm %D/${INFO_PATH}/dir; fi; fi" >> ${TMPPLIST}