Compare commits

..

No commits in common. "rawhide" and "f32" have entirely different histories.

11 changed files with 151 additions and 114 deletions

View file

@ -1 +0,0 @@
1

4
.gitignore vendored
View file

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

View file

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

View file

@ -0,0 +1,115 @@
diff -up m4-1.4.18/lib/fflush.c.orig m4-1.4.18/lib/fflush.c
--- m4-1.4.18/lib/fflush.c.orig 2018-05-02 12:35:59.536851666 +0200
+++ m4-1.4.18/lib/fflush.c 2018-05-02 12:37:02.768958606 +0200
@@ -33,7 +33,7 @@
#undef fflush
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
static void
@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
#endif
-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
# if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
if (stream == NULL || ! freading (stream))
return fflush (stream);
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
clear_ungetc_buffer_preserving_position (stream);
diff -up m4-1.4.18/lib/fpending.c.orig m4-1.4.18/lib/fpending.c
--- m4-1.4.18/lib/fpending.c.orig 2018-05-02 12:35:32.305806774 +0200
+++ m4-1.4.18/lib/fpending.c 2018-05-02 12:35:44.944827347 +0200
@@ -32,7 +32,7 @@ __fpending (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
return fp->_IO_write_ptr - fp->_IO_write_base;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
diff -up m4-1.4.18/lib/fpurge.c.orig m4-1.4.18/lib/fpurge.c
--- m4-1.4.18/lib/fpurge.c.orig 2018-05-02 12:38:13.586078669 +0200
+++ m4-1.4.18/lib/fpurge.c 2018-05-02 12:38:38.785121867 +0200
@@ -62,7 +62,7 @@ fpurge (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_IO_read_end = fp->_IO_read_ptr;
fp->_IO_write_ptr = fp->_IO_write_base;
/* Avoid memory leak when there is an active ungetc buffer. */
diff -up m4-1.4.18/lib/freadahead.c.orig m4-1.4.18/lib/freadahead.c
--- m4-1.4.18/lib/freadahead.c.orig 2016-12-31 14:54:41.000000000 +0100
+++ m4-1.4.18/lib/freadahead.c 2018-05-02 11:43:19.570336724 +0200
@@ -25,7 +25,7 @@
size_t
freadahead (FILE *fp)
{
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_write_ptr > fp->_IO_write_base)
return 0;
return (fp->_IO_read_end - fp->_IO_read_ptr)
diff -up m4-1.4.18/lib/freading.c.orig m4-1.4.18/lib/freading.c
--- m4-1.4.18/lib/freading.c.orig 2018-05-02 12:37:33.970011368 +0200
+++ m4-1.4.18/lib/freading.c 2018-05-02 12:37:59.393054359 +0200
@@ -31,7 +31,7 @@ freading (FILE *fp)
/* Most systems provide FILE as a struct and the necessary bitmask in
<stdio.h>, because they need it for implementing getc() and putc() as
fast macros. */
-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
return ((fp->_flags & _IO_NO_WRITES) != 0
|| ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
&& fp->_IO_read_base != NULL));
diff -up m4-1.4.18/lib/fseeko.c.orig m4-1.4.18/lib/fseeko.c
--- m4-1.4.18/lib/fseeko.c.orig 2018-05-02 11:44:17.947460233 +0200
+++ m4-1.4.18/lib/fseeko.c 2018-05-02 12:39:49.537216897 +0200
@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when
#endif
/* These tests are based on fpurge.c. */
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
if (fp->_IO_read_end == fp->_IO_read_ptr
&& fp->_IO_write_ptr == fp->_IO_write_base
&& fp->_IO_save_base == NULL)
@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when
return -1;
}
-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
fp->_flags &= ~_IO_EOF_SEEN;
fp->_offset = pos;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
diff -up m4-1.4.18/lib/stdio-impl.h.orig m4-1.4.18/lib/stdio-impl.h
--- m4-1.4.18/lib/stdio-impl.h.orig 2016-12-31 14:54:42.000000000 +0100
+++ m4-1.4.18/lib/stdio-impl.h 2018-05-02 11:43:19.570336724 +0200
@@ -18,6 +18,12 @@
the same implementation of stdio extension API, except that some fields
have different naming conventions, or their access requires some casts. */
+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
+ problem by defining it ourselves. FIXME: Do not rely on glibc
+ internals. */
+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
+# define _IO_IN_BACKUP 0x100
+#endif
/* BSD stdio derived implementations. */

87
m4.spec
View file

@ -1,14 +1,14 @@
Summary: GNU macro processor
Summary: The GNU macro processor
Name: m4
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
Version: 1.4.18
Release: 12%{?dist}
License: GPLv3+
Source0: http://ftp.gnu.org/gnu/m4/m4-%{version}.tar.xz
Source1: http://ftp.gnu.org/gnu/m4/m4-%{version}.tar.xz.sig
# Patch0: update to glibc libio.h removal, rhbz#1573342
Patch0: m4-1.4.18-glibc-change-work-around.patch
URL: http://www.gnu.org/software/m4/
BuildRequires: gcc autoconf automake
BuildRequires: gettext
%ifarch ppc ppc64
BuildRequires: texinfo
%endif
@ -28,21 +28,22 @@ Install m4 if you need a macro processor.
%prep
%setup -q
%patch0 -p1 -b .glibc-change-work-around
chmod 644 COPYING
%build
autoreconf -ivf
%configure
%make_build
%install
%make_install
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%find_lang %{name}
%check
make %{?_smp_mflags} check
%files -f %{name}.lang
%files
%license COPYING
%doc AUTHORS ChangeLog NEWS README THANKS TODO
%{_bindir}/m4
@ -50,70 +51,6 @@ make %{?_smp_mflags} check
%{_mandir}/man1/m4.1*
%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

View file

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

View file

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

16
tests/tests.yml Normal file
View file

@ -0,0 +1,16 @@
---
# Tests for Classic and Container
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
- container
tests:
- testsuite
required_packages:
- autoconf
- automake
- rpm-build
- wget

View file

@ -53,7 +53,7 @@ $(METADATA): Makefile
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 3h" >> $(METADATA)
@echo "RunFor: m4" >> $(METADATA)
@echo "Requires: m4 rpm-build autoconf automake gettext gcc" >> $(METADATA)
@echo "Requires: m4" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)

View file

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

7
tests/testsuite/runtest.sh Executable file → Normal file
View file

@ -26,10 +26,10 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="m4"
VERSION=$(rpm -q m4 --qf '%{VERSION}')
rlJournalStart
rlPhaseStartSetup
@ -48,8 +48,7 @@ rlJournalStart
rlPhaseEnd
rlPhaseStart FAIL "Run tests"
rlRun "pushd $TMPD/BUILD/m4-${VERSION}-build/m4-${VERSION}"
rlRun "eval `rpm --eval %___build_pre_env`"
rlRun "pushd $TMPD/BUILD/m4-*"
# 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"
@ -62,7 +61,7 @@ rlJournalStart
rlPhaseEnd
rlPhaseStart FAIL "Check for no FAILed test"
rlRun "[[ $(cat tests/*log | grep FAIL | grep -P -v '^#' | wc -l) -eq 0 ]]"
rlRun "[[ $(cat tests/*log | grep -i FAIL | grep -P -v '^#' | wc -l) -eq 0 ]]"
rlPhaseEnd
rlPhaseStart FAIL "Show test results summary"