support Phabricator on Ubuntu 22.04 LTS with PHP 8.1, using community form we.phorge.it version "2023 week 49";
authorwenzelm
Sun, 14 Jan 2024 20:55:58 +0100
changeset 79487 47272fac86d8
parent 79486 12e049905c0d
child 79488 62d8c6c08fb2
child 79490 b287510a4202
support Phabricator on Ubuntu 22.04 LTS with PHP 8.1, using community form we.phorge.it version "2023 week 49";
etc/options
src/Pure/System/linux.scala
src/Pure/Tools/phabricator.scala
--- a/etc/options	Sun Jan 14 13:59:13 2024 +0100
+++ b/etc/options	Sun Jan 14 20:55:58 2024 +0100
@@ -357,10 +357,10 @@
 
 section "Phabricator"
 
-option phabricator_version_arcanist : string = "85c953ebe4a6fef332158fd757d97c5a58682d3a"
+option phabricator_version_arcanist : string = "e46025f7a9146f9918bab9d6fbdf6ed1816db5b5"
   -- "repository version for arcanist"
 
-option phabricator_version_phabricator : string = "9426765a2c6a149f5b0ed2d9132cd1e4e7ee152d"
+option phabricator_version_phabricator : string = "2ba2cbaf9bbf8f88e910d3da0a3cd643e4879e8a"
   -- "repository version for phabricator"
 
 
--- a/src/Pure/System/linux.scala	Sun Jan 14 13:59:13 2024 +0100
+++ b/src/Pure/System/linux.scala	Sun Jan 14 20:55:58 2024 +0100
@@ -41,6 +41,7 @@
 
     def is_ubuntu: Boolean = id == "Ubuntu"
     def is_ubuntu_20_04: Boolean = is_ubuntu && release == "20.04"
+    def is_ubuntu_22_04: Boolean = is_ubuntu && release == "22.04"
   }
 
 
--- a/src/Pure/Tools/phabricator.scala	Sun Jan 14 13:59:13 2024 +0100
+++ b/src/Pure/Tools/phabricator.scala	Sun Jan 14 20:55:58 2024 +0100
@@ -31,10 +31,20 @@
       // mercurial build packages
       "make", "gcc", "python", "python2-dev", "python-docutils", "python-openssl")
 
+  val packages_ubuntu_22_04: List[String] =
+    Docker_Build.packages :::
+    List(
+      // https://secure.phabricator.com/source/phabricator/browse/master/scripts/install/install_ubuntu.sh 15e6e2adea61
+      "git", "mysql-server", "apache2", "libapache2-mod-php", "php", "php-mysql",
+      "php-gd", "php-curl", "php-apcu", "php-cli", "php-json", "php-mbstring",
+      // more packages
+      "php-xml", "php-zip", "python3-pygments", "ssh", "subversion")
+
   def packages: List[String] = {
     val release = Linux.Release()
     if (release.is_ubuntu_20_04) packages_ubuntu_20_04
-    else error("Bad Linux version: expected Ubuntu 20.04 LTS")
+    else if (release.is_ubuntu_22_04) packages_ubuntu_22_04
+    else error("Bad Linux version: expected Ubuntu 20.04 or 22.04 LTS")
   }
 
 
@@ -280,11 +290,11 @@
         set -e
         echo "Cloning distribution repositories:"
 
-        git clone --branch stable https://github.com/phacility/arcanist.git
+        git clone --branch stable https://we.phorge.it/source/arcanist.git
         git -C arcanist reset --hard """ +
           Bash.string(options.string("phabricator_version_arcanist")) + """
 
-        git clone --branch stable https://github.com/phacility/phabricator.git
+        git clone --branch stable https://we.phorge.it/source/phorge.git phabricator
         git -C phabricator reset --hard """ +
           Bash.string(options.string("phabricator_version_phabricator")) + """
       """).check