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/gating.yaml b/gating.yaml new file mode 100644 index 0000000..ce3cdc1 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,19 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..1ad2c12 --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,6 @@ +summary: CI Gating Plan +discover: + how: fmf + directory: tests +execute: + how: beakerlib diff --git a/tests/Regression/testsuite/main.fmf b/tests/Regression/testsuite/main.fmf new file mode 100644 index 0000000..1f4b56c --- /dev/null +++ b/tests/Regression/testsuite/main.fmf @@ -0,0 +1,17 @@ +summary: testsuite +description: '' +contact: Martin Cermak +component: +- yasm +test: ./runtest.sh +framework: beakerlib +recommend: +- yasm +- bison +- byacc +- gettext-devel +- xmlto +- rpm-build +duration: 48h +extra-summary: /tools/yasm/Regression/testsuite +extra-task: /tools/yasm/Regression/testsuite diff --git a/tests/Regression/testsuite/runtest.sh b/tests/Regression/testsuite/runtest.sh new file mode 100755 index 0000000..4c66f1f --- /dev/null +++ b/tests/Regression/testsuite/runtest.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /tools/yasm/Regression/testsuite +# Description: testsuite +# Author: Martin Cermak +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# 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, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="yasm" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlRun "TMP=\$(mktemp -d)" + rlRun "pushd $TMP" + + rlFetchSrcForInstalled $PACKAGE + rlRun "dnf builddep -y *src.rpm --nobest" + rlRun "rpm --define='_topdir $TMP' -Uvh *src.rpm" + rlRun "rpmbuild --define='_topdir $TMP' -bc SPECS/yasm.spec" + rlRun "pushd BUILD/yasm-*" + rlPhaseEnd + + rlPhaseStartTest + rlRun "make check |& tee test.log" + rlRun "PASS=$(awk '/# PASS:/ {print $3}' test.log)" + rlRun "FAIL=$(awk '/# FAIL:/ {print $3}' test.log)" + rlRun "test $PASS -ge 44" + rlRun "test $FAIL -eq 0" + rlPhaseEnd + + rlPhaseStartCleanup + rlRun "popd; popd" + rlRun "rm -r $TMP" + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/yasm-gcc15.patch b/yasm-gcc15.patch deleted file mode 100644 index bff0ac0..0000000 --- a/yasm-gcc15.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -up yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h.gcc15 yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h ---- yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h.gcc15 2023-09-22 07:21:20.000000000 +0200 -+++ yasm-9defefae9fbcb6958cddbfa778c1ea8605da8b8b/libyasm/bitvect.h 2025-02-15 22:14:50.029332956 +0100 -@@ -83,7 +83,11 @@ typedef Z_longword *Z_longwordp - #ifdef MACOS_TRADITIONAL - #define boolean Boolean - #else -+ #if __STDC_VERSION__ < 202311L - typedef enum boolean { false = FALSE, true = TRUE } boolean; -+ #else -+ typedef bool boolean; -+ #endif - #endif - #endif - diff --git a/yasm.spec b/yasm.spec index d5c9461..23e9f6b 100644 --- a/yasm.spec +++ b/yasm.spec @@ -6,7 +6,7 @@ Summary: Modular Assembler Name: yasm Version: 1.3.0^%{date}git%{shortcommit} -Release: 5%{?dist} +Release: 1%{?dist} # See COPYING for the detail, there is quite a lot! # Bitvect is (GPL-1.0-or-later AND GPL-2.0-or-later OR Artistic-1.0-Perl OR LGPL-2.0-or-later # Everything else is BSD. Either 2 or 3 clause. @@ -17,8 +17,6 @@ URL: http://yasm.tortall.net/ Source: https://github.com/yasm/yasm/archive/%{commit}/%{name}-%{shortcommit}.tar.gz # https://github.com/yasm/yasm/issues/270 Patch0: yasm-tests.patch -# https://github.com/yasm/yasm/issues/283 -Patch1: yasm-gcc15.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: python3 @@ -31,8 +29,8 @@ BuildRequires: gcc BuildRequires: bison BuildRequires: byacc BuildRequires: gettext-devel +BuildRequires: xmlto Provides: bundled(md5-plumb) -Provides: deprecated() %description Yasm is a complete rewrite of the NASM assembler under the "new" BSD License @@ -65,7 +63,6 @@ Install this package if you need to rebuild applications that use yasm. %ifarch i686 %patch 0 -p1 %endif -%patch 1 -p1 autoreconf -I m4 -fiv %else %setup -q @@ -103,24 +100,9 @@ make check %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 1.3.0^20250625git121ab15-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Sat Jan 17 2026 Fedora Release Engineering - 1.3.0^20250625git121ab15-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Thu Aug 07 2025 Dominik Mierzejewski - 1.3.0^20250625git121ab15-3 -- mark as deprecated, see https://fedoraproject.org/wiki/Changes/DeprecateYASM - -* Fri Jul 25 2025 Fedora Release Engineering - 1.3.0^20250625git121ab15-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - * Sat Feb 15 2025 Dominik Mierzejewski - 1.3.0^20250625git121ab15-1 - update to git 121ab15 - -* Sun Jan 19 2025 Fedora Release Engineering - 1.3.0^20230922git9defefa-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild -- fix build with GCC 15 +- fixes CVE-2024-22653 (resolves rhbz#2369457) * Sat Jul 20 2024 Fedora Release Engineering - 1.3.0^20230922git9defefa-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild