📄 installperms.am
字号:
# vim:ft=automake## Adjust post-install permissions settings. This rule works off two# specially-formatted variables, INSTALLPERMS_exec and INSTALLPERMS_data. # Each is a whitespace-separated list of commands, all of which are either# a variable assignment or a filename. Three variables are available:## - dest= sets the destination directory to e.g., $(sbindir)# - chown= controls changes in ownership; value is first argument to chown# - chmod= controls changes in permissions; value is first argument to chmod## As a special case, chown=amanda is taken as equivalent to # chown=$(BINARY_OWNER):$(SETUID_GROUP), which may otherwise have problems with# whitespace in the user/group names.# # when a filename is seen, the currently active variables are applied.## Note that scripts are data, not executables!## EXAMPLE## sbin_PROGRAMS = foo bar bing# libexec_PROGRAMS = pro gram# sbin_SCRIPTS = sk ript# INSTALLPERMS_exec = \# dest=$(sbindir) chown=amanda chmod= \# foo bar \# chmod=u+s,o-rwx \# bing# dest=$(libexecdir) chmod= \# $(libexec_PROGRAMS)# INSTALLPERMS_data = \# dest=$(sbindir) chown=amanda chmod= \# $(sbin_SCRIPTS)## This whole operation is not required when making builds for packaging,# and can be disabled with --disable-installperms, via the WANT_INSTALLPERMS# AM_CONDITIONAL.# sed expression to strip leading directories from a filename; this converts e.g.,# src/foo/bar.so to bar.so.strip_leading_dirs=s|^.*/||if WANT_INSTALLPERMSinstallperms-exec: @installperms="$(INSTALLPERMS_exec)"; \ test -n "$$installperms" && echo "Setting installation permissions on executables"; \ dest=; chown=; chmod=; \ for cmd in $$installperms; do \ case "$$cmd" in \ chown=amanda) \ echo " ($$cmd)"; chown="$(BINARY_OWNER):$(SETUID_GROUP)";; \ dest=*|chown=*|chmod=*) \ echo " ($$cmd)"; eval $$cmd;; \ *) pa="$(DESTDIR)$$dest"/`echo "$$cmd"|sed '$(strip_leading_dirs)'|sed '$(transform)'`; \ if test -n "$$chown"; then \ echo chown "$$chown" "$$pa"; \ chown "$$chown" "$$pa" || exit 1; \ fi; \ if test -n "$$chmod"; then \ echo chmod "$$chmod" "$$pa"; \ chmod "$$chmod" "$$pa" || exit 1; \ fi; \ esac; \ doneinstallperms-data: @installperms="$(INSTALLPERMS_data)"; \ test -n "$$installperms" && echo "Setting installation permissions on data"; \ dest=; chown=; chmod=; \ for cmd in $$installperms; do \ case "$$cmd" in \ chown=amanda) \ echo " ($$cmd)"; chown="$(BINARY_OWNER):$(SETUID_GROUP)";; \ dest=*|chown=*|chmod=*) \ echo " ($$cmd)"; eval $$cmd;; \ *) pa="$(DESTDIR)$$dest"/`echo "$$cmd"|sed '$(strip_leading_dirs)'|sed '$(transform)'`; \ if test -n "$$chown"; then \ echo chown "$$chown" "$$pa"; \ chown "$$chown" "$$pa" || exit 1; \ fi; \ if test -n "$$chmod"; then \ echo chmod "$$chmod" "$$pa"; \ chmod "$$chmod" "$$pa" || exit 1; \ fi; \ esac; \ doneinstall-exec-hook: installperms-execinstall-data-hook: installperms-dataendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -