diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index f240a26..e8a6050 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ dropwatch-1.1-0.tbz2 dropwatch-1.2.tbz2 /dropwatch-1.4.tbz2 /dropwatch-1.5.tar.gz +/dropwatch-1.5.3.tar.gz +/dropwatch-1.5.4.tar.gz +/dropwatch-1.5.5.tar.gz diff --git a/dropwatch.spec b/dropwatch.spec index 2eb591f..568b88e 100644 --- a/dropwatch.spec +++ b/dropwatch.spec @@ -1,43 +1,127 @@ -Summary: Kernel dropped packet monitor -Name: dropwatch -Version: 1.5 -Release: 8%{?dist} -Source0: https://github.com/nhorman/dropwatch/archive/dropwatch-%{version}.tar.gz -URL: https://github.com/nhorman/dropwatch -License: GPLv2+ -BuildRequires: kernel-headers readline-devel -BuildRequires: binutils-devel libnl3-devel pkgconfig -BuildRequires: autoconf automake libtool -Requires: libnl3, readline +Name: dropwatch +Version: 1.5.5 +Release: 2%{?dist} +Summary: Kernel dropped packet monitor +License: GPL-2.0-or-later +URL: https://github.com/nhorman/dropwatch +Source0: https://github.com/nhorman/dropwatch/archive/v%{version}/%{name}-%{version}.tar.gz + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc +BuildRequires: make +BuildRequires: pkgconfig +BuildRequires: libtool +BuildRequires: kernel-headers +BuildRequires: binutils-devel +BuildRequires: libnl3-devel +BuildRequires: libpcap-devel +BuildRequires: readline-devel + +Requires: libnl3 +Requires: readline %description dropwatch is an utility to interface to the kernel to monitor for dropped network packets. %prep -%setup -q -n dropwatch-dropwatch-1.5 +%autosetup -p1 %build ./autogen.sh %configure -make %{?_smp_mflags} +%make_build %install -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT%{_bindir} -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 -install -m0755 src/dropwatch $RPM_BUILD_ROOT%{_bindir} -install -m0644 doc/dropwatch.1 $RPM_BUILD_ROOT%{_mandir}/man1 - +%{make_install} %files -%{_bindir}/* -%{_mandir}/man1/* +%{_bindir}/dropwatch +%{_bindir}/dwdump +%{_mandir}/man1/dropwatch.1* +%{_mandir}/man1/dwdump.1* %doc README.md -%doc COPYING +%license COPYING %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 1.5.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Apr 30 2025 Hangbin Liu - 1.5.5-1 +- Update to version 1.5.5 +- kas is the default symbol lookup method now +- Fix building without libtool installed +- Misc fixes for kas lookup logic + +* Thu Jan 16 2025 Fedora Release Engineering - 1.5.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 1.5.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 1.5.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.5.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Nov 14 2023 Hangbin Liu - 1.5.4-5 +- Update License to SPDX format + +* Wed Jul 19 2023 Fedora Release Engineering - 1.5.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 1.5.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 1.5.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu May 5 2022 Hangbin Liu - 1.5.4-1 +- Update to version 1.5.4 +- Support packet drop reason reporting when included in netlink message +- fix some minor compilation warnings/errors +- clean up some comments about deadline support +- convert configure.ac to use AM_PROG_LIBTOOL from outdated LT_INIT +- Fix missing SOL_NETLINK define in glibc < 2.24 +- Fix licensing issues that didn't make sense +- ignore ENOBUFS errors on data socket +- adding arm64 travis ci testing +- man page updates +- move to libnl3 from libnl + +* Sat Jan 29 2022 Hangbin Liu - 1.5.3-8 +- Fix compilation error with gcc 12 + +* Thu Jan 20 2022 Fedora Release Engineering - 1.5.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.5.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jul 12 2021 Hangbin Liu - 1.5.3-5 +- Update spec file +- Update Makefile license +- Update obsoleted m4 macros +- Install new command dwdump + +* Tue Jan 26 2021 Fedora Release Engineering - 1.5.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Nov 13 2020 Jeff Law - 1.5.3-3 +- Fix off-by-one buffer overflow caught by gcc-11 + +* Mon Jul 27 2020 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Mar 19 2020 Neil Horman - 1.5.3-1 +- Update to latest upstream + +* Tue Jan 28 2020 Fedora Release Engineering - 1.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Jul 24 2019 Fedora Release Engineering - 1.5-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/plans.fmf b/plans.fmf new file mode 100644 index 0000000..20f21fd --- /dev/null +++ b/plans.fmf @@ -0,0 +1,9 @@ +summary: Run dropwatch selftest +discover: + how: fmf +prepare: + how: install + # install psmisc for killall + package: [dropwatch, psmisc] +execute: + how: tmt diff --git a/sources b/sources index 6906f6e..e954bb7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dropwatch-1.5.tar.gz) = 437fdf5430674670c91520ab67d65d4ab35f0ba16c198f474d78e1cd391d263214f87c9d57c655f680e39c53661f3c6b85c60ef865cae4b74ee57cc8953d87de +SHA512 (dropwatch-1.5.5.tar.gz) = b85de34d9b7c1f8232720dd8d4d843cb251ef96d2d9bd592e001d889bd55c2c6821cb8fb3af061bd8e5e2488f9f3aef4c45d1a0c41de3e626bc7c3794c1a4405 diff --git a/tests/README b/tests/README deleted file mode 100644 index 44fb438..0000000 --- a/tests/README +++ /dev/null @@ -1,2 +0,0 @@ -initial tests: -run make check, which runs any selftests in the upstream source tarball diff --git a/tests/inventory b/tests/inventory deleted file mode 100755 index 6238138..0000000 --- a/tests/inventory +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -export TEST_DOCKER_EXTRA_ARGS="--security-opt seccomp:unconfined" -exec merge-standard-inventory "$@" diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..6189cf3 --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,2 @@ +summary: Smoke test +test: ./run_tests.sh diff --git a/tests/run_tests.sh b/tests/run_tests.sh new file mode 100755 index 0000000..6777d3c --- /dev/null +++ b/tests/run_tests.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +abort_dropwatch() { + sleep 5 + killall -SIGINT dropwatch +} + +abort_dropwatch & +echo -e "set alertlimit 1\nstart\nstop\nexit" | dropwatch -l kas &> "$TMT_TEST_DATA"/dropwatch.log + +# shellcheck disable=SC2181 +[ $? -eq 0 ] && exit 0 +# If the platform doesn't support NET_DM, skip this test +# Usually we got this issue in container as no privilege permission +grep -q NET_DM "$TMT_TEST_DATA"/dropwatch.log && exit 0 || exit 1 diff --git a/tests/selftest/Makefile b/tests/selftest/Makefile deleted file mode 100644 index 7b452de..0000000 --- a/tests/selftest/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /CoreOS/patch/Sanity/selftest -# Description: Executes upstream test suite -# Author: Miroslav Vadkerti -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/CoreOS/rng-tools/Sanity/selftest -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Miroslav Vadkerti " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Executes upstream test suite" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 30m" >> $(METADATA) - @echo "RunFor: patch" >> $(METADATA) - @echo "Requires: patch gcc rpm-build automake libselinux-devel ed libattr-devel" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL3 -RHEL4 -RHELServer5 -RHELClient5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/selftest/PURPOSE b/tests/selftest/PURPOSE deleted file mode 100644 index 971cc3f..0000000 --- a/tests/selftest/PURPOSE +++ /dev/null @@ -1,4 +0,0 @@ -PURPOSE of /CoreOS/dropwatch/Sanity/selftest -Description: Executes rngtest to validate integrity of dropwatch -Author: Neil Horman - diff --git a/tests/selftest/runtest.sh b/tests/selftest/runtest.sh deleted file mode 100755 index a9f6055..0000000 --- a/tests/selftest/runtest.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/rng-tools/Sanity/selftest -# Description: Executes the upstream test suite comming with the package -# Author: Miroslav Vadkerti -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/bin/rhts-environment.sh || exit 1 -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="dropwatch" -PACKAGES="dropwatch automake autoconf libtool kernel-headers readline-devel binutils-devel libnl3-devel pkgconf-pkg-config" -UPSTREAMPKG="dropwatch-*" -BUILDLOG=`mktemp` -TESTLOG=`mktemp` -TARGET=$(echo `uname -m` | egrep ppc) -if [[ $TARGET != "" ]]; then TARGET="--target `uname -m`"; fi -TOPDIR=`mktemp -d` -SPEC="$TOPDIR/SPECS/$PACKAGE*.spec" -TESTDIR="$TOPDIR/BUILD/$UPSTREAMPKG/" - -rlJournalStart - rlPhaseStartSetup - for PKG in $PACKAGES; do - rlAssertRpm $PKG - done - rlPhaseEnd - rlPhaseStartTest - rlFetchSrcForInstalled $PACKAGE - rlRun "rpm -ivh --define '_topdir $TOPDIR' $PACKAGE*.src.rpm" 0 "Installing $PACKAGE src rpm" - echo "+ Building $PACKAGE (Log: $BUILDLOG)" - echo "+ Build command: rpmbuild -bc $SPEC $TARGET" - rlRun "rpmbuild --define '_topdir $TOPDIR' -bc $SPEC $TARGET &> $BUILDLOG" - echo "+ Buildlog:" - tail -n 100 $BUILDLOG - rlRun "pushd ." - rlRun "cd $TESTDIR" - rlRun "make check &> $TESTLOG" - if [ $? -eq 0 ] - then - rlPass "Selftest Passed" - else - rlFail "Selftest Failed" - fi - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -rf $PACKAGE*.src.rpm" 0 "Removing source rpm" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index a4aef7b..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -# This first play always runs on the local staging system -- hosts: localhost - roles: - - role: standard-test-beakerlib - tags: - - classic - tests: - - selftest - required_packages: - - autoconf - - automake - - libtool - - kernel-headers - - readline-devel - - binutils-devel - - libnl3-devel - - pkgconf-pkg-config - - libnl3-devel - - wget - - rpm-build