mirror of
https://github.com/zulip/zulip.git
synced 2026-06-03 21:01:43 +08:00
Fedora 38 reached end of life upstream; replace it with Fedora 43, which ships dnf5 and a recent enough groonga to skip the source build. Concretely, to make `tools/provision` run cleanly on Fedora 43: * dnf5 (Fedora 41+) dropped the `groupinstall` alias and no longer resolves the "Development Tools" display name, so switch the Fedora branch of `setup-yum-repo` to `dnf group install development-tools` (by group ID). Move the existing CentOS/RHEL `groupinstall` calls into their own branches so they keep working on yum/dnf4. * Map Fedora 43 to PostgreSQL 17, and add `groonga-devel`, `xxhash-devel`, `meson`, and `redhat-rpm-config` to the Fedora package list. PGroonga 4.0.6 switched its build system to meson; on Fedora, PostgreSQL's `pg_config` exports CFLAGS containing `-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1` and `-specs=.../redhat-annobin-cc1`, and without `redhat-rpm-config` the PGroonga build fails with "cannot read spec file". `xxhash-devel` is required because `xxhash-libs` is often pulled in transitively (by blosc2, pyarrow, etc.) without its headers, in which case meson detects libxxhash via pkg-config and skips the vendored fallback that would otherwise build it from source. * Use the packaged groonga from Fedora's main repo (15.0.4 on Fedora 43, satisfying PGroonga 4.0.6's >= 14.1.0 requirement) instead of compiling groonga from source. This removes the only remaining caller of `scripts/lib/build-groonga` and the BUILD_GROONGA_FROM_SOURCE plumbing in provision.py, which the prior Fedora 38 path was the only user of. Verified end-to-end on a Fedora 43 host and in a fresh fedora:43 podman container: setup-yum-repo, the package install, and the PGroonga source build against the system groonga all complete cleanly. |
||
|---|---|---|
| .. | ||
| lib | ||
| nagios | ||
| setup | ||
| __init__.py | ||
| get-django-setting | ||
| log-search | ||
| purge-old-deployments | ||
| README.md | ||
| refresh-sharding-and-restart | ||
| reload-clients | ||
| restart-server | ||
| start-server | ||
| stop-server | ||
| upgrade-zulip | ||
| upgrade-zulip-from-git | ||
| zulip-puppet-apply | ||
This directory contains scripts that:
-
Generally do not require access to Django or the database (those are "management commands"), and thus are suitable to run operationally.
-
Are useful for managing a production deployment of Zulip (many are also used in a Zulip development environment, though development-only scripts live in
tools/).
For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.