Skip to content

Commit

Permalink
Add support for AlmaLinux 9
Browse files Browse the repository at this point in the history
  • Loading branch information
lwesterhof committed Nov 19, 2024
1 parent 9681460 commit 737bbea
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 54 deletions.
12 changes: 5 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.12.0 FATAL_ERROR)
cmake_minimum_required(VERSION 3.21.4 FATAL_ERROR)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/CMakeModules")

find_package(IRODS 4.3.3 EXACT REQUIRED)
Expand All @@ -9,7 +9,7 @@ message(STATUS "Building for irods-server version ${IRODS_VERSION}")
# standard library provided by iRODS-externals packages.
# The following packages need to be installed to build the uu microservices:
#
# irods-externals-clang-runtime13.0.0-0
# irods-externals-cmake3.21.4-0
# irods-externals-clang13.0.0-0

set(UU_RELEASE_VERSION "1.2.0")
Expand All @@ -31,8 +31,6 @@ add_compile_options(-std=c++17
-fPIC
-DRODS_SERVER
-nostdinc++
-I/opt/irods-externals/json3.10.4-0/include
-I/opt/irods-externals/fmt8.1.1-0/include
-Wall
-Wextra
-Wpedantic
Expand Down Expand Up @@ -148,18 +146,18 @@ set(CPACK_MONOLITHIC_INSTALL 1)
set(CPACK_CMAKE_GENERATOR "Unix Makefiles")

execute_process(
COMMAND "python" "-c" "from __future__ import print_function; import platform; print(platform.linux_distribution()[0].split()[0].strip().lower(), end='')"
COMMAND "python3" "-c" "from __future__ import print_function; import distro; print(distro.id(), end='')"
RESULT_VARIABLE IRODS_EXECUTE_PROCESS_RESULT_LINUX_DISTRIBUTION_NAME
OUTPUT_VARIABLE IRODS_LINUX_DISTRIBUTION_NAME
)

message(STATUS "Found Linux distro ${IRODS_LINUX_DISTRIBUTION_NAME}")

# Determine which type of package should be generated
if(IRODS_LINUX_DISTRIBUTION_NAME MATCHES "^(ubuntu|debian)$")
if (IRODS_LINUX_DISTRIBUTION_NAME MATCHES "^(ubuntu|debian)$")
set(CPACK_GENERATOR "DEB")
set(CPACK_PACKAGE_VERSION "${IRODS_VERSION}-${UU_RELEASE_VERSION}")
elseif(IRODS_LINUX_DISTRIBUTION_NAME MATCHES "^(centos)$")
elseif (IRODS_LINUX_DISTRIBUTION_NAME STREQUAL "almalinux")
set(CPACK_GENERATOR "RPM")
set(CPACK_PACKAGE_VERSION "${IRODS_VERSION}_${UU_RELEASE_VERSION}")
endif()
Expand Down
16 changes: 6 additions & 10 deletions vagrant/build/.env
Original file line number Diff line number Diff line change
@@ -1,38 +1,34 @@
#!/bin/sh

# Tested/supported box names:
# - ubuntu/focal64
BOXNAME=ubuntu/jammy64
# - almalinux/9
# - generic/ubuntu2204
BOXNAME=generic/ubuntu2204

# Amount of memory for VM (MB)
MEMORY=2048

# Version of iRODS to use
IRODS_VERSION="4.3.3"

CMAKE_VERSION="3.29.2"

# URL of the signing key of the iRODS apt repository
APT_IRODS_REPO_SIGNING_KEY_LOC=https://packages.irods.org/irods-signing-key.asc

# Parameters of the iRODS apt repository.
APT_IRODS_REPO_URL=https://packages.irods.org/apt/
APT_IRODS_REPO_ARCHITECTURE=amd64
APT_IRODS_REPO_DISTRIBUTION=jammy
APT_IRODS_REPO_COMPONENT=main

# Packages to be installed (separated by whitespace).
# Dependencies do not have to be listed. They are resolved by the script
APT_GEN_PACKAGES="make g++ libssl-dev libcurl4-openssl-dev libjansson-dev libuuid1 uuid-dev"
APT_GEN_PACKAGES="git vim make g++ libssl-dev libcurl4-openssl-dev libjansson-dev libuuid1 uuid-dev libarchive-dev"
APT_IRODS_PACKAGES="irods-runtime irods-dev"
APT_IRODS_EXTERNAL_PACKAGES="irods-externals-cmake3.21.4-0 irods-externals-clang13.0.0-0"

# Parameters of Yum repository
YUM_IRODS_REPO_SIGNING_KEY_LOC=https://packages.irods.org/irods-signing-key.asc
YUM_REPO_FILE_LOC=https://packages.irods.org/renci-irods.yum.repo
YUM_GEN_PACKAGES="git vim make gcc rpmdevtools openssl-libs libcurl-devel jansson-devel libuuid-devel"
YUM_GEN_PACKAGES="git vim make gcc rpmdevtools openssl-libs libcurl-devel jansson-devel libuuid-devel libarchive-devel"
YUM_IRODS_PACKAGES="irods-runtime irods-devel"
YUM_IRODS_EXTERNAL_PACKAGES="irods-externals-cmake3.21.4-0 irods-externals-clang13.0.0-0"

# Hostnames and IP addresses
PROVIDER_IP=192.168.2.4
PROVIDER_HOSTNAME=irods-uu-microservices-dev
41 changes: 4 additions & 37 deletions vagrant/build/install-microservices-build-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ then source "$SETTINGSFILE"
else echo "Error: settings file $SETTINGSFILE not found." && exit 1
fi

if [ -f /etc/centos-release ]
if [ -f /etc/redhat-release ]
then

echo "Installing iRODS UU microservices build environment on CentOS."
echo "Installing iRODS UU microservices build environment on AlmaLinux."

echo "Installing dependencies ..."
sudo yum -y install wget epel-release yum-plugin-versionlock
Expand Down Expand Up @@ -56,35 +56,10 @@ deb [arch=${APT_IRODS_REPO_ARCHITECTURE}] $APT_IRODS_REPO_URL $APT_IRODS_REPO_DI
ENDAPTREPO
sudo apt update

echo "Installing dependencies ..."
sudo apt-get -y install aptitude libboost-locale-dev

sudo apt install -y libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib \
python-is-python2 python-six python2 python2-minimal python2.7 python2.7-minimal \
python-certifi python-chardet python-idna python-pkg-resources python-setuptools

PY_URLLIB_PREFIX="http://security.ubuntu.com/ubuntu/pool/main/p/python-urllib3"
PY_URLLIB_FILENAME="python-urllib3_1.22-1ubuntu0.18.04.2_all.deb"
PY_REQUESTS_PREFIX="http://security.ubuntu.com/ubuntu/pool/main/r/requests"
PY_REQUESTS_FILENAME="python-requests_2.18.4-2ubuntu0.1_all.deb"
OPENSSL_PREFIX="http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0"
OPENSSL_FILENAME="libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb"

wget \
${PY_URLLIB_PREFIX}/${PY_URLLIB_FILENAME} \
${PY_REQUESTS_PREFIX}/${PY_REQUESTS_FILENAME} \
${OPENSSL_PREFIX}/${OPENSSL_FILENAME}

for package in $PY_URLLIB_FILENAME $PY_REQUESTS_FILENAME $OPENSSL_FILENAME
do echo "Installing package ${package%.*}"
sudo dpkg -i "$package"
rm "$package"
done

for package in $APT_IRODS_PACKAGES
do echo "Installing package $package and its dependencies"
sudo apt-get -y install "$package=${IRODS_VERSION}-1~bionic"
sudo aptitude hold "$package"
sudo apt-get -y install "$package=${IRODS_VERSION}"
sudo apt-mark hold "$package"
done

for package in $APT_IRODS_EXTERNAL_PACKAGES
Expand All @@ -102,13 +77,5 @@ else

fi

wget -q "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.sh"
sudo mkdir "cmake-${CMAKE_VERSION}"
cd "cmake-${CMAKE_VERSION}"
bash "../cmake-${CMAKE_VERSION}-linux-x86_64.sh" --skip-license
cd ..
sudo mv "cmake-${CMAKE_VERSION}" "/usr/local/cmake-${CMAKE_VERSION}"
sudo ln -sf /usr/local/cmake-${CMAKE_VERSION}/bin/cmake /usr/local/bin/cmake

git clone https://github.com/UtrechtUniversity/irods-uu-microservices.git
chown -R vagrant:vagrant irods-uu-microservices

0 comments on commit 737bbea

Please sign in to comment.