support Phabricator on Ubuntu 22.04 LTS with PHP 8.1, using community form we.phorge.it version "2023 week 49";
--- 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