ports/146787: create a treadle to prevent early-check for port conflicts

Elijah ilya at el-crane.net
Fri May 21 07:10:04 UTC 2010


>Number:         146787
>Category:       ports
>Synopsis:       create a treadle to prevent early-check for port conflicts
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri May 21 07:10:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Elijah
>Release:        8.0-STABLE #0 r206975M
>Organization:
>Environment:
>Description:
Discussion here:
http://lists.freebsd.org/pipermail/freebsd-questions/2010-January/211128.html
beliefs like mine
http://lists.freebsd.org/pipermail/freebsd-questions/2010-January/211194.html
CONFLICTS_AT_INSTALL may not sounds good, but I think that's idea is a good composition for this situation
>How-To-Repeat:
[ilya] /usr/ports/devel/llvm-devel# make checksum

===>  llvm-devel-2.8.r103179_1 conflicts with installed package(s):
      llvm-2.7

      They install files into the same place.
      Please remove them first with pkg_delete(1).
*** Error code 1

Stop in /usr/ports/devel/llvm-devel.

And disabling conflicts resolution via DISABLE_CONFLICTS is a dirty solution.
>Fix:
--- bsd.port.mk.orig    2010-05-21 14:42:02.000000000 +0900
+++ bsd.port.mk 2010-05-21 15:57:55.000000000 +0900
@@ -3805,7 +3805,10 @@

 .if !target(check-conflicts)
 check-conflicts:
-.if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS)
+.if defined(_INSTALL_SEQ) && defined(CONFLICTS_AT_INSTALL)
+       undef CONFLICTS_AT_INSTALL;
+.endif
+.if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS) && !defined(CONFLICTS_AT_INSTALL)
        @found=`${PKG_INFO} -I ${CONFLICTS:C/.+/'&'/} 2>/dev/null | ${AWK} '{print $$1}'`; \
        conflicts_with=; \
        for entry in $${found}; do \
@@ -4350,8 +4353,9 @@
 _BUILD_SEQ=            build-message pre-build pre-build-script do-build \
                                post-build post-build-script
 _INSTALL_DEP=  build
-_INSTALL_SEQ=  install-message run-depends lib-depends apply-slist pre-install \
-                               pre-install-script generate-plist check-already-installed
+_INSTALL_SEQ=  install-message run-depends lib-depends apply-slist check-conflicts \
+                               pre-install pre-install-script generate-plist \
+                               check-already-installed
 _INSTALL_SUSEQ= check-umask install-mtree pre-su-install \
                                pre-su-install-script create-users-groups do-install \
                                install-desktop-entries post-install post-install-script \


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list