On 1/17/10, Martin Wilke <m...@freebsd.org> wrote: > On Sun, 17 Jan 2010 11:44:05 +0100 > Pav Lucistnik <p...@freebsd.org> wrote: > >> Greg Larkin píše v so 16. 01. 2010 v 18:02 -0500:
>> >> I will agree that `portupgrade -o` is way too useful feature. >> I'd vote for reverting to the old behaviour. >> portupgrade and other tools can easily be patched to work with the new behavior, by defining DISABLE_CONFLICTS for the targets preceding installation. Since the new behavior is generally more efficient, and safer, and since the people who will need to defer the check for some reason are in the minority, I vote that we keep the new behavior, and offer a chance to opt out of it with something like the attached patch. I didn't add any extra warnings, since I assumed that those who choose to defer the checks already know that this may lead to problems in some cases. b. >> > I thought portmgr might have some insight into additional reasons >> > for making the change, such as fixing a problem with pointyhat >> > builds, etc. At the moment, I'm neutral on the change, since it >> > hasn't caused me any grief, but I did some research for the folks >> > who posted the original questions. >> >> It was done because someone thought it is a good idea and submitted a >> PR about it. >> > > Howdy, > > For some ports is the conflict check too late see example here. > > http://lists.freebsd.org/pipermail/freebsd-gecko/2009-December/000577.html > > I agree that we need a new pre-fetch hook in bsd.port.mk if a conflict > present is. But that need a bit work and it is on my todo list... > > - Martin >
--- bsd.port.mk.orig 2010-01-17 09:46:09.000000000 -0500 +++ bsd.port.mk 2010-01-17 10:36:02.000000000 -0500 @@ -541,6 +541,10 @@ # pattern meta-characters "*", "?", "[", "]", and "!". # Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_* # +# LATE_CONFLICTS - If set, this port will defer the check for conflicts until immediately +# before the install target, to allow conflicting ports to be fetched and built. +# This may expose build errors due to the presence of conflicting ports. +# # Various directory definitions and variables to control them. # You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR. # @@ -4253,9 +4257,17 @@ .else _CHROOT_SEQ= .endif +.if defined(LATE_CONFLICTS) +_EARLY_CONFLICT_CHECK= +_LATE_CONFLICT_CHECK= check-conflicts +.else +_EARLY_CONFLICT_CHECK= check-conflicts +_LATE_CONFLICT_CHECK= +.endif + _SANITY_SEQ= ${_CHROOT_SEQ} pre-everything check-makefile \ check-categories check-makevars check-desktop-entries \ - check-conflicts check-depends check-deprecated \ + ${_EARLY_CONFLICT_CHECK} check-depends check-deprecated \ check-vulnerable buildanyway-message options-message _FETCH_DEP= check-sanity _FETCH_SEQ= fetch-depends pre-fetch pre-fetch-script \ @@ -4275,8 +4287,8 @@ _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 ${_LATE_CONFLICT_CHECK} run-depends lib-depends \ + apply-slist 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 \
_______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"