Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

11 changed files with 292 additions and 56 deletions

6
.gitignore vendored
View File

@ -1,2 +1,4 @@
SOURCES/mpc-0.9.tar.gz *.rpm
SOURCES/mpc-1.1.0.tar.gz .build-*
mpc-*/
/mpc-*.tar.gz

View File

@ -1,2 +0,0 @@
229722d553030734d49731844abfef7617b64f1a SOURCES/mpc-0.9.tar.gz
b019d9e1d27ec5fb99497159d43a3164995de2d0 SOURCES/mpc-1.1.0.tar.gz

View File

@ -1,37 +0,0 @@
From aed9d68b2a7e6622a7d0037d25d69d486a33825c Mon Sep 17 00:00:00 2001
From: Marek Polacek <polacek@redhat.com>
Date: Thu, 8 Oct 2020 16:27:55 -0400
Subject: [PATCH] Fix reading uninitialized value. Remove dead assignment.
* src/atan.c (mpc_atan): Initialize OK to zero.
* src/pow.c (mpc_pow): Remove dead assignment.
---
src/atan.c | 2 +-
src/pow.c | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/atan.c b/src/atan.c
index cc1922b..4e71f6f 100644
--- a/src/atan.c
+++ b/src/atan.c
@@ -143,7 +143,7 @@ mpc_atan (mpc_ptr rop, mpc_srcptr op, mpc_rnd_t rnd)
mpfr_rnd_t rnd_im, rnd_away;
mpfr_t y, z;
mpfr_prec_t p, p_im;
- int ok;
+ int ok = 0;
rnd_im = MPC_RND_IM (rnd);
mpfr_init (y);
diff --git a/src/pow.c b/src/pow.c
index 4fc90ae..0fc6932 100644
--- a/src/pow.c
+++ b/src/pow.c
@@ -685,7 +685,6 @@ mpc_pow (mpc_ptr z, mpc_srcptr x, mpc_sr
int inex_re, inex_im;
/* under- and overflow flags are set by mpc_exp */
mpc_set (z, u, MPC_RNDNN);
- ret = ret_exp;
inex_re = MPC_INEX_RE(ret_exp);
inex_im = MPC_INEX_IM(ret_exp);
if (mpfr_inf_p (mpc_realref (z)))

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

8
libmpc.rpmlintrc Normal file
View File

@ -0,0 +1,8 @@
# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors
# The dictionary lacks some technical words
addFilter(r'spelling-error .* symlinks')
# Documentation is in the -doc subpackage
addFilter(r'^libmpc.*-devel\.[^:]+: W: no-documentation')

View File

@ -1,26 +1,33 @@
# build compat-libmpc for bootstrapping purposes # build compat-libmpc for bootstrapping purposes
%global bootstrap 1 %global bootstrap 0
%global bootstrap_version 0.9 %global bootstrap_version 0.9
Summary: C library for multiple precision complex arithmetic Summary: C library for multiple precision complex arithmetic
Name: libmpc Name: libmpc
Version: 1.1.0 Version: 1.2.1
Release: 9.1%{?dist} Release: 4%{?dist}
License: LGPLv3+ License: LGPLv3+
URL: http://www.multiprecision.org/mpc/ URL: http://www.multiprecision.org/mpc/
Source0: https://ftp.gnu.org/gnu/mpc/mpc-%{version}.tar.gz Source0: https://ftp.gnu.org/gnu/mpc/mpc-%{version}.tar.gz
%if 0%{?bootstrap} %if 0%{?bootstrap}
Source1: http://www.multiprecision.org/downloads/mpc-%{bootstrap_version}.tar.gz Source1: https://ftp.gnu.org/gnu/mpc/mpc-%{bootstrap_version}.tar.gz
%endif %endif
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gmp-devel >= 5.0.0 BuildRequires: gmp-devel >= 5.0.0
BuildRequires: mpfr-devel BuildRequires: mpfr-devel >= 4.1.0
BuildRequires: make
Patch0: libmpc-fix-uninit-var.patch # This can be removed when F32 reaches EOL
Obsoletes: libmpc-mpfr3 < 1.1.0-7
Provides: libmpc-mpfr3 = %{version}-%{release}
%if 0%{?bootstrap} == 0
Obsoletes: compat-libmpc < %{version}-1
Provides: compat-libmpc = %{version}-%{release}
%endif
%description %description
MPC is a C library for the arithmetic of complex numbers with MPC is a C library for the arithmetic of complex numbers with
arbitrarily high precision and correct rounding of the result. It is arbitrarily high precision and correct rounding of the result. It is
built upon and follows the same principles as Mpfr. built upon and follows the same principles as Mpfr.
@ -31,6 +38,10 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gmp-devel%{?_isa} Requires: gmp-devel%{?_isa}
Requires: mpfr-devel%{?_isa} Requires: mpfr-devel%{?_isa}
# This can be removed when F32 reaches EOL
Obsoletes: libmpc-mpfr3-devel < 1.1.0-7
Provides: libmpc-mpfr3-devel = %{version}-%{release}
%description devel %description devel
Header files and shared library symlinks for the MPC library. Header files and shared library symlinks for the MPC library.
@ -55,7 +66,6 @@ Contains the .so files for mpc version %{bootstrap-version}.
%if 0%{?bootstrap} %if 0%{?bootstrap}
%setup -q -n mpc-%{version} -a 1 %setup -q -n mpc-%{version} -a 1
%endif %endif
%patch0 -p1 -b .uninit~
%build %build
%configure --disable-static %configure --disable-static
@ -91,8 +101,8 @@ rm -fv %{buildroot}%{_infodir}/*
%endif %endif
%make_install %make_install
rm -f %{buildroot}/%{_libdir}/*.la rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}/%{_infodir}/dir rm -f %{buildroot}%{_infodir}/dir
%check %check
export LD_LIBRARY_PATH=%{buildroot}%{_libdir} export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
@ -117,12 +127,60 @@ make check
%endif %endif
%changelog %changelog
* Fri Oct 09 2020 Marek Polacek <polacek@redhat.com> - 1.1.0-9.1 * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.1-4
- apply my upstream patch to fix using an uninitialized value - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Oct 08 2020 Marek Polacek <polacek@redhat.com> - 1.1.0-9 * Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.2.1-3
- mpc-1.1.0 (#1835193) - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
- update the specfile from Fedora
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Nov 13 2020 Jerry James <loganjerry@gmail.com> - 1.2.1-1
- Upgrade to libmpc version 1.2.1
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Oct 11 2019 Jerry James <loganjerry@gmail.com> - 1.1.0-7
- Drop the libmpc-mpfr3 and libmpc-mpfr3-devel subpackages
* Wed Oct 9 2019 Jerry James <loganjerry@gmail.com> - 1.1.0-6
- Build the main package against mpfr4
* Tue Oct 8 2019 Jerry James <loganjerry@gmail.com> - 1.1.0-5
- Make mpfr3 and mpfr3-devel subpackages
- Drop the compat-libmpc package; nothing in Fedora needs it
- Update project URL
- Add a -doc subpackage to hold the GFDL-licensed content
- Drop unnecessary texinfo BR
- Drop ldconfig_scriptlets; this version cannot appear in distros that need it
- Make sure there are no rpaths and that -Wl,--as-needed takes effect
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Jun 15 2018 Serhii Turivnyi <sturivny@redhat.com> - 1.1.0-1
- Add tests according to the CI wiki. PR: https://src.fedoraproject.org/rpms/libmpc/pull-request/3
* Mon Feb 26 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.1.0-1
- Modernization of the spec file (remove Group, use new make and ldconfig macros,
add gcc to BuildRequires)
- Move build to %%build
* Mon Feb 26 2018 James Paul Turner <jamesturner246@fedoraproject.org> - 1.1.0-1
- Upgrade to libmpc version 1.1.0
- Fix broken compat package build
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-9 * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (mpc-1.2.1.tar.gz) = 3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/libmpc/Regression/internal-testsuite
# Description: internal-testsuite
# Author: Martin Coufal <mcoufal@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 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/libmpc/Regression/internal-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 Coufal <mcoufal@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: internal-testsuite" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 30m" >> $(METADATA)
@echo "RunFor: libmpc" >> $(METADATA)
@echo "Requires: libmpc gmp-devel mpfr-devel texinfo rpm-build gcc gcc-c++" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,60 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/libmpc/Regression/internal-testsuite
# Description: internal-testsuite
# Author: Martin Coufal <mcoufal@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 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/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="${PACKAGE:-$(rpm -qf --qf='%{name}\n' /usr/lib64/libmpc.so.3)}"
export PACKAGE
rlJournalStart
rlPhaseStartSetup
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlFetchSrcForInstalled $PACKAGE
rlAssertRpm $PACKAGE
rlRun "dnf builddep -y $PACKAGE"
rlRun "rpm --define='_topdir $TmpDir' -Uvh *src.rpm"
rlRun "rpmbuild --define='_topdir $TmpDir' -bc SPECS/libmpc.spec"
rlPhaseEnd
rlPhaseStartTest
rlRun "pushd BUILD/mpc-*"
# test
rlRun "make RUNTESTFLAGS='--tool_exec=$BIN' check |& tee $TmpDir/check.log"
rlRun "popd"
# no unexpected results should appear
rlRun "grep '^# of unexpected' check.log" 1
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,60 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/libmpc/Regression/internal-testsuite
# Description: internal-testsuite
# Author: Martin Coufal <mcoufal@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 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/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="${PACKAGE:-$(rpm -qf --qf='%{name}\n' /usr/lib64/libmpc.so.3)}"
export PACKAGE
rlJournalStart
rlPhaseStartSetup
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlFetchSrcForInstalled $PACKAGE
rlAssertRpm $PACKAGE
rlRun "dnf builddep -y $PACKAGE"
rlRun "rpm --define='_topdir $TmpDir' -Uvh *src.rpm"
rlRun "rpmbuild --define='_topdir $TmpDir' -bc SPECS/libmpc.spec"
rlPhaseEnd
rlPhaseStartTest
rlRun "pushd BUILD/mpc-*"
# test
rlRun "make RUNTESTFLAGS='--tool_exec=$BIN' check |& tee $TmpDir/check.log"
rlRun "popd"
# no unexpected results should appear
rlRun "grep '^# of unexpected' check.log" 1
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

17
tests/tests.yml Normal file
View File

@ -0,0 +1,17 @@
---
# This first play always runs on the local staging system
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
tests:
- internal-testsuite
required_packages:
- libmpc
- gmp-devel
- mpfr-devel
- texinfo
- rpm-build
- gcc
- gcc-c++