summaryrefslogtreecommitdiff
path: root/mk/dirs.mk
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2006-04-25 19:54:39 +0000
committerjlam <jlam@pkgsrc.org>2006-04-25 19:54:39 +0000
commitede4976eb92f1c89fd34dc8908a50d8f4b2b490c (patch)
treedaa56ac17fcede1576b6c565b3b389b7639ba546 /mk/dirs.mk
parent5875fd647ac192d9300c034e02c84e294d30dde4 (diff)
downloadpkgsrc-ede4976eb92f1c89fd34dc8908a50d8f4b2b490c.tar.gz
First try at fixing a deficiency in the package +INSTALL scripts,
where they don't verify that any pre-existing config files and directories have the correct permissions. For example, if you are upgrading a package to a newer version and the config files and directories used by the package need to have different permissions than in previous versions of the package, then the new package may fail to work because it can't access pre-existing files and directories. This commit improves on this by doing the following: (1) Teach the +FILES and +DIRS scriptlets two new actions "PERMS" and "CHECK-PERMS". "PERMS" fixes permissions on existing files and directories. "CHECK-PERMS" will verify those same bits and warn the user when they are wrong. The "CHECK-PERMS" actions for the two scriptlets are run immediately after the "ADD" actions. (2) Add a new variable PKG_CONFIG_PERMS that controls whether the "PERMS" action will automatically fix permissions. PKG_CONFIG_PERMS is only consulted if PKG_CONFIG is "yes". PKG_CONFIG_PERMS can be set in the shell environment when running pkg_add, e.g.: export PKG_CONFIG=yes export PKG_CONFIG_PERMS=yes pkg_add /path/to/binary/package.tgz The default value of PKG_CONFIG_PERMS embedded into the +INSTALL script may also be set in /etc/mk.conf. This value defaults to "no", so that by default, the +INSTALL script will not modify or destroy any existing configuration files or directories. The +INSTALL script will now always warn you if there are files or directories whose permissions differ from what the package is expecting to use, and if PKG_CONFIG_PERMS is set to "yes", then it will go ahead and fix those permissions for you automatically.
Diffstat (limited to 'mk/dirs.mk')
0 files changed, 0 insertions, 0 deletions