src/Pure/Tools/phabricator.scala
changeset 71269 7df5c110a43c
parent 71268 e2fb60756fb8
child 71270 3184dbad4d7d
equal deleted inserted replaced
71268:e2fb60756fb8 71269:7df5c110a43c
   199 
   199 
   200 
   200 
   201     /* users */
   201     /* users */
   202 
   202 
   203     if (name.contains((c: Char) => !(Symbol.is_ascii_letter(c) || Symbol.is_ascii_digit(c))) ||
   203     if (name.contains((c: Char) => !(Symbol.is_ascii_letter(c) || Symbol.is_ascii_digit(c))) ||
   204         Set("", "ssh", "phd", daemon_user).contains(name)) {
   204         Set("", "ssh", "phd", "dump", daemon_user).contains(name)) {
   205       error("Bad installation name: " + quote(name))
   205       error("Bad installation name: " + quote(name))
   206     }
   206     }
   207 
   207 
   208     user_setup(daemon_user, "Phabricator Daemon User", ssh_setup = true)
   208     user_setup(daemon_user, "Phabricator Daemon User", ssh_setup = true)
   209     user_setup(name, "Phabricator SSH User")
   209     user_setup(name, "Phabricator SSH User")
   313     config.execute("config set phabricator.cache-namespace " + Bash.string(mysql_name))
   313     config.execute("config set phabricator.cache-namespace " + Bash.string(mysql_name))
   314     config.execute("config set storage.default-namespace " + Bash.string(mysql_name))
   314     config.execute("config set storage.default-namespace " + Bash.string(mysql_name))
   315     config.execute("config set storage.mysql-engine.max-size 8388608")
   315     config.execute("config set storage.mysql-engine.max-size 8388608")
   316 
   316 
   317     progress.bash("bin/storage upgrade --force", cwd = config.home.file, echo = true).check
   317     progress.bash("bin/storage upgrade --force", cwd = config.home.file, echo = true).check
       
   318 
       
   319 
       
   320     /* database dump */
       
   321 
       
   322     val dump_name = isabelle_phabricator_name(name = "dump")
       
   323     val dump_command = Path.explode("/usr/local/bin") + Path.basic(dump_name)
       
   324 
       
   325     File.write(dump_command,
       
   326       global_config_script(header = true, body =
       
   327 """mkdir -p "$ROOT/database" && chown root:root "$ROOT/database" && chmod 700 "$ROOT/database"
       
   328 [ -e "$ROOT/database/dump.sql.gz" ] && mv -f "$ROOT/database/dump.sql.gz" "$ROOT/database/dump-old.sql.gz"
       
   329 echo "Creating $ROOT/database/dump.sql.gz"
       
   330 "$ROOT/phabricator/bin/storage" dump --compress --output "$ROOT/database/dump.sql.gz" 2>&1 | fgrep -v '[Warning] Using a password on the command line interface can be insecure' """))
       
   331     Isabelle_System.chmod("755", dump_command)
       
   332     Isabelle_System.chown("root:root", dump_command)
   318 
   333 
   319 
   334 
   320     /* PHP setup */
   335     /* PHP setup */
   321 
   336 
   322     val php_version =
   337     val php_version =