Skip to content
Snippets Groups Projects
build-library.sh 1.68 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/usr/bin/env bash
    
    # Copyright 2018-2023 Istituto Nazionale di Fisica Nucleare
    # SPDX-License-Identifier: EUPL-1.2
    
    downloadNginx() {
    
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      # check if ~/rpmbuild exists and is not empty
      if [ -d ${HOME}/rpmbuild ] && [ "$(ls -A ${HOME}/rpmbuild)" ]; then
        >&2 echo "Error: ${HOME}/rpmbuild already exists and is not empty"
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      fi
    
      # set nginx version
      if [ -z ${ngxVersion} ]; then
    
    Luca Bassi's avatar
    Luca Bassi committed
        ngxVersion=1.26.2-1
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      fi
    
    Luca Bassi's avatar
    Luca Bassi committed
      elVersion=$(rpmbuild --eval %{rhel})
      echo "Downloading nginx version ${ngxVersion} (EL${elVersion})"
      src_package_name="nginx-${ngxVersion}.el${elVersion}.ngx.src.rpm"
      src_package_url="https://nginx.org/packages/centos/${elVersion}/SRPMS/${src_package_name}"
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
    
      wget ${src_package_url}
    
    Luca Bassi's avatar
    Luca Bassi committed
      rpm -i ${src_package_name}
    
    
      if ! printenv CI_PROJECT_DIR > /dev/null; then
        >&2 echo "CI_PROJECT_DIR is not set in the environment, assuming the current working directory '${PWD}'"
        export CI_PROJECT_DIR="${PWD}"
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      fi
    
    Luca Bassi's avatar
    Luca Bassi committed
      sh ${CI_PROJECT_DIR}/rpm/addPatchToNginxSpec.sh
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      # build rpm
      rpmlint ~/rpmbuild/SPECS/nginx.spec
      rpmbuild -ba ~/rpmbuild/SPECS/nginx.spec
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      if [ -z ${CI_PROJECT_DIR} ]; then
        CI_PROJECT_DIR="/workspaces/ngx_http_voms_module"
      fi
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      # set voms modules sources
      cd ~/rpmbuild/SOURCES/
      mkdir ngx-http-voms-module
      cp ${CI_PROJECT_DIR}/config ngx-http-voms-module/
      cp ${CI_PROJECT_DIR}/config.make ngx-http-voms-module/
      cp -r ${CI_PROJECT_DIR}/src ngx-http-voms-module/
      cp ${CI_PROJECT_DIR}/rpm/nginx-module-http-voms.spec ~/rpmbuild/SPECS
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      # build rpm
      rpmlint ~/rpmbuild/SPECS/nginx-module-http-voms.spec
      rpmbuild -ba ~/rpmbuild/SPECS/nginx-module-http-voms.spec
    
    Francesco Giacomini's avatar
    Francesco Giacomini committed
      cd ${CI_PROJECT_DIR}