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");