summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2006-11-15 19:27:16 +0000
committerrillig <rillig@pkgsrc.org>2006-11-15 19:27:16 +0000
commit9a93c2f8bc305d93138804acc3ff681d6697e25f (patch)
tree4bd12ec3d59206c43b33e8cc5e29e5e32131de8b
parent9dee92219a4585dc3bb416d8abd44891ec750fa5 (diff)
downloadpkgsrc-9a93c2f8bc305d93138804acc3ff681d6697e25f.tar.gz
Added some documentation on the DESTDIR support that has recently been
introduced to pkgsrc. There are still some FIXMEs left.
-rw-r--r--mk/help/destdir.mk45
1 files changed, 45 insertions, 0 deletions
diff --git a/mk/help/destdir.mk b/mk/help/destdir.mk
new file mode 100644
index 00000000000..3e302f484f2
--- /dev/null
+++ b/mk/help/destdir.mk
@@ -0,0 +1,45 @@
+# $NetBSD: destdir.mk,v 1.1 2006/11/15 19:27:16 rillig Exp $
+#
+# ===
+# Warning: This file is still under construction. Don't rely on it.
+# ===
+#
+# This file documents the variables around the DESTDIR support.
+#
+# Normally, packages are installed directly into LOCALBASE and may
+# overwrite files of other packages there. It also makes it easy to
+# create packages which behave differently depending on whether they
+# are installed from source or from a binary package. This is not good.
+#
+# The DESTDIR support tries to prevent some of these problems. When it
+# is enabled, packages are not installed directly into LOCALBASE.
+# Instead, they are installed in a temporary directory, and a binary
+# package is created from the files that have been installed there.
+#
+# === User-settable variables ===
+#
+# USE_DESTDIR
+# * "yes" to enable DESTDIR support for those packages that
+# explicitly support it.
+#
+# * "full": This makes the build completely unprivileged and in
+# turn detects any attempt to write e.g. to ${LOCALBASE}.
+# This is not supported for actual installation yet, due to
+# short comings of pkg_create. [FIXME]
+#
+# === Package-settable variables ===
+#
+# PKG_DESTDIR_SUPPORT
+# * "user-destdir" means that all files of the packages should be
+# installed with default ownership and permissions.
+#
+# * "destdir" means that some of the installed files need special
+# ownership or permissions.
+#
+# === Implementation notes ===
+#
+# In the "install" phase, the variable DESTDIR is set in the make(1)
+# environment of the default "do-install" target. Additionally, the
+# variable is passed in the INSTALL_MAKE_FLAGS to override potential
+# "DESTDIR=" entries in the Makefiles.
+#