# HG changeset patch # User wenzelm # Date 1705262158 -3600 # Node ID 47272fac86d81da8eb7ddc1df63aaea6ade84c66 # Parent 12e049905c0d0bdf1390730cfa13e7eec53158b4 support Phabricator on Ubuntu 22.04 LTS with PHP 8.1, using community form we.phorge.it version "2023 week 49"; diff -r 12e049905c0d -r 47272fac86d8 etc/options --- 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" diff -r 12e049905c0d -r 47272fac86d8 src/Pure/System/linux.scala --- 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" } diff -r 12e049905c0d -r 47272fac86d8 src/Pure/Tools/phabricator.scala --- 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