From 1b88d81c144ef195e682e185e17434cfc0d646d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20V=C3=A1rady?= Date: Fri, 17 May 2024 21:50:36 +0200 Subject: [PATCH] dbld: fix rpm packaging MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: László Várady --- .../workflows/axosyslog-create-packages.yml | 75 ---------------- .github/workflows/axosyslog-packages.yml | 85 ------------------- .github/workflows/stable-release.yml | 16 ---- dbld/build.manifest | 2 +- dbld/builddeps | 2 - packaging/rhel/syslog-ng.spec | 13 +-- 6 files changed, 9 insertions(+), 184 deletions(-) delete mode 100644 .github/workflows/axosyslog-create-packages.yml delete mode 100644 .github/workflows/axosyslog-packages.yml diff --git a/.github/workflows/axosyslog-create-packages.yml b/.github/workflows/axosyslog-create-packages.yml deleted file mode 100644 index 3d4b490267..0000000000 --- a/.github/workflows/axosyslog-create-packages.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: AxoSyslog create packages from source tarball - -on: - workflow_call: - inputs: - source-tarball-artifact-name: - required: true - type: string - dbld-image-mode: - required: true - type: string # cache / build - distros: - required: false - type: string - default: | - [ - "almalinux-8", - ] - -jobs: - create-packages: - name: ${{ matrix.distro }} - - runs-on: ubuntu-latest - - strategy: - matrix: - distro: ${{ fromJson(inputs.distros) }} - fail-fast: false - - steps: - - name: Download source tarball artifact - uses: actions/download-artifact@v4 - with: - name: ${{ inputs.source-tarball-artifact-name }} - - - name: Extract source tarball - run: | - mkdir axosyslog - tar --strip-components=1 -xvf axosyslog*.tar.gz -C axosyslog - - - name: Prepare docker image - working-directory: axosyslog - run: | - if [[ "${{ inputs.dbld-image-mode }}" = "build" ]] - then - ./dbld/rules image-${{ matrix.distro }} - elif [[ "${{ inputs.dbld-image-mode }}" = "cache" ]] - then - ./dbld/rules cache-image-${{ matrix.distro }} - else - echo Unexpected input: dbld-image-mode=${{ inputs.dbld-image-mode }} - false - fi - - - name: Create package - working-directory: axosyslog - run: | - ./dbld/rules package-${{ matrix.distro }} - - - name: Prepare package for artifact - # We want to keep the directory structure starting with ${{ matrix.distro }}, - # but it can only be done, if we give its parent directory as `path` to upload-artifact. - # There are other directories in dbld/build which we do not want to upload, - # so let's make a temporary directory and move the ${{ matrix.distro }} directory there. - run: | - mkdir package - cp -r axosyslog/dbld/build/${{ matrix.distro }} package/ - - - name: Store package as artifact - uses: actions/upload-artifact@v4 - with: - name: package-${{ matrix.distro }} - path: package/* - if-no-files-found: error diff --git a/.github/workflows/axosyslog-packages.yml b/.github/workflows/axosyslog-packages.yml deleted file mode 100644 index ea8377af43..0000000000 --- a/.github/workflows/axosyslog-packages.yml +++ /dev/null @@ -1,85 +0,0 @@ -# TODO rewrite rpm and deb packaging for AxoSyslog and remove this job (use "create-packages" instead) -name: AxoSyslog packages -on: - workflow_call: - inputs: - repo: - description: 'AxoSyslog repository' - required: true - default: 'axoflow/axosyslog' - type: string - version: - description: 'AxoSyslog version' - required: true - type: string - - workflow_dispatch: - inputs: - repo: - description: 'AxoSyslog repository' - required: true - default: 'axoflow/axosyslog' - type: string - version: - description: 'AxoSyslog version' - required: true - type: string - -jobs: - create-source-tarball: - runs-on: ubuntu-latest - steps: - - name: Get AxoSyslog tarball - env: - GH_TOKEN: ${{ github.token }} - run: | - gh release download --repo '${{ inputs.repo }}' -p 'axosyslog-${{ inputs.version }}.tar.gz' 'axosyslog-${{ inputs.version }}' - - - name: Extract source tarball - run: | - mkdir axosyslog - tar --strip-components=1 -xvf axosyslog*.tar.gz -C axosyslog - rm axosyslog*.tar.gz - - - name: AxoSyslog patches - working-directory: axosyslog - run: | - sed -i 's/Name: syslog-ng/Name: axosyslog/' packaging/rhel/syslog-ng.spec - sed -i 's|%{name}-%{version}.tar.gz|syslog-ng-%{version}.tar.gz|' packaging/rhel/syslog-ng.spec - sed -i 's|URL.*|URL: https://axoflow.com/docs/axosyslog-core/|' packaging/rhel/syslog-ng.spec - sed -i 's|Provides: syslog|&\n\nConflicts: syslog-ng\nConflicts: syslog-ng-premium-edition|' packaging/rhel/syslog-ng.spec - sed -i 's|%setup -q|%setup -q -n syslog-ng-%{version}|' packaging/rhel/syslog-ng.spec - sed -i 's|/%{name}|/syslog-ng|g' packaging/rhel/syslog-ng.spec - sed -i 's|/lib%{name}|/libsyslog-ng|g' packaging/rhel/syslog-ng.spec - sed -i 's|^.*czanik/syslog-ng-githead.*$||' dbld/builddeps - - # Remove extra dependencies - sed -i 's|almalinux.*|&,nocriterion,noriemann,nokafka,nomqtt,nojava|' dbld/build.manifest - - cat packaging/rhel/syslog-ng.spec - - - name: Prepare docker image - working-directory: axosyslog - run: ./dbld/rules cache-image-tarball - - - name: Create source tarball - working-directory: axosyslog - run: ./dbld/rules pkg-tarball - - - name: Store source tarball as artifact - uses: actions/upload-artifact@v4 - with: - name: source-tarball - path: axosyslog/dbld/build/*.tar.* - if-no-files-found: error - - create-packages: - needs: create-source-tarball - uses: ./.github/workflows/axosyslog-create-packages.yml - with: - source-tarball-artifact-name: source-tarball - dbld-image-mode: cache - distros: | - [ - "almalinux-8" - ] diff --git a/.github/workflows/stable-release.yml b/.github/workflows/stable-release.yml index 2a82705bc0..24a4697c43 100644 --- a/.github/workflows/stable-release.yml +++ b/.github/workflows/stable-release.yml @@ -69,19 +69,10 @@ jobs: name: axosyslog-modules needs: find-draft-release-run runs-on: ubuntu-latest - outputs: - version: ${{ steps.unpack_tag.outputs.group1 }} steps: - name: Checkout source uses: actions/checkout@v4 - - name: Regex matching - uses: kaisugi/action-regex-match@v1.0.0 - id: unpack_tag - with: - text: ${{ github.ref }} - regex: 'refs/tags/axosyslog-(.*)' - - name: Create AxoSyslog modules tarball working-directory: docker run: | @@ -93,13 +84,6 @@ jobs: name: axosyslog-modules-tarball path: docker/python-modules.tar.gz - publish-packages: - uses: ./.github/workflows/axosyslog-packages.yml - needs: axosyslog-modules - with: - repo: axoflow/axosyslog - version: ${{ needs.axosyslog-modules.outputs.version }} - publish-image: uses: ./.github/workflows/axosyslog-docker.yml needs: axosyslog-modules diff --git a/dbld/build.manifest b/dbld/build.manifest index 42ea4d4502..cce5885ef3 100644 --- a/dbld/build.manifest +++ b/dbld/build.manifest @@ -42,4 +42,4 @@ ubuntu-lunar python3 ubuntu-mantic python3 fedora python3 -almalinux python3 +almalinux python3,noriemann,nokafka,nomqtt,nojava diff --git a/dbld/builddeps b/dbld/builddeps index 9c6d58f8b8..0eeab327aa 100755 --- a/dbld/builddeps +++ b/dbld/builddeps @@ -114,12 +114,10 @@ function add_copr_repo { case "${OS_DISTRIBUTION}" in centos|almalinux) $YUM_INSTALL yum-plugin-copr - yum copr enable -y czanik/syslog-ng-githead yum config-manager --set-enabled powertools ;; fedora) $DNF_INSTALL -y dnf-plugins-core - dnf copr enable -y czanik/syslog-ng-githead ;; esac } diff --git a/packaging/rhel/syslog-ng.spec b/packaging/rhel/syslog-ng.spec index 18310654ab..620d02729e 100644 --- a/packaging/rhel/syslog-ng.spec +++ b/packaging/rhel/syslog-ng.spec @@ -1,12 +1,13 @@ -Name: syslog-ng +Name: axosyslog Version: 4.7.1 Release: 2%{?dist} Summary: Next-generation syslog server Group: System Environment/Daemons License: GPLv2+ -URL: http://www.balabit.com/network-security/syslog-ng -Source0: https://github.com/syslog-ng/syslog-ng/releases/download/syslog-ng-%{version}/%{name}-%{version}.tar.gz +URL: https://axoflow.com/docs/axosyslog-core/ +# TODO use %{name} after next release +Source0: https://github.com/axoflow/axosyslog/releases/download/%{name}-%{version}/syslog-ng-%{version}.tar.gz Source1: syslog-ng.conf Source2: syslog-ng.logrotate Source3: syslog-ng.service @@ -129,16 +130,18 @@ Requires: logrotate Requires: ivykis >= %{ivykis_ver} Provides: syslog +Conflicts: syslog-ng +Conflicts: syslog-ng-premium-edition # Fedora 17’s unified filesystem (/usr-move) Conflicts: filesystem < 3 %if 0%{?rhel} != 7 -Recommends: syslog-ng-logrotate +Recommends: axosyslog-logrotate %endif %description -syslog-ng is an enhanced log daemon, supporting a wide range of input and +AxoSyslog is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, message queues, databases (SQL and NoSQL alike) and more.