Skip to content

Drop support for Ubuntu 20.04 Focal #792

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .github/scripts/ubuntu-20.04/compile_build.sh

This file was deleted.

30 changes: 0 additions & 30 deletions .github/scripts/ubuntu-20.04/download_build.sh

This file was deleted.

8 changes: 0 additions & 8 deletions .github/scripts/ubuntu-20.04/postcompile_build.sh

This file was deleted.

6 changes: 0 additions & 6 deletions .github/scripts/ubuntu-20.04/setup_build.sh

This file was deleted.

4 changes: 0 additions & 4 deletions .github/scripts/ubuntu-20.04/setup_postgresql.sh

This file was deleted.

4 changes: 0 additions & 4 deletions .github/scripts/ubuntu-20.04/setup_sqlite3.sh

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
strategy:
matrix:
db: [postgresql, sqlite3]
os: [ubuntu-22.04] # ubuntu-20.04
os: [ubuntu-22.04]
fail-fast: false

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -182,7 +182,7 @@ jobs:
strategy:
matrix:
db: [postgresql, sqlite3]
os: [ubuntu-22.04] # ubuntu-20.04
os: [ubuntu-22.04]
fail-fast: false

runs-on: ${{ matrix.os }}
Expand Down
65 changes: 3 additions & 62 deletions doc/deps.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Build Environment
We build CodeCompass in a Linux environment. Currently, Ubuntu Long-Term
Support releases are the main targets: Ubuntu 20.04 LTS and Ubuntu 22.04 LTS.
Support releases are the main targets: Ubuntu 22.04 LTS (and Ubuntu 24.04 LTS
is planned).

We also provide a Docker image that can be used as developer environment to
CodeCompass. See its usage [in a seperate document](/docker/README.md).
Expand Down Expand Up @@ -50,16 +51,6 @@ be installed from the official repository of the given Linux distribution.
The following command installs the packages except for those which have some
known issues.

#### Ubuntu 20.04 ("Focal Fossa") LTS

```bash
sudo apt install git cmake make g++ libboost-all-dev \
llvm-11-dev clang-11 libclang-11-dev \
odb libodb-dev \
default-jdk libssl-dev libgraphviz-dev libmagic-dev libgit2-dev ctags doxygen \
libldap2-dev libgtest-dev
```

#### Ubuntu 22.04 ("Jammy Jellyfish") LTS

```bash
Expand All @@ -73,17 +64,7 @@ sudo apt install git cmake make g++ libboost-all-dev \
#### Database engine support

Depending on the desired database engines to be supported, the following
packages should be installed:

##### Ubuntu 20.04 ("Focal Fossa") LTS

```bash
# For SQLite database systems:
sudo apt install libodb-sqlite-dev libsqlite3-dev

# For PostgreSQL database systems:
sudo apt install libodb-pgsql-dev postgresql-server-dev-12
```
packages should be installed.

##### Ubuntu 22.04 ("Jammy Jellyfish") LTS

Expand Down Expand Up @@ -157,46 +138,6 @@ time (depending on the machine one is using).
> **Note:** now you may delete the *Build2* toolchain installed in the
> `<build2_install_dir>` folder, if you do not need any longer.

### Thrift (for Ubuntu 20.04)
CodeCompass needs [Thrift](https://thrift.apache.org/) which provides Remote
Procedure Call (RPC) between the server and the client. A suitable version of
Thrift is, unfortunately, not part of the official Ubuntu repositories for
this version (only an older version is available), so you should download and
build from source.

Thrift can generate stubs for many programming languages. The configure
script looks at the development environment and if it finds the environment
for a given language then it'll use it. For example in the previous step npm
was installed which requires NodeJS. If NodeJS can be found on your machine
then the corresponding stub will also compile. If you don't need it then you
can turn it off: `./configure --without-nodejs`.

In certain cases, installation may fail if development libraries for
languages are not installed on the target machine. E.g. if Python is
installed but the Python development headers are not, Thrift will unable to
install. Python, PHP and such other Thrift builds are NOT required by
CodeCompass, and can significantly increase compile time so it is advised to
avoid using them if it's not necessary.

```bash
# Download and uncompress Thrift:
wget "http://www.apache.org/dyn/mirrors/mirrors.cgi?action=download&filename=thrift/0.16.0/thrift-0.16.0.tar.gz" \
-O thrift-0.16.0.tar.gz
tar -xvf ./thrift-0.16.0.tar.gz
cd thrift-0.16.0

./configure --prefix=<thrift_install_dir> --silent --without-python \
--enable-libtool-lock --enable-tutorial=no --enable-tests=no \
--with-libevent --with-zlib --without-nodejs --without-lua \
--without-ruby --without-csharp --without-erlang --without-perl \
--without-php --without-php_extension --without-dart \
--without-haskell --without-go --without-rs --without-haxe \
--without-dotnetcore --without-d --without-qt4 --without-qt5 \
--without-java

make install -j $(nproc)
```

### Node.js and NPM
Make sure you are using at least version 18.17 of [Node.js](https://nodejs.org/en/).
Unfortunately only older versions are available in the official Ubuntu repositories
Expand Down
3 changes: 1 addition & 2 deletions doc/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ PostgreSQL can be installed from the package manager:

```bash
sudo apt install postgresql-<version>
# (e.g. postgresql-12 for Ubuntu 20.04
# and postgresql-14 for Ubuntu 22.04)
# (e.g. postgresql-14 for Ubuntu 22.04)
```

This will set up an automatically starting local server on the default port
Expand Down