mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
install: Support Ubuntu 24.04.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
59b0548433
commit
066ea3ebf9
5
.github/workflows/production-suite.yml
vendored
5
.github/workflows/production-suite.yml
vendored
@@ -145,6 +145,11 @@ jobs:
|
|||||||
os: jammy
|
os: jammy
|
||||||
extra-args: ""
|
extra-args: ""
|
||||||
|
|
||||||
|
- docker_image: zulip/ci:noble
|
||||||
|
name: Ubuntu 24.04 production install
|
||||||
|
os: noble
|
||||||
|
extra-args: ""
|
||||||
|
|
||||||
- docker_image: zulip/ci:bullseye
|
- docker_image: zulip/ci:bullseye
|
||||||
name: Debian 11 production install with custom db name and user
|
name: Debian 11 production install with custom db name and user
|
||||||
os: bullseye
|
os: bullseye
|
||||||
|
6
.github/workflows/zulip-ci.yml
vendored
6
.github/workflows/zulip-ci.yml
vendored
@@ -54,6 +54,12 @@ jobs:
|
|||||||
os: bookworm
|
os: bookworm
|
||||||
include_documentation_tests: false
|
include_documentation_tests: false
|
||||||
include_frontend_tests: false
|
include_frontend_tests: false
|
||||||
|
# Ubuntu 24.04 ships with Python 3.12.2.
|
||||||
|
- docker_image: zulip/ci:noble
|
||||||
|
name: Ubuntu 24.04 (Python 3.12, backend)
|
||||||
|
os: noble
|
||||||
|
include_documentation_tests: false
|
||||||
|
include_frontend_tests: false
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: ${{ matrix.name }}
|
name: ${{ matrix.name }}
|
||||||
|
@@ -19,7 +19,7 @@ One can install the Zulip development environment directly on a Linux
|
|||||||
host by following these instructions. Currently supported platforms
|
host by following these instructions. Currently supported platforms
|
||||||
are:
|
are:
|
||||||
|
|
||||||
- Ubuntu 20.04, 22.04
|
- Ubuntu 20.04, 22.04, 24.04
|
||||||
- Debian 11, 12
|
- Debian 11, 12
|
||||||
- CentOS 7 (beta)
|
- CentOS 7 (beta)
|
||||||
- Fedora 38 (beta)
|
- Fedora 38 (beta)
|
||||||
|
@@ -50,7 +50,7 @@ a proxy to access the internet.)
|
|||||||
- **All**: 2GB available RAM, Active broadband internet connection,
|
- **All**: 2GB available RAM, Active broadband internet connection,
|
||||||
[GitHub account](#step-0-set-up-git--github).
|
[GitHub account](#step-0-set-up-git--github).
|
||||||
- **macOS**: macOS (10.11 El Capitan or newer recommended)
|
- **macOS**: macOS (10.11 El Capitan or newer recommended)
|
||||||
- **Ubuntu LTS**: 20.04 or 22.04
|
- **Ubuntu LTS**: 20.04, 22.04, or 24.04
|
||||||
- **Debian**: 11 or 12
|
- **Debian**: 11 or 12
|
||||||
- **Fedora**: tested for 36
|
- **Fedora**: tested for 36
|
||||||
- **Windows**: Windows 64-bit (Windows 10 recommended), hardware
|
- **Windows**: Windows 64-bit (Windows 10 recommended), hardware
|
||||||
|
@@ -6,6 +6,7 @@ To run a Zulip server, you will need:
|
|||||||
- A supported OS:
|
- A supported OS:
|
||||||
- Ubuntu 20.04
|
- Ubuntu 20.04
|
||||||
- Ubuntu 22.04
|
- Ubuntu 22.04
|
||||||
|
- Ubuntu 24.04
|
||||||
- Debian 11
|
- Debian 11
|
||||||
- Debian 12
|
- Debian 12
|
||||||
- A supported CPU architecture:
|
- A supported CPU architecture:
|
||||||
@@ -37,7 +38,7 @@ on issues you'll encounter](install-existing-server.md).
|
|||||||
|
|
||||||
#### Operating system
|
#### Operating system
|
||||||
|
|
||||||
Ubuntu 20.04, Ubuntu 22.04, Debian 11, and Debian 12
|
Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, Debian 11, and Debian 12
|
||||||
are supported for running Zulip in production. You can also
|
are supported for running Zulip in production. You can also
|
||||||
run Zulip on other platforms that support Docker using
|
run Zulip on other platforms that support Docker using
|
||||||
[docker-zulip][docker-zulip-homepage].
|
[docker-zulip][docker-zulip-homepage].
|
||||||
|
@@ -231,7 +231,7 @@ if [ -f /etc/os-release ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case "$os_id $os_version_id" in
|
case "$os_id $os_version_id" in
|
||||||
'debian 11' | 'debian 12' | 'ubuntu 20.04' | 'ubuntu 22.04') ;;
|
'debian 11' | 'debian 12' | 'ubuntu 20.04' | 'ubuntu 22.04' | 'ubuntu 24.04') ;;
|
||||||
*)
|
*)
|
||||||
system_requirements_failure <<EOF
|
system_requirements_failure <<EOF
|
||||||
Unsupported OS release: $os_id $os_version_id
|
Unsupported OS release: $os_id $os_version_id
|
||||||
@@ -241,6 +241,7 @@ Zulip in production is supported only on:
|
|||||||
- Debian 12
|
- Debian 12
|
||||||
- Ubuntu 20.04 LTS
|
- Ubuntu 20.04 LTS
|
||||||
- Ubuntu 22.04 LTS
|
- Ubuntu 22.04 LTS
|
||||||
|
- Ubuntu 24.04 LTS
|
||||||
EOF
|
EOF
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@@ -28,6 +28,11 @@ if [[ ! -e /usr/share/doc/groonga-apt-source/copyright ]]; then
|
|||||||
read -r release
|
read -r release
|
||||||
} <<<"$os_info"
|
} <<<"$os_info"
|
||||||
|
|
||||||
|
if [ "$distribution" = ubuntu ] && [ "$release" = noble ]; then
|
||||||
|
# PGroonga binaries are not yet provided for Ubuntu 24.04.
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$distribution" = debian ] && [ "$release" = bookworm ]; then
|
if [ "$distribution" = debian ] && [ "$release" = bookworm ]; then
|
||||||
# As of Debian 12, the Groonga repository depends on the
|
# As of Debian 12, the Groonga repository depends on the
|
||||||
# Apache Arrow repository.
|
# Apache Arrow repository.
|
||||||
|
2
scripts/setup/apt-repos/zulip/noble.list
Normal file
2
scripts/setup/apt-repos/zulip/noble.list
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
deb http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main
|
||||||
|
deb-src http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main
|
@@ -3,5 +3,6 @@ set -eux
|
|||||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||||
docker build . --build-arg=BASE_IMAGE=ubuntu:20.04 --pull --tag=zulip/ci:focal
|
docker build . --build-arg=BASE_IMAGE=ubuntu:20.04 --pull --tag=zulip/ci:focal
|
||||||
docker build . --build-arg=BASE_IMAGE=ubuntu:22.04 --pull --tag=zulip/ci:jammy
|
docker build . --build-arg=BASE_IMAGE=ubuntu:22.04 --pull --tag=zulip/ci:jammy
|
||||||
|
docker build . --build-arg=BASE_IMAGE=ubuntu:24.04 --pull --tag=zulip/ci:noble
|
||||||
docker build . --build-arg=BASE_IMAGE=debian:11 --pull --tag=zulip/ci:bullseye
|
docker build . --build-arg=BASE_IMAGE=debian:11 --pull --tag=zulip/ci:bullseye
|
||||||
docker build . --build-arg=BASE_IMAGE=debian:12 --pull --tag=zulip/ci:bookworm
|
docker build . --build-arg=BASE_IMAGE=debian:12 --pull --tag=zulip/ci:bookworm
|
||||||
|
@@ -86,6 +86,8 @@ elif vendor == "ubuntu" and os_version == "21.10": # impish
|
|||||||
POSTGRESQL_VERSION = "13"
|
POSTGRESQL_VERSION = "13"
|
||||||
elif vendor == "ubuntu" and os_version == "22.04": # jammy
|
elif vendor == "ubuntu" and os_version == "22.04": # jammy
|
||||||
POSTGRESQL_VERSION = "14"
|
POSTGRESQL_VERSION = "14"
|
||||||
|
elif vendor == "ubuntu" and os_version == "24.04": # noble
|
||||||
|
POSTGRESQL_VERSION = "16"
|
||||||
elif vendor == "neon" and os_version == "20.04": # KDE Neon
|
elif vendor == "neon" and os_version == "20.04": # KDE Neon
|
||||||
POSTGRESQL_VERSION = "12"
|
POSTGRESQL_VERSION = "12"
|
||||||
elif vendor == "fedora" and os_version == "38":
|
elif vendor == "fedora" and os_version == "38":
|
||||||
@@ -126,11 +128,8 @@ UBUNTU_COMMON_APT_DEPENDENCIES = [
|
|||||||
"default-jre-headless", # Required by vnu-jar
|
"default-jre-headless", # Required by vnu-jar
|
||||||
# Puppeteer dependencies from here
|
# Puppeteer dependencies from here
|
||||||
"fonts-freefont-ttf",
|
"fonts-freefont-ttf",
|
||||||
"gconf-service",
|
|
||||||
"libappindicator1",
|
|
||||||
"libatk-bridge2.0-0",
|
"libatk-bridge2.0-0",
|
||||||
"libgbm1",
|
"libgbm1",
|
||||||
"libgconf-2-4",
|
|
||||||
"libgtk-3-0",
|
"libgtk-3-0",
|
||||||
"libx11-xcb1",
|
"libx11-xcb1",
|
||||||
"libxcb-dri3-0",
|
"libxcb-dri3-0",
|
||||||
@@ -160,7 +159,7 @@ COMMON_YUM_DEPENDENCIES = [
|
|||||||
|
|
||||||
BUILD_GROONGA_FROM_SOURCE = False
|
BUILD_GROONGA_FROM_SOURCE = False
|
||||||
BUILD_PGROONGA_FROM_SOURCE = False
|
BUILD_PGROONGA_FROM_SOURCE = False
|
||||||
if (vendor == "debian" and os_version in []) or (vendor == "ubuntu" and os_version in []):
|
if (vendor == "debian" and os_version in []) or (vendor == "ubuntu" and os_version in ["24.04"]):
|
||||||
# For platforms without a PGroonga release, we need to build it
|
# For platforms without a PGroonga release, we need to build it
|
||||||
# from source.
|
# from source.
|
||||||
BUILD_PGROONGA_FROM_SOURCE = True
|
BUILD_PGROONGA_FROM_SOURCE = True
|
||||||
@@ -176,14 +175,6 @@ if (vendor == "debian" and os_version in []) or (vendor == "ubuntu" and os_versi
|
|||||||
]
|
]
|
||||||
elif "debian" in os_families():
|
elif "debian" in os_families():
|
||||||
DEBIAN_DEPENDENCIES = UBUNTU_COMMON_APT_DEPENDENCIES
|
DEBIAN_DEPENDENCIES = UBUNTU_COMMON_APT_DEPENDENCIES
|
||||||
# The below condition is required since libappindicator is
|
|
||||||
# not available for Debian 11. "libgroonga1" is an
|
|
||||||
# additional dependency for postgresql-13-pgdg-pgroonga.
|
|
||||||
#
|
|
||||||
# See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895037
|
|
||||||
if vendor == "debian":
|
|
||||||
DEBIAN_DEPENDENCIES.remove("libappindicator1")
|
|
||||||
DEBIAN_DEPENDENCIES.append("libgroonga0")
|
|
||||||
|
|
||||||
# If we are on an aarch64 processor, ninja will be built from source,
|
# If we are on an aarch64 processor, ninja will be built from source,
|
||||||
# so cmake is required
|
# so cmake is required
|
||||||
|
Reference in New Issue
Block a user