diff --git a/.github/scripts/ubuntu-20.04/compile_build.sh b/.github/scripts/ubuntu-20.04/compile_build.sh deleted file mode 100644 index 578b890b8..000000000 --- a/.github/scripts/ubuntu-20.04/compile_build.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Compile dependencies that cannot be acquired via the official repositories - -mkdir -p ${INSTALL_PATH} - -## Compile Thrift -tar -xvf ${DOWNLOAD_PATH}/thrift-0.16.0.tar.gz -cd thrift-0.16.0 -./configure --prefix=${INSTALL_PATH}/thrift --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 --without-swift - -make install -j $(nproc) \ No newline at end of file diff --git a/.github/scripts/ubuntu-20.04/download_build.sh b/.github/scripts/ubuntu-20.04/download_build.sh deleted file mode 100644 index b528c1f4a..000000000 --- a/.github/scripts/ubuntu-20.04/download_build.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# Download installers for compiled dependencies - -mkdir -p ${DOWNLOAD_PATH} - -## Thrift 0.16 - -wget -O ${DOWNLOAD_PATH}/thrift-0.16.0.tar.gz "http://archive.apache.org/dist/thrift/0.16.0/thrift-0.16.0.tar.gz" - -# Calculate hash of dependencies for Github Cache Action - -dependencies_to_hash=("thrift-0.16.0.tar.gz") - -concatenated_hashes="" -for file in "${dependencies_to_hash[@]}"; do - file_hash=$(md5sum "${DOWNLOAD_PATH}/${file}" | awk '{print $1}') - concatenated_hashes="${concatenated_hashes}${file_hash}" -done - -hash_value=$(echo -n "$concatenated_hashes" | md5sum | awk '{print $1}') - -## Save said hash - - -### Restore action -echo "ubuntu-20-04-compile-hash-key=${hash_value}" >> "$GITHUB_OUTPUT" - -### Save action -echo "CACHE_KEY=${hash_value}" >> "$GITHUB_ENV" \ No newline at end of file diff --git a/.github/scripts/ubuntu-20.04/postcompile_build.sh b/.github/scripts/ubuntu-20.04/postcompile_build.sh deleted file mode 100644 index 8b071bdf8..000000000 --- a/.github/scripts/ubuntu-20.04/postcompile_build.sh +++ /dev/null @@ -1,8 +0,0 @@ -# Post compilation configuration for building (environmental variables, library location settings etc..) - -echo "${INSTALL_PATH}/thrift/bin" >> $GITHUB_PATH -echo "CMAKE_PREFIX_PATH=${INSTALL_PATH}/thrift:$CMAKE_PREFIX_PATH" >> $GITHUB_ENV - -# Clean up dependency sources and intermediate binaries to save space -rm -f ${DOWNLOAD_PATH}/thrift-0.16.0.tar.gz -rm -rf ${DOWNLOAD_PATH}/thrift-0.16.0/ \ No newline at end of file diff --git a/.github/scripts/ubuntu-20.04/setup_build.sh b/.github/scripts/ubuntu-20.04/setup_build.sh deleted file mode 100755 index fcadee4c7..000000000 --- a/.github/scripts/ubuntu-20.04/setup_build.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# Install required packages for CodeCompass build -sudo apt-get install -y 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 libgtest-dev npm libldap2-dev diff --git a/.github/scripts/ubuntu-20.04/setup_postgresql.sh b/.github/scripts/ubuntu-20.04/setup_postgresql.sh deleted file mode 100755 index 971f0cf92..000000000 --- a/.github/scripts/ubuntu-20.04/setup_postgresql.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -# Install PostgreSQL -sudo apt-get install libodb-pgsql-dev postgresql-server-dev-12 diff --git a/.github/scripts/ubuntu-20.04/setup_sqlite3.sh b/.github/scripts/ubuntu-20.04/setup_sqlite3.sh deleted file mode 100755 index 37ce54d68..000000000 --- a/.github/scripts/ubuntu-20.04/setup_sqlite3.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -# Install SQLite3 -sudo apt-get install libodb-sqlite-dev libsqlite3-dev \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad881a45b..f3dfd2c95 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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 }} @@ -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 }} diff --git a/doc/deps.md b/doc/deps.md index 221e795fb..82f770a72 100644 --- a/doc/deps.md +++ b/doc/deps.md @@ -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). @@ -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 @@ -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 @@ -157,46 +138,6 @@ time (depending on the machine one is using). > **Note:** now you may delete the *Build2* toolchain installed in the > `` 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= --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 diff --git a/doc/usage.md b/doc/usage.md index a73558f03..bd0b10af9 100644 --- a/doc/usage.md +++ b/doc/usage.md @@ -19,8 +19,7 @@ PostgreSQL can be installed from the package manager: ```bash sudo apt install postgresql- -# (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