From 6d59e60331279f3436258d4bd99226247b63657a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Fri, 17 Jul 2026 14:32:16 -0300 Subject: [PATCH] build(xcatprobe): declare listener tool dependency --- xCAT-probe/debian/control | 2 +- xCAT-probe/xCAT-probe.spec | 6 ++++++ xCAT-test/unit/xcat_probe_package_payload.t | 13 +++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/xCAT-probe/debian/control b/xCAT-probe/debian/control index 7140f1513..690713a4d 100644 --- a/xCAT-probe/debian/control +++ b/xCAT-probe/debian/control @@ -7,6 +7,6 @@ Standards-Version: 3.9.4 Package: xcat-probe Architecture: all -Depends: ${perl:Depends} +Depends: ${perl:Depends}, iproute2 | net-tools Recommends: wget, dnsutils, tftp-hpa, tcpdump Description: Provides a toolkit to probe possible issues in xCAT diff --git a/xCAT-probe/xCAT-probe.spec b/xCAT-probe/xCAT-probe.spec index 108774e7d..53bbb589c 100644 --- a/xCAT-probe/xCAT-probe.spec +++ b/xCAT-probe/xCAT-probe.spec @@ -27,6 +27,12 @@ Requires: /usr/bin/tftp Requires: /usr/bin/wget # Tool detect_dhcpd requires tcpdump Requires: /usr/sbin/tcpdump +# TCP listener checks use ss, which is packaged differently on SUSE. +%if 0%{?suse_version} +Requires: iproute2 +%else +Requires: iproute +%endif %endif %description diff --git a/xCAT-test/unit/xcat_probe_package_payload.t b/xCAT-test/unit/xcat_probe_package_payload.t index a4fad8aaf..8ebb934b6 100644 --- a/xCAT-test/unit/xcat_probe_package_payload.t +++ b/xCAT-test/unit/xcat_probe_package_payload.t @@ -23,6 +23,8 @@ my @affected_subcommands = qw( ); my $builder = read_file('buildrpms.pl'); +my $rpm_spec = read_file('xCAT-probe/xCAT-probe.spec'); +my $debian_control = read_file('xCAT-probe/debian/control'); like($builder, qr/sub prepare_xcat_probe_source_tar\b/, 'RPM builder has dedicated xCAT-probe source preparation'); like( $builder, @@ -45,6 +47,17 @@ ok( 'xCAT-probe source preparation runs before worker processes fork' ); +like( + $rpm_spec, + qr/%if 0%\{\?suse_version\}\s+Requires: iproute2\s+%else\s+Requires: iproute\s+%endif/s, + 'RPM package requires the distro-specific provider of ss' +); +like( + $debian_control, + qr/^Depends:.*\biproute2\s*\|\s*net-tools\b/m, + 'Debian package requires ss or the legacy netstat provider' +); + for my $helper (@helpers) { my $source = File::Spec->catfile($repo_root, 'perl-xCAT', 'xCAT', $helper); ok(-f $source, "$helper source exists");