Compare commits

...
Sign in to create a new pull request.

33 commits

Author SHA1 Message Date
Florian Weimer
fa5dd6e32e Update License tag with build system licenses 2025-11-14 15:32:39 +01:00
Martin Coufal
4387be6cd3 Fix Fedora gating tests.
Remove outdated tests.yml and replace it with FMF/TMT. The upstream
testsuite needed a build path fix and definition of pre-build variables.
2025-11-10 13:00:48 +01:00
Fedora Release Engineering
af97130b57 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 21:10:08 +00:00
Frédéric Bérat
eb4498fb1d Update to m4-1.4.20
The new release fixes the need for -std=gnu17
2025-05-12 15:11:55 +02:00
Frédéric Bérat
e7e00ce157 Set C standard to gnu17
A new m4 release would be needed in order to fix all issues related to
GCC15 setting gnu23 the new standard for C.
While the release has been requested, limit the standard to gnu17.
2025-02-04 15:49:03 +01:00
Fedora Release Engineering
d2aebca464 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 16:39:56 +00:00
Fedora Release Engineering
75eaca3214 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 16:32:39 +00:00
Fedora Release Engineering
c06055e568 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 05:34:39 +00:00
Fedora Release Engineering
2ed6a15836 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 06:43:31 +00:00
Frédéric Bérat
25fbe609d8 Migrate to SPDX licenses
License scanning done on the binary RPM itself, cross-checked with
source RPM for non-text based files.
2023-09-07 15:35:18 +02:00
Fedora Release Engineering
88caa89d09 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 13:33:51 +00:00
Fedora Release Engineering
e902be1005 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 18:47:10 +00:00
Fedora Release Engineering
884f8ba72f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 20:20:59 +00:00
Fedora Release Engineering
809099a8cd - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 18:32:14 +00:00
Fedora Release Engineering
9b1c4a1bda - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 13:35:38 +00:00
Vitezslav Crhonek
745918953c Update to m4-1.4.19 2021-06-01 10:50:07 +02:00
Fedora Release Engineering
dec446dc1d - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 19:06:16 +00:00
Robert Scheck
693395760c Update URLs to HTTPS 2021-01-18 01:40:29 +00:00
Tom Stellard
abaf7b6606 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 03:11:39 +00:00
Vitezslav Crhonek
d9c380b5e8 Drop workaround introduced in previous release 2020-10-13 11:22:19 +02:00
Vitezslav Crhonek
2c0874bd15 Disable %%check on ppc64le (workaround for FTBFS) 2020-08-06 14:51:16 +02:00
Fedora Release Engineering
70ed7905e9 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 04:22:28 +00:00
Fedora Release Engineering
d00b6612dd - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 06:43:02 +00:00
Fedora Release Engineering
617e3799b2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 11:50:18 +00:00
Fedora Release Engineering
1faf45a94e - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 15:41:16 +00:00
Fedora Release Engineering
63cb1b0db9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 09:28:24 +00:00
Fedora Release Engineering
5d147168d4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 09:40:14 +00:00
Igor Gnatenko
f5e85a63e5
remove unneeded scriptlets
install-info is handled by filetriggers nowadays.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-07-12 10:48:42 +02:00
Vitezslav Crhonek
814d592134 Work around change in glibc 2018-05-02 13:00:01 +02:00
Vitezslav Crhonek
8f0da27ddf Remove Group tag 2018-02-22 09:29:39 +01:00
Vitezslav Crhonek
42a7b3eda0 Add BuildRequires gcc 2018-02-22 09:27:56 +01:00
Fedora Release Engineering
b4ea6749c7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 00:43:36 +00:00
Yevhenii Shapovalov
1372b0f71e add_tests 2017-12-04 18:26:29 +02:00
10 changed files with 279 additions and 31 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

4
.gitignore vendored
View file

@ -1,2 +1,2 @@
/m4-1.4.18.tar.xz
/m4-1.4.18.tar.xz.sig
/m4-1.4.20.tar.xz
/m4-1.4.20.tar.xz.sig

