Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG  Not logged in ELOG logo
icon5.gif   no availability of el8 and el9 rpm, posted by scott on Wed Feb 21 10:39:21 2024 
    icon2.gif   Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Wed Feb 21 11:15:38 2024 
       icon2.gif   Re: no availability of el8 and el9 rpm, posted by Konstantin Olchanski on Wed Feb 21 21:20:56 2024 
          icon2.gif   Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Thu Feb 22 00:53:26 2024 
             icon2.gif   Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Thu Feb 22 08:12:28 2024 
                icon2.gif   Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Thu Feb 22 11:59:03 2024 
                   icon2.gif   Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Fri Feb 23 08:40:26 2024 bitbucket-pipelines.yml
                      icon2.gif   Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Fri Feb 23 18:00:41 2024 elog-EL7_c11_patch.diffBitbucket_pipeline_with_elx.pngBitbucket_access_to_artifacts.pngbitbucket-pipelines.yml
                         icon2.gif   Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Mon Feb 26 17:39:56 2024 
                            icon2.gif   Re: no availability of el8 and el9 rpm, posted by Antonio Bulgheroni on Mon Feb 26 21:18:23 2024 
                            icon2.gif   Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Mon Feb 26 22:23:05 2024 
                               icon2.gif   Re: no availability of el8 and el9 rpm, posted by Antonio Bulgheroni on Tue Feb 27 06:59:06 2024 
                               icon2.gif   Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Tue Feb 27 07:35:15 2024 
                                  icon2.gif   Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Tue Feb 27 16:55:39 2024 
                                  icon2.gif   Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Mon Mar 4 10:10:50 2024 Build_started.txt
                                     icon2.gif   Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Tue Dec 10 15:34:41 2024 
                                        icon2.gif   Re: no availability of el8 and el9 rpm, posted by Konstantin Olchanski on Tue Dec 10 19:23:32 2024 
Message ID: 69743     Entry time: Fri Feb 23 18:00:41 2024     In reply to: 69740     Reply to this: 69744
Icon: Reply  Author: Laurent Jean-Rigaud  Author Email: lollspam@free.fr 
Category: Question  OS: Linux | Other  ELOG Version: Latest version 
Subject: Re: no availability of el8 and el9 rpm 

Hi Stefan,

> As you saw I use the bitbucket pipeline for CI/CD. The current bitbucket-pipelines.yml is pretty simple (see attachment). If you make me one which does the rpmbuild automatically, I'm more than happy to upload and use it. The downside there is that it only works for so long. As you saw at the
> error above, the pipeline worked a few years ago when I installed it. But in meantime things changed apparently and need to be fixed. ELOG is around since last century (literally!), and I'm kind of tired to fix things every once in a while. If somebody else could take over the responsibility to
> deliver the RPMs I would be more than delighted.

Good news ! I thought the bitbucket-pipelines.yml was automatically added when importing the repo :-P

Btw, i try to update it as enclosed :

  • first step : build, install, start and test Web connection
  • build on ELx in // with artifacts
    • on centos7
    • on centos8
    • on centos-stream-9
  • automatic deployment on ... where you want. You can push to your website the files by sftp/scp using dedicated account/key using secrets in bitbuckket...

 

Manually, the artifacts (rpm files) are also available from website in pipeline's steps, Artifacts tab and download button.

 

NB : The ELOG version is statically set in pipeline script (3.1.5) so this script need to be updated with git one by bitbuecket vars or script command to retrieve it from src.

 

One more thing : the elog.spec.template must be patched to build last ELOG source on EL7. Without, an error occurs on nullptr usage and C++ must be set to C11 rules... See enclosed elog-EL7_c11_patch.diff .

Now, the Debian/Ubuntu PKGs generation have to be added. Need google as I do not do that for 20 years :-P

Bye

Laurent

 

Attachment 1: elog-EL7_c11_patch.diff  1 kB  | Hide | Hide all
From 57fb0be0c1b6e7e77df57499effc22784edeb898 Mon Sep 17 00:00:00 2001
From: Laurent Jean-Rigaud
Date: Fri, 23 Feb 2024 16:50:21 +0100
Subject: [PATCH] fix C11 error on EL7

---
 elog.spec.template | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/elog.spec.template b/elog.spec.template
index 0e7f8abf..a30dd67a 100644
--- a/elog.spec.template
+++ b/elog.spec.template
@@ -110,7 +110,11 @@ each weblog can be totally different from the rest.
    -g elog -M -r elog 2>/dev/null || :
 
 %build
-make %{?_with_ssl} %{?_with_pam} %{?_with_ldap} %{?_with_krb5} CFLAGS="$RPM_OPT_FLAGS -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml"
+%if 0%{?rhel} == 7
+  make %{?_with_ssl} %{?_with_pam} %{?_with_ldap} %{?_with_krb5} CFLAGS="$RPM_OPT_FLAGS -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml -std=c++11"
+%else
+  make %{?_with_ssl} %{?_with_pam} %{?_with_ldap} %{?_with_krb5} CFLAGS="$RPM_OPT_FLAGS -O3 -funroll-loops -fomit-frame-pointer -W -Wall -Wno-deprecated-declarations -Wno-unused-result -Imxml"
+%endif
 sed "s#\@PREFIX\@#%{prefix}#g" elogd.init_template > elogd.init
 
 %install
-- 
2.41.0

Attachment 4: bitbucket-pipelines.yml  4 kB  | Hide | Hide all
# ELOG Application

# This template allows you to validate your C++ application.
# The workflow allows running tests and code linting on the default branch.


image: gcc:latest


pipelines:
  default:
      - step:
          name: Build run and test
          image: gcc:latest
          deployment: test
          script:
            # Execute your C++ application after compilation to check success
            - apt-get -qq update && apt-get -y --force-yes -qq install cmake wget lsof
            - git submodule update --init
            # Add elog user
            - groupadd -r elog
            - useradd -d / -s /bin/false -g elog -M -r elog
            # Build elog
            - mkdir build; cd build
            - cmake ..
            - make
            # Install in default /usr/local/elog
            - echo "install in test environment"
            - make install
            # Start elogd
            - echo "Start ELOG"
            - /usr/local/sbin/elogd -v 3 -c /usr/local/elog/elogd.cfg 2>&1 &
            - sleep 5
            - if [ -f /var/run/elogd.pid ]; then cat /var/run/elogd.pid ; fi
            # Check open files
            - lsof -p $(cat /var/run/elogd.pid)
            # Test Web page
            - echo "test web"
            - sleep 3
            - wget http://localhost:8080 && true || false
      - parallel:
          steps:
            - step:
                name: Build on EL7
                image: dokken/centos-7
                # trigger: manual  # Uncomment to make this a manual deployment.
                script:
                  - echo "Deploying to test environment"
                  - yum -y update && yum -y install rpm-build gcc gcc-c++ git openssl-devel krb5-devel pam-devel openldap-devel csh
                  - git submodule update --init
                  # git clone https://bitbucket.org/ritt/elog --recursive
                  - ./buildrpm 3.1.5 $(date +%Y%m%d) -krb5 -ldap -pam -ssl
                  - mkdir RPMS
                  - find ~/rpmbuild/RPMS/ -name "*.rpm" -exec mv {} RPMS \;
                  - ls -l RPMS
                artifacts: # defining the artifacts to be passed to each future step.
                  download: false # do not download artifacts in this step
                  paths:
                    - RPMS/*.rpm
            - step:
                name: Build on EL8
                image: dokken/centos-8
                # trigger: manual  # Uncomment to make this a manual deployment.
                script:
                  - echo "Deploying to test environment"
                  - yum -y update && yum -y install rpm-build gcc gcc-c++ git openssl-devel krb5-devel pam-devel openldap-devel csh
                  - git submodule update --init
                  # git clone https://bitbucket.org/ritt/elog --recursive
                  - ./buildrpm 3.1.5 $(date +%Y%m%d) -krb5 -ldap -pam -ssl
                  - mkdir RPMS
                  - find ~/rpmbuild/RPMS/ -name "*.rpm" -exec mv {} RPMS \;
                  - ls -l RPMS
                artifacts: # defining the artifacts to be passed to each future step.
                  download: false # do not download artifacts in this step
                  paths:
                    - RPMS/*.rpm
            - step:
                name: Build on EL9
                image: dokken/centos-stream-9
                # trigger: manual  # Uncomment to make this a manual deployment.
                script:
                  - echo "Deploying to test environment"
                  - yum -y update && yum -y install rpm-build gcc gcc-c++ git openssl-devel krb5-devel pam-devel openldap-devel csh
                  - git submodule update --init
                  # git clone https://bitbucket.org/ritt/elog --recursive
                  - ./buildrpm 3.1.5 $(date +%Y%m%d) -krb5 -ldap -pam -ssl
                  - mkdir RPMS
                  - find ~/rpmbuild/RPMS/ -name "*.rpm" -exec mv {} RPMS \;
                  - ls -l RPMS
                artifacts: # defining the artifacts to be passed to each future step.
                  download: false # do not download artifacts in this step
                  paths:
                    - RPMS/*.rpm
      - step: # non-parallel step
          name: Deployement
          deployment: staging
          script:
            - echo "Deliver results"
            - ls -l RPMS

ELOG V3.1.5-3fb85fa6