From c69ef4f5c572920bce27265a26585ed2adedd8bc Mon Sep 17 00:00:00 2001 From: sdepassio <114986849+sdepassio@users.noreply.github.com> Date: Thu, 13 Mar 2025 14:15:07 +0100 Subject: [PATCH 1/2] fix(cpan-libraries): Add revision to update libraries (#5503) --- .github/workflows/perl-cpan-libraries.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/perl-cpan-libraries.yml b/.github/workflows/perl-cpan-libraries.yml index 741682deb..efbce7599 100644 --- a/.github/workflows/perl-cpan-libraries.yml +++ b/.github/workflows/perl-cpan-libraries.yml @@ -100,6 +100,7 @@ jobs: - spec_file: "" - no-auto-depends: "false" - preinstall_cpanlibs: "" + - revision: "1" - distrib: el8 package_extension: rpm image: packaging-plugins-alma8 @@ -111,6 +112,7 @@ jobs: - name: "Crypt::Argon2" preinstall_cpanlibs: "Dist::Build" rpm_provides: "perl-Crypt-Argon2-debuginfo perl(Crypt::Argon2)" + revision: "2" - name: "DateTime::Format::Duration::ISO8601" rpm_provides: "perl(DateTime-Format-Duration-ISO8601)" - name: "Device::Modbus::RTU::Client" @@ -126,6 +128,7 @@ jobs: - name: "Libssh::Session" rpm_dependencies: "libssh" rpm_provides: "perl-Libssh-Session-debuginfo perl(Libssh::Session) perl(Libssh::Sftp)" + revision: "2" - name: "Mojo::IOLoop::Signal" rpm_dependencies: "perl-Mojolicious" rpm_provides: "perl(Mojo::IOLoop::Signal)" @@ -133,6 +136,7 @@ jobs: - name: "Net::Curl" rpm_dependencies: "libcurl" rpm_provides: "perl-Net-Curl-debuginfo perl(Net::Curl) perl(Net::Curl::Compat) perl(Net::Curl::Easy) perl(Net::Curl::Form) perl(Net::Curl::Multi) perl(Net::Curl::Share)" + revision: "2" - name: "Net::DHCP" rpm_provides: "perl(Net::DHCP::Constants) perl(Net::DHCP::Packet)" - name: "Net::SMTPS" @@ -236,7 +240,7 @@ jobs: temp_file=$(mktemp) echo "default.local" | tee /etc/mailname - created_package=$(fpm -s cpan -t ${{ matrix.package_extension }} --rpm-dist ${{ matrix.distrib }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES$PACKAGE_VERSION ${{ matrix.name }} | tee "$temp_file" | grep "Created package" | grep -oP '(?<=:path=>").*?(?=")') + created_package=$(fpm -s cpan -t ${{ matrix.package_extension }} --rpm-dist ${{ matrix.distrib }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES$PACKAGE_VERSION --iteration ${{ matrix.revision }} ${{ matrix.name }} | tee "$temp_file" | grep "Created package" | grep -oP '(?<=:path=>").*?(?=")') # Check package name if [ -z "$created_package" ]; then echo "Error: fpm command failed" @@ -389,6 +393,7 @@ jobs: - use_dh_make_perl: "true" - no-auto-depends: "false" - preinstall_cpanlibs: "" + - revision: "1" - build_name: bullseye-amd64 distrib: bullseye package_extension: deb @@ -414,6 +419,7 @@ jobs: no-auto-depends: "true" deb_dependencies: "libexporter-tiny-perl libtime-hires-perl libxsloader-perl" deb_provides: "libcrypt-argon2-perl-dbgsym" + revision: "2" - name: "Crypt::OpenSSL::AES" use_dh_make_perl: "false" deb_dependencies: "libexporter-tiny-perl libxs-install-perl" @@ -431,6 +437,7 @@ jobs: no-auto-depends: "true" deb_dependencies: "libcarp-assert-perl libdynaloader-functions-perl libexporter-tiny-perl libdevel-overloadinfo-perl libssh-4 libc6" deb_provides: "libssh-session-perl-dbgsym libssh-session-sftp" + revision: "2" - name: "Net::Amazon::Signature::V4" build_names: ["bullseye-amd64", "jammy"] - name: "Net::Curl" @@ -439,6 +446,7 @@ jobs: no-auto-depends: "true" deb_dependencies: "libcarp-assert-perl libdynaloader-functions-perl libexporter-tiny-perl libdevel-overloadinfo-perl libcurl4" deb_provides: "libnet-curl-perl-dbgsym libnet-curl-compat-perl libnet-curl-easy-perl libnet-curl-form-perl libnet-curl-share-perl libnet-curl-multi-perl" + revision: "2" - name: "Net::MQTT::Simple" version: "1.29" - name: "Paws" @@ -542,7 +550,7 @@ jobs: temp_file=$(mktemp) echo "default.local" | tee /etc/mailname - created_package=$(fpm -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --iteration ${{ steps.parse-distrib.outputs.package_distrib_name }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES -v ${{ steps.package-infos.outputs.package_version }} ${{ matrix.name }} | tee "$temp_file" | grep "Created package" | grep -oP '(?<=:path=>").*?(?=")') || { echo "Error: fpm command failed"; exit 1; } + created_package=$(fpm -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --iteration ${{ matrix.revision }}${{ steps.parse-distrib.outputs.package_distrib_separator }}${{ steps.parse-distrib.outputs.package_distrib_name }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES -v ${{ steps.package-infos.outputs.package_version }} ${{ matrix.name }} | tee "$temp_file" | grep "Created package" | grep -oP '(?<=:path=>").*?(?=")') || { echo "Error: fpm command failed"; exit 1; } # Check package name if [ -z "$created_package" ]; then echo "Error: fpm command failed" @@ -559,7 +567,7 @@ jobs: cpanm $CPANLIB_PREINSTALL done temp_file=$(mktemp) - created_package=$(DEB_BUILD_OPTIONS="nocheck nodocs notest" dh-make-perl make --dist ${{ matrix.distrib }} --build --version ${{ steps.package-infos.outputs.package_version }}${{ steps.parse-distrib.outputs.package_distrib_separator }}${{ steps.parse-distrib.outputs.package_distrib_name }} --cpan ${{ matrix.name }} | tee "$temp_file" | grep "building package" | grep -oP "(?<=in '..\/).*.deb(?=')") || { echo "Error: dh-make-perl command failed"; exit 1; } + created_package=$(DEB_BUILD_OPTIONS="nocheck nodocs notest" dh-make-perl make --dist ${{ matrix.distrib }} --build --version ${{ steps.package-infos.outputs.package_version }} --revision ${{ matrix.revision }}${{ steps.parse-distrib.outputs.package_distrib_separator }}${{ steps.parse-distrib.outputs.package_distrib_name }} --cpan ${{ matrix.name }} | tee "$temp_file" | grep "building package" | grep -oP "(?<=in '..\/).*.deb(?=')") || { echo "Error: dh-make-perl command failed"; exit 1; } # Check package name if [ -z "$created_package" ]; then echo "Error: dh-make-perl command failed" From 5da5683f94bba211319bec31865e0df98db773ab Mon Sep 17 00:00:00 2001 From: tuntoja <58987095+tuntoja@users.noreply.github.com> Date: Thu, 13 Mar 2025 15:07:22 +0100 Subject: [PATCH 2/2] fix(packaging): handle specific case of libssh-session packaging name (#5505) --- .github/workflows/perl-cpan-libraries.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/perl-cpan-libraries.yml b/.github/workflows/perl-cpan-libraries.yml index efbce7599..972c67019 100644 --- a/.github/workflows/perl-cpan-libraries.yml +++ b/.github/workflows/perl-cpan-libraries.yml @@ -497,7 +497,14 @@ jobs: fi echo "package_version=$(echo $PACKAGE_VERSION)" >> $GITHUB_OUTPUT CPAN_PACKAGE_NAME=$(echo $cpan_info | sed 's/.*\///g' | sed 's/-[0-9\.]*\.tar\.gz//g' | tr '[:upper:]' '[:lower:]') - PACKAGE_NAME="lib$CPAN_PACKAGE_NAME-perl" + + # Handle specific cases of libssh-session + if [[ "$CPAN_PACKAGE_NAME" == "lib"* ]];then + PACKAGE_NAME="$CPAN_PACKAGE_NAME-perl" + else + PACKAGE_NAME="lib$CPAN_PACKAGE_NAME-perl" + fi + echo "package_name=$(echo $PACKAGE_NAME)" >> $GITHUB_OUTPUT shell: bash @@ -550,12 +557,20 @@ jobs: temp_file=$(mktemp) echo "default.local" | tee /etc/mailname - created_package=$(fpm -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --iteration ${{ matrix.revision }}${{ steps.parse-distrib.outputs.package_distrib_separator }}${{ steps.parse-distrib.outputs.package_distrib_name }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES -v ${{ steps.package-infos.outputs.package_version }} ${{ matrix.name }} | tee "$temp_file" | grep "Created package" | grep -oP '(?<=:path=>").*?(?=")') || { echo "Error: fpm command failed"; exit 1; } + + # Handle specific case for libssh-session + if [[ "${{ matrix.name }}" == "Libssh::Session" ]]; then + created_package=$(fpm -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --iteration ${{ matrix.revision }}${{ steps.parse-distrib.outputs.package_distrib_separator }}${{ steps.parse-distrib.outputs.package_distrib_name }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES -v ${{ steps.package-infos.outputs.package_version }} --name ssh-session ${{ matrix.name }} | tee "$temp_file" | grep "Created package" | grep -oP '(?<=:path=>").*?(?=")') || { echo "Error: fpm command failed"; exit 1; } + else + created_package=$(fpm -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --iteration ${{ matrix.revision }}${{ steps.parse-distrib.outputs.package_distrib_separator }}${{ steps.parse-distrib.outputs.package_distrib_name }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES -v ${{ steps.package-infos.outputs.package_version }} ${{ matrix.name }} | tee "$temp_file" | grep "Created package" | grep -oP '(?<=:path=>").*?(?=")') || { echo "Error: fpm command failed"; exit 1; } + fi + # Check package name if [ -z "$created_package" ]; then echo "Error: fpm command failed" exit 1 fi + # Check deb dpkg-deb --contents $created_package || { echo "Error: dpkg-deb failed for package $created_package"; exit 1; } shell: bash