diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index a4a90fa..0000000 --- a/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -cppad-20090303.0.gpl.tgz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6dd6f65 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# ignore swap files created by vim editor +/*.swp +# ignore rpm files created by fedpkg srpm +/*.rpm +# ignore log files created by fedpkg local +/*.log +# temporary files +/temp +/temp.* +# ignore result drectory created by fedpkg mockbuild +/results_cppad/ +# directories used like git cache +/new/ +/new.*/ +# --------------------------------------------------------------------------- +# +# Most recent upstrem source +/CppAD-20240000.3.tar.gz +/CppAD-20250000.0.tar.gz +/CppAD-20260000.0.tar.gz diff --git a/Makefile b/Makefile deleted file mode 100644 index 0b7a4f3..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: cppad -# $Id$ -NAME := cppad -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/cppad.spec b/cppad.spec index b8c8682..b3b1612 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,39 +1,64 @@ +# vim: set expandtab: # ---------------------------------------------------------------------------- -# RPM source for this version of cppad.spec: -# http://www.seanet.com/~bradbell/cppad/cppad-%{version}-%{release}.fc7.src.rpm +# Preamble # ---------------------------------------------------------------------------- -# Known Problems: +# fedpkg lint: W: no-documentation +# The %%doc directive below installs COPYING and uw_copy_040507.html +# as part of the main package, so this warning should not be generated; see +# https://fedoraproject.org/wiki/Common_Rpmlint_issues#no-documentation +# 'This would be rare as most packages should have some license text, +# a changelog or other information that is better placed in the main package +# instead of a -doc subpackage.' # -# After installation of cppad-doc-%{version} the command -# rpmlint cppad-doc -# results in the following error message -# W: file-not-utf8 /usr/share/doc/cppad-%{version}/pmathmlcss.xsl -# The file pmathmlcss.xsl is the standard presentation MathML style sheet. -# Except for white space and a comment at the top, it is identical to -# http://www.w3.org/Math/XSL/pmathmlcss.xsl -# (use wget and diff -b to see that this is true). -# ---------------------------------------------------------------------------- +# year +# The year corresponding to this version +%define year 2026 +# +# soversion +# fedora uses its own soversion number for cppad_lib where +# 1.0 corresponds to year 2020 +%define soversion %[ %year - 2019 ] +# +# This is really an out of soruce build because the source is in the +# CppAD-%%{version} sub-directory of the source. The fedora macros are +# confused and need this defined true. +%define __cmake_in_source_build 1 +# ---------------------------------------------------------------------------- -Name: cppad -Version: 20090303.0 -Release: 5%{?dist} -Summary: No base package is installed, see %{name}-devel +# Fedora Release starts with 1; see +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ +Name: cppad +Version: %{year}0000.0 +Release: 1%{?dist} +Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc +# +License: EPL-2.0 OR GPL-2.0-or-later +URL: https://github.com/coin-or/CppAD +Source: %{url}/archive/%{version}/CppAD-%{version}.tar.gz +# +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake >= 3.10 +BuildRequires: make +BuildRequires: python-xrst >= 2025.0 +BuildRequires: python-sphinx_rtd_theme +BuildRequires: python-tomli +BuildRequires: python-sphinx-copybutton +BuildRequires: python-pyspellchecker +BuildRequires: python-furo -Group: Development/Libraries -License: GPLv2 -URL: http://www.coin-or.org/CppAD/ -Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description -There is no base %{name} package installation, only %{name}-devel is installed. +C++ Algorithmic Differentiation (AD) include and library files. # --------------------------------------------------------------------------- %package devel -Summary: Development libraries for %{name} -Group: Development/Libraries +Summary: The %{name} C++ include files for Algorithmic Differentiation (AD) Provides: %{name} = %{version}-%{release} +# Requested by bug report +# https://bugzilla.redhat.com/show_bug.cgi?id=1197488 +Provides: coin-or-cppad = %{version}-%{release} +Provides: coin-or-cppad-devel = %{version}-%{release} %description devel We refer to the step by step conversion from an algorithm that computes @@ -42,125 +67,619 @@ Algorithmic Differentiation (often referred to as Automatic Differentiation.) Given a C++ algorithm that computes function values, %{name} generates an algorithm that computes its derivative values. A brief introduction to Algorithmic Differentiation (AD) can be found at -http://en.wikipedia.org/wiki/Automatic_differentiation - -# ---------------------------------------------------------------------------- -%package doc -Summary: Documentation for %{name} -Group: Development/Libraries - -%description doc -The %{name}-doc package contains the xml documentation for -the %{name}-devel package. -Links to an html version of the %{name} documentaiton, -for the most recent version of %{name}, can be found at web site -http://www.coin-or.org/CppAD/. -In addition, printable versions of the documentation -as a single web page, in both html and xml, can be found at that web site. - -# ---------------------------------------------------------------------------- + http://en.wikipedia.org/wiki/Automatic_differentiation +The documentation for the %{year} version + https://cppad.readthedocs.io/stable-%{year} +The documentation for the most recent version of %{name} can be found at + https://cppad.readthedocs.io/latest +# ----------------------------------------------------------------------------- +# prep +# ----------------------------------------------------------------------------- %prep -%setup -q - -# Patch problems fix in trunk on 20090606, but not yet in any release -# This grep should fail once the version passes 20090606 -grep 'x\[2\] = 5.0; x\[2\] = 5.0;' test_more/jacobian.cpp -# This patch will no longer be needed once the version passes 20090606 -sed -i.stamp test_more/jacobian.cpp \ - -e 's/x\[2\] = 5.0; x\[2\] = 5.0;/x[1] = 5.0; x[2] = 5.0;/' -# This patch will no longer be needed once the version passes 20090606 -sed -i.stamp cppad/local/default.hpp \ - -e 's/AD::AD(void) :/& value_(Base(0)), /' - -# This patch will no longer be needed once branches/sweep is merged into -# the CppAD trunk (date is as yet unknown). -sed -i.stamp cppad/local/fun_construct.hpp \ - -e '/for(i = 0; i < m; i++)/,$d' -cat << EOF >> cppad/local/fun_construct.hpp -# ifndef NDEBUG - for(i = 0; i < m; i++) if( taylor_[dep_taddr_[i]] != y[i].value_ ) - { using std::endl; - std::ostringstream buf; - buf << "A dependent variable value is not equal to " - << "its tape evaluation value (perhaps it is nan)" << endl - << "Dependent variable value = " - << y[i].value_ << endl - << "Tape evaluation value = " - << taylor_[dep_taddr_[i]] << endl - << "Difference = " - << y[i].value_ - taylor_[dep_taddr_[i]] << endl - ; - CPPAD_ASSERT_KNOWN( - 0, - buf.str().c_str() - ); - } -# endif +# +# Create an empty directory named cppad-%%{version}, +# changed into that directory and unpack Source. +%setup -q -c +# +# xrst.toml +# This is not a git repository so suppress the warning that could not double +# check that all the files with xrst commands were included. +echo '' >> CppAD-%{version}/xrst.toml +echo '[input_files]' >> CppAD-%{version}/xrst.toml +echo 'data = [ ]' >> CppAD-%{version}/xrst.toml +# +# COPYING, uw_copy_040507.html +cp CppAD-%{version}/COPYING COPYING +cp CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html +# +# cppad_lib/CMakeLists.txt +# cppad_lib: replace soversion number and ensure build type is release +sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \ + -e "s|print_variable(soversion)|SET(soversion %{soversion} )\n&|" \ + -e "s|\${cppad_debug_which}|debug_none|" +# +# Print machine epsilon before any other testing +cat << EOF > temp.cpp +# include +# include +template void print_epsilon(const char* type_name) +{ Float epsilon = std::numeric_limits::epsilon(); + std::cout << type_name << " epsilon = " << epsilon << "\n"; +} +int main(void) +{ print_epsilon("float"); + print_epsilon("double"); + print_epsilon("long double"); + return 0; } - -} // END CppAD namespace - -# endif EOF - -# change example/example.cpp to print out machine epsilon -cat << EOF > example.sed -/^int main(void)/N -s|^int main(void)\n{|# include \\ -int main(void)\\ -{ // print machine epsilon\\ - std::cout << "DBL_EPSILON =" << DBL_EPSILON << std::endl;\\ -\\ -| -EOF -sed -i.stamp example/example.cpp -f example.sed - -# See Sat Jan 12 2008 log entry -sed -i.stamp speed/example/example.cpp -e '/Run(speed_test,/d' - -# Remove setting of permissions in documentation destination directory. -# Create the doc_prefix directory (if it does not already exist). -# (Note we are not using a postfix directory, so can overwrite its case.) -sed -i.stamp makefile.am \ - -e '/chmod -R .* $(doc_package)/d' -sed -i.stamp makefile.in \ - -e '/chmod -R .* $(doc_package)/d' - +g++ -std=c++11 temp.cpp -o temp +./temp > temp.out +cat temp.out +# ---------------------------------------------------------------------------- +# build +# ----------------------------------------------------------------------------- %build -%configure --with-Documentation \ - --with-Example \ - --with-TestMore \ - --with-Speed -make %{?_smp_mflags} +# +# 1. The debug_all is overridden for cppad_lib by the edit of +# cppad_lib/CMakeLists.txt above +# +# 2. The gnu c++ compiler seems to be generating an incorrect warning about +# array bounds in thread_alloc.hpp. Use -Wno-array-bounds to suppress it. +# +# cppad_cxx_flags +# extra C++ compiler flags +cppad_cxx_flags=\ +'-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion -Wno-array-bounds' +# +# CMake Warning: +# Manually-specified variables were not used by the project: +# CMAKE_C_FLAGS_RELEASE +# CMAKE_Fortran_FLAGS_RELEASE +# CMAKE_INSTALL_DO_STRIP +# INCLUDE_INSTALL_DIR +# LIB_INSTALL_DIR +# LIB_SUFFIX +# SHARE_INSTALL_PREFIX +# SYSCONF_INSTALL_DIR +# +%cmake --version +%cmake \ + -S CppAD-%{version} \ + -B . \ + \ + -D CMAKE_VERBOSE_MAKEFILE=0 \ + -G 'Unix Makefiles' \ + \ + -D cppad_prefix=%{_prefix} \ + -D cppad_postfix='' \ + \ + -D cmake_install_includedirs=include \ + -D cmake_install_libdirs=%{_lib} \ + \ + -D cmake_install_datadir=share \ + -D cmake_install_docdir='NOTFOUND' \ + \ + -D include_doc=true \ + -D cmake_defined_ok=false \ + -D cppad_static_lib=false \ + -D cppad_debug_and_release=true \ + \ + -D include_adolc=false \ + -D include_ipopt=false \ + -D include_cppadcg=false \ + \ + -D colpack_prefix='NOTFOUND' \ + -D fadbad_prefix='NOTFOUND' \ + -D sacado_prefix='NOTFOUND' \ + \ + -D cppad_cxx_flags="$cppad_cxx_flags" \ + -D cppad_profile_flag='' \ + -D cppad_testvector=cppad \ + -D cppad_max_num_threads=64 \ + -D cppad_tape_id_type=size_t \ + -D cppad_tape_addr_type='unsigned int' \ + -D cppad_debug_which='debug_all' +# +# see https://docs.fedoraproject.org/en-US/packaging-guidelines/ +# parallel_make +%make_build +# ----------------------------------------------------------------------------- +# Install +# ----------------------------------------------------------------------------- %install -rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT +# https://docs.fedoraproject.org/en-US/packaging-guidelines/ +# why_the_makeinstall_macro_should_not_be_used +%make_install -%check -example/example -test_more/test_more -speed/cppad/cppad correct 123 true -speed/cppad/cppad correct 123 false -speed/double/double correct 123 true -speed/example/example -speed/profile/profile correct 123 true +%files +%{_libdir}/libcppad_lib.so.%{soversion} + +# These documentation files come from the source code tarball +%doc COPYING uw_copy_040507.html -%clean -# cleanup -rm -rf $RPM_BUILD_ROOT %files devel -%defattr(-,root,root,-) -%doc COPYING ChangeLog AUTHORS uw_copy_040507.html %{_includedir}/%{name} +%{_datadir}/pkgconfig/%{name}.pc +%{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/libcppad_lib.so -%files doc -%defattr(-,root,root,-) -%{_docdir}/%{name}-%{version} - +# ----------------------------------------------------------------------------- +# Check +# ----------------------------------------------------------------------------- +# +%check +# +# Test installed version of CppAD +g++ CppAD-%{version}/example/get_started/get_started.cpp \ + -I %{buildroot}/%{_includedir} \ + -Wl,-rpath,%{buildroot}/%{_libdir} \ + %{buildroot}/%{_libdir}/libcppad_lib.so \ + -o get_started +./get_started +# +# Test building documentation +make %{?_smp_mflags} doc_user +# +# Run the all the standard CppAD tests. +make %{?_smp_mflags} check +# ---------------------------------------------------------------------------- +# +# Use %%clean with no arguments to surpress the cleanup of BUILDROOT +# This enables one to check that the necessary files are installed. +%%clean # ---------------------------------------------------------------------------- %changelog +* Mon Jan 05 2026 Brad Bell - 20260000.0-1 +- New upstream source cppad-20260000.0. + +* Wed Jul 23 2025 Fedora Release Engineering - 20250000.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Feb 05 2025 - 20250000.0-4 +- python-toml is deprecated, so current xrst-python uses python-tomli instead + +* Sun Jan 19 2025 Brad Bell - 20250000.0-3 +- 1. Add the year macro and use it to define soversion and Version. +- 2. Remove the cppad-doc subpackage because documantion for this stable + version is not available at https://cppad.readthedocs.io/stable-2025/ . +- 3. Change include_doc=true, cmake_install_docdir=NOTFOUND, and add + make doc_user to test building, but not installing, user documentation. +- 4. The ppc64le arch has been fixed and now the CppAD to_string test pass + for long double (so we do not need to skip that test). +- 5. Use get_started.cpp to test the installed version of CppAD. + +* Sat Jan 18 2025 Brad Bell - 20250000.0-2 +- This fixes two bugs and will not be necessary +- once the upstream source advances to 20250000.1. + +* Thu Jan 16 2025 Fedora Release Engineering - 20250000.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Jan 14 2025 Brad Bell - 20250000.0-1 +- New upstream source cppad-20250000.0. + +* Wed Jul 17 2024 Fedora Release Engineering - 20240000.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Mar 01 2024 Brad Bell - 20240000.3-2 +- This fixes a bug in fun2val.hpp. This change will not be necessary +- once the upstream source advances to 20240000.4. + +* Sat Feb 17 2024 Brad Bell - 20240000.3-1 +- This fixes a long standing bug; see the heading 02-14 on +- https://cppad.readthedocs.io/latest/whats_new_24.html + +* Wed Jan 24 2024 Fedora Release Engineering - 20240000.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 20240000.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 17 2024 Brad Bell - 20240000.2-1 +- Upstream moved i386 special cases into cmake script. +- Checking that other upstream changes do not affect Fedora install. + +* Tue Jan 09 2024 Brad Bell - 20240000.1-1 +- thread_alloc.hpp: i386 i686: fix allignment for doubles +- op_hash_table: i386 i686: avoid second specialization of is_pod for same type. +- xrst.toml: add comment about why we are adding to this file. +- xrst command: speed up parallel build by settting number_jobs. + + +* Mon Jan 08 2024 Brad Bell - 20240000.1-1 +- Upstream fix of bug found by build on buildvm-x86-16.iad2.fedoraproject.org + +* Sat Jan 06 2024 Brad Bell - 20240000.0-1 +- New upstream source cppad-20240000.0. +- require python-xrst >= 2024.0 +- xrst.toml: no need to change to pyenchant because pyspellchecker avaialble +- upstream source changed CPPAD_DEBUG_AND_RELEASE to a cmake argument + +* Mon Dec 25 2023 Brad Bell - 20230000.0-3 +- migrated to SPDX license +- move %%doc directive before subpackages (becasue it is in main package) + +* Wed Jul 19 2023 Fedora Release Engineering - 20230000.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Jan 29 2023 Brad Bell - 20230000.0-1 +- Move libcppad_lib.so to main package (fixes a fedpkg lint error). +- Fix comment about where doc files come from. +- Move %%define __cmake_in_source_build to top of spec file. +- Add discussion of fedpkg lint files-duplicate warning. + +* Sat Jan 28 2023 Brad Bell - 20230000.0-1 +- Advance upstream source to 2023. +- Add python-xrst to BuildRequires so can buile documentation. +- Remove Source1, change Source0 -> Source, and make definition so tarball + has the same name as the directory it creates. +- Change URL from documentation to git repo so can use in Source definition. +- Change some cmake definitions from empty string to NOTFOUND. +- Explicity specify the source directory (-S) and binary (-B) in camke comamnd. +- Add comments about __cmake_in_source_build confusion +- Update comments about cmake settings and warnings + +* Thu Jan 19 2023 Fedora Release Engineering - 20220000.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 20220000.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat May 21 2022 Brad Bell - 20220000.4-1 +- Advance to upstream 20220000.4. Main motivation for this is to make + cppad_eigen.hpp work with Eigen 3.4.0. + +* Mon Feb 14 2022 Brad Bell - 20220000.1-1 +- Not necessary to advance to 20220000.2 because Fedora build is getting + correct result for cppad.pc. + +* Wed Feb 02 2022 Brad Bell - 20220000.1-1 +- Try commenting out to_string test of long double on ppc56le arch. + This problem does not reproduce on ppc64le-test.fedorainfracloud.org. + +* Tue Feb 01 2022 Brad Bell - 20220000.1-1 +- Modify to_string.cpp patch to print out more information on failure. +- Add simple program to print machine epsilon before any other testing. + +* Mon Jan 31 2022 Brad Bell - 20220000.1-1 +- Fix following long standing typos in cmake command: +- 1. cppad_test_vector -> cppad_testvector +- 2. cppad_max_num_theads -> cppad_max_num_threads +- Temporary change to debug ppc64le build failure: replace to_string.cpp +- Replace temporary change by a patch to example/utility/to_string.cpp + +* Mon Jan 24 2022 Brad Bell - 20220000.1-1 +- Advance to upstream source 20220000.1 +- Add -Wno-array-bounds to compiler flags (see remarks about this flag) + +* Wed Jan 19 2022 Fedora Release Engineering - 20210000.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Aug 02 2021 Brad Bell - 20210000.7-1 +- Advance to upstream source 20210000.7 + +* Wed Jul 21 2021 Fedora Release Engineering - 20210000.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Mar 07 2021 Brad Bell - 20210000.5-2 +- Remove %%debug_package (not necessary to create debug info). +- Use %%setup to unpack tarballs (sets premissions properly). +- Add comments about using %%clean to check BUILDROOT. + +* Sun Feb 28 2021 Brad Bell - 20210000.5-1 +- Advance to upstream source 20210000.5 +- Remove patches that are no longer necessary. +- Change: Source1, Source2 -> Source0, Source1. +- Change: make %%{?_smp_mflags} -> %%make_build +- Change: make install DESTDIR=%%{buildroot} -> %%make_install. + +* Thu Feb 18 2021 Brad Bell - 20210000.3-3 +- Patch corresponding to bug fix in upstream source 20210000.5 + +* Tue Feb 02 2021 Brad Bell - 20210000.3-2 +- Patch corresponding to bug fix in upstream source 20210000.4 + +* Tue Jan 26 2021 Brad Bell - 20210000.3-1 +- Advance to upstream source 20210000.3 +- Remove patches that are no longer necessary. +- Update cmake command line to new version of upstream source. + +* Tue Jan 26 2021 Fedora Release Engineering - 20200000.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sun Dec 27 2020 Brad Bell - 20200000.0-7 +- Add _smp_mflags to the make check command (parallel make) +- Build Debuginfo version of the cppad_lib library. + +* Sat Aug 01 2020 Brad Bell - 20200000.0-6 +- define __cmake_in_source_build see: + https://docs.fedoraproject.org/en-US/packaging-guidelines/CMake/ +- Change soversion edit so modified soversion displayed during cmake command + +* Sat Aug 01 2020 Fedora Release Engineering - 20200000.0-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 20200000.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 20200000.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 23 2020 Brad Bell - 20200000.0-2 +- Remove comment about object library becasue install libcppadlib.so +- Patch to not install empty include (in 20200000.1 upstream) +- Patch to not use GreaterThanZero during reverse mode (in 2020000.2) +- Remove PowTestSeven which tested the GreaterThanZeor in reverse mode + +* Thu Jan 02 2020 Brad Bell - 20200000.0-1 +- Advance to version 2020 of cppad +- This is a major change because it we need to install the binary cppad_lib. +- No longer have lint error because must build library before installing. +- Remove patch for upstream source < 20190200.5. +- No debug_package, so need to ensure CPPAD_DEBUG_AND_RELEASE always defined. +- cppad_deprecatred is no longer in cmake command line. +- cppad_debug_which is set to debug_all and overridden for cppad_lib directory. + +* Wed Sep 18 2019 Brad Bell - 20190200.4-2 +- fedpkg lint now reconizes EPL-2.0 license so remove comment about its error +- Use sed edit of 20190200.4 to obtain bug fix that is in 20190200.5 + +* Tue Aug 06 2019 Brad Bell - 20190200.4-1 +- Bug fix by advancing to upstream source 20190200.4 + +* Wed Jul 24 2019 Fedora Release Engineering - 20190200.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed May 29 2019 Brad Bell - 20190200.0-3 +- Bug fix corresponding to upstream source 20190200.3. +- Fix license field and add comment at top about fedpkg lint license mistake. + +* Fri Feb 01 2019 Brad Bell - 20190200.0-2 +- Test with corrected version of source2; i.e., 20190200.doc.tar.gz + +* Fri Feb 01 2019 Brad Bell - 20190200.0-1 +- Advance to version 2019 of cppad (actually 2019-02). +- Home page and sources have moved to github. +- Documentation is now a separate source tarball. +- Copyright changed from GPL3 -> EPL2 with GPL2 or later option. +- Change tabs to spaces and add 'vim: setexpandtab' command at top. +- Install pkgconfig files in both data and lib directories. + +* Thu Jan 31 2019 Fedora Release Engineering - 20180000.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 20180000.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 20180000.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 02 2018 Brad Bell - 20180000.0-1 +- fedpkg lint no longer generates spelling error for use of 'devel'. +- Comment out %%clean because only the normal build area is used. +- Change minumum cmake version to 2.8 (needed for epel7 branch). +- Use comments to better group to sections of the spec file. + +* Mon Jan 01 2018 Brad Bell - 20180000.0-1 +- Advance to version 2018 of cppad. + +* Fri Nov 24 2017 Brad Bell - 20170000.4-3 +- Use sed to add bug fix corresponding to cppad-20170000.8. + +* Wed Aug 02 2017 Fedora Release Engineering - 20170000.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 20170000.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Apr 03 2017 Brad Bell - 20170000.4-1 +- Advance to 20170000.4 to take advantage of some upstrean bug fixes. + +* Tue Mar 07 2017 Brad Bell - 20170000.3-1 +- Advance to 20170000.3 to take advantage of some upstrean bug fixes. +- The results of cmake comman depend on the architecture, so remove 'noarch' +- see https://bugzilla.redhat.com/show_bug.cgi?id=1427391 + +* Thu Feb 16 2017 Brad Bell - 20170000.1-3 +- patch source to fix bug in ForSparseHes. + +* Fri Feb 10 2017 Fedora Release Engineering - 20170000.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 20 2017 Brad Bell - 20170000.1-1 +- Advance to version 2017 of cppad. +- New link for discussion of fedpkg lint warning rpm-builroot-usage +- (old link seems to have disappeared). +- Change CMakeLists.txtbak -> CMakeLists.txt.bak. +- Use find to create list of CMakeLists.txt files and check that edit +- of these files goes as expected. +- Include explicit setting of all possible cmake command options +- (empty prefix setting correspond to packages not included). +- cppad_sparse_list=YES removed (YES is now always chosen by upstream source) +- Change some comparisons to properly scale to machine epsilon. + +* Wed Feb 03 2016 Fedora Release Engineering - 20160000.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 1 2016 Brad Bell - 20160000.0-1 +- Advance to version 2016 of cppad. +- Remove patch for static testing library (fixed upstream). +- Remove patch to avoid install of cppad_colpack.cpp (fixed upstream). +- Change cmake_install_prefix -> cppad_prefix (changed upstream). +- Change c++98 to c++11 so installed version can support both (new capability). +- Remove setting cppad_implicit_ctor_from_any type (no longer in upstream). +- Add setting cppad_deprecated (new upstream flag). +- Change original copy of files from *.stamp to *.bak +- Patch CMakeLists.txt files to remove building and use of cppad_lib object. + +* Wed Jun 17 2015 Fedora Release Engineering - 20150000.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Apr 11 2015 Brad Bell - 20150000.9-2 +- Move Provides coin-or-cppad below %%package-devel; +- see https://bugzilla.redhat.com/show_bug.cgi?id=1197488 + +* Mon Mar 02 2015 Brad Bell - 20150000.9-1 +- 1: Advance to newer version of upstream source to fix some bugs. +- 2: Remove patch of test_more/optimize.cpp which is no longer necessary. +- 3: Add Provides coin-or-cppad. + +* Mon Feb 09 2015 Brad Bell - 20150000.4-3 +- 1: Change std=c++11 to std=c++98 so works with rel6 (also so works +- in f20 and f21 when std=c++11 is not specified). +- 2: Change speed/src/libspeed_src to be a static library because it is only +- used for testing (shared library was not being found on epl6). +- 3: Cleanup %%{buildroot} at start so it can be used for debugging on failure. +- 4: Fix an exact equal check that should have been a near equal check. + +* Sun Feb 01 2015 Brad Bell - 20150000.4-2 +- Fix rmplint warning about macro-in-comment. +- Edit comments at top of about warnings that won't be fixed. + +* Sat Jan 31 2015 Brad Bell - 20150000.4-1 +- Advance to version 2015 of cppad. +- Ensure cmake >= 2.8; see https://bugzilla.redhat.com/show_bug.cgi?id=896116 +- Remove patch for location of docdir (fixed upstream). +- Patch CMakeLists.txt to remove install of cppad_colpack.cpp (it is not used). +- List all cmake options (including defaults) that are used by this install. + +* Sat Aug 16 2014 Fedora Release Engineering - 20140000.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 20140000.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + + +* Tue Jan 21 2014 Brad Bell - 20140000.2-1 +- Advance to version 2014 of cppad. +- Add link to web discussion about rpm-buildroot-usage warning. +- Fix rpmlint warning about mixing tabs and spaces in spec file. + +* Mon Oct 07 2013 Brad Bell - 20130000.3-1 +- 1. Use new upstream source to fix warnings generated by g++ 4.8.1. +- 2. As per https://fedoraproject.org/wiki/Changes/UnversionedDocdirs +- move xml documentation from /usr/share/doc/%%{name}-%%{version} to +- /usr/share/doc/%%{name} + +* Sat Aug 03 2013 Fedora Release Engineering - 20130000.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 28 2013 Brad Bell - 20130000.2-1 +- Fix bug https://bugzilla.redhat.com/show_bug.cgi?id=913929 +- in the upstream soruce and use the corresponding upstream release. +- Note, the previous commit, 20130000.1-3, could have been avoided using +- https://fedoraproject.org/wiki/Using_the_Koji_build_system#Scratch_Builds + +* Wed Feb 13 2013 Brad Bell - 20130000.1-3 +- Attempt to reproduce failure reported in bug id=913929 +- (The build logs were deleted because I did not get to this soon enough) + +* Wed Feb 13 2013 Fedora Release Engineering - 20130000.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 08 2013 Brad Bell - 20130000.1-1 +- Use a new upstream source. +- Remove the patches that were fixed in the upstream source. +- Convert tabs to spaces (avoid rpmlint warning). +- Fix rpmlint warning for cppad-doc group warning. +- Add comment for rpmlint warning about using buildroot. + +* Sat Jan 05 2013 Brad Bell - 20130000.0-3 +- The patch.sed script in this file is for a final test of a solution on the +- remote machine. Expect to modify upstream source so it is not necessary. + +* Fri Jan 04 2013 Brad Bell - 20130000.0-2 +- Debugging build to try to understand failure of test_more/epsilon.cpp +- on a remote machine that I do not have access to. + +* Fri Jan 04 2013 Brad Bell - 20130000.0-1 +- Advance to version 2013 of cppad. +- Remove old patches that are no longer necessary. +- Convert from auto-tools to cmake build system. +- Add new patches (using sed in setup section) that are now necessary. +- Fix some bogus dates in change log by changing day of the week. +- Getting folloing incorrect warning from g++ during rpmbuild: +- .../cppad/thread_alloc.hpp:203:44: ... subsrcipt is above array bounds ... + +* Sun Oct 21 2012 Ralf Corsépius - 20120101.1-3 +- Switch to arch'ed BuildArch. + +* Wed Jul 18 2012 Fedora Release Engineering - 20120101.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jan 18 2012 Brad Bell - 20120101.1-1 +- Advance to version 2012 of cppad. +- Remove old patches that are no longer necessary. +- Add new patches (using sed in setup section) that are now necessary. +- Change comments about rpmlint output (using more recent version). + +* Mon Oct 17 2011 Brad Bell - 20110101.5-1 +- Advance to next 2011 release to fix warnings generated by g++ 4.6.1. +- Fix comment as to when certain sed patching will no longer be necessary. +- Make sed patching of permissions in doc destination directory more specific. + +* Tue Feb 08 2011 Fedora Release Engineering - 20110101.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jan 19 2011 Brad Bell - 20110101.2-3 +- Remove duplicate test results from build.log +- Improve comments before patching top level makefile.in. +- Fix rpmlint warnings about %%{_docdir}, %%{name}, and %%{version} in comments. +- Fix rpmlint warning by changing tabs to spaces. +- Fix rpmlint wrning by removing dot at end of Summary. +- Change RPM_BUILD_ROOT to _builddir. +- Improve comments (at top) about know rpmlint warnings. + +* Tue Jan 18 2011 Brad Bell - 20110101.2-2 +- Fix rpmlint error, libdir-macro-in-noarch-package by moving the pkg-config +- file cppad.pc from %%_libdir to %%_datadir. +- Improve the %%Summary and %%description entries. +- Fix some rpmlint spelling warnings including xml -> XML, html -> HTML. +- Document (at top of spec file) reason for other warnings that are not fixed. + +* Mon Jan 17 2011 Brad Bell - 20110101.2-1 +- The fedora source 20110101.0 has the worng check sum, get new upstream source. +- Remove sed patches for problems that were fixed in upstream source. +- Change makefile.in so tests include from install (not distribute) directory +- (see comments above `find . -name 'makefile.in` above). + +* Sun Jan 09 2011 Brad Bell - 20110101.0-2 +- Remove include/cppad_ipopt_nlp.hpp from distribution. +- Remove lib/libspeed.a from distribution. +- Add lib/pkgconfig/cppad.pc to files section (because it is installed). +- Use a single sed script file with comments to do all the makefile.in edits. +- Remove edits of makefile.am (not used so not reason to patch it). + +* Sat Jan 08 2011 Brad Bell - 20110101.0-1 +- Use new major version for 2011. +- abs_top_builddir is missing from definitions in makefile.in +- (should be fixed in future versions of cppad). +- The single command "make test" now builds and runs all the tests. + +* Thu Jul 08 2010 Brad Bell - 20100101.4-1 +- Use new upstream source which has bug fix at revision +- https://projects.coin-or.org/CppAD/changeset/1698 + +* Wed Mar 31 2010 Brad Bell - 20100101.2-1 +- Use new upstream source with bug fixes at revision +- https://projects.coin-or.org/CppAD/changeset/1664 +- and remove patch from Wed Feb 10 2010. + +* Wed Feb 10 2010 Brad Bell - 20100101.0-2 +- Patch sources for bug fix between 20100101.0 and 20100101.1. +- This should no longer be necessary once a new upstream source is loaded. + +* Fri Jan 01 2010 Brad Bell - 20100101.0-1 +- Use new upstream source. +- Remove out of date comment about where this spec file is maintained. +- Remove patches that are no longer necessary in prep section. +- Change calling sequence for correctness of speed tests (we do not run speed +- tests, that requires a computer with no other processes running). + * Fri Jul 24 2009 Fedora Release Engineering - 20090303.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild @@ -168,7 +687,7 @@ rm -rf $RPM_BUILD_ROOT - Patch cppad/local/fun_construct.hpp to give a more useful error message - (so we can figure out why the Fedora 11 build is failing). -* Mon Jun 06 2009 Brad Bell 20090303-3 +* Sat Jun 06 2009 Brad Bell 20090303-3 - Patch file test_more/jacobian.cpp (required for versions below 20090606). - Patch file cppad/local/default.hpp (required for versions below 20090606). - Fix version (change 20080303 to 20090303) in previous two log entries. @@ -185,7 +704,7 @@ rm -rf $RPM_BUILD_ROOT * Tue Feb 24 2009 Fedora Release Engineering - 20080826.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild -* Tue Oct 08 2008 Brad Bell 20080826-1 +* Wed Oct 08 2008 Brad Bell 20080826-1 - Change to newer version of cppad. - Change download directory to standard coin-or location. - Remove editing of speed/main.cpp (no longer necessary). @@ -257,7 +776,7 @@ rm -rf $RPM_BUILD_ROOT - Use %%{?dist} in Release entry. - Use %%(%%{__id_u} -n) in BuildRoot entry. - Use noarch in BuildArch entry. -- Move -rf $RPM_BUILD_ROOT from prep entry to install entry. +- Move -rf RPM_BUILD_ROOT from prep entry to install entry. - Use macros where possible. * Sat Dec 08 2007 Brad Bell 20071208-1 diff --git a/get_tarball.sh b/get_tarball.sh new file mode 100755 index 0000000..daf2942 --- /dev/null +++ b/get_tarball.sh @@ -0,0 +1,16 @@ +# /usr/bin/env bash +set -e -u +# +version=$(sed -n cppad.spec -e '/^Version:/p' | sed -e 's|^Version: *||') +url=$(sed -n cppad.spec -e '/^URL:/p' | sed -e 's|^URL: *||') +local_tarball="CppAD-${version}.tar.gz" +remote_tarball="$url/archive/$version/$local_tarball" +if [ -e "$local_tarball" ] +then + echo "get_tarball.sh: $local_tarball already exists" + exit 1 +fi +wget $tarball +# +echo 'get_tarball.sh: OK' +exit 0 diff --git a/sources b/sources index d89508f..8f40433 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d34e093cb4b59b87b73a1b38597e45ac cppad-20090303.0.gpl.tgz +SHA512 (CppAD-20260000.0.tar.gz) = abe9dd9a971f8d154990d54c1f798c8cab6bf90d016bb288efbcb23a14331897762610295658eec04fb50e5c13b05f4bb6b50a4647d6f0468eb94833dc3400d2