Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 May 2010 07:07:49 GMT
From:      Elijah <ilya@el-crane.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/146787: create a treadle to prevent early-check for port conflicts
Message-ID:  <201005210707.o4L77nNQ097516@www.freebsd.org>
Resent-Message-ID: <201005210710.o4L7A3FR067100@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005210707.o4L77nNQ097516>