more options;
authorwenzelm
Tue, 05 Nov 2019 14:28:00 +0100
changeset 71047 87c132cf5860
parent 71046 b8aeeedf7e68
child 71048 5f02ecbb19d6
more options;
src/Pure/Tools/phabricator.scala
--- a/src/Pure/Tools/phabricator.scala	Tue Nov 05 14:16:16 2019 +0100
+++ b/src/Pure/Tools/phabricator.scala	Tue Nov 05 14:28:00 2019 +0100
@@ -83,14 +83,17 @@
     prefix: String = "",
     root: String = "",
     repo: String = "",
+    package_update: Boolean = false,
     progress: Progress = No_Progress)
   {
     /* system environment */
 
     Linux.check_system_root()
 
-    Linux.package_update(progress = progress)
-    Linux.check_reboot_required()
+    if (package_update) {
+      Linux.package_update(progress = progress)
+      Linux.check_reboot_required()
+    }
 
     Linux.package_install(packages, progress = progress)
     Linux.check_reboot_required()
@@ -189,10 +192,11 @@
   val isabelle_tool1 =
     Isabelle_Tool("phabricator_setup", "setup Phabricator server on Ubuntu Linux", args =>
     {
+      var repo = ""
+      var package_update = false
       var options = Options.init()
       var prefix = ""
       var root = ""
-      var repo = ""
 
       val getopts =
         Getopts("""
@@ -200,6 +204,7 @@
 
   Options are:
     -R DIR       repository directory (default: """ + default_repo(options, "NAME") + """)
+    -U           full update of system packages before installation
     -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)
     -p PREFIX    prefix for derived names (default: """ + default_prefix("NAME") + """)
     -r DIR       installation root directory (default: """ + default_root(options, "NAME") + """)
@@ -213,6 +218,7 @@
   a regular Unix user and used for public SSH access.
 """,
           "R:" -> (arg => repo = arg),
+          "U" -> (_ => package_update = true),
           "o:" -> (arg => options = options + arg),
           "p:" -> (arg => prefix = arg),
           "r:" -> (arg => root = arg))
@@ -229,7 +235,7 @@
       val progress = new Console_Progress
 
       phabricator_setup(options, name, prefix = prefix, root = root, repo = repo,
-        progress = progress)
+        package_update = package_update, progress = progress)
     })