summaryrefslogtreecommitdiff
path: root/doc/pkgsrc.txt
diff options
context:
space:
mode:
authorleot <leot@pkgsrc.org>2018-09-10 12:12:34 +0000
committerleot <leot@pkgsrc.org>2018-09-10 12:12:34 +0000
commitc7737260dbed70e663441b54307327b3078d8808 (patch)
tree5dfba6c1018bcb4ead15da87ca8d582178686d22 /doc/pkgsrc.txt
parentb3816bfcae66ddab35471c9b61c9780b65d25bdb (diff)
downloadpkgsrc-c7737260dbed70e663441b54307327b3078d8808.tar.gz
doc/pkgsrc.*: regen
Diffstat (limited to 'doc/pkgsrc.txt')
-rw-r--r--doc/pkgsrc.txt29
1 files changed, 18 insertions, 11 deletions
diff --git a/doc/pkgsrc.txt b/doc/pkgsrc.txt
index b368ef1dab2..485ffcf5f39 100644
--- a/doc/pkgsrc.txt
+++ b/doc/pkgsrc.txt
@@ -5932,22 +5932,29 @@ Your package may conflict with other packages a user might already have
installed on his system, e.g. if your package installs the same set of files as
another package in the pkgsrc tree or has the same PKGNAME.
-These cases are handled automatically by the packaging tools at package
-installation time and do not need to be handled manually.
+For example, x11/libXaw3d and x11/Xaw-Xpm install the same shared library, thus
+you set in pkgsrc/x11/libXaw3d/Makefile:
-In case the conflicts can not be recognized automatically (e.g., packages using
-the same config file location but no other shared files), you can set CONFLICTS
-to a space-separated list of packages (including version string) your package
-conflicts with.
+CONFLICTS= Xaw-Xpm-[0-9]*
-For example, if both foo/bar and foo/baz use the same config file, you would
-set in foo/bar/Makefile:
-CONFLICTS= baz-[0-9]*
+and in pkgsrc/x11/Xaw-Xpm/Makefile:
-and in pkgsrc/foo/baz/Makefile:
+CONFLICTS= libXaw3d-[0-9]*
-CONFLICTS= bar-[0-9]*
+
+pkg_add(1) is able to detect attempts to install packages that conflict with
+existing packages and abort. However, in many situations this is too late in
+the process. Binary package managers will not know about the conflict until
+they attempt to install the package after already downloading it and all its
+dependencies. Users may also waste time building a package and its dependencies
+only to find out at the end that it conflicts with another package they have
+installed.
+
+To avoid these issues CONFLICTS entries should be added in all cases where it
+is known that packages conflict with each other. These CONFLICTS entries are
+exported in pkg_summary(5) files and consumed by binary package managers to
+inform users that packages cannot be installed onto the target system.
19.1.7. Packages that cannot or should not be built