Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
opamScript.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
(* THIS FILE IS AUTOMATICALLY GENERATED, EDIT ../Makefile INSTEAD *) let bwrap = "#!/bin/bash -ue\n\nif ! command -v bwrap >/dev/null; then\n echo \"The 'bwrap' command was not found. Install 'bubblewrap' on your system, or\" >&2\n echo \"disable sandboxing in ${OPAMROOT:-~/.opam}/config at your own risk.\" >&2\n echo \"See https://github.com/projectatomic/bubblewrap for bwrap details.\" >&2\n echo \"For 'bwrap' use in opam, see the FAQ:\" >&2\n echo \" https://opam.ocaml.org/doc/2.0/FAQ.html#Why-does-opam-require-bwrap\" >&2\n exit 10\nfi\n\nARGS=(--unshare-net --new-session)\nARGS=(\"${ARGS[@]}\" --proc /proc --dev /dev)\nARGS=(\"${ARGS[@]}\" --bind /tmp /tmp --tmpfs /run --tmpfs /var)\n\nadd_mounts() {\n case \"$1\" in\n ro) B=\"--ro-bind\";;\n rw) B=\"--bind\";;\n esac\n for dir in \"$@\"; do\n [ -d \"$dir\" ] && ARGS=(\"${ARGS[@]}\" \"$B\" \"$dir\" \"$dir\")\n done\n}\n\nadd_mounts ro /usr /bin /lib /lib32 /lib64 /etc /opt /nix/store /rw/usrlocal /home\n\n# C compilers using `ccache` will write to a shared cache directory\n# that remain writeable. ccache seems widespread in some Fedora systems.\nadd_ccache_mount() {\n if command -v ccache > /dev/null; then\n CCACHE_DIR=$HOME/.ccache\n ccache_dir_regex='cache_dir = (.*)$'\n local IFS=$'\\n'\n for f in $(ccache --print-config 2>/dev/null); do\n if [[ $f =~ $ccache_dir_regex ]]; then\n CCACHE_DIR=${BASH_REMATCH[1]}\n fi\n done\n add_mounts rw $CCACHE_DIR\n fi\n}\n\n# This case-switch should remain identical between the different sandbox implems\nCOMMAND=\"$1\"; shift\ncase \"$COMMAND\" in\n build)\n add_mounts ro \"$OPAM_SWITCH_PREFIX\"\n add_mounts rw \"$PWD\"\n add_ccache_mount\n ;;\n install)\n add_mounts rw \"$OPAM_SWITCH_PREFIX\"\n add_mounts ro \"$OPAM_SWITCH_PREFIX/.opam-switch\"\n add_mounts rw \"$PWD\"\n ;;\n remove)\n add_mounts rw \"$OPAM_SWITCH_PREFIX\"\n add_mounts ro \"$OPAM_SWITCH_PREFIX/.opam-switch\"\n [ \"X${PWD#$OPAM_SWITCH_PREFIX}/.opam-switch/\" != \"X${PWD}\" ] && add_mounts rw \"$PWD\"\n ;;\n *)\n echo \"$0: unknown command $COMMAND, must be one of 'build', 'install' or 'remove'\" >&2\n exit 2\nesac\n\n# Note: we assume $1 can be trusted, see https://github.com/projectatomic/bubblewrap/issues/259\nexec bwrap \"${ARGS[@]}\" \"$@\"\n" let complete = "if [ -z \"$BASH_VERSION\" ]; then return 0; fi\n\n_opam_add()\n{\n IFS=$'\\n' _opam_reply+=(\"$@\")\n}\n\n_opam_add_f()\n{\n local cmd\n cmd=$1; shift\n _opam_add \"$($cmd \"$@\" 2>/dev/null)\"\n}\n\n_opam_flags()\n{\n opam \"$@\" --help=groff 2>/dev/null | \\\n sed -n \\\n -e 's%\\\\-\\|\\\\N'\"'45'\"'%-%g' \\\n -e 's%, \\\\fB%\\n\\\\fB%g' \\\n -e '/^\\\\fB-/p' | \\\n sed -e 's%^\\\\fB\\(-[^\\\\]*\\).*%\\1%'\n}\n\n_opam_commands()\n{\n opam \"$@\" --help=groff 2>/dev/null | \\\n sed -n \\\n -e 's%\\\\-\\|\\\\N'\"'45'\"'%-%g' \\\n -e '/^\\.SH COMMANDS$/,/^\\.SH/ s%^\\\\fB\\([^,= ]*\\)\\\\fR.*%\\1%p'\n echo '--help'\n}\n\n_opam_vars()\n{\n opam config list --safe 2>/dev/null | \\\n sed -n \\\n -e '/^PKG:/d' \\\n -e 's%^\\([^#= ][^ ]*\\).*%\\1%p'\n}\n\n_opam_argtype()\n{\n local cmd flag\n cmd=\"$1\"; shift\n flag=\"$1\"; shift\n case \"$flag\" in\n -*)\n opam \"$cmd\" --help=groff 2>/dev/null | \\\n sed -n \\\n -e 's%\\\\-\\|\\\\N'\"'45'\"'%-%g' \\\n -e 's%.*\\\\fB'\"$flag\"'\\\\fR[= ]\\\\fI\\([^, ]*\\)\\\\fR.*%\\1%p'\n ;;\n esac\n}\n\n_opam()\n{\n local IFS cmd subcmd cur prev compgen_opt\n\n COMPREPLY=()\n cmd=${COMP_WORDS[1]}\n subcmd=${COMP_WORDS[2]}\n cur=${COMP_WORDS[COMP_CWORD]}\n prev=${COMP_WORDS[COMP_CWORD-1]}\n compgen_opt=()\n _opam_reply=()\n\n if [ $COMP_CWORD -eq 1 ]; then\n _opam_add_f opam help topics\n COMPREPLY=( $(compgen -W \"${_opam_reply[*]}\" -- $cur) )\n unset _opam_reply\n return 0\n fi\n\n case \"$(_opam_argtype $cmd $prev)\" in\n LEVEL|JOBS|RANK) _opam_add 1 2 3 4 5 6 7 8 9;;\n FILE|FILENAME) compgen_opt+=(-o filenames -f);;\n DIR|ROOT) compgen_opt+=(-o filenames -d);;\n MAKE|CMD) compgen_opt+=(-c);;\n KIND) _opam_add http local git darcs hg;;\n WHEN) _opam_add always never auto;;\n SWITCH|SWITCHES) _opam_add_f opam switch list --safe -s;;\n COLUMNS|FIELDS)\n _opam_add name version package synopsis synopsis-or-target \\\n description installed-version pin source-hash \\\n opam-file all-installed-versions available-versions \\\n all-versions repository installed-files vc-ref depexts;;\n PACKAGE|PACKAGES|PKG|PATTERN|PATTERNS)\n _opam_add_f opam list --safe -A -s;;\n FLAG) _opam_add light-uninstall verbose plugin compiler conf;;\n REPOS) _opam_add_f opam repository list --safe -s -a;;\n SHELL) _opam_add bash sh csh zsh fish;;\n TAGS) ;;\n CRITERIA) ;;\n STRING) ;;\n URL)\n compgen_opt+=(-o filenames -d)\n _opam_add \"https://\" \"http://\" \"file://\" \\\n \"git://\" \"git+file://\" \"git+ssh://\" \"git+https://\" \\\n \"hg+file://\" \"hg+ssh://\" \"hg+https://\" \\\n \"darcs+file://\" \"darcs+ssh://\" \"darcs+https://\";;\n \"\")\n case \"$cmd\" in\n install|show|info|inst|ins|in|i|inf|sh)\n _opam_add_f opam list --safe -a -s\n if [ $COMP_CWORD -gt 2 ]; then\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n reinstall|remove|uninstall|reinst|remov|uninst|unins)\n _opam_add_f opam list --safe -i -s\n if [ $COMP_CWORD -gt 2 ]; then\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n upgrade|upg)\n _opam_add_f opam list --safe -i -s\n _opam_add_f _opam_flags \"$cmd\"\n ;;\n switch|sw)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\"\n _opam_add_f opam switch list --safe -s;;\n 3)\n case \"$subcmd\" in\n create|install)\n _opam_add_f opam switch list-available --safe -s -a;;\n set|remove|reinstall)\n _opam_add_f opam switch list --safe -s;;\n import|export)\n compgen_opt+=(-o filenames -f);;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n config|conf|c)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\";;\n 3)\n case \"$subcmd\" in\n var) _opam_add_f _opam_vars;;\n exec) compgen_opt+=(-c);;\n *) _opam_add_f _opam_flags \"$cmd\"\n esac;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n repository|remote|repos|repo)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\";;\n 3)\n case \"$subcmd\" in\n list)\n _opam_add_f _opam_flags \"$cmd\";;\n *)\n _opam_add_f opam repository list --safe -a -s\n esac;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n case \"$subcmd\" in\n set-url|add) compgen_opt+=(-o filenames -f);;\n set-repos) _opam_add_f opam repository list --safe -a -s;;\n esac;;\n esac;;\n update|upd)\n _opam_add_f opam repository list --safe -s\n _opam_add_f opam pin list --safe -s\n _opam_add_f _opam_flags \"$cmd\"\n ;;\n source|so)\n if [ $COMP_CWORD -eq 2 ]; then\n _opam_add_f opam list --safe -A -s\n else\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n pin)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\";;\n 3)\n case \"$subcmd\" in\n add)\n compgen_opt+=(-o filenames -d)\n _opam_add_f opam list --safe -A -s;;\n remove|edit)\n _opam_add_f opam pin list --safe -s;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n *)\n case \"$subcmd\" in\n add)\n compgen_opt+=(-o filenames -d);;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac\n esac;;\n unpin)\n if [ $COMP_CWORD -eq 2 ]; then\n _opam_add_f opam pin list --safe -s\n else\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n var|v)\n if [ $COMP_CWORD -eq 2 ]; then _opam_add_f _opam_vars\n else _opam_add_f _opam_flags \"$cmd\"; fi;;\n exec|e)\n if [ $COMP_CWORD -eq 2 ]; then compgen_opt+=(-c)\n else _opam_add_f _opam_flags \"$cmd\"; fi;;\n lint|build)\n if [ $COMP_CWORD -eq 2 ]; then\n compgen_opt+=(-f -X '!*opam' -o plusdirs)\n else _opam_add_f _opam_flags \"$cmd\"; fi;;\n admin)\n if [ $COMP_CWORD -eq 2 ]; then\n _opam_add_f _opam_commands \"$cmd\"\n else _opam_add_f _opam_flags \"$cmd\" \"$subcmd\"; fi;;\n *)\n _opam_add_f _opam_commands \"$cmd\"\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n esac\n\n COMPREPLY=($(compgen -W \"${_opam_reply[*]}\" \"${compgen_opt[@]}\" -- \"$cur\"))\n unset _opam_reply\n return 0\n}\n\ncomplete -F _opam opam\n" let complete_zsh = "#compdef opam\n\nif [ -z \"$ZSH_VERSION\" ]; then return 0; fi\n\n_opam_add()\n{\n IFS=$'\\n' _opam_reply+=(\"$@\")\n}\n\n_opam_add_f()\n{\n local cmd\n cmd=$1; shift\n _opam_add \"$($cmd \"$@\" 2>/dev/null)\"\n}\n\n_opam_flags()\n{\n opam \"$@\" --help=groff 2>/dev/null | \\\n sed -n \\\n -e 's%\\\\-\\|\\\\N'\"'45'\"'%-%g' \\\n -e 's%, \\\\fB%\\n\\\\fB%g' \\\n -e '/^\\\\fB-/p' | \\\n sed -e 's%^\\\\fB\\(-[^\\\\]*\\).*%\\1%'\n}\n\n_opam_commands()\n{\n opam \"$@\" --help=groff 2>/dev/null | \\\n sed -n \\\n -e 's%\\\\-\\|\\\\N'\"'45'\"'%-%g' \\\n -e '/^\\.SH COMMANDS$/,/^\\.SH/ s%^\\\\fB\\([^,= ]*\\)\\\\fR.*%\\1%p'\n echo '--help'\n}\n\n_opam_vars()\n{\n opam config list --safe 2>/dev/null | \\\n sed -n \\\n -e '/^PKG:/d' \\\n -e 's%^\\([^#= ][^ ]*\\).*%\\1%p'\n}\n\n_opam_argtype()\n{\n local cmd flag\n cmd=\"$1\"; shift\n flag=\"$1\"; shift\n case \"$flag\" in\n -*)\n opam \"$cmd\" --help=groff 2>/dev/null | \\\n sed -n \\\n -e 's%\\\\-\\|\\\\N'\"'45'\"'%-%g' \\\n -e 's%.*\\\\fB'\"$flag\"'\\\\fR[= ]\\\\fI\\([^, ]*\\)\\\\fR.*%\\1%p'\n ;;\n esac\n}\n\n_opam()\n{\n local IFS cmd subcmd cur prev compgen_opt\n\n COMPREPLY=()\n cmd=${COMP_WORDS[1]}\n subcmd=${COMP_WORDS[2]}\n cur=${COMP_WORDS[COMP_CWORD]}\n prev=${COMP_WORDS[COMP_CWORD-1]}\n compgen_opt=()\n _opam_reply=()\n\n if [ $COMP_CWORD -eq 1 ]; then\n _opam_add_f opam help topics\n COMPREPLY=( $(compgen -W \"${_opam_reply[*]}\" -- $cur) )\n unset _opam_reply\n return 0\n fi\n\n case \"$(_opam_argtype $cmd $prev)\" in\n LEVEL|JOBS|RANK) _opam_add 1 2 3 4 5 6 7 8 9;;\n FILE|FILENAME) compgen_opt+=(-o filenames -f);;\n DIR|ROOT) compgen_opt+=(-o filenames -d);;\n MAKE|CMD) compgen_opt+=(-c);;\n KIND) _opam_add http local git darcs hg;;\n WHEN) _opam_add always never auto;;\n SWITCH|SWITCHES) _opam_add_f opam switch list --safe -s;;\n COLUMNS|FIELDS)\n _opam_add name version package synopsis synopsis-or-target \\\n description installed-version pin source-hash \\\n opam-file all-installed-versions available-versions \\\n all-versions repository installed-files vc-ref depexts;;\n PACKAGE|PACKAGES|PKG|PATTERN|PATTERNS)\n _opam_add_f opam list --safe -A -s;;\n FLAG) _opam_add light-uninstall verbose plugin compiler conf;;\n REPOS) _opam_add_f opam repository list --safe -s -a;;\n SHELL) _opam_add bash sh csh zsh fish;;\n TAGS) ;;\n CRITERIA) ;;\n STRING) ;;\n URL)\n compgen_opt+=(-o filenames -d)\n _opam_add \"https://\" \"http://\" \"file://\" \\\n \"git://\" \"git+file://\" \"git+ssh://\" \"git+https://\" \\\n \"hg+file://\" \"hg+ssh://\" \"hg+https://\" \\\n \"darcs+file://\" \"darcs+ssh://\" \"darcs+https://\";;\n \"\")\n case \"$cmd\" in\n install|show|info|inst|ins|in|i|inf|sh)\n _opam_add_f opam list --safe -a -s\n if [ $COMP_CWORD -gt 2 ]; then\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n reinstall|remove|uninstall|reinst|remov|uninst|unins)\n _opam_add_f opam list --safe -i -s\n if [ $COMP_CWORD -gt 2 ]; then\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n upgrade|upg)\n _opam_add_f opam list --safe -i -s\n _opam_add_f _opam_flags \"$cmd\"\n ;;\n switch|sw)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\"\n _opam_add_f opam switch list --safe -s;;\n 3)\n case \"$subcmd\" in\n create|install)\n _opam_add_f opam switch list-available --safe -s -a;;\n set|remove|reinstall)\n _opam_add_f opam switch list --safe -s;;\n import|export)\n compgen_opt+=(-o filenames -f);;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n config|conf|c)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\";;\n 3)\n case \"$subcmd\" in\n var) _opam_add_f _opam_vars;;\n exec) compgen_opt+=(-c);;\n *) _opam_add_f _opam_flags \"$cmd\"\n esac;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n repository|remote|repos|repo)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\";;\n 3)\n case \"$subcmd\" in\n list)\n _opam_add_f _opam_flags \"$cmd\";;\n *)\n _opam_add_f opam repository list --safe -a -s\n esac;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n case \"$subcmd\" in\n set-url|add) compgen_opt+=(-o filenames -f);;\n set-repos) _opam_add_f opam repository list --safe -a -s;;\n esac;;\n esac;;\n update|upd)\n _opam_add_f opam repository list --safe -s\n _opam_add_f opam pin list --safe -s\n _opam_add_f _opam_flags \"$cmd\"\n ;;\n source|so)\n if [ $COMP_CWORD -eq 2 ]; then\n _opam_add_f opam list --safe -A -s\n else\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n pin)\n case $COMP_CWORD in\n 2)\n _opam_add_f _opam_commands \"$cmd\";;\n 3)\n case \"$subcmd\" in\n add)\n compgen_opt+=(-o filenames -d)\n _opam_add_f opam list --safe -A -s;;\n remove|edit)\n _opam_add_f opam pin list --safe -s;;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n *)\n case \"$subcmd\" in\n add)\n compgen_opt+=(-o filenames -d);;\n *)\n _opam_add_f _opam_flags \"$cmd\"\n esac\n esac;;\n unpin)\n if [ $COMP_CWORD -eq 2 ]; then\n _opam_add_f opam pin list --safe -s\n else\n _opam_add_f _opam_flags \"$cmd\"\n fi;;\n var|v)\n if [ $COMP_CWORD -eq 2 ]; then _opam_add_f _opam_vars\n else _opam_add_f _opam_flags \"$cmd\"; fi;;\n exec|e)\n if [ $COMP_CWORD -eq 2 ]; then compgen_opt+=(-c)\n else _opam_add_f _opam_flags \"$cmd\"; fi;;\n lint|build)\n if [ $COMP_CWORD -eq 2 ]; then\n compgen_opt+=(-f -X '!*opam' -o plusdirs)\n else _opam_add_f _opam_flags \"$cmd\"; fi;;\n admin)\n if [ $COMP_CWORD -eq 2 ]; then\n _opam_add_f _opam_commands \"$cmd\"\n else _opam_add_f _opam_flags \"$cmd\" \"$subcmd\"; fi;;\n *)\n _opam_add_f _opam_commands \"$cmd\"\n _opam_add_f _opam_flags \"$cmd\"\n esac;;\n esac\n\n COMPREPLY=($(compgen -W \"${_opam_reply[*]}\" \"${compgen_opt[@]}\" -- \"$cur\"))\n unset _opam_reply\n return 0\n}\n\nautoload bashcompinit\nbashcompinit\ncomplete -F _opam opam\n" let env_hook_csh = "alias precmd 'eval `opam env --shell=csh --readonly`'\n" let env_hook_fish = "function __opam_env_export_eval --on-event fish_prompt;\n eval (opam env --shell=fish --readonly ^ /dev/null);\nend\n" let env_hook = "_opam_env_hook() {\n local previous_exit_status=$?;\n eval $(opam env --shell=bash --readonly 2> /dev/null);\n return $previous_exit_status;\n};\nif ! [[ \"$PROMPT_COMMAND\" =~ _opam_env_hook ]]; then\n PROMPT_COMMAND=\"_opam_env_hook;$PROMPT_COMMAND\";\nfi\n" let env_hook_zsh = "_opam_env_hook() {\n eval $(opam env --shell=zsh --readonly 2> /dev/null);\n}\ntypeset -ag precmd_functions;\nif [[ -z ${precmd_functions[(r)_opam_env_hook]} ]]; then\n precmd_functions+=_opam_env_hook;\nfi\n" let prompt = "# This script allows you to see the active opam switch in your prompt. It\n# should be portable across all shells in common use.\n#\n# To enable, change your PS1 to call _opam_ps1 using command substitution. For\n# example, in bash:\n#\n# PS1=\"$(__opam_ps1 \"(%s)\")\\u@\\h:\\w\\$ \"\n#\n\n__opam_ps1()\n{\n local exit=$?\n local printf_format='(%s)'\n\n case \"$#\" in\n 0|1) printf_format=\"${1:-$printf_format}\"\n ;;\n *) return $exit\n ;;\n esac\n\n local switch_name=\"$(opam switch show --safe 2>/dev/null)\"\n if [ -z \"$switch_name\" ]; then\n return $exit\n fi\n printf -- \"$printf_format\" \"$switch_name\"\n return $exit\n}\n" let sandbox_exec = "#!/usr/bin/env bash\nset -ue\n\nPOL='(version 1)(allow default)(deny network*)(deny file-write*)'\nPOL=\"$POL\"'(allow file-write* (literal \"/dev/null\"))'\n\nadd_mounts() {\n local DIR=\"$(cd \"$2\" && pwd -P)\"\n case \"$1\" in\n ro) POL=\"$POL\"'(deny file-write* (subpath \"'\"$DIR\"'\"))';;\n rw) POL=\"$POL\"'(allow file-write* (subpath \"'\"$DIR\"'\"))';;\n esac\n}\n\nadd_mounts rw \"${TMPDIR:-/tmp}\"\n\n# C compilers using `ccache` will write to a shared cache directory\n# that remain writeable. ccache seems widespread in some Fedora systems.\nadd_ccache_mount() {\n if command -v ccache > /dev/null; then\n CCACHE_DIR=$HOME/.ccache\n ccache_dir_regex='cache_dir = (.*)$'\n local IFS=$'\\n'\n for f in $(ccache --print-config 2>/dev/null); do\n if [[ $f =~ $ccache_dir_regex ]]; then\n CCACHE_DIR=${BASH_REMATCH[1]}\n fi\n done\n add_mounts rw $CCACHE_DIR\n fi\n}\n\n# This case-switch should remain identical between the different sandbox implems\nCOMMAND=\"$1\"; shift\ncase \"$COMMAND\" in\n build)\n add_mounts ro \"$OPAM_SWITCH_PREFIX\"\n add_mounts rw \"$PWD\"\n add_ccache_mount\n ;;\n install)\n add_mounts rw \"$OPAM_SWITCH_PREFIX\"\n add_mounts ro \"$OPAM_SWITCH_PREFIX/.opam-switch\"\n add_mounts rw \"$PWD\"\n ;;\n remove)\n add_mounts rw \"$OPAM_SWITCH_PREFIX\"\n add_mounts ro \"$OPAM_SWITCH_PREFIX/.opam-switch\"\n [ \"X${PWD#$OPAM_SWITCH_PREFIX/.opam-switch}\" != \"X${PWD}\" ] && add_mounts rw \"$PWD\"\n ;;\n *)\n echo \"$0: unknown command $COMMAND, must be one of 'build', 'install' or 'remove'\" >&2\n exit 2\nesac\n\nexec sandbox-exec -p \"$POL\" \"$@\"\n"