7
gating.yaml Normal file
View file

@ -0,0 +1,7 @@
--- !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}

128
m4.spec
View file

@ -1,15 +1,14 @@
Summary: The GNU macro processor
Summary: GNU macro processor
Name: m4
Version: 1.4.18
Release: 5%{?dist}
License: GPLv3+
Group: Applications/Text
Source0: http://ftp.gnu.org/gnu/m4/m4-%{version}.tar.xz
Source1: http://ftp.gnu.org/gnu/m4/m4-%{version}.tar.xz.sig
URL: http://www.gnu.org/software/m4/
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
BuildRequires: autoconf automake
Version: 1.4.20
Release: 3%{?dist}
License: GPL-3.0-or-later AND GFDL-1.3-or-later AND FSFULLR AND GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND GPL-3.0-or-later WITH Texinfo-exception AND GPL-2.0-or-later WITH Autoconf-exception-generic AND GPL-3.0-or-later WITH Autoconf-exception-generic-3.0 AND MIT
Source0: https://ftp.gnu.org/gnu/m4/m4-%{version}.tar.xz
Source1: https://ftp.gnu.org/gnu/m4/m4-%{version}.tar.xz.sig
URL: https://www.gnu.org/software/m4/
BuildRequires: make
BuildRequires: gcc autoconf automake
BuildRequires: gettext
%ifarch ppc ppc64
BuildRequires: texinfo
%endif
@ -32,37 +31,112 @@ Install m4 if you need a macro processor.
chmod 644 COPYING
%build
autoreconf -ivf
%configure
make %{?_smp_mflags}
%make_build
%install
make install INSTALL="%{__install} -p" DESTDIR=$RPM_BUILD_ROOT
%make_install
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%find_lang %{name}
%check
make %{?_smp_mflags} check
%files
%files -f %{name}.lang
%license COPYING
%doc AUTHORS ChangeLog NEWS README THANKS TODO
%{_bindir}/m4
%{_infodir}/*
%{_mandir}/man1/m4.1*
%post
if [ -f %{_infodir}/m4.info.gz ]; then # --excludedocs?
/sbin/install-info %{_infodir}/m4.info.gz %{_infodir}/dir || :
fi
%preun
if [ "$1" = 0 ]; then
if [ -f %{_infodir}/m4.info.gz ]; then # --excludedocs?
/sbin/install-info --delete %{_infodir}/m4.info.gz %{_infodir}/dir || :
fi
fi
%changelog
* Fri Nov 14 2025 Florian Weimer <fweimer@redhat.com> - 1.4.20-3
- Update License tag with build system licenses
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon May 12 2025 Frédéric Bérat <fberat@redhat.com> - 1.4.20-1
- Update to m4-1.4.20 (#2365446)
* Tue Feb 04 2025 Frédéric Bérat <fberat@redhat.com> - 1.4.19-12
- Add -std=gnu17 to CFLAGS to fix FTBFS until new m4 release gets out (#2340807)
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Aug 08 2023 Frederic Berat <fberat@redhat.com> - 1.4.19-7
- Migrate to SPDX licenses (#2222092).
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.19-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 31 2021 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.4.19-1
- Update to m4-1.4.19
Resolves: #1965719
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Oct 13 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.4.18-16
- Drop workaround introduced in previous release
Resolves: #1864107
* Thu Aug 06 2020 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.4.18-15
- Disable %%check on ppc64le (workaround for FTBFS)
Resolves: #1864107
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-14
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed May 02 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.4.18-8
- Work around change in glibc
Resolves: #1573342
* Thu Feb 22 2018 Vitezslav Crhonek <vcrhonek@redhat.com> - 1.4.18-7
- Add BuildRequires gcc
- Remove Group tag
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.18-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

5
plans/ci.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: CI Gating Plan
discover:
how: fmf
execute:
how: tmt

View file

@ -1,2 +1,2 @@
SHA512 (m4-1.4.18.tar.xz) = 06f583efc3855cd8477d8347544f4ae5153a3e50aea74d21968afa7214784ea3ddfc02d0a2b11324120d76a19f2e804d20de11a456b5da929eb6ae469519b174
SHA512 (m4-1.4.18.tar.xz.sig) = effc857a19f1496d6dde2887c0314b37d4b142a435e77614936c730878c798491ad93b28860dddd2601f99a43fa41923729b961004faafc6f798f7bc1842f980
SHA512 (m4-1.4.20.tar.xz) = dc7b4f61452e564b095010029bf6ce4246e5a03959989cd76b09eb8012db7424c52819143020fab21a3471ff57ab026d3eccbd00dd3969819208980565a9fec0
SHA512 (m4-1.4.20.tar.xz.sig) = bc75a64e47a87fe4073f26850a8344e82d15f156ac5b52cde1af701a0ba4e0d18f414323f86c868f114c4867b00c31ce205a9505343e588ad97825b05136c5eb

62
tests/testsuite/Makefile Normal file
View file

@ -0,0 +1,62 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/m4/Regression/testsuite
# Description: testsuite
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2015 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/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/m4/Regression/testsuite
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)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: testsuite" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 3h" >> $(METADATA)
@echo "RunFor: m4" >> $(METADATA)
@echo "Requires: m4 rpm-build autoconf automake gettext gcc" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
rhts-lint $(METADATA)

3
tests/testsuite/PURPOSE Normal file
View file

@ -0,0 +1,3 @@
PURPOSE of /tools/m4/Regression/testsuite
Description: testsuite
Author: Martin Cermak <mcermak@redhat.com>

17
tests/testsuite/main.fmf Normal file
View file

@ -0,0 +1,17 @@
summary: testsuite
description: ''
contact: Martin Cermak <mcermak@redhat.com>
component:
- m4
test: ./runtest.sh
framework: beakerlib
require:
- m4
- gcc
- rpm-build
- autoconf
- automake
- gettext
duration: 3h
extra-summary: /tools/m4/Regression/testsuite
extra-task: /tools/m4/Regression/testsuite

79
tests/testsuite/runtest.sh Executable file
View file

@ -0,0 +1,79 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/m4/Regression/testsuite
# Description: testsuite
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2015 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="m4"
VERSION=$(rpm -q m4 --qf '%{VERSION}')
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TMPD=$(mktemp -d)"
rlRun "pushd $TMPD"
rlFetchSrcForInstalled $PACKAGE
rlRun "rpm --define='_topdir $TMPD' -Uvh m4-*src.rpm"
rlPhaseEnd
rlPhaseStart FAIL "Build the source"
rlRun "rpmbuild --define='_topdir $TMPD' -bc SPECS/m4.spec > stdout.log 2> stderr.log"
rlRun "test -f stderr.log && cat stderr.log || true"
rlFileSubmit stdout.log
rlFileSubmit stderr.log
rlPhaseEnd
rlPhaseStart FAIL "Run tests"
rlRun "pushd $TMPD/BUILD/m4-${VERSION}-build/m4-${VERSION}"
rlRun "eval `rpm --eval %___build_pre_env`"
# el7 package creates couple tests/*log files (per testcase)
# el6 package doesn't, so we'll create some explicitly
rlRun "make check > tests/testout.log 2> tests/testerr.log"
rlFileSubmit testout.log
rlFileSubmit testerr.log
rlPhaseEnd
rlPhaseStart FAIL "Check for at least one PASSed test"
rlRun "[[ $(grep ^PASS tests/*log | wc -l) -ge 1 ]]"
rlPhaseEnd
rlPhaseStart FAIL "Check for no FAILed test"
rlRun "[[ $(cat tests/*log | grep FAIL | grep -P -v '^#' | wc -l) -eq 0 ]]"
rlPhaseEnd
rlPhaseStart FAIL "Show test results summary"
test -f tests/test-suite.log && \
rlRun "cat tests/test-suite.log" || \
rlLogInfo "No summary available."
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd -2"
rlRun "rm -r $TMPD"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd