Currently the port build checks for existing conflicts very late after install-message target.
Just imagine a situation where one has to download a big tarball, build it, and out of sudden, when everything is prepared, even dependences were installed, the port will refuse to cooperate due to a conflict. Fine if it can be safely resolved, but quite annoying, when the conflicting app is needed and cannot be removed.
Moving check-conflicts target before check-depends into _SANITY_SEQ sounds quite logical and safe. See attached patch.
Fix: Apply the attached patch
Patch attached with submission follows:
miwi 2009-12-29 10:25:55 UTC
FreeBSD ports repository
- Convert NOMANCOMPRESS to NO_MANCOMPRESS to sync with src
PR: ports/136065 ports/127469
Submitted by: N.J. Mann <email@example.com> and Aldis Berjoza <firstname.lastname@example.org>
- Early identify port CONFLICTS
Submitted by: Piotr Smyrak <email@example.com>
- Add --no-same-permissions to the EXTRACT_AFTER_ARGS command.
Tijl Coosemans has been reported an issue that when root is extracting from the
tarball, and the tarball contains world writable files
(sysutils/policykit as an example), there is a chance that the files
gets changed by malicious third parties right after the extraction,
which makes it possible to inject code into the package thus compromise
Submitted by: Tijl Coosemans <firstname.lastname@example.org> Xin LI (delphij@)
- Fix some whitespaces
Tested with: exp-run
Revision Changes Path
1.632 +15 -16 ports/Mk/bsd.port.mk
1.13 +1 -1 ports/devel/bcc/Makefile
1.5 +1 -1 ports/devel/error/Makefile
1.31 +1 -1 ports/devel/linux_kdump/Makefile
1.29 +1 -1 ports/devel/plan9port/Makefile
1.15 +1 -1 ports/dns/ldns/Makefile
1.18 +1 -1 ports/editors/mined/Makefile
1.78 +2 -2 ports/games/wesnoth-devel/Makefile
1.75 +2 -2 ports/games/wesnoth/Makefile
1.9 +1 -1 ports/games/xmulti/Makefile
1.25 +1 -1 ports/games/xscorch/Makefile
1.24 +1 -1 ports/german/manpages/Makefile
1.145 +1 -1 ports/lang/erlang/Makefile
1.252 +1 -1 ports/lang/gcc34/Makefile
1.13 +1 -1 ports/lang/gnat-gcc41/Makefile
1.16 +1 -1 ports/lang/gnat-gcc42/Makefile
1.19 +1 -1 ports/lang/gnat-gcc43/Makefile
1.3 +1 -1 ports/lang/gnat-gcc44/Makefile
1.2 +1 -1 ports/misc/freedialog/files/patch-aa
1.7 +1 -1 ports/misc/shuffle/Makefile
1.19 +1 -1 ports/net/htpdate/Makefile
1.17 +1 -1 ports/net/mopd/Makefile
1.20 +1 -1 ports/net/v6eval/Makefile
1.9 +1 -1 ports/palm/p5-Palm/Makefile
1.13 +1 -1 ports/ports-mgmt/portbrowser/Makefile
1.15 +1 -1 ports/print/enscriptfonts/Makefile
1.28 +1 -1 ports/print/perlftlib/Makefile
1.11 +1 -1 ports/security/qident/Makefile
1.3 +1 -1 ports/sysutils/dc42wrap/Makefile
1.16 +1 -1 ports/sysutils/heirloom/Makefile
1.7 +1 -1 ports/sysutils/readlink/Makefile
1.14 +1 -1 ports/sysutils/wmpccard/Makefile
1.4 +1 -1 ports/textproc/freegrep/files/patch-aa
1.9 +1 -1 ports/www/p5-AMF-Perl/Makefile
1.19 +1 -1 ports/x11-toolkits/p5-Prima/Makefile
1.2 +1 -1 ports/x11/chameleon/files/Makefile
email@example.com mailing list
To unsubscribe, send any mail to "firstname.lastname@example.org"
I request revocation.
I think the example below sufficiently signifies why.
shows that I'm not alone with my opinion. I don't care about
wasting CPU time, not when the alternative is to waste my
precious brain time:
# portmaster -Do lang/perl5.10 lang/perl5.8
===>>> Currently installed version: perl-threaded-5.8.9_3
===>>> Port directory: /usr/ports/lang/perl5.10
===>>> Launching 'make checksum' for lang/perl5.10 in background
===>>> Gathering dependency list for lang/perl5.10 from ports
===>>> No dependencies for lang/perl5.10
===>>> Starting build for lang/perl5.10 <<<===
===>>> All dependencies are up to date
===> Cleaning for perl-threaded-5.10.1
===> perl-threaded-5.10.1 conflicts with installed package(s):
They install files into the same place.
Please remove them first with pkg_delete(1).
*** Error code 1
Stop in /usr/ports/lang/perl5.10.
===>>> make failed for lang/perl5.10
===>>> Aborting update
Reopen this, as I agree with the submitter, even if there could be a
better sulution that to back this out.
There are some situations where ports conflicts already at build stage
and thats why CONFLICTS should be checked prior to the build:
So please do not back out this change.