From 434892206d52ee8e2b66403e565936d21ced3816 Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Wed, 27 Aug 2008 13:47:28 +0000 Subject: [PATCH 001/163] cppad: new version for Fedora 10 --- .cvsignore | 2 +- cppad.spec | 25 +++++++++++++------------ sources | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.cvsignore b/.cvsignore index f06b40c..f4fd648 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -cppad-20080403.gpl.tgz +cppad-20080826.0.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 94f10e5..6e230ba 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,14 +15,14 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20080403 -Release: 3%{?dist} +Version: 20080826.0 +Release: 1%{?dist} Summary: no base package is installed, see %{name}-devel and %{name}-doc Group: Development/Libraries License: GPLv2 URL: http://www.coin-or.org/CppAD/ -Source: http://www.coin-or.org/CppAD/download/%{name}-%{version}.gpl.tgz +Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -57,11 +57,6 @@ the %{name}-devel package. %prep %setup -q -# fix errors errors found by newer version of gcc -sed -i.stamp speed/main.cpp \ - -e 's/^# include /# include \n&/' \ - -e 's/char \*option\[\]=/const &/' - # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -100,10 +95,11 @@ make install DESTDIR=$RPM_BUILD_ROOT %check example/example test_more/test_more -speed/cppad/cppad correct 123 -speed/double/double correct 123 -speed/example/example correct 123 -speed/profile/profile correct 123 +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 %clean # cleanup @@ -120,6 +116,11 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Tue 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). + * Fri Apr 04 2008 Brad Bell 20080403-3 - Patch speed/main.cpp work with newer version of gcc - (speed/main.cpp had not been tested with new version of gcc.) diff --git a/sources b/sources index 3464f74..6d3cfb8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3e8c389e5097267410eb5c53241eb230 cppad-20080403.gpl.tgz +a9c7e2af215564f7ee097e8901af5e97 cppad-20080826.0.gpl.tgz From 1a25585690bdc92ef577189b0c0c36a862d226aa Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Wed, 27 Aug 2008 14:08:58 +0000 Subject: [PATCH 002/163] cppad: add a change log note --- cppad.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/cppad.spec b/cppad.spec index 6e230ba..c97e9c5 100644 --- a/cppad.spec +++ b/cppad.spec @@ -120,6 +120,7 @@ rm -rf $RPM_BUILD_ROOT - Change to newer version of cppad. - Change download directory to standard coin-or location. - Remove editing of speed/main.cpp (no longer necessary). +- Add retape argument to check programs in speed directory. * Fri Apr 04 2008 Brad Bell 20080403-3 - Patch speed/main.cpp work with newer version of gcc From 36d20a1ad27ec42c7ec46cd20373fb54a1e94d50 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 24 Feb 2009 09:27:27 +0000 Subject: [PATCH 003/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index c97e9c5..f4b4871 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,7 +16,7 @@ Name: cppad Version: 20080826.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: no base package is installed, see %{name}-devel and %{name}-doc Group: Development/Libraries @@ -116,6 +116,9 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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 - Change to newer version of cppad. - Change download directory to standard coin-or location. From dd9cea51bec74be3b34a53414f01c44971b65a70 Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Sun, 29 Mar 2009 10:49:24 +0000 Subject: [PATCH 004/163] New sources and spec file for version 20090303.0 of CppAD. (The spec file has not yet been tested). --- .cvsignore | 2 +- cppad.spec | 40 +++++++++++++++++++++++++--------------- sources | 2 +- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/.cvsignore b/.cvsignore index f4fd648..a4a90fa 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -cppad-20080826.0.gpl.tgz +cppad-20090303.0.gpl.tgz diff --git a/cppad.spec b/cppad.spec index f4b4871..e46607a 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,9 +15,9 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20080826.0 -Release: 2%{?dist} -Summary: no base package is installed, see %{name}-devel and %{name}-doc +Version: 20090303.0 +Release: 1%{?dist} +Summary: A Package for Differentiation of C++ Algorithms Group: Development/Libraries License: GPLv2 @@ -25,17 +25,9 @@ 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) +Requires: cppad-devel, cppad-doc %description -There is no base %{name} package installation, -only %{name}-devel and %{name}-doc sub-packages are installed. - -# --------------------------------------------------------------------------- -%package devel -Summary: A Package for Differentiation of C++ Algorithms -Group: Development/Libraries - -%description devel We refer to the step by step conversion from an algorithm that computes function values to an algorithm that computes derivative values as Algorithmic Differentiation (often referred to as Automatic Differentiation.) @@ -44,14 +36,28 @@ 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 devel +Summary: Development libraries for %{name} +Group: Development/Libraries + +%description devel +The package %{name}-devel contains all you need to do development with %{name}. +The documentation package %{name}-doc is not included. + # ---------------------------------------------------------------------------- %package doc -Summary: Documentation for %{name}-devel +Summary: Documentation for %{name} Group: Development/Libraries %description doc -The %{name}-doc package contains the html and xml documentation for -the %{name}-devel package. +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. # ---------------------------------------------------------------------------- %prep @@ -116,6 +122,10 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Sun Mar 29 2009 Brad Bell 20080303-1 +- Change to newer version of cppad. +- Create a base package that requres both devel and doc sub-packages + * Tue Feb 24 2009 Fedora Release Engineering - 20080826.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index 6d3cfb8..d89508f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a9c7e2af215564f7ee097e8901af5e97 cppad-20080826.0.gpl.tgz +d34e093cb4b59b87b73a1b38597e45ac cppad-20090303.0.gpl.tgz From 6c4c23d0f58ec2a06a85fdb45850c3ff00e038fc Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Mon, 30 Mar 2009 15:25:03 +0000 Subject: [PATCH 005/163] Use Provides: for meta base package --- cppad.spec | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/cppad.spec b/cppad.spec index e46607a..9b20e1f 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,8 +16,8 @@ Name: cppad Version: 20090303.0 -Release: 1%{?dist} -Summary: A Package for Differentiation of C++ Algorithms +Release: 2%{?dist} +Summary: No base package is installed, see %{name}-devel Group: Development/Libraries License: GPLv2 @@ -25,9 +25,17 @@ 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) -Requires: cppad-devel, cppad-doc %description +There is no base %{name} package installation, only %{name}-devel is installed. + +# --------------------------------------------------------------------------- +%package devel +Summary: Development libraries for %{name} +Group: Development/Libraries +Provides: %{name} = %{version}%-%{release} + +%description devel We refer to the step by step conversion from an algorithm that computes function values to an algorithm that computes derivative values as Algorithmic Differentiation (often referred to as Automatic Differentiation.) @@ -36,15 +44,6 @@ 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 devel -Summary: Development libraries for %{name} -Group: Development/Libraries - -%description devel -The package %{name}-devel contains all you need to do development with %{name}. -The documentation package %{name}-doc is not included. - # ---------------------------------------------------------------------------- %package doc Summary: Documentation for %{name} @@ -68,8 +67,8 @@ 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;\\ +{ // print machine epsilon\\ + std::cout << "DBL_EPSILON =" << DBL_EPSILON << std::endl;\\ \\ | EOF @@ -82,11 +81,10 @@ sed -i.stamp speed/example/example.cpp -e '/Run(speed_test,/d' # 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' + -e '/chmod -R .* $(doc_package)/d' sed -i.stamp makefile.in \ - -e '/chmod -R .* $(doc_package)/d' + -e '/chmod -R .* $(doc_package)/d' - %build %configure --with-Documentation \ --with-Example \ @@ -122,6 +120,11 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Mon Mar 30 2009 Brad Bell 20080303-2 +- Change tabs to spaces in spec file to avoid an rpmlint warning. +- The base package in previous release had no files, hence did not exist. +- Use Provides: in cppad-devel to indicate that it provides cppad. + * Sun Mar 29 2009 Brad Bell 20080303-1 - Change to newer version of cppad. - Create a base package that requres both devel and doc sub-packages From 6b88b442885c252244f25c8727ab3a76c57bd70f Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Tue, 31 Mar 2009 06:17:44 +0000 Subject: [PATCH 006/163] fix typo found by reviewer --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 9b20e1f..4c65684 100644 --- a/cppad.spec +++ b/cppad.spec @@ -33,7 +33,7 @@ There is no base %{name} package installation, only %{name}-devel is installed. %package devel Summary: Development libraries for %{name} Group: Development/Libraries -Provides: %{name} = %{version}%-%{release} +Provides: %{name} = %{version}-%{release} %description devel We refer to the step by step conversion from an algorithm that computes From 156b504dfa1333837a86e0df84ecb069233d0593 Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Mon, 8 Jun 2009 12:32:38 +0000 Subject: [PATCH 007/163] Fix problem detected by koji task id 190153; i.e., http://sparc.koji.fedoraproject.org/koji/getfile?taskID=190153&name=bui ld.log --- cppad.spec | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/cppad.spec b/cppad.spec index 4c65684..b7358b1 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,7 +16,7 @@ Name: cppad Version: 20090303.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -62,6 +62,16 @@ as a single web page, in both html and xml, can be found at that web site. %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)), /' + # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -120,12 +130,17 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog -* Mon Mar 30 2009 Brad Bell 20080303-2 +* Mon 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. + +* Mon Mar 30 2009 Brad Bell 20090303-2 - Change tabs to spaces in spec file to avoid an rpmlint warning. - The base package in previous release had no files, hence did not exist. - Use Provides: in cppad-devel to indicate that it provides cppad. -* Sun Mar 29 2009 Brad Bell 20080303-1 +* Sun Mar 29 2009 Brad Bell 20090303-1 - Change to newer version of cppad. - Create a base package that requres both devel and doc sub-packages From fcdaa09b48af0d06b670d4b3fd2f74b3450ee751 Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Sun, 21 Jun 2009 02:24:47 +0000 Subject: [PATCH 008/163] copy change from F-11 to devel --- cppad.spec | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index b7358b1..8ee4fbe 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,7 +16,7 @@ Name: cppad Version: 20090303.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -72,6 +72,37 @@ sed -i.stamp test_more/jacobian.cpp \ 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 +} + +} // END CppAD namespace + +# endif +EOF + # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -130,6 +161,10 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Sat Jun 20 2009 Brad Bell 20090303-4 +- 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 - Patch file test_more/jacobian.cpp (required for versions below 20090606). - Patch file cppad/local/default.hpp (required for versions below 20090606). From c1f3220ec5c1d2010e1c8d67bab5bafb93df276f Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 24 Jul 2009 19:33:51 +0000 Subject: [PATCH 009/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 8ee4fbe..b8c8682 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,7 +16,7 @@ Name: cppad Version: 20090303.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -161,6 +161,9 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Fri Jul 24 2009 Fedora Release Engineering - 20090303.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Sat Jun 20 2009 Brad Bell 20090303-4 - 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). From 8f891de2651af278237417790a6937f4dc2b1bb0 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:47:37 +0000 Subject: [PATCH 010/163] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0b7a4f3..cfaf8f0 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ 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 +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 71f18d425c83e93626f95540f665cdffa5c0486a Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:33:46 +0000 Subject: [PATCH 011/163] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0b7a4f3..cfaf8f0 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ 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 +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From a4c18852c58ad008cb9c8343731b081ff49c35ee Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Sun, 3 Jan 2010 13:33:12 +0000 Subject: [PATCH 012/163] upload and use version Jan 01, 2010 of cppad --- .cvsignore | 2 +- cppad.spec | 72 ++++++++++++++---------------------------------------- sources | 2 +- 3 files changed, 20 insertions(+), 56 deletions(-) diff --git a/.cvsignore b/.cvsignore index a4a90fa..423a1ef 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -cppad-20090303.0.gpl.tgz +cppad-20100101.0.gpl.tgz diff --git a/cppad.spec b/cppad.spec index b8c8682..5c1b2d0 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,7 +1,3 @@ -# ---------------------------------------------------------------------------- -# RPM source for this version of cppad.spec: -# http://www.seanet.com/~bradbell/cppad/cppad-%{version}-%{release}.fc7.src.rpm -# ---------------------------------------------------------------------------- # Known Problems: # # After installation of cppad-doc-%{version} the command @@ -15,8 +11,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20090303.0 -Release: 5%{?dist} +Version: 20100101.0 +Release: 1%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -62,47 +58,6 @@ as a single web page, in both html and xml, can be found at that web site. %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 -} - -} // END CppAD namespace - -# endif -EOF - # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -115,9 +70,6 @@ int main(void)\\ 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.) @@ -140,11 +92,16 @@ make install DESTDIR=$RPM_BUILD_ROOT %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 +speed/double/double correct 123 +speed/cppad/cppad correct 123 +speed/cppad/cppad correct 123 optimize +speed/cppad/cppad correct 123 retape +speed/cppad/cppad correct 123 optimize retape +speed/profile/profile correct 123 +speed/profile/profile correct 123 optimize +speed/profile/profile correct 123 retape +speed/profile/profile correct 123 optimize retape %clean # cleanup @@ -161,6 +118,13 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Sat 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 diff --git a/sources b/sources index d89508f..57369ac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d34e093cb4b59b87b73a1b38597e45ac cppad-20090303.0.gpl.tgz +4886174196fbd7745f30ec3c320a6975 cppad-20100101.0.gpl.tgz From c1d9ba9ac75d11bcf64d10f73a25d7872f4f61f2 Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Wed, 10 Feb 2010 12:55:59 +0000 Subject: [PATCH 013/163] Copy of bug fix in revision https://projects.coin-or.org/CppAD/changeset/1647 --- cppad.spec | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 5c1b2d0..9fa3367 100644 --- a/cppad.spec +++ b/cppad.spec @@ -12,7 +12,7 @@ Name: cppad Version: 20100101.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -58,6 +58,19 @@ as a single web page, in both html and xml, can be found at that web site. %prep %setup -q +# Bug fix in revision https://projects.coin-or.org/CppAD/changeset/1647 +if [ %{version} != "20100101.0" ] +then + echo "This bug fix should no longer be necessary" + exit 1 +fi +# +sed -i cppad/local/optimize.hpp \ +-e 's|(new_arg\[0\] == tape\[k\].new_var );|(new_arg[0] == tape[k].new_var )|' +# +sed -i cppad/local/print_op.hpp \ +-e 's|( arg\[1\] < i_z );|( arg\[1\] <= i_z );|' + # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -118,6 +131,10 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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. + * Sat Jan 01 2010 Brad Bell - 20100101.0-1 - Use new upstream source. - Remove out of date comment about where this spec file is maintained. From 388468f89518f333cd987882212cf63005888bc1 Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Wed, 31 Mar 2010 14:35:53 +0000 Subject: [PATCH 014/163] use new upstream source bug fixes --- .cvsignore | 2 +- cppad.spec | 20 ++++++-------------- sources | 2 +- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/.cvsignore b/.cvsignore index 423a1ef..d86ec6a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -cppad-20100101.0.gpl.tgz +cppad-20100101.2.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 9fa3367..f2f3825 100644 --- a/cppad.spec +++ b/cppad.spec @@ -11,7 +11,7 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20100101.0 +Version: 20100101.2 Release: 2%{?dist} Summary: No base package is installed, see %{name}-devel @@ -58,19 +58,6 @@ as a single web page, in both html and xml, can be found at that web site. %prep %setup -q -# Bug fix in revision https://projects.coin-or.org/CppAD/changeset/1647 -if [ %{version} != "20100101.0" ] -then - echo "This bug fix should no longer be necessary" - exit 1 -fi -# -sed -i cppad/local/optimize.hpp \ --e 's|(new_arg\[0\] == tape\[k\].new_var );|(new_arg[0] == tape[k].new_var )|' -# -sed -i cppad/local/print_op.hpp \ --e 's|( arg\[1\] < i_z );|( arg\[1\] <= i_z );|' - # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -131,6 +118,11 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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. diff --git a/sources b/sources index 57369ac..551ef91 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4886174196fbd7745f30ec3c320a6975 cppad-20100101.0.gpl.tgz +9947413be80ab9e8fb3a7b225c144d63 cppad-20100101.2.gpl.tgz From be1621ff63dd2e62b333719dc0ef115575c557dc Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Wed, 31 Mar 2010 14:38:21 +0000 Subject: [PATCH 015/163] correct release number for this version --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index f2f3825..b7727d7 100644 --- a/cppad.spec +++ b/cppad.spec @@ -12,7 +12,7 @@ Name: cppad Version: 20100101.2 -Release: 2%{?dist} +Release: 1%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries From ee76b9e621dd87856b9ca29d6bffd73662dbdc06 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 8 May 2010 01:46:00 +0000 Subject: [PATCH 016/163] Initialize branch EL-6 for cppad --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..46381b9 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-6 From 43c59942eee9db41bbd956ac294f4ad3180a744d Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Thu, 8 Jul 2010 17:39:08 +0000 Subject: [PATCH 017/163] more bug fixes to 20100101 --- .cvsignore | 2 +- cppad.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index d86ec6a..d943cbd 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -cppad-20100101.2.gpl.tgz +cppad-20100101.4.gpl.tgz diff --git a/cppad.spec b/cppad.spec index b7727d7..287097e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -11,7 +11,7 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20100101.2 +Version: 20100101.4 Release: 1%{?dist} Summary: No base package is installed, see %{name}-devel @@ -118,6 +118,10 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index 551ef91..1aadac6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9947413be80ab9e8fb3a7b225c144d63 cppad-20100101.2.gpl.tgz +ff39d739635985ee78c7572f6ec9b03c cppad-20100101.4.gpl.tgz From 9a8dd639e4fc704a9140f4cc311ffa6874699848 Mon Sep 17 00:00:00 2001 From: "Bradley M. Bell" Date: Thu, 8 Jul 2010 18:09:12 +0000 Subject: [PATCH 018/163] copy from devel to EPL-5 --- .cvsignore | 2 +- cppad.spec | 85 ++++++++++++++++++++---------------------------------- sources | 2 +- 3 files changed, 33 insertions(+), 56 deletions(-) diff --git a/.cvsignore b/.cvsignore index a4a90fa..d943cbd 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -cppad-20090303.0.gpl.tgz +cppad-20100101.4.gpl.tgz diff --git a/cppad.spec b/cppad.spec index b8c8682..287097e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,7 +1,3 @@ -# ---------------------------------------------------------------------------- -# RPM source for this version of cppad.spec: -# http://www.seanet.com/~bradbell/cppad/cppad-%{version}-%{release}.fc7.src.rpm -# ---------------------------------------------------------------------------- # Known Problems: # # After installation of cppad-doc-%{version} the command @@ -15,8 +11,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20090303.0 -Release: 5%{?dist} +Version: 20100101.4 +Release: 1%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -62,47 +58,6 @@ as a single web page, in both html and xml, can be found at that web site. %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 -} - -} // END CppAD namespace - -# endif -EOF - # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -115,9 +70,6 @@ int main(void)\\ 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.) @@ -140,11 +92,16 @@ make install DESTDIR=$RPM_BUILD_ROOT %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 +speed/double/double correct 123 +speed/cppad/cppad correct 123 +speed/cppad/cppad correct 123 optimize +speed/cppad/cppad correct 123 retape +speed/cppad/cppad correct 123 optimize retape +speed/profile/profile correct 123 +speed/profile/profile correct 123 optimize +speed/profile/profile correct 123 retape +speed/profile/profile correct 123 optimize retape %clean # cleanup @@ -161,6 +118,26 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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. + +* Sat 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 diff --git a/sources b/sources index d89508f..1aadac6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d34e093cb4b59b87b73a1b38597e45ac cppad-20090303.0.gpl.tgz +ff39d739635985ee78c7572f6ec9b03c cppad-20100101.4.gpl.tgz From f507bfedab2d679a4fdf29f775d229eb4a72abb0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 12:14:50 +0000 Subject: [PATCH 019/163] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index cfaf8f0..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 $$d/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) From 6020dc938d657cb5a0a7aa17041f2cc2a418b440 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 12:14:53 +0000 Subject: [PATCH 020/163] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- branch | 1 - 3 files changed, 22 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile delete mode 100644 branch diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index cfaf8f0..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 $$d/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/branch b/branch deleted file mode 100644 index 46381b9..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-6 From a2e0e656ed27b38392b0d7c3455de07819eea496 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 9 Jan 2011 08:32:41 -0800 Subject: [PATCH 021/163] Upgrade to version 2011 of cppad. --- .gitignore | 1 + cppad.spec | 30 +++++++++++++----------------- sources | 2 +- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index d943cbd..89ba11d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ cppad-20100101.4.gpl.tgz +/cppad-20110101.0.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 287097e..065ec0b 100644 --- a/cppad.spec +++ b/cppad.spec @@ -11,7 +11,7 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20100101.4 +Version: 20110101.0 Release: 1%{?dist} Summary: No base package is installed, see %{name}-devel @@ -58,6 +58,10 @@ as a single web page, in both html and xml, can be found at that web site. %prep %setup -q +# abs_top_builddir is misisng from definitions in makefile.in +# (should be fixed in future versions of cppad) +sed -i makefile.in -e 's/abs_top_builddir/ABS_TOP_SRCDIR/' + # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -79,10 +83,7 @@ sed -i.stamp makefile.in \ -e '/chmod -R .* $(doc_package)/d' %build -%configure --with-Documentation \ - --with-Example \ - --with-TestMore \ - --with-Speed +%configure --with-Documentation make %{?_smp_mflags} %install @@ -90,18 +91,7 @@ rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT %check -example/example -test_more/test_more -speed/example/example -speed/double/double correct 123 -speed/cppad/cppad correct 123 -speed/cppad/cppad correct 123 optimize -speed/cppad/cppad correct 123 retape -speed/cppad/cppad correct 123 optimize retape -speed/profile/profile correct 123 -speed/profile/profile correct 123 optimize -speed/profile/profile correct 123 retape -speed/profile/profile correct 123 optimize retape +make %{?_smp_mflags} test %clean # cleanup @@ -118,6 +108,12 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index 1aadac6..1b45ca4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ff39d739635985ee78c7572f6ec9b03c cppad-20100101.4.gpl.tgz +d25559c1adb7bbdbb254206b7464dc78 cppad-20110101.0.gpl.tgz From 5c3d5b39c6d3711c4e1cecc627c95b98333b54bd Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 9 Jan 2011 15:36:12 -0800 Subject: [PATCH 022/163] 1. Remove cppad_ipopt_nlp.hpp and lib/libspeed.a from the distribution. 2. Add lib/pkgconfig/cppad.pc to the %files section of spec file. 3. Remove _smp_mflags from the "make test" command. --- cppad.spec | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/cppad.spec b/cppad.spec index 065ec0b..b174724 100644 --- a/cppad.spec +++ b/cppad.spec @@ -12,7 +12,7 @@ Name: cppad Version: 20110101.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -58,9 +58,25 @@ as a single web page, in both html and xml, can be found at that web site. %prep %setup -q -# abs_top_builddir is misisng from definitions in makefile.in -# (should be fixed in future versions of cppad) -sed -i makefile.in -e 's/abs_top_builddir/ABS_TOP_SRCDIR/' +# Items 1,2,3 below should be fixed in future versions of cppad. +cat << EOF > makefile.in.sed +# 1. Do not distribute cppad_ipopt_nlp.hpp. +s/^myinclude_HEADERS *=.*/myinclude_HEADERS =/ +/cppad_ipopt_nlp.hpp/d +# 2. abs_top_builddir is missing from definitions in makefile.in +s/abs_top_builddir/ABS_TOP_SRCDIR/ +# 3. Remove libspeed.a from the distribution (mistake). +s/^install-libLIBRARIES:/do_not_install:/ +s/^uninstall-libLIBRARIES:/do_not_uninstall:/ +s/uninstall-libLIBRARIES// +s/install-libLIBRARIES// +# 4. Remove setting of permissions in documentation destination directory. +/chmod -R .* \$(doc_package)/d +EOF +# Items 1,2, and 4 +sed -i.stamp makefile.in -f makefile.in.sed +# Item 3 +sed -i.stamp speed/src/makefile.in -f makefile.in.sed # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -74,14 +90,6 @@ int main(void)\\ EOF sed -i.stamp example/example.cpp -f example.sed -# 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' - %build %configure --with-Documentation make %{?_smp_mflags} @@ -91,7 +99,9 @@ rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT %check -make %{?_smp_mflags} test +# make test uses a shell script to run make test is a list of subdirectories +# and it it is unclear how to do: make %{?_smp_mflags} test +make test %clean # cleanup @@ -101,6 +111,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc COPYING ChangeLog AUTHORS uw_copy_040507.html %{_includedir}/%{name} +%{_libdir}/pkgconfig/%{name}.pc %files doc %defattr(-,root,root,-) @@ -108,6 +119,13 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Sat 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 From 7827cd8ea61d17a8b8ab60043cf96ba4b7e01b7d Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 17 Jan 2011 10:34:43 -0800 Subject: [PATCH 023/163] Use new upstream source, upload of cppad-20110101.0 has wrong ms5sum checksum. sources: md5sum check sum for new upstream sources. cppad.spec: Test using install (not distribution) location for include files --- .gitignore | 1 + cppad.spec | 48 ++++++++++++++++++++++++++---------------------- sources | 2 +- 3 files changed, 28 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index 89ba11d..32cdf0c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ cppad-20100101.4.gpl.tgz /cppad-20110101.0.gpl.tgz +/cppad-20110101.2.gpl.tgz diff --git a/cppad.spec b/cppad.spec index b174724..5860625 100644 --- a/cppad.spec +++ b/cppad.spec @@ -11,8 +11,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20110101.0 -Release: 2%{?dist} +Version: 20110101.2 +Release: 1%{?dist} Summary: No base package is installed, see %{name}-devel Group: Development/Libraries @@ -56,27 +56,25 @@ as a single web page, in both html and xml, can be found at that web site. # ---------------------------------------------------------------------------- %prep -%setup -q -# Items 1,2,3 below should be fixed in future versions of cppad. -cat << EOF > makefile.in.sed -# 1. Do not distribute cppad_ipopt_nlp.hpp. -s/^myinclude_HEADERS *=.*/myinclude_HEADERS =/ -/cppad_ipopt_nlp.hpp/d -# 2. abs_top_builddir is missing from definitions in makefile.in -s/abs_top_builddir/ABS_TOP_SRCDIR/ -# 3. Remove libspeed.a from the distribution (mistake). -s/^install-libLIBRARIES:/do_not_install:/ -s/^uninstall-libLIBRARIES:/do_not_uninstall:/ -s/uninstall-libLIBRARIES// -s/install-libLIBRARIES// -# 4. Remove setting of permissions in documentation destination directory. -/chmod -R .* \$(doc_package)/d -EOF -# Items 1,2, and 4 -sed -i.stamp makefile.in -f makefile.in.sed -# Item 3 -sed -i.stamp speed/src/makefile.in -f makefile.in.sed +%setup -q +# CppAD tests the distribution before installing it. The rpm system can +# test after a mock installation. Thus, we should remove the distribution copy +# of the include file directory from the search path. We must skip +# speed/src/makefile.in because we build its library before the install. +for file in `find . -name 'makefile.in'` +do + if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) + then + sed -i "$file" \ + -e "s|-I\$(top_srcdir)\([^/]\)|-I$RPM_BUILD_ROOT/usr/include\1|" + fi +done + + +# Remove setting of permissions in documentation destination directory. +sed -i.stamp makefile.in -e '/chmod -R [^ ]* $(doc_package)/d' +# # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -119,6 +117,12 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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). + * Sat Jan 09 2011 Brad Bell - 20110101.0-2 - Remove include/cppad_ipopt_nlp.hpp from distribution. - Remove lib/libspeed.a from distribution. diff --git a/sources b/sources index 1b45ca4..a305c9d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d25559c1adb7bbdbb254206b7464dc78 cppad-20110101.0.gpl.tgz +c3481a2b39c1a1744386afd0d6a99633 cppad-20110101.2.gpl.tgz From 88768bfa25278da939e01614fc0869be698772b5 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 17 Jan 2011 15:09:11 -0800 Subject: [PATCH 024/163] avoid merge conflicts by copying master branch files --- .gitignore | 2 +- cppad.spec | 68 ++++++++++++++++++++++++++++++++++-------------------- sources | 2 +- 3 files changed, 45 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index d943cbd..d816b92 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -cppad-20100101.4.gpl.tgz +cppad-20110101.2.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 287097e..5860625 100644 --- a/cppad.spec +++ b/cppad.spec @@ -11,7 +11,7 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20100101.4 +Version: 20110101.2 Release: 1%{?dist} Summary: No base package is installed, see %{name}-devel @@ -56,7 +56,25 @@ as a single web page, in both html and xml, can be found at that web site. # ---------------------------------------------------------------------------- %prep + %setup -q +# CppAD tests the distribution before installing it. The rpm system can +# test after a mock installation. Thus, we should remove the distribution copy +# of the include file directory from the search path. We must skip +# speed/src/makefile.in because we build its library before the install. +for file in `find . -name 'makefile.in'` +do + if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) + then + sed -i "$file" \ + -e "s|-I\$(top_srcdir)\([^/]\)|-I$RPM_BUILD_ROOT/usr/include\1|" + fi +done + + +# Remove setting of permissions in documentation destination directory. +sed -i.stamp makefile.in -e '/chmod -R [^ ]* $(doc_package)/d' +# # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -70,19 +88,8 @@ int main(void)\\ EOF sed -i.stamp example/example.cpp -f example.sed -# 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' - %build -%configure --with-Documentation \ - --with-Example \ - --with-TestMore \ - --with-Speed +%configure --with-Documentation make %{?_smp_mflags} %install @@ -90,18 +97,9 @@ rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT %check -example/example -test_more/test_more -speed/example/example -speed/double/double correct 123 -speed/cppad/cppad correct 123 -speed/cppad/cppad correct 123 optimize -speed/cppad/cppad correct 123 retape -speed/cppad/cppad correct 123 optimize retape -speed/profile/profile correct 123 -speed/profile/profile correct 123 optimize -speed/profile/profile correct 123 retape -speed/profile/profile correct 123 optimize retape +# make test uses a shell script to run make test is a list of subdirectories +# and it it is unclear how to do: make %{?_smp_mflags} test +make test %clean # cleanup @@ -111,6 +109,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc COPYING ChangeLog AUTHORS uw_copy_040507.html %{_includedir}/%{name} +%{_libdir}/pkgconfig/%{name}.pc %files doc %defattr(-,root,root,-) @@ -118,6 +117,25 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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). + +* Sat 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 diff --git a/sources b/sources index 1aadac6..a305c9d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ff39d739635985ee78c7572f6ec9b03c cppad-20100101.4.gpl.tgz +c3481a2b39c1a1744386afd0d6a99633 cppad-20110101.2.gpl.tgz From 0ee1e154c7d9161fb060752506fe8ec0382c34ca Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 18 Jan 2011 07:10:19 -0800 Subject: [PATCH 025/163] Change where pkgconfig/cppad.pc is installed from %{_libdir} to %{_datadir} --- cppad.spec | 56 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/cppad.spec b/cppad.spec index 5860625..7873ef3 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,19 +1,26 @@ -# Known Problems: +# Known rpmlint warnings: # -# 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 +# cppad.spec: spelling-error Sumary(en_US) devel: +# Although not in the en_US dictionary, 'devel' is understood by Fedora users. +# +# cppad.spec: rpm-buildroot-usage: +# RPM_BUILD_ROOT is used to test includes from installed directory. +# +# cppad-20110101.2.gpl.tgz: strange-permission 0444L +# The premissions are for readonly, which seems fine in this case. +# +# %{_docdir}/%{name}-%{version}/pmathmlcss.xsl: file-not-utf8: # 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). +# # ---------------------------------------------------------------------------- Name: cppad Version: 20110101.2 -Release: 1%{?dist} -Summary: No base package is installed, see %{name}-devel +Release: 2%{?dist} +Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc. Group: Development/Libraries License: GPLv2 @@ -23,11 +30,11 @@ 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), see %{name}-devel, %{name}-doc. # --------------------------------------------------------------------------- %package devel -Summary: Development libraries for %{name} +Summary: The %{name} C++ include files for Algorithmic Differentiation (AD) Group: Development/Libraries Provides: %{name} = %{version}-%{release} @@ -38,21 +45,22 @@ 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 + http://en.wikipedia.org/wiki/Automatic_differentiation +See the package %{name}-doc for documentation of this version of %{name}. # ---------------------------------------------------------------------------- %package doc Summary: Documentation for %{name} -Group: Development/Libraries +Group: XML documentation for %{name}-devel %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. +The %{name}-doc package installs the XML documentation for %{name}-devel in + %{_docdir}/%{name}-%{version} +Links to an HTML version of the %{name} documentation, for the most recent +version of %{name}, can be found at the 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. # ---------------------------------------------------------------------------- %prep @@ -67,7 +75,8 @@ do if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) then sed -i "$file" \ - -e "s|-I\$(top_srcdir)\([^/]\)|-I$RPM_BUILD_ROOT/usr/include\1|" + -e "s|-I\$(top_srcdir)\([^/]\)|-I$RPM_BUILD_ROOT/usr/include\1|" \ + -e 's|^pkgconfigdir *=.*|pkgconfigdir = $(datadir)/pkgconfig|' fi done @@ -109,7 +118,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc COPYING ChangeLog AUTHORS uw_copy_040507.html %{_includedir}/%{name} -%{_libdir}/pkgconfig/%{name}.pc +%{_datadir}/pkgconfig/%{name}.pc %files doc %defattr(-,root,root,-) @@ -117,6 +126,13 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* 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. From 0a074d3b5427e8b6132c6f3a12794008926996a3 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Thu, 20 Jan 2011 09:16:48 -0800 Subject: [PATCH 026/163] Fix more rpmlint messages and more explination for others that are not fixed. --- cppad.spec | 62 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 40 insertions(+), 22 deletions(-) diff --git a/cppad.spec b/cppad.spec index 7873ef3..83318ac 100644 --- a/cppad.spec +++ b/cppad.spec @@ -3,13 +3,17 @@ # cppad.spec: spelling-error Sumary(en_US) devel: # Although not in the en_US dictionary, 'devel' is understood by Fedora users. # -# cppad.spec: rpm-buildroot-usage: -# RPM_BUILD_ROOT is used to test includes from installed directory. +# cppad.spec: rpm-buildroot-usage +# The %%prep section of this spec file contains a reference to %%buildroot. +# This is used to read (not write) information in %%buildroot%%includdir +# (using g++ -I %%buildroot%%includedir ). Thus it is not a violation of +# http://fedoraproject.org/wiki/Packaging:Guidelines# +# Scriplets_are_only_allowed_to_write_in_certain_directories # # cppad-20110101.2.gpl.tgz: strange-permission 0444L # The premissions are for readonly, which seems fine in this case. # -# %{_docdir}/%{name}-%{version}/pmathmlcss.xsl: file-not-utf8: +# %%{_docdir}/%%{name}-%%{version}/pmathmlcss.xsl: file-not-utf8: # 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 @@ -19,8 +23,8 @@ Name: cppad Version: 20110101.2 -Release: 2%{?dist} -Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc. +Release: 3%{?dist} +Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc Group: Development/Libraries License: GPLv2 @@ -45,7 +49,7 @@ 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 + http://en.wikipedia.org/wiki/Automatic_differentiation See the package %{name}-doc for documentation of this version of %{name}. # ---------------------------------------------------------------------------- @@ -55,10 +59,10 @@ Group: XML documentation for %{name}-devel %description doc The %{name}-doc package installs the XML documentation for %{name}-devel in - %{_docdir}/%{name}-%{version} + %{_docdir}/%{name}-%{version} Links to an HTML version of the %{name} documentation, for the most recent version of %{name}, can be found at the web site - http://www.coin-or.org/CppAD/ + 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. @@ -66,18 +70,23 @@ as a single web page, in both HTML and XML, can be found at that web site. %prep %setup -q -# CppAD tests the distribution before installing it. The rpm system can -# test after a mock installation. Thus, we should remove the distribution copy -# of the include file directory from the search path. We must skip -# speed/src/makefile.in because we build its library before the install. +# Patches 2 and 3 should not be necessary when %%{version} > 20110101.2. +# 1. CppAD tests the distribution before installing it. The rpm system can +# test after a mock installation. Thus, we should test the installed copy +# instead of the distribution copy of the include files. We must skip +# speed/src/makefile.in because it builds a library (that is not installed). +# 2. Change the location where pkgconfig/cppad.pc is installed. +# 3. Remove the duplicate copy of the test results from the rpm output. +includedir=%{buildroot}%{_includedir} for file in `find . -name 'makefile.in'` do - if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) - then - sed -i "$file" \ - -e "s|-I\$(top_srcdir)\([^/]\)|-I$RPM_BUILD_ROOT/usr/include\1|" \ - -e 's|^pkgconfigdir *=.*|pkgconfigdir = $(datadir)/pkgconfig|' - fi + if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) + then + sed -i "$file" \ + -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" \ + -e 's|^pkgconfigdir *=.*|pkgconfigdir = $(datadir)/pkgconfig|' \ + -e '/^[\t ]*cat test.log *$/d' + fi done @@ -102,8 +111,8 @@ sed -i.stamp example/example.cpp -f example.sed make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} %check # make test uses a shell script to run make test is a list of subdirectories @@ -112,7 +121,7 @@ make test %clean # cleanup -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %files devel %defattr(-,root,root,-) @@ -126,6 +135,15 @@ rm -rf $RPM_BUILD_ROOT # ---------------------------------------------------------------------------- %changelog +* Tue 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. @@ -268,7 +286,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 From dc53af0204262e1c1e5e9ad7dc44baaf750f9740 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 05:38:48 -0600 Subject: [PATCH 027/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 83318ac..7235191 100644 --- a/cppad.spec +++ b/cppad.spec @@ -23,7 +23,7 @@ Name: cppad Version: 20110101.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc Group: Development/Libraries @@ -135,6 +135,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 20110101.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Tue Jan 19 2011 Brad Bell - 20110101.2-3 - Remove duplicate test results from build.log - Improve comments before patching top level makefile.in. From 1295bc79088ce463d9adf056d5e6703fd3cba852 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 18 Oct 2011 05:36:11 -0700 Subject: [PATCH 028/163] update to version 20110101.5 --- .gitignore | 1 + cppad.spec | 16 +++++++++++----- sources | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 32cdf0c..ffc2a18 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ cppad-20100101.4.gpl.tgz /cppad-20110101.0.gpl.tgz /cppad-20110101.2.gpl.tgz +/cppad-20110101.5.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 7235191..c74400b 100644 --- a/cppad.spec +++ b/cppad.spec @@ -22,8 +22,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20110101.2 -Release: 4%{?dist} +Version: 20110101.5 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc Group: Development/Libraries @@ -70,7 +70,7 @@ as a single web page, in both HTML and XML, can be found at that web site. %prep %setup -q -# Patches 2 and 3 should not be necessary when %%{version} > 20110101.2. +# Patches 2 and 3 should not be necessary when %%{version} >= 20120101 # 1. CppAD tests the distribution before installing it. The rpm system can # test after a mock installation. Thus, we should test the installed copy # instead of the distribution copy of the include files. We must skip @@ -91,7 +91,8 @@ done # Remove setting of permissions in documentation destination directory. -sed -i.stamp makefile.in -e '/chmod -R [^ ]* $(doc_package)/d' +sed -e '/^.CppAD_DOCUMENTATION_TRUE.\tchmod -R [^ ]* $(doc_package)/d' \ + -i.stamp makefile.in # # change example/example.cpp to print out machine epsilon @@ -115,7 +116,7 @@ rm -rf %{buildroot} make install DESTDIR=%{buildroot} %check -# make test uses a shell script to run make test is a list of subdirectories +# make test uses a shell script to run test is a list of subdirectories # and it it is unclear how to do: make %{?_smp_mflags} test make test @@ -135,6 +136,11 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index a305c9d..4f34353 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c3481a2b39c1a1744386afd0d6a99633 cppad-20110101.2.gpl.tgz +51402df29f6afb5c33d15863cdfcf49d cppad-20110101.5.gpl.tgz From d0dd864d59ec4a2d64f40ee1b20e6b914702c9b3 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 18 Oct 2011 06:58:24 -0700 Subject: [PATCH 029/163] only one tarball needs to be ignored for each branch --- .gitignore | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index ffc2a18..529d249 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ -cppad-20100101.4.gpl.tgz -/cppad-20110101.0.gpl.tgz -/cppad-20110101.2.gpl.tgz -/cppad-20110101.5.gpl.tgz +cppad-20110101.5.gpl.tgz From 7adf3dbe3196757eed37b4cf823bbc99e1a63677 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 12 Jan 2012 17:56:44 -0600 Subject: [PATCH 030/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index c74400b..09c76c2 100644 --- a/cppad.spec +++ b/cppad.spec @@ -23,7 +23,7 @@ Name: cppad Version: 20110101.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc Group: Development/Libraries @@ -136,6 +136,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* Thu Jan 12 2012 Fedora Release Engineering - 20110101.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * 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. From 0be15e18d064a152572dc15ca65a281f2a030a2d Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 17 Jan 2012 06:16:33 -0800 Subject: [PATCH 031/163] update sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 529d249..d1c10db 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ cppad-20110101.5.gpl.tgz +cppad-20120101.1.gpl.tgz diff --git a/sources b/sources index 4f34353..090db7a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -51402df29f6afb5c33d15863cdfcf49d cppad-20110101.5.gpl.tgz +e3237092cdcbfb38600baeb49531fbfe cppad-20120101.1.gpl.tgz From 3555f001baec1fa3c8e3cdff7f409a426592037d Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 18 Jan 2012 19:46:44 -0800 Subject: [PATCH 032/163] Advance to version 2012 of cppad --- cppad.spec | 88 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 52 insertions(+), 36 deletions(-) diff --git a/cppad.spec b/cppad.spec index 09c76c2..53cc5ad 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,29 +1,16 @@ -# Known rpmlint warnings: +# rpmlint command and output # -# cppad.spec: spelling-error Sumary(en_US) devel: -# Although not in the en_US dictionary, 'devel' is understood by Fedora users. +# rpmlint --version +# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva # -# cppad.spec: rpm-buildroot-usage -# The %%prep section of this spec file contains a reference to %%buildroot. -# This is used to read (not write) information in %%buildroot%%includdir -# (using g++ -I %%buildroot%%includedir ). Thus it is not a violation of -# http://fedoraproject.org/wiki/Packaging:Guidelines# -# Scriplets_are_only_allowed_to_write_in_certain_directories -# -# cppad-20110101.2.gpl.tgz: strange-permission 0444L -# The premissions are for readonly, which seems fine in this case. -# -# %%{_docdir}/%%{name}-%%{version}/pmathmlcss.xsl: file-not-utf8: -# 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). +# rpmlint cppad-devel-20120101.1-1.fc15.noarch.rpm +# 1 packages and 0 specfiles checked; 0 errors, 0 warnings. # # ---------------------------------------------------------------------------- Name: cppad -Version: 20110101.5 -Release: 2%{?dist} +Version: 20120101.1 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc Group: Development/Libraries @@ -70,29 +57,55 @@ as a single web page, in both HTML and XML, can be found at that web site. %prep %setup -q -# Patches 2 and 3 should not be necessary when %%{version} >= 20120101 -# 1. CppAD tests the distribution before installing it. The rpm system can -# test after a mock installation. Thus, we should test the installed copy -# instead of the distribution copy of the include files. We must skip -# speed/src/makefile.in because it builds a library (that is not installed). -# 2. Change the location where pkgconfig/cppad.pc is installed. -# 3. Remove the duplicate copy of the test results from the rpm output. includedir=%{buildroot}%{_includedir} + +# This patch should no longer be necessary when %%{version} >= 20120101.2 +sed \ +-e 's|namespace *CppAD *{|# include \n&|' \ + -i cppad/speed/sparse_evaluate.hpp + +# This patch should no longer be necessary when %%{version} >= 20120101.2 +# 1.Fix missing inclusion of pthread library in linker command. +# Fix running make in source directory (current cppad testing runs configure +# and make in a separate directory). +sed \ + -e '/^AM_LDFLAGS *=/s|$| $(PTHREAD_LIB)|' \ + -e '/^dist_noinst_SCRIPTS *= *test.sh/d' \ + -e '/^test.sh:/d' \ + -e '/cp $(srcdir)\/test.sh/d' \ + -e 's|^test:.*|test: check|' \ + -i multi_thread/makefile.in + +# This patch should no longer be necessary when %%{version} >= 20120101.2 +# 1. Since building in source directory, there is no reason to copy the created +# cppad/configure.hpp to the source directory (avoids warning). +# 2. make sure we do not delete multi_thread/test.sh which is +# not created by 'make test' (becasue of patch to multi_thread/makefile.in). +# 3. Use make test instead of make test.sh because we do note make test.sh +# for multi_thread directory. +sed \ + -e '/^$(top_srcdir)\/cppad\/configure.hpp:/d' \ + -e '/^\tcp cppad\/configure.hpp/d' \ + -e '/^\t\trm -f $$dir\/test.sh/d' \ + -e 's|make test.sh|make test|' \ + -e '/echo ".\/test.sh"/d' \ + -i makefile.in + +# CppAD tests the distribution before installing it. The rpm system can test +# after 'make install'. We test the installed instead of distributed copy +# of the include files. We skip speed/src/makefile.in +# because they build programs a library before 'make install' completes. for file in `find . -name 'makefile.in'` do if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) then - sed -i "$file" \ - -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" \ - -e 's|^pkgconfigdir *=.*|pkgconfigdir = $(datadir)/pkgconfig|' \ - -e '/^[\t ]*cat test.log *$/d' + sed -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" -i "$file" fi done - # Remove setting of permissions in documentation destination directory. sed -e '/^.CppAD_DOCUMENTATION_TRUE.\tchmod -R [^ ]* $(doc_package)/d' \ - -i.stamp makefile.in + -i.stamp makefile.in # # change example/example.cpp to print out machine epsilon @@ -108,7 +121,7 @@ EOF sed -i.stamp example/example.cpp -f example.sed %build -%configure --with-Documentation +%configure --with-Documentation OPENMP_FLAGS=-fopenmp make %{?_smp_mflags} %install @@ -136,8 +149,11 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog -* Thu Jan 12 2012 Fedora Release Engineering - 20110101.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_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. From c160fa1cb5f8239bb621ad3c153fc8d420634070 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 18 Jul 2012 14:46:16 -0500 Subject: [PATCH 033/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 53cc5ad..ac3816d 100644 --- a/cppad.spec +++ b/cppad.spec @@ -10,7 +10,7 @@ Name: cppad Version: 20120101.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc Group: Development/Libraries @@ -149,6 +149,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. From e66a9946ad24b05272ecd8621b506c8bc9d34ac6 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 21 Oct 2012 12:02:54 -0700 Subject: [PATCH 034/163] changes to test on all architectures (as provided by Ralf Corespius) --- cppad.spec | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index ac3816d..b97ce1c 100644 --- a/cppad.spec +++ b/cppad.spec @@ -10,14 +10,17 @@ Name: cppad Version: 20120101.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc +# Only noarch.rpms provided. +# Nothing useful in *debuginfo +%global debug_package %{nil} + 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 @@ -26,6 +29,7 @@ C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. # --------------------------------------------------------------------------- %package devel Summary: The %{name} C++ include files for Algorithmic Differentiation (AD) +BuildArch: noarch Group: Development/Libraries Provides: %{name} = %{version}-%{release} @@ -43,6 +47,7 @@ See the package %{name}-doc for documentation of this version of %{name}. %package doc Summary: Documentation for %{name} Group: XML documentation for %{name}-devel +BuildArch: noarch %description doc The %{name}-doc package installs the XML documentation for %{name}-devel in @@ -149,6 +154,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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 From b98f8a6ed7608e10d71284d56b2ef19bac950a5b Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 4 Jan 2013 16:45:09 -0700 Subject: [PATCH 035/163] 1. Use new upstream source: cppad-20130000.0 2. Use cmake instread of auto-tools to build tests. 3. Include move testing, but do before instead of after install. 4. Fix day of the week in some commit log messages. On branch master --- .gitignore | 1 + cppad.spec | 90 +++++++++++++++++------------------------------------- sources | 2 +- 3 files changed, 30 insertions(+), 63 deletions(-) diff --git a/.gitignore b/.gitignore index d1c10db..b3522b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ cppad-20110101.5.gpl.tgz cppad-20120101.1.gpl.tgz +/cppad-20130000.0.gpl.tgz diff --git a/cppad.spec b/cppad.spec index b97ce1c..32e5603 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,8 +9,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20120101.1 -Release: 3%{?dist} +Version: 20130000.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -18,10 +18,11 @@ Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc %global debug_package %{nil} Group: Development/Libraries -License: GPLv2 +License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: cmake >= 2.6 %description C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -64,54 +65,8 @@ as a single web page, in both HTML and XML, can be found at that web site. %setup -q includedir=%{buildroot}%{_includedir} -# This patch should no longer be necessary when %%{version} >= 20120101.2 -sed \ --e 's|namespace *CppAD *{|# include \n&|' \ - -i cppad/speed/sparse_evaluate.hpp - -# This patch should no longer be necessary when %%{version} >= 20120101.2 -# 1.Fix missing inclusion of pthread library in linker command. -# Fix running make in source directory (current cppad testing runs configure -# and make in a separate directory). -sed \ - -e '/^AM_LDFLAGS *=/s|$| $(PTHREAD_LIB)|' \ - -e '/^dist_noinst_SCRIPTS *= *test.sh/d' \ - -e '/^test.sh:/d' \ - -e '/cp $(srcdir)\/test.sh/d' \ - -e 's|^test:.*|test: check|' \ - -i multi_thread/makefile.in - -# This patch should no longer be necessary when %%{version} >= 20120101.2 -# 1. Since building in source directory, there is no reason to copy the created -# cppad/configure.hpp to the source directory (avoids warning). -# 2. make sure we do not delete multi_thread/test.sh which is -# not created by 'make test' (becasue of patch to multi_thread/makefile.in). -# 3. Use make test instead of make test.sh because we do note make test.sh -# for multi_thread directory. -sed \ - -e '/^$(top_srcdir)\/cppad\/configure.hpp:/d' \ - -e '/^\tcp cppad\/configure.hpp/d' \ - -e '/^\t\trm -f $$dir\/test.sh/d' \ - -e 's|make test.sh|make test|' \ - -e '/echo ".\/test.sh"/d' \ - -i makefile.in - -# CppAD tests the distribution before installing it. The rpm system can test -# after 'make install'. We test the installed instead of distributed copy -# of the include files. We skip speed/src/makefile.in -# because they build programs a library before 'make install' completes. -for file in `find . -name 'makefile.in'` -do - if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) - then - sed -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" -i "$file" - fi -done - -# Remove setting of permissions in documentation destination directory. -sed -e '/^.CppAD_DOCUMENTATION_TRUE.\tchmod -R [^ ]* $(doc_package)/d' \ - -i.stamp makefile.in -# +# This patch should not longer be necessary when %%{version} >= 20130000.2 +sed -e '/TARGET_LINK_LIBRARIES/d' -i.stamp speed/example/CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -125,19 +80,21 @@ int main(void)\\ EOF sed -i.stamp example/example.cpp -f example.sed +# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake +# for suggestions on using cmake. %build -%configure --with-Documentation OPENMP_FLAGS=-fopenmp +%cmake \ + -D CMAKE_VERBOSE_MAKEFILE=0 \ + -D cppad_documentation=YES \ + -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ + . make %{?_smp_mflags} %install rm -rf %{buildroot} +make check make install DESTDIR=%{buildroot} -%check -# make test uses a shell script to run test is a list of subdirectories -# and it it is unclear how to do: make %{?_smp_mflags} test -make test - %clean # cleanup rm -rf %{buildroot} @@ -154,6 +111,15 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. @@ -174,7 +140,7 @@ rm -rf %{buildroot} * Tue Feb 08 2011 Fedora Release Engineering - 20110101.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild -* Tue Jan 19 2011 Brad Bell - 20110101.2-3 +* 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. @@ -196,7 +162,7 @@ rm -rf %{buildroot} - Change makefile.in so tests include from install (not distribute) directory - (see comments above `find . -name 'makefile.in` above). -* Sat Jan 09 2011 Brad Bell - 20110101.0-2 +* 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). @@ -222,7 +188,7 @@ rm -rf %{buildroot} - Patch sources for bug fix between 20100101.0 and 20100101.1. - This should no longer be necessary once a new upstream source is loaded. -* Sat Jan 01 2010 Brad Bell - 20100101.0-1 +* 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. @@ -236,7 +202,7 @@ rm -rf %{buildroot} - 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. @@ -253,7 +219,7 @@ rm -rf %{buildroot} * 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). diff --git a/sources b/sources index 090db7a..1df3a53 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e3237092cdcbfb38600baeb49531fbfe cppad-20120101.1.gpl.tgz +fbfb5a8c78d382effd639ea2ecf23c58 cppad-20130000.0.gpl.tgz From 45c401c2204b4e1ce3cfaf3a3090f39e3c971a25 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 4 Jan 2013 18:19:01 -0700 Subject: [PATCH 036/163] test installed, instead of local, version of include files --- cppad.spec | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index 32e5603..5492a87 100644 --- a/cppad.spec +++ b/cppad.spec @@ -65,8 +65,15 @@ as a single web page, in both HTML and XML, can be found at that web site. %setup -q includedir=%{buildroot}%{_includedir} +# Replace cppad_SOURCE_DIR by the system include directory so that +# installed files, instead of local files, are used for testing. +sed \ +-e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ + -i.stamp CMakeLists.txt + # This patch should not longer be necessary when %%{version} >= 20130000.2 -sed -e '/TARGET_LINK_LIBRARIES/d' -i.stamp speed/example/CMakeLists.txt +sed -e '/TARGET_LINK_LIBRARIES/d' \ + -i.stamp speed/example/CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -92,9 +99,12 @@ make %{?_smp_mflags} %install rm -rf %{buildroot} -make check make install DESTDIR=%{buildroot} +# use the installed include files to compile and run the tests +%check +make check + %clean # cleanup rm -rf %{buildroot} From e42b4445a1af51ea4c9e646df593d80cfcef090e Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 4 Jan 2013 21:32:36 -0700 Subject: [PATCH 037/163] debugging release, attempt to fix and print intermediate results --- cppad.spec | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 5492a87..389d573 100644 --- a/cppad.spec +++ b/cppad.spec @@ -10,7 +10,7 @@ Name: cppad Version: 20130000.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -65,6 +65,38 @@ as a single web page, in both HTML and XML, can be found at that web site. %setup -q includedir=%{buildroot}%{_includedir} +# patch epsilon.cpp in a way that may fix problem and that will +# print debugging information. +cat << EOF > epsilon.patch +46,56c46,58 +< { bool ok = true; +< using CppAD::epsilon; +< using CppAD::abs; +< Type eps = CppAD::epsilon(); +< Type one = 1; +< Type two = 2; +< Type eps2 = eps / two; +< Type check = add_one(eps); +< ok &= one != check; +< check = add_one(eps2); +< ok &= one == check; +--- +> { bool ok = true; +> static size_t count = 0; +> CppAD::vector eps(1), one(1), two(1), eps2(1), check(1); +> eps[0] = CppAD::epsilon(); +> one[0] = 1; +> two[0] = 2; +> eps2[0] = eps[0] / two[0]; +> check[0] = add_one(eps[0]); +> ok &= one[0] != check[0]; +> std::cout << "count = " << count++ << ", ok = " << ok << std::endl; +> check[0] = add_one(eps2[0]); +> ok &= one[0] == check[0]; +> std::cout << "count = " << count++ << ", ok = " << ok << std::endl; +EOF +patch test_more/epsilon.cpp epsilon.patch + # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. sed \ @@ -121,6 +153,10 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. From 1d976e8ba5905c1188592cfe85ac0319fd07d8b5 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 5 Jan 2013 07:50:35 -0700 Subject: [PATCH 038/163] Hypothesis: Remote Fedora test machine is using gaurd digits and thereby defeating the testing of the limits.hpp values. Solution: Make it harder for the complier to do this sort of optimizaiton, thereby removing gaurd digits from the calculations. --- cppad.spec | 105 +++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 73 insertions(+), 32 deletions(-) diff --git a/cppad.spec b/cppad.spec index 389d573..91a6919 100644 --- a/cppad.spec +++ b/cppad.spec @@ -10,7 +10,7 @@ Name: cppad Version: 20130000.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -65,37 +65,74 @@ as a single web page, in both HTML and XML, can be found at that web site. %setup -q includedir=%{buildroot}%{_includedir} -# patch epsilon.cpp in a way that may fix problem and that will -# print debugging information. -cat << EOF > epsilon.patch -46,56c46,58 -< { bool ok = true; -< using CppAD::epsilon; -< using CppAD::abs; -< Type eps = CppAD::epsilon(); -< Type one = 1; -< Type two = 2; -< Type eps2 = eps / two; -< Type check = add_one(eps); -< ok &= one != check; -< check = add_one(eps2); -< ok &= one == check; ---- -> { bool ok = true; -> static size_t count = 0; -> CppAD::vector eps(1), one(1), two(1), eps2(1), check(1); -> eps[0] = CppAD::epsilon(); -> one[0] = 1; -> two[0] = 2; -> eps2[0] = eps[0] / two[0]; -> check[0] = add_one(eps[0]); -> ok &= one[0] != check[0]; -> std::cout << "count = " << count++ << ", ok = " << ok << std::endl; -> check[0] = add_one(eps2[0]); -> ok &= one[0] == check[0]; -> std::cout << "count = " << count++ << ", ok = " << ok << std::endl; +# --------------------------------------------------------------------------- +# This patch should not longer be necessary when %%{version} >= 20130000.0 +# Fedora test machines seem to use gauard digits instead of converting values +# to their numerical percision. Modify tests to avoid this. +cat << EOF > patch.sed +/\\tbool *check_epsilon/! b end_check_epsilon +N +s|\\t{\\tbool *ok *= *true;|&\\ +\\t\\tCppAD::vector eps(1), one(1), two(1), eps2(1), check(1);| +: end_check_epsilon +# +/\\tbool *check_min/! b end_check_min +N +s|\\t{\\tbool *ok *= *true;|&\\ +\\t\\tCppAD::vector min(1), eps(1), one(1), three(1), tmp(1), match(1);| +: end_check_min +# +/\\tbool *check_max/! b end_check_max +N +s|\\t{\\tbool *ok *= *true;|&\\ +\\t\\tCppAD::vector max(1), eps(1), one(1), three(1), tmp(1), match(1);| +: end_check_max +# +/\\tbool *check_max_complex/! b end_check_max_complex +N +s|\\t\\tbool *ok *= *true;|&\\ +\\t\\tCppAD::vector c_max(1), c_eps(1);\\ +\\t\\tCppAD::vector max(1), eps(1), one(1), three(1), tmp(1), match(1);| +: end_check_max_complex +# +s|\\t\\tComplex c_max *=|\\t\\tc_max[0] =| +s|\\t\\tComplex c_eps *=|\\t\\tc_eps[0] =| +s|c_max\\.|c_max[0]\\.| +s|c_eps\\.|c_eps[0]\\.| +# +s|\\t\\tType min *=|\\t\\tmin[0] =| +s|\\t\\tType max *=|\\t\\tmax[0] =| +s|\\t\\tType eps *=|\\t\\teps[0] =| +s|\\t\\tType one *=|\\t\\tone[0] =| +s|\\t\\tType two *=|\\t\\ttwo[0] =| +s|\\t\\tType tmp *=|\\t\\ttmp[0] =| +s|\\t\\tType eps2 *=|\\t\\teps2[0] =| +s|\\t\\tType check *=|\\t\\tcheck[0] =| +s|\\t\\tType three *=|\\t\\tthree[0] =| +s|\\t\\tType match *=|\\t\\tmatch[0] =| +# +s|\\t\\ttmp *=|\\t\\ttmp[0] =| +s|\\t\\tmatch *=|\\t\\tmatch[0] =| +s|\\t\\tcheck *=|\\t\\tcheck[0] =| +# +# +s|(eps)|(eps[0])| +s|(eps2)|(eps2[0])| +# +s|\\([a-z][a-z]*\\) *\\([*/]\\) *\\([a-z][a-z]*\\)|\\1[0] \\2 \\3[0]|g +s|\\([-+*/]\\) *\\([a-z][a-z]*\\)\\( *[;,)]\\)|\\1 \\2[0]\\3| +s|\\([a-z][a-z]*\\) *\\([-+*/]\\)\\( *(\\)|\\1[0] \\2 \\3| +# +s|eps */ *two|eps[0] / two[0]| +s|one *\\([!=]*\\) *check|one[0] \\1 check[0]| +# +# undo some changes that should not have been done +s||| +s|value\\[0\\]|value| EOF -patch test_more/epsilon.cpp epsilon.patch +sed -f patch.sed -i example/limits.cpp +sed -f patch.sed -i test_more/epsilon.cpp +# --------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. @@ -103,7 +140,7 @@ sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ -i.stamp CMakeLists.txt -# This patch should not longer be necessary when %%{version} >= 20130000.2 +# This patch should not longer be necessary when %%{version} >= 20130000.0 sed -e '/TARGET_LINK_LIBRARIES/d' \ -i.stamp speed/example/CMakeLists.txt @@ -153,6 +190,10 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. From f91eac471c127faa40201adbc8da9eaa07e134c7 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 8 Jan 2013 07:03:54 -0700 Subject: [PATCH 039/163] 1. Use new upstream souce to simplify spec file. 2. Fix some rpmlint warnings and add comment about remaining warning. --- .gitignore | 1 + cppad.spec | 114 +++++++++++------------------------------------------ sources | 2 +- 3 files changed, 26 insertions(+), 91 deletions(-) diff --git a/.gitignore b/.gitignore index b3522b4..1ec18c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ cppad-20110101.5.gpl.tgz cppad-20120101.1.gpl.tgz /cppad-20130000.0.gpl.tgz +/cppad-20130000.1.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 91a6919..fcdf60d 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,16 +1,15 @@ -# rpmlint command and output -# -# rpmlint --version -# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva -# -# rpmlint cppad-devel-20120101.1-1.fc15.noarch.rpm -# 1 packages and 0 specfiles checked; 0 errors, 0 warnings. +# rpmlint --version +# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva # +# rmplint cppad.sped +# cppad.spec: ... W: rpm-buildroot-usage ... +# 0 packages and 1 specfiles checked; 0 errors, 1 warnings. +# search for 'rpm-buildroot-usage' and see comments near there. # ---------------------------------------------------------------------------- Name: cppad -Version: 20130000.0 -Release: 3%{?dist} +Version: 20130000.1 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -46,8 +45,8 @@ See the package %{name}-doc for documentation of this version of %{name}. # ---------------------------------------------------------------------------- %package doc -Summary: Documentation for %{name} -Group: XML documentation for %{name}-devel +Summary: Documentation for %{name}-devel +Group: Documentation BuildArch: noarch %description doc @@ -63,86 +62,14 @@ as a single web page, in both HTML and XML, can be found at that web site. %prep %setup -q -includedir=%{buildroot}%{_includedir} - -# --------------------------------------------------------------------------- -# This patch should not longer be necessary when %%{version} >= 20130000.0 -# Fedora test machines seem to use gauard digits instead of converting values -# to their numerical percision. Modify tests to avoid this. -cat << EOF > patch.sed -/\\tbool *check_epsilon/! b end_check_epsilon -N -s|\\t{\\tbool *ok *= *true;|&\\ -\\t\\tCppAD::vector eps(1), one(1), two(1), eps2(1), check(1);| -: end_check_epsilon -# -/\\tbool *check_min/! b end_check_min -N -s|\\t{\\tbool *ok *= *true;|&\\ -\\t\\tCppAD::vector min(1), eps(1), one(1), three(1), tmp(1), match(1);| -: end_check_min -# -/\\tbool *check_max/! b end_check_max -N -s|\\t{\\tbool *ok *= *true;|&\\ -\\t\\tCppAD::vector max(1), eps(1), one(1), three(1), tmp(1), match(1);| -: end_check_max -# -/\\tbool *check_max_complex/! b end_check_max_complex -N -s|\\t\\tbool *ok *= *true;|&\\ -\\t\\tCppAD::vector c_max(1), c_eps(1);\\ -\\t\\tCppAD::vector max(1), eps(1), one(1), three(1), tmp(1), match(1);| -: end_check_max_complex -# -s|\\t\\tComplex c_max *=|\\t\\tc_max[0] =| -s|\\t\\tComplex c_eps *=|\\t\\tc_eps[0] =| -s|c_max\\.|c_max[0]\\.| -s|c_eps\\.|c_eps[0]\\.| -# -s|\\t\\tType min *=|\\t\\tmin[0] =| -s|\\t\\tType max *=|\\t\\tmax[0] =| -s|\\t\\tType eps *=|\\t\\teps[0] =| -s|\\t\\tType one *=|\\t\\tone[0] =| -s|\\t\\tType two *=|\\t\\ttwo[0] =| -s|\\t\\tType tmp *=|\\t\\ttmp[0] =| -s|\\t\\tType eps2 *=|\\t\\teps2[0] =| -s|\\t\\tType check *=|\\t\\tcheck[0] =| -s|\\t\\tType three *=|\\t\\tthree[0] =| -s|\\t\\tType match *=|\\t\\tmatch[0] =| -# -s|\\t\\ttmp *=|\\t\\ttmp[0] =| -s|\\t\\tmatch *=|\\t\\tmatch[0] =| -s|\\t\\tcheck *=|\\t\\tcheck[0] =| -# -# -s|(eps)|(eps[0])| -s|(eps2)|(eps2[0])| -# -s|\\([a-z][a-z]*\\) *\\([*/]\\) *\\([a-z][a-z]*\\)|\\1[0] \\2 \\3[0]|g -s|\\([-+*/]\\) *\\([a-z][a-z]*\\)\\( *[;,)]\\)|\\1 \\2[0]\\3| -s|\\([a-z][a-z]*\\) *\\([-+*/]\\)\\( *(\\)|\\1[0] \\2 \\3| -# -s|eps */ *two|eps[0] / two[0]| -s|one *\\([!=]*\\) *check|one[0] \\1 check[0]| -# -# undo some changes that should not have been done -s||| -s|value\\[0\\]|value| -EOF -sed -f patch.sed -i example/limits.cpp -sed -f patch.sed -i test_more/epsilon.cpp -# --------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. +# (Note next line generates rpm-buildroot-usage warning from rpmlint.) +includedir=%{buildroot}%{_includedir} sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ - -i.stamp CMakeLists.txt - -# This patch should not longer be necessary when %%{version} >= 20130000.0 -sed -e '/TARGET_LINK_LIBRARIES/d' \ - -i.stamp speed/example/CMakeLists.txt + -i.stamp CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -160,10 +87,10 @@ sed -i.stamp example/example.cpp -f example.sed # for suggestions on using cmake. %build %cmake \ - -D CMAKE_VERBOSE_MAKEFILE=0 \ - -D cppad_documentation=YES \ - -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ - . + -D CMAKE_VERBOSE_MAKEFILE=0 \ + -D cppad_documentation=YES \ + -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ + . make %{?_smp_mflags} %install @@ -190,6 +117,13 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. diff --git a/sources b/sources index 1df3a53..aab2034 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fbfb5a8c78d382effd639ea2ecf23c58 cppad-20130000.0.gpl.tgz +9aa7d3a8cf0bfb892579d736f18ea358 cppad-20130000.1.gpl.tgz From 8784b9536d2f02adbc87696413dba41eef734eb9 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 9 Jan 2013 00:53:22 -0700 Subject: [PATCH 040/163] copy from master --- cppad.spec | 136 ++++++++++++++++++++++++++--------------------------- sources | 2 +- 2 files changed, 68 insertions(+), 70 deletions(-) diff --git a/cppad.spec b/cppad.spec index 53cc5ad..fcdf60d 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,24 +1,27 @@ -# rpmlint command and output -# -# rpmlint --version -# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva -# -# rpmlint cppad-devel-20120101.1-1.fc15.noarch.rpm -# 1 packages and 0 specfiles checked; 0 errors, 0 warnings. +# rpmlint --version +# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva # +# rmplint cppad.sped +# cppad.spec: ... W: rpm-buildroot-usage ... +# 0 packages and 1 specfiles checked; 0 errors, 1 warnings. +# search for 'rpm-buildroot-usage' and see comments near there. # ---------------------------------------------------------------------------- Name: cppad -Version: 20120101.1 +Version: 20130000.1 Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc +# Only noarch.rpms provided. +# Nothing useful in *debuginfo +%global debug_package %{nil} + Group: Development/Libraries -License: GPLv2 +License: GPLv3 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) +BuildRequires: cmake >= 2.6 %description C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -26,6 +29,7 @@ C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. # --------------------------------------------------------------------------- %package devel Summary: The %{name} C++ include files for Algorithmic Differentiation (AD) +BuildArch: noarch Group: Development/Libraries Provides: %{name} = %{version}-%{release} @@ -41,8 +45,9 @@ See the package %{name}-doc for documentation of this version of %{name}. # ---------------------------------------------------------------------------- %package doc -Summary: Documentation for %{name} -Group: XML documentation for %{name}-devel +Summary: Documentation for %{name}-devel +Group: Documentation +BuildArch: noarch %description doc The %{name}-doc package installs the XML documentation for %{name}-devel in @@ -57,56 +62,14 @@ as a single web page, in both HTML and XML, can be found at that web site. %prep %setup -q + +# Replace cppad_SOURCE_DIR by the system include directory so that +# installed files, instead of local files, are used for testing. +# (Note next line generates rpm-buildroot-usage warning from rpmlint.) includedir=%{buildroot}%{_includedir} - -# This patch should no longer be necessary when %%{version} >= 20120101.2 sed \ --e 's|namespace *CppAD *{|# include \n&|' \ - -i cppad/speed/sparse_evaluate.hpp - -# This patch should no longer be necessary when %%{version} >= 20120101.2 -# 1.Fix missing inclusion of pthread library in linker command. -# Fix running make in source directory (current cppad testing runs configure -# and make in a separate directory). -sed \ - -e '/^AM_LDFLAGS *=/s|$| $(PTHREAD_LIB)|' \ - -e '/^dist_noinst_SCRIPTS *= *test.sh/d' \ - -e '/^test.sh:/d' \ - -e '/cp $(srcdir)\/test.sh/d' \ - -e 's|^test:.*|test: check|' \ - -i multi_thread/makefile.in - -# This patch should no longer be necessary when %%{version} >= 20120101.2 -# 1. Since building in source directory, there is no reason to copy the created -# cppad/configure.hpp to the source directory (avoids warning). -# 2. make sure we do not delete multi_thread/test.sh which is -# not created by 'make test' (becasue of patch to multi_thread/makefile.in). -# 3. Use make test instead of make test.sh because we do note make test.sh -# for multi_thread directory. -sed \ - -e '/^$(top_srcdir)\/cppad\/configure.hpp:/d' \ - -e '/^\tcp cppad\/configure.hpp/d' \ - -e '/^\t\trm -f $$dir\/test.sh/d' \ - -e 's|make test.sh|make test|' \ - -e '/echo ".\/test.sh"/d' \ - -i makefile.in - -# CppAD tests the distribution before installing it. The rpm system can test -# after 'make install'. We test the installed instead of distributed copy -# of the include files. We skip speed/src/makefile.in -# because they build programs a library before 'make install' completes. -for file in `find . -name 'makefile.in'` -do - if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) - then - sed -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" -i "$file" - fi -done - -# Remove setting of permissions in documentation destination directory. -sed -e '/^.CppAD_DOCUMENTATION_TRUE.\tchmod -R [^ ]* $(doc_package)/d' \ - -i.stamp makefile.in -# +-e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ + -i.stamp CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -120,18 +83,23 @@ int main(void)\\ EOF sed -i.stamp example/example.cpp -f example.sed +# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake +# for suggestions on using cmake. %build -%configure --with-Documentation OPENMP_FLAGS=-fopenmp +%cmake \ + -D CMAKE_VERBOSE_MAKEFILE=0 \ + -D cppad_documentation=YES \ + -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ + . make %{?_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} +# use the installed include files to compile and run the tests %check -# make test uses a shell script to run test is a list of subdirectories -# and it it is unclear how to do: make %{?_smp_mflags} test -make test +make check %clean # cleanup @@ -149,6 +117,36 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. @@ -163,7 +161,7 @@ rm -rf %{buildroot} * Tue Feb 08 2011 Fedora Release Engineering - 20110101.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild -* Tue Jan 19 2011 Brad Bell - 20110101.2-3 +* 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. @@ -185,7 +183,7 @@ rm -rf %{buildroot} - Change makefile.in so tests include from install (not distribute) directory - (see comments above `find . -name 'makefile.in` above). -* Sat Jan 09 2011 Brad Bell - 20110101.0-2 +* 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). @@ -211,7 +209,7 @@ rm -rf %{buildroot} - Patch sources for bug fix between 20100101.0 and 20100101.1. - This should no longer be necessary once a new upstream source is loaded. -* Sat Jan 01 2010 Brad Bell - 20100101.0-1 +* 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. @@ -225,7 +223,7 @@ rm -rf %{buildroot} - 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. @@ -242,7 +240,7 @@ rm -rf %{buildroot} * 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). diff --git a/sources b/sources index 090db7a..aab2034 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e3237092cdcbfb38600baeb49531fbfe cppad-20120101.1.gpl.tgz +9aa7d3a8cf0bfb892579d736f18ea358 cppad-20130000.1.gpl.tgz From 03c5ce3fc15a2b49609ae44732b58f28c8d37004 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 18 Jan 2013 03:52:58 -0800 Subject: [PATCH 041/163] Use auto-tools for build because there seems to be a bug in cmake for el6 that Red-Hat has decided not to fix. will not fix in el --- cppad.spec | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/cppad.spec b/cppad.spec index fcdf60d..76b2959 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,7 +9,7 @@ Name: cppad Version: 20130000.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -21,7 +21,6 @@ License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: cmake >= 2.6 %description C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -63,13 +62,17 @@ as a single web page, in both HTML and XML, can be found at that web site. %setup -q -# Replace cppad_SOURCE_DIR by the system include directory so that +# We will replace top_srcdir by the system include directory so that # installed files, instead of local files, are used for testing. # (Note next line generates rpm-buildroot-usage warning from rpmlint.) includedir=%{buildroot}%{_includedir} -sed \ --e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ - -i.stamp CMakeLists.txt +for file in `find . -name 'makefile.in'` +do + if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) + then + sed -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" -i "$file" + fi +done # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -86,11 +89,13 @@ sed -i.stamp example/example.cpp -f example.sed # See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake # for suggestions on using cmake. %build -%cmake \ - -D CMAKE_VERBOSE_MAKEFILE=0 \ - -D cppad_documentation=YES \ - -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ - . +./configure \ + --prefix='/usr' \ + CXX_FLAGS='-Wall -ansi -pedantic-errors -std=c++98' \ + OPENMP_FLAGS='-fopenmp' \ + --with-sparse_list \ + --with-Documentation + make %{?_smp_mflags} %install @@ -99,7 +104,7 @@ make install DESTDIR=%{buildroot} # use the installed include files to compile and run the tests %check -make check +make test %clean # cleanup @@ -117,6 +122,12 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* Thu Jan 17 2013 Brad Bell - 20130000.1-1 +- Change build from using cmake to using auto-tools because Red-Hat +- will not fix problems with cmake 2.6; see +- https://bugzilla.redhat.com/show_bug.cgi?id=896116 +- (cmake mailing list suggests upgrading to 2.8) + * Tue Jan 08 2013 Brad Bell - 20130000.1-1 - Use a new upstream source. - Remove the patches that were fixed in the upstream source. From 04addcea97a7712c526b8696f35087605a5891e3 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 13:03:06 -0600 Subject: [PATCH 042/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index fcdf60d..a53a21e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,7 +9,7 @@ Name: cppad Version: 20130000.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -117,6 +117,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. From 7c4cffb952c68235dbce87967d673913bd8488b1 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 25 Feb 2013 17:10:17 -0700 Subject: [PATCH 043/163] Attempt to reproduce failed build reported as https://bugzilla.redhat.com/show_bug.cgi?id=913929 --- cppad.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index a53a21e..0d74456 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,7 +9,7 @@ Name: cppad Version: 20130000.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -117,6 +117,10 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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 From 3e912e42ff7123d67b82e40439c19ffd83e3b3e6 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Thu, 28 Feb 2013 04:35:15 -0800 Subject: [PATCH 044/163] Use new upstream source to fix bug in test_more/limits.cpp. --- .gitignore | 1 + cppad.spec | 10 ++++++++-- sources | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1ec18c8..be33b09 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ cppad-20110101.5.gpl.tgz cppad-20120101.1.gpl.tgz /cppad-20130000.0.gpl.tgz /cppad-20130000.1.gpl.tgz +/cppad-20130000.2.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 0d74456..8b8c9f2 100644 --- a/cppad.spec +++ b/cppad.spec @@ -8,8 +8,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20130000.1 -Release: 3%{?dist} +Version: 20130000.2 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -117,6 +117,12 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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) diff --git a/sources b/sources index aab2034..cec3270 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9aa7d3a8cf0bfb892579d736f18ea358 cppad-20130000.1.gpl.tgz +8f764be6e3bcc8b201bc4b7a59717cde cppad-20130000.2.gpl.tgz From 5964e900a099bc90ce6f11d47d707048b2b3e6f8 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 00:59:23 -0500 Subject: [PATCH 045/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 8b8c9f2..b7ece04 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,7 +9,7 @@ Name: cppad Version: 20130000.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -117,6 +117,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. From 7a2711b338505a6c13b582e764a320677d85cb59 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 8 Oct 2013 06:42:56 -0700 Subject: [PATCH 046/163] Use an unversioned docdir, fix warnings --- .gitignore | 1 + cppad.spec | 24 ++++++++++++++++++++---- sources | 2 +- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index be33b09..af04631 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ cppad-20120101.1.gpl.tgz /cppad-20130000.0.gpl.tgz /cppad-20130000.1.gpl.tgz /cppad-20130000.2.gpl.tgz +/cppad-20130000.3.gpl.tgz diff --git a/cppad.spec b/cppad.spec index b7ece04..4a86101 100644 --- a/cppad.spec +++ b/cppad.spec @@ -8,8 +8,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20130000.2 -Release: 2%{?dist} +Version: 20130000.3 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -51,7 +51,7 @@ BuildArch: noarch %description doc The %{name}-doc package installs the XML documentation for %{name}-devel in - %{_docdir}/%{name}-%{version} + %{_docdir}/%{name} Links to an HTML version of the %{name} documentation, for the most recent version of %{name}, can be found at the web site http://www.coin-or.org/CppAD/ @@ -71,6 +71,13 @@ sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ -i.stamp CMakeLists.txt +# Temporary patch for Fedora 20 and greater. Upstream plans to change source +# so not needed when %%{version} is greater than or equal 20140000: +# +# Change /usr/share/doc/%%{name}-%%{version} -> /usr/share/doc/%%{name} +sed -e 's|\(${cppad_abs_docdir}/cppad\)-${cppad_version}|\1|' \ + -i CMakeLists.txt + # change example/example.cpp to print out machine epsilon cat << EOF > example.sed /^int main(void)/N @@ -111,12 +118,21 @@ rm -rf %{buildroot} %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc +# CMakeLists.txt is assuming %%{_docdir} is the same as %%{_datadir}/doc. +# In version 20140000, we should should add a -D cmake_install_docdir argument +# to cmake command so this is no longer necessary. %files doc %defattr(-,root,root,-) -%{_docdir}/%{name}-%{version} +%{_docdir}/%{name} # ---------------------------------------------------------------------------- %changelog +* Mon Oct 07 2013 Brad Bell - 20130000.2-3 +- 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 diff --git a/sources b/sources index cec3270..8e24567 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8f764be6e3bcc8b201bc4b7a59717cde cppad-20130000.2.gpl.tgz +7abd0ddc43aa7a3c066461904f5cb459 cppad-20130000.3.gpl.tgz From ed67564f617a6ba474e0cad2d35756f740890d08 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 8 Oct 2013 07:29:49 -0700 Subject: [PATCH 047/163] fix version and release number for this change --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 4a86101..73d5790 100644 --- a/cppad.spec +++ b/cppad.spec @@ -127,7 +127,7 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog -* Mon Oct 07 2013 Brad Bell - 20130000.2-3 +* 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 From 338cdddf3224ab29e93254e42b4677b01cbe6c19 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 22 Jan 2014 09:27:12 -0800 Subject: [PATCH 048/163] Upload and use version 2041. --- .gitignore | 1 + cppad.spec | 17 +++++++++++++---- sources | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index af04631..a34bc20 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ cppad-20120101.1.gpl.tgz /cppad-20130000.1.gpl.tgz /cppad-20130000.2.gpl.tgz /cppad-20130000.3.gpl.tgz +/cppad-20140000.2.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 73d5790..a050d5e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -8,7 +8,7 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20130000.3 +Version: 20140000.2 Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc @@ -65,18 +65,21 @@ as a single web page, in both HTML and XML, can be found at that web site. # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. -# (Note next line generates rpm-buildroot-usage warning from rpmlint.) +# +# Note this generates rpm-buildroot-usage warning from rpmlint; see +# http://comments.gmane.org/gmane.linux.redhat.fedora.devel/144920 includedir=%{buildroot}%{_includedir} sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ -i.stamp CMakeLists.txt -# Temporary patch for Fedora 20 and greater. Upstream plans to change source +# Patch for Fedora 20 and greater. Upstream plans to change source # so not needed when %%{version} is greater than or equal 20140000: +# This did not get fixed in 2014, lets try for 2015. # # Change /usr/share/doc/%%{name}-%%{version} -> /usr/share/doc/%%{name} sed -e 's|\(${cppad_abs_docdir}/cppad\)-${cppad_version}|\1|' \ - -i CMakeLists.txt + -i CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -127,6 +130,12 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog + +* 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 diff --git a/sources b/sources index 8e24567..2c939a4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7abd0ddc43aa7a3c066461904f5cb459 cppad-20130000.3.gpl.tgz +5c2973e0a399167f4edc6551aa5e2432 cppad-20140000.2.gpl.tgz From d1aec3235810c3994de353077429797e8a0762bb Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 31 Jan 2014 04:15:14 -0800 Subject: [PATCH 049/163] Advance to version 2014 of cppad. - Add link to bug report about cmake not working on el6 --- .gitignore | 1 + cppad.spec | 12 ++++++++---- sources | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index d1c10db..399ca6b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ cppad-20110101.5.gpl.tgz cppad-20120101.1.gpl.tgz +/cppad-20140000.2.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 76b2959..9ecbaa6 100644 --- a/cppad.spec +++ b/cppad.spec @@ -8,8 +8,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20130000.1 -Release: 2%{?dist} +Version: 20140000.2 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -86,8 +86,8 @@ int main(void)\\ EOF sed -i.stamp example/example.cpp -f example.sed -# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake -# for suggestions on using cmake. +# See https://bugzilla.redhat.com/show_bug.cgi?id=896116 +# for why we are using auto-tools instead of cmake. %build ./configure \ --prefix='/usr' \ @@ -122,6 +122,10 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* Fri Jan 31 2014 Brad Bell - 20140000.2-1 +- Advance to version 2014 of cppad. +- Add link to bug report about cmake not working on el6 + * Thu Jan 17 2013 Brad Bell - 20130000.1-1 - Change build from using cmake to using auto-tools because Red-Hat - will not fix problems with cmake 2.6; see diff --git a/sources b/sources index aab2034..2c939a4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9aa7d3a8cf0bfb892579d736f18ea358 cppad-20130000.1.gpl.tgz +5c2973e0a399167f4edc6551aa5e2432 cppad-20140000.2.gpl.tgz From bb0f6f5002007f7b5f4e1babe6293563a8bd58b7 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Thu, 6 Mar 2014 03:30:17 -0800 Subject: [PATCH 050/163] convert from using auto-tools to cmake28 --- cppad.spec | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/cppad.spec b/cppad.spec index 9ecbaa6..a969952 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,7 +9,7 @@ Name: cppad Version: 20140000.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -21,6 +21,7 @@ License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: cmake28 %description C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -62,17 +63,13 @@ as a single web page, in both HTML and XML, can be found at that web site. %setup -q -# We will replace top_srcdir by the system include directory so that +# Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. # (Note next line generates rpm-buildroot-usage warning from rpmlint.) includedir=%{buildroot}%{_includedir} -for file in `find . -name 'makefile.in'` -do - if ! (echo $file | grep 'speed/src/makefile.in' > /dev/null) - then - sed -e "s|-I\$(top_srcdir)\([^/]\)|-I$includedir\1|" -i "$file" - fi -done +sed \ +-e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ + -i.stamp CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -86,15 +83,14 @@ int main(void)\\ EOF sed -i.stamp example/example.cpp -f example.sed -# See https://bugzilla.redhat.com/show_bug.cgi?id=896116 -# for why we are using auto-tools instead of cmake. +# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake +# for suggestions on using cmake. %build -./configure \ - --prefix='/usr' \ - CXX_FLAGS='-Wall -ansi -pedantic-errors -std=c++98' \ - OPENMP_FLAGS='-fopenmp' \ - --with-sparse_list \ - --with-Documentation +%cmake28 \ + -D CMAKE_VERBOSE_MAKEFILE=0 \ + -D cppad_documentation=YES \ + -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ + . make %{?_smp_mflags} @@ -104,7 +100,7 @@ make install DESTDIR=%{buildroot} # use the installed include files to compile and run the tests %check -make test +make check %clean # cleanup @@ -122,6 +118,10 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* Wed Mar 05 2014 Brad Bell - 20140000.2-2 +- Swith to using cmake28 as suggest in Comment 3 on +- https://bugzilla.redhat.com/show_bug.cgi?id=896116#c3 + * Fri Jan 31 2014 Brad Bell - 20140000.2-1 - Advance to version 2014 of cppad. - Add link to bug report about cmake not working on el6 From 9bce3b4605b45e2faec0e7fa42d4c958dfcc3662 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Thu, 6 Mar 2014 03:45:04 -0800 Subject: [PATCH 051/163] change tab to spaces --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index a969952..21c4920 100644 --- a/cppad.spec +++ b/cppad.spec @@ -90,7 +90,7 @@ sed -i.stamp example/example.cpp -f example.sed -D CMAKE_VERBOSE_MAKEFILE=0 \ -D cppad_documentation=YES \ -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ - . + . make %{?_smp_mflags} From 18088d3c3cb6f017099cdd79b19eb1717e711574 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 01:02:13 -0500 Subject: [PATCH 052/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index a050d5e..ced7217 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,7 +9,7 @@ Name: cppad Version: 20140000.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -130,6 +130,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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. From 5af4166f5c2f00b9beb885661705adf4a6cc3309 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 16 Aug 2014 01:25:34 +0000 Subject: [PATCH 053/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index ced7217..12e97d1 100644 --- a/cppad.spec +++ b/cppad.spec @@ -9,7 +9,7 @@ Name: cppad Version: 20140000.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. @@ -130,6 +130,9 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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 From 458cd532b6bfe77247fb5e253af16472b21abd7b Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 31 Jan 2015 10:27:08 -0700 Subject: [PATCH 054/163] upload version 20150000.4 --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a34bc20..8e38275 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ cppad-20120101.1.gpl.tgz /cppad-20130000.2.gpl.tgz /cppad-20130000.3.gpl.tgz /cppad-20140000.2.gpl.tgz +/cppad-20150000.4.gpl.tgz diff --git a/sources b/sources index 2c939a4..8149c3f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5c2973e0a399167f4edc6551aa5e2432 cppad-20140000.2.gpl.tgz +1720334972913771209883efd384ea0a cppad-20150000.4.gpl.tgz From e49477a1e569be5938f3486a66410aebdc3a701e Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 31 Jan 2015 19:31:22 -0700 Subject: [PATCH 055/163] Advance from upstream source from version 20140000.2 to version 20150000.4. Improve clarity of cmake command used to configure the tests. --- cppad.spec | 61 ++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/cppad.spec b/cppad.spec index 12e97d1..fb4c53b 100644 --- a/cppad.spec +++ b/cppad.spec @@ -8,11 +8,11 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20140000.2 -Release: 3%{?dist} +Version: 20150000.4 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc -# Only noarch.rpms provided. +# Only noarch.rpms provided. The user can compile with or without debugging # Nothing useful in *debuginfo %global debug_package %{nil} @@ -21,7 +21,7 @@ License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: cmake >= 2.6 +BuildRequires: cmake >= 2.8 %description C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -73,13 +73,19 @@ sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ -i.stamp CMakeLists.txt -# Patch for Fedora 20 and greater. Upstream plans to change source -# so not needed when %%{version} is greater than or equal 20140000: -# This did not get fixed in 2014, lets try for 2015. -# -# Change /usr/share/doc/%%{name}-%%{version} -> /usr/share/doc/%%{name} -sed -e 's|\(${cppad_abs_docdir}/cppad\)-${cppad_version}|\1|' \ - -i CMakeLists.txt +# Remove installation of cppad_colpack.cpp becasue it is not used +# by the Fedora installation. This should be fixed in the upstream source +# and not necessary next year; i.e., 2016. +cat << EOF > CMakeLists.sed +/^INSTALL/! b skip +N +/cppad_colpack.cpp/! b skip +N +N +d +: skip +EOF +sed -f CMakeLists.sed -i CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -94,12 +100,27 @@ EOF sed -i.stamp example/example.cpp -f example.sed # See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake -# for suggestions on using cmake. +# and http://www.coin-or.org/CppAD/Doc/cmake.htm %build +# +# Cannot use %{_includedir}, or %{_docdir} because they are absolute. +# Relative values would be more flexible because they can be combined with +# %{_prefix} to get absolute values. %cmake \ - -D CMAKE_VERBOSE_MAKEFILE=0 \ - -D cppad_documentation=YES \ - -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ + -D CMAKE_VERBOSE_MAKEFILE=0 \ + \ + -D cmake_install_prefix=%{_prefix} \ + -D cmake_install_includedirs=include \ + -D cmake_install_datadir=share \ + -D cmake_install_docdir=share/doc \ + \ + -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++11 -Wshadow' \ + -D cppad_test_vector=cppad \ + -D cppad_max_num_theads=64 \ + -D cppad_sparse_list=YES \ + -D cppad_tape_id_type=size_t \ + -D cppad_tape_addr_type=size_t \ + -D cppad_implicit_ctor_from_any_type=NO \ . make %{?_smp_mflags} @@ -121,15 +142,19 @@ rm -rf %{buildroot} %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc -# CMakeLists.txt is assuming %%{_docdir} is the same as %%{_datadir}/doc. -# In version 20140000, we should should add a -D cmake_install_docdir argument -# to cmake command so this is no longer necessary. %files doc %defattr(-,root,root,-) %{_docdir}/%{name} # ---------------------------------------------------------------------------- %changelog +* 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 From e66a20700e489eee397cb201b0ef321da9b37f5b Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 1 Feb 2015 04:56:12 -0700 Subject: [PATCH 056/163] cppad.spec: fix some lint warnings, explain the rest, advance release number. .gitignore: Add patterns not automatically included by fedpkg. --- .gitignore | 7 +++++++ cppad.spec | 33 +++++++++++++++++++++------------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 8e38275..5b03613 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,10 @@ +# ignore swap files created by vim editor +*.swp +# ignore rpm files created by fedpkg srpm +*.rpm +# ignore result drectory created by fedpkg mockbuild +results_cppad +# tarballs cppad-20110101.5.gpl.tgz cppad-20120101.1.gpl.tgz /cppad-20130000.0.gpl.tgz diff --git a/cppad.spec b/cppad.spec index fb4c53b..c9b752f 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,15 +1,22 @@ -# rpmlint --version -# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva +# ---------------------------------------------------------------------------- +# The comamnds 'rpmlint cppad.spec' and 'fedpkg lint' generate the warning: # -# rmplint cppad.sped -# cppad.spec: ... W: rpm-buildroot-usage ... -# 0 packages and 1 specfiles checked; 0 errors, 1 warnings. -# search for 'rpm-buildroot-usage' and see comments near there. -# ---------------------------------------------------------------------------- +# cppad.spec:71: W: rpm-buildroot-usage +# %%prep includedir=%%{buildroot}%%{_includedir} +# +# See http://comments.gmane.org/gmane.linux.redhat.fedora.devel/144920 +# ---------------------------------------------------------------------------- +# The command 'fedpkg lint' generates the following warnings: +# +# W: spelling-error Summary(en_US) devel -> delve, devil, revel +# W: spelling-error %%description -l en_US devel -> delve, devil, revel +# +# These uses of devel refer to cppad-devel and hence are not spelling errors. +# ---------------------------------------------------------------------------- Name: cppad Version: 20150000.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -66,8 +73,6 @@ as a single web page, in both HTML and XML, can be found at that web site. # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. # -# Note this generates rpm-buildroot-usage warning from rpmlint; see -# http://comments.gmane.org/gmane.linux.redhat.fedora.devel/144920 includedir=%{buildroot}%{_includedir} sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ @@ -103,9 +108,9 @@ sed -i.stamp example/example.cpp -f example.sed # and http://www.coin-or.org/CppAD/Doc/cmake.htm %build # -# Cannot use %{_includedir}, or %{_docdir} because they are absolute. +# Cannot use %%{_includedir}, or %%{_docdir} because they are absolute. # Relative values would be more flexible because they can be combined with -# %{_prefix} to get absolute values. +# %%{_prefix} to get absolute values. %cmake \ -D CMAKE_VERBOSE_MAKEFILE=0 \ \ @@ -148,6 +153,10 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog +* 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 From bb9d87432b1c577a8ce5b5e78369d6f5dd85e10d Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 7 Feb 2015 06:40:28 -0700 Subject: [PATCH 057/163] Merge in master branch with changes to cppad.spec that are necessary for rel6 (see cppad.spec changelog for 20150000.4-3). These changes are intended to be merged back into master and f20, f21. --- .gitignore | 12 +++++ cppad.spec | 139 +++++++++++++++++++++++++++++++++++++++++------------ sources | 2 +- 3 files changed, 122 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 399ca6b..5b03613 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,15 @@ +# ignore swap files created by vim editor +*.swp +# ignore rpm files created by fedpkg srpm +*.rpm +# ignore result drectory created by fedpkg mockbuild +results_cppad +# tarballs cppad-20110101.5.gpl.tgz cppad-20120101.1.gpl.tgz +/cppad-20130000.0.gpl.tgz +/cppad-20130000.1.gpl.tgz +/cppad-20130000.2.gpl.tgz +/cppad-20130000.3.gpl.tgz /cppad-20140000.2.gpl.tgz +/cppad-20150000.4.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 21c4920..33c6feb 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,18 +1,25 @@ -# rpmlint --version -# rpmlint version 1.4 Copyright (C) 1999-2007 Frederic Lepied, Mandriva +# ---------------------------------------------------------------------------- +# The comamnds 'rpmlint cppad.spec' and 'fedpkg lint' generate the warning: # -# rmplint cppad.sped -# cppad.spec: ... W: rpm-buildroot-usage ... -# 0 packages and 1 specfiles checked; 0 errors, 1 warnings. -# search for 'rpm-buildroot-usage' and see comments near there. -# ---------------------------------------------------------------------------- +# cppad.spec:71: W: rpm-buildroot-usage +# %%prep includedir=%%{buildroot}%%{_includedir} +# +# See http://comments.gmane.org/gmane.linux.redhat.fedora.devel/144920 +# ---------------------------------------------------------------------------- +# The command 'fedpkg lint' generates the following warnings: +# +# W: spelling-error Summary(en_US) devel -> delve, devil, revel +# W: spelling-error %%description -l en_US devel -> delve, devil, revel +# +# These uses of devel refer to cppad-devel and hence are not spelling errors. +# ---------------------------------------------------------------------------- Name: cppad -Version: 20140000.2 -Release: 2%{?dist} +Version: 20150000.4 +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc -# Only noarch.rpms provided. +# Only noarch.rpms provided. The user can compile with or without debugging # Nothing useful in *debuginfo %global debug_package %{nil} @@ -21,7 +28,7 @@ License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: cmake28 +BuildRequires: cmake >= 2.8 %description C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -51,7 +58,7 @@ BuildArch: noarch %description doc The %{name}-doc package installs the XML documentation for %{name}-devel in - %{_docdir}/%{name}-%{version} + %{_docdir}/%{name} Links to an HTML version of the %{name} documentation, for the most recent version of %{name}, can be found at the web site http://www.coin-or.org/CppAD/ @@ -65,11 +72,31 @@ as a single web page, in both HTML and XML, can be found at that web site. # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. -# (Note next line generates rpm-buildroot-usage warning from rpmlint.) +# includedir=%{buildroot}%{_includedir} sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ -i.stamp CMakeLists.txt +# +# Make speed/src/libspeed_src a static instead of shared library. +# This should be fixed in the upstream source and not necessary next year. +sed \ +-e 's|ADD_LIBRARY(speed_src|& STATIC|' \ + -i.stamp speed/src/CMakeLists.txt + +# Remove installation of cppad_colpack.cpp becasue it is not used +# by the Fedora installation. This should be fixed in the upstream source +# and not necessary next year; i.e., 2016. +cat << EOF > CMakeLists.sed +/^INSTALL/! b skip +N +/cppad_colpack.cpp/! b skip +N +N +d +: skip +EOF +sed -f CMakeLists.sed -i CMakeLists.txt # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -84,14 +111,29 @@ EOF sed -i.stamp example/example.cpp -f example.sed # See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake -# for suggestions on using cmake. +# and http://www.coin-or.org/CppAD/Doc/cmake.htm %build -%cmake28 \ - -D CMAKE_VERBOSE_MAKEFILE=0 \ - -D cppad_documentation=YES \ - -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ +# +# Cannot use %%{_includedir}, or %%{_docdir} because they are absolute. +# Relative values would be more flexible because they can be combined with +# %%{_prefix} to get absolute values. +%cmake --version +%cmake \ + -D CMAKE_VERBOSE_MAKEFILE=0 \ + \ + -D cmake_install_prefix=%{_prefix} \ + -D cmake_install_includedirs=include \ + -D cmake_install_datadir=share \ + -D cmake_install_docdir=share/doc \ + \ + -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ + -D cppad_test_vector=cppad \ + -D cppad_max_num_theads=64 \ + -D cppad_sparse_list=YES \ + -D cppad_tape_id_type=size_t \ + -D cppad_tape_addr_type=size_t \ + -D cppad_implicit_ctor_from_any_type=NO \ . - make %{?_smp_mflags} %install @@ -114,23 +156,60 @@ rm -rf %{buildroot} %files doc %defattr(-,root,root,-) -%{_docdir}/%{name}-%{version} +%{_docdir}/%{name} # ---------------------------------------------------------------------------- %changelog -* Wed Mar 05 2014 Brad Bell - 20140000.2-2 -- Swith to using cmake28 as suggest in Comment 3 on -- https://bugzilla.redhat.com/show_bug.cgi?id=896116#c3 +* Sat Feb 07 2015 Brad Bell - 20150000.4-3 +- 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). +- 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). -* Fri Jan 31 2014 Brad Bell - 20140000.2-1 +* 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 bug report about cmake not working on el6 +- Add link to web discussion about rpm-buildroot-usage warning. +- Fix rpmlint warning about mixing tabs and spaces in spec file. -* Thu Jan 17 2013 Brad Bell - 20130000.1-1 -- Change build from using cmake to using auto-tools because Red-Hat -- will not fix problems with cmake 2.6; see -- https://bugzilla.redhat.com/show_bug.cgi?id=896116 -- (cmake mailing list suggests upgrading to 2.8) +* 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. diff --git a/sources b/sources index 2c939a4..8149c3f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5c2973e0a399167f4edc6551aa5e2432 cppad-20140000.2.gpl.tgz +1720334972913771209883efd384ea0a cppad-20150000.4.gpl.tgz From 7fcb1f5a1c94ec54ed9ff8d63dae22bcb1d1e2bb Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 9 Feb 2015 05:47:52 -0700 Subject: [PATCH 058/163] 1. Change an excact equals check to a near equals check (should not always expect exactly equals). 2. Move clean section to beginning in-case mock has cleanup_on_failure set to zero. --- cppad.spec | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/cppad.spec b/cppad.spec index 33c6feb..3171953 100644 --- a/cppad.spec +++ b/cppad.spec @@ -66,6 +66,12 @@ In addition, printable versions of the documentation, as a single web page, in both HTML and XML, can be found at that web site. # ---------------------------------------------------------------------------- + +%clean +# Cleanup build root at the beginning in case mock has +# cleanup_on_failure set to zero. +rm -rf %{buildroot} + %prep %setup -q @@ -78,11 +84,17 @@ sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ -i.stamp CMakeLists.txt # -# Make speed/src/libspeed_src a static instead of shared library. -# This should be fixed in the upstream source and not necessary next year. +# Make speed/src/libspeed_src a static instead of shared library. This should +# be fixed in the upstream source and not necessary next year; i.e, 2016. sed \ -e 's|ADD_LIBRARY(speed_src|& STATIC|' \ - -i.stamp speed/src/CMakeLists.txt + -i.stamp speed/src/CMakeLists.txt + +# Fix an exact equal check that should be a near equal check. This should +# be fixed in the upstream source and not necessary next year; i.e, 2016. +sed \ +-e 's|(y\[i\] == check\[i\])|CppAD::NearEqual(y[i], check[i], 1e-10, 1e-10)|' \ + -i.stamp test_more/optimize.cpp # Remove installation of cppad_colpack.cpp becasue it is not used # by the Fedora installation. This should be fixed in the upstream source @@ -144,10 +156,6 @@ make install DESTDIR=%{buildroot} %check make check -%clean -# cleanup -rm -rf %{buildroot} - %files devel %defattr(-,root,root,-) %doc COPYING ChangeLog AUTHORS uw_copy_040507.html @@ -160,11 +168,13 @@ rm -rf %{buildroot} # ---------------------------------------------------------------------------- %changelog -* Sat Feb 07 2015 Brad Bell - 20150000.4-3 -- Change std=c++11 to std=c++98 so works with rel6 (also so works +* 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). -- Change speed/src/libspeed_src to be a static library because it is only +- 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. From ab35867f883d9fa854d3f1ab78e90f4741fa9610 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 2 Mar 2015 06:47:14 -0700 Subject: [PATCH 059/163] 1: Advance to 20150000.9 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; see https://bugzilla.redhat.com/show_bug.cgi?id=1197488 --- .gitignore | 22 +++++++++++++--------- cppad.spec | 20 ++++++++++++-------- sources | 2 +- 3 files changed, 26 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 5b03613..1b15bd1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,14 +2,18 @@ *.swp # ignore rpm files created by fedpkg srpm *.rpm +# ignore log files created by fedpkg local +*.log # ignore result drectory created by fedpkg mockbuild results_cppad -# tarballs -cppad-20110101.5.gpl.tgz -cppad-20120101.1.gpl.tgz -/cppad-20130000.0.gpl.tgz -/cppad-20130000.1.gpl.tgz -/cppad-20130000.2.gpl.tgz -/cppad-20130000.3.gpl.tgz -/cppad-20140000.2.gpl.tgz -/cppad-20150000.4.gpl.tgz +# +# ignore tarballs and results of fedpkg local +# +cppad-20150000.4.gpl.tgz +cppad-20150000.4 +# +cppad-20150000.9.gpl.tgz +cppad-20150000.9 +# --------------------------------------------------------------------------- +# Running fedpkg new-sources may create entries below the line of dashes. +# Edit these entries to be above the line of dashes. diff --git a/cppad.spec b/cppad.spec index 3171953..7ba400e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,8 +15,8 @@ # ---------------------------------------------------------------------------- Name: cppad -Version: 20150000.4 -Release: 3%{?dist} +Version: 20150000.9 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -30,6 +30,11 @@ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake >= 2.8 +# 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 C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -90,12 +95,6 @@ sed \ -e 's|ADD_LIBRARY(speed_src|& STATIC|' \ -i.stamp speed/src/CMakeLists.txt -# Fix an exact equal check that should be a near equal check. This should -# be fixed in the upstream source and not necessary next year; i.e, 2016. -sed \ --e 's|(y\[i\] == check\[i\])|CppAD::NearEqual(y[i], check[i], 1e-10, 1e-10)|' \ - -i.stamp test_more/optimize.cpp - # Remove installation of cppad_colpack.cpp becasue it is not used # by the Fedora installation. This should be fixed in the upstream source # and not necessary next year; i.e., 2016. @@ -168,6 +167,11 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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). diff --git a/sources b/sources index 8149c3f..8a00781 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1720334972913771209883efd384ea0a cppad-20150000.4.gpl.tgz +f32ea7faf6fd4417b5fb4cd9ed9b5542 cppad-20150000.9.gpl.tgz From 5a2fbeade281c94f7ffbd5a11a70ba3f38e0e34d Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 11 Apr 2015 12:22:17 -0700 Subject: [PATCH 060/163] The Provides coin-or-cppad was in the wrong place. Move it below %package-devel; see https://bugzilla.redhat.com/show_bug.cgi?id=1197488 --- cppad.spec | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/cppad.spec b/cppad.spec index 7ba400e..cd84d9b 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,7 +16,7 @@ Name: cppad Version: 20150000.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -30,11 +30,6 @@ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake >= 2.8 -# 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 C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -44,6 +39,10 @@ Summary: The %{name} C++ include files for Algorithmic Differentiation (AD) BuildArch: noarch Group: Development/Libraries 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 @@ -167,6 +166,10 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. From 3a1b3d78ceab51c419fb397d9aaee9e33010add0 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 03:19:20 +0000 Subject: [PATCH 061/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index cd84d9b..79564db 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,7 +16,7 @@ Name: cppad Version: 20150000.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -166,6 +166,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 18cc6ccdeadc7c611ed33c0cd1c25cd375a3cd53 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 1 Jan 2016 09:26:33 -0700 Subject: [PATCH 062/163] Advance to version 2016 of upstream source. --- .gitignore | 13 +++++----- cppad.spec | 69 ++++++++++++++++++++++++++++++++---------------------- sources | 2 +- 3 files changed, 48 insertions(+), 36 deletions(-) diff --git a/.gitignore b/.gitignore index 1b15bd1..154e0f1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,16 +4,15 @@ *.rpm # ignore log files created by fedpkg local *.log +# temporary files +junk +junk.* # ignore result drectory created by fedpkg mockbuild results_cppad # -# ignore tarballs and results of fedpkg local -# -cppad-20150000.4.gpl.tgz -cppad-20150000.4 -# -cppad-20150000.9.gpl.tgz -cppad-20150000.9 +# ignore tarball and results of fedpkg local +cppad-20160000.0.gpl.tgz +cppad-20160000.0 # --------------------------------------------------------------------------- # Running fedpkg new-sources may create entries below the line of dashes. # Edit these entries to be above the line of dashes. diff --git a/cppad.spec b/cppad.spec index 79564db..795a7d1 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,22 +1,23 @@ # ---------------------------------------------------------------------------- -# The comamnds 'rpmlint cppad.spec' and 'fedpkg lint' generate the warning: +# The comamnd 'fedpkg lint' generates the warning: # -# cppad.spec:71: W: rpm-buildroot-usage +# cppad.spec:87: W: rpm-buildroot-usage # %%prep includedir=%%{buildroot}%%{_includedir} # # See http://comments.gmane.org/gmane.linux.redhat.fedora.devel/144920 # ---------------------------------------------------------------------------- -# The command 'fedpkg lint' generates the following warnings: +# The command 'fedpkg lint' generates the warning: # # W: spelling-error Summary(en_US) devel -> delve, devil, revel # W: spelling-error %%description -l en_US devel -> delve, devil, revel # -# These uses of devel refer to cppad-devel and hence are not spelling errors. +# The only occurances of devel in this file are of the form cppad-devel. +# These refer to the corresponding subpackage and are not spelling errors. # ---------------------------------------------------------------------------- Name: cppad -Version: 20150000.9 -Release: 3%{?dist} +Version: 20160000.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -86,27 +87,28 @@ rm -rf %{buildroot} includedir=%{buildroot}%{_includedir} sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ - -i.stamp CMakeLists.txt -# -# Make speed/src/libspeed_src a static instead of shared library. This should -# be fixed in the upstream source and not necessary next year; i.e, 2016. -sed \ --e 's|ADD_LIBRARY(speed_src|& STATIC|' \ - -i.stamp speed/src/CMakeLists.txt + -ibak CMakeLists.txt -# Remove installation of cppad_colpack.cpp becasue it is not used -# by the Fedora installation. This should be fixed in the upstream source -# and not necessary next year; i.e., 2016. +# The include directory set above is loaded by the install procedure, +# but cppad_lib is needed for the install procedure. Currently cppad_lib +# only contains the cppad_colpack object which is not needed by the Fedora +# distribution. This may or may not be true for next year 2017. cat << EOF > CMakeLists.sed -/^INSTALL/! b skip -N -/cppad_colpack.cpp/! b skip -N -N -d -: skip +/^ADD_SUBDIRECTORY(cppad_lib)/d +/^\tcppad_lib$/d EOF -sed -f CMakeLists.sed -i CMakeLists.txt +sed -f CMakeLists.sed -ibak CMakeLists.txt +sed -f CMakeLists.sed -ibak cppad_ipopt/example/CMakeLists.txt +sed -f CMakeLists.sed -ibak cppad_ipopt/speed/CMakeLists.txt +sed -f CMakeLists.sed -ibak cppad_ipopt/test/CMakeLists.txt +sed -f CMakeLists.sed -ibak cppad_lib/CMakeLists.txt +sed -f CMakeLists.sed -ibak example/CMakeLists.txt +sed -f CMakeLists.sed -ibak example/ipopt_solve/CMakeLists.txt +sed -f CMakeLists.sed -ibak speed/adolc/CMakeLists.txt +sed -f CMakeLists.sed -ibak speed/cppad/CMakeLists.txt +sed -f CMakeLists.sed -ibak speed/profile/CMakeLists.txt +sed -f CMakeLists.sed -ibak test_more/CMakeLists.txt + # change example/example.cpp to print out machine epsilon cat << EOF > example.sed @@ -118,7 +120,7 @@ int main(void)\\ \\ | EOF -sed -i.stamp example/example.cpp -f example.sed +sed -ibak example/example.cpp -f example.sed # See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake # and http://www.coin-or.org/CppAD/Doc/cmake.htm @@ -131,18 +133,18 @@ sed -i.stamp example/example.cpp -f example.sed %cmake \ -D CMAKE_VERBOSE_MAKEFILE=0 \ \ - -D cmake_install_prefix=%{_prefix} \ + -D cppad_prefix=%{_prefix} \ -D cmake_install_includedirs=include \ -D cmake_install_datadir=share \ -D cmake_install_docdir=share/doc \ \ - -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++98 -Wshadow' \ + -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++11 -Wshadow' \ -D cppad_test_vector=cppad \ -D cppad_max_num_theads=64 \ -D cppad_sparse_list=YES \ -D cppad_tape_id_type=size_t \ -D cppad_tape_addr_type=size_t \ - -D cppad_implicit_ctor_from_any_type=NO \ + -D cppad_deprecated=NO \ . make %{?_smp_mflags} @@ -166,6 +168,17 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index 8a00781..c1b3c72 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f32ea7faf6fd4417b5fb4cd9ed9b5542 cppad-20150000.9.gpl.tgz +45a0d21e70dd79917908a8f5b5fe45c2 cppad-20160000.0.gpl.tgz From 092195a78f3c9fd40b965609c043db806933ae20 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 18:10:11 +0000 Subject: [PATCH 063/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 795a7d1..245c0e8 100644 --- a/cppad.spec +++ b/cppad.spec @@ -17,7 +17,7 @@ Name: cppad Version: 20160000.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -168,6 +168,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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). From 62ce804ae41a1fc1421eeb1e166df95dc3f29839 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 20 Jan 2017 07:11:05 -0700 Subject: [PATCH 064/163] Advance from cppad-20160000.0 -> cppad-20170000.1. --- cppad.spec | 86 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 35 deletions(-) diff --git a/cppad.spec b/cppad.spec index 245c0e8..31a01ae 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,10 +1,10 @@ # ---------------------------------------------------------------------------- # The comamnd 'fedpkg lint' generates the warning: # -# cppad.spec:87: W: rpm-buildroot-usage +# cppad.spec:89: W: rpm-buildroot-usage # %%prep includedir=%%{buildroot}%%{_includedir} # -# See http://comments.gmane.org/gmane.linux.redhat.fedora.devel/144920 +# See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html # ---------------------------------------------------------------------------- # The command 'fedpkg lint' generates the warning: # @@ -15,13 +15,15 @@ # These refer to the corresponding subpackage and are not spelling errors. # ---------------------------------------------------------------------------- +# Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: 20160000.0 -Release: 2%{?dist} +Version: 20170000.1 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging -# Nothing useful in *debuginfo +# Nothing useful in *debuginfo. If status of cppad_lib changes, this may +# also change (see mention of cppad_lib below). %global debug_package %{nil} Group: Development/Libraries @@ -87,61 +89,64 @@ rm -rf %{buildroot} includedir=%{buildroot}%{_includedir} sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ - -ibak CMakeLists.txt + -i.bak CMakeLists.txt # The include directory set above is loaded by the install procedure, # but cppad_lib is needed for the install procedure. Currently cppad_lib # only contains the cppad_colpack object which is not needed by the Fedora -# distribution. This may or may not be true for next year 2017. +# distribution. This may or may not be true for next year 2018. cat << EOF > CMakeLists.sed /^ADD_SUBDIRECTORY(cppad_lib)/d /^\tcppad_lib$/d EOF -sed -f CMakeLists.sed -ibak CMakeLists.txt -sed -f CMakeLists.sed -ibak cppad_ipopt/example/CMakeLists.txt -sed -f CMakeLists.sed -ibak cppad_ipopt/speed/CMakeLists.txt -sed -f CMakeLists.sed -ibak cppad_ipopt/test/CMakeLists.txt -sed -f CMakeLists.sed -ibak cppad_lib/CMakeLists.txt -sed -f CMakeLists.sed -ibak example/CMakeLists.txt -sed -f CMakeLists.sed -ibak example/ipopt_solve/CMakeLists.txt -sed -f CMakeLists.sed -ibak speed/adolc/CMakeLists.txt -sed -f CMakeLists.sed -ibak speed/cppad/CMakeLists.txt -sed -f CMakeLists.sed -ibak speed/profile/CMakeLists.txt -sed -f CMakeLists.sed -ibak test_more/CMakeLists.txt - - -# 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 -ibak example/example.cpp -f example.sed +list=`find . -name 'CMakeLists.txt' | \ + sed -e '/^\.\/CMakeLists.txt/d' -e '/^\.\/cppad_lib\/CMakeLists.txt/d'` +for file in $list +do + if grep 'cppad_lib' "$file" > /dev/null + then + # cppad_lib is set in ./CMakeLists.txt and used in other files + cp "$file" "$file.bak" + sed -i "$file" -e '/^\t*${cppad_lib}$/d' + if grep 'cppad_lib' "$file" > /dev/null + then + echo "Edit of $file failed." + exit 1 + fi + fi +done # See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake # and http://www.coin-or.org/CppAD/Doc/cmake.htm %build # -# Cannot use %%{_includedir}, or %%{_docdir} because they are absolute. -# Relative values would be more flexible because they can be combined with -# %%{_prefix} to get absolute values. +# Cannot use %%{_includedir}, $${_libdir}, %%{_datadir}, %%{_docdir} +# because they are absolute paths. Relative values would be more flexible +# because they can be combined with %%{_prefix} to get absolute values. %cmake --version %cmake \ -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=share/doc \ \ + -D adolc_prefix='' \ + -D colpack_prefix='' \ + -D eigen_prefix='' \ + -D fadbad_prefix='' \ + -D ipopt_prefix='' \ + -D sacado_prefix='' \ + \ -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++11 -Wshadow' \ + -D cppad_profile_flag='' \ + \ -D cppad_test_vector=cppad \ -D cppad_max_num_theads=64 \ - -D cppad_sparse_list=YES \ -D cppad_tape_id_type=size_t \ -D cppad_tape_addr_type=size_t \ -D cppad_deprecated=NO \ @@ -168,6 +173,17 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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) + * Wed Feb 03 2016 Fedora Release Engineering - 20160000.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 2567b6c52b1f0359a56a9b5e0eecc4d5fdbc9a19 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 20 Jan 2017 08:47:23 -0700 Subject: [PATCH 065/163] Advance upstream source from cppad-20160000.0 -> cppad-20170000.1 --- .gitignore | 4 ++-- sources | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 154e0f1..ea1f4bc 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,8 @@ junk.* results_cppad # # ignore tarball and results of fedpkg local -cppad-20160000.0.gpl.tgz -cppad-20160000.0 +cppad-20170000.1.gpl.tgz +cppad-20170000.1 # --------------------------------------------------------------------------- # Running fedpkg new-sources may create entries below the line of dashes. # Edit these entries to be above the line of dashes. diff --git a/sources b/sources index c1b3c72..3e38fba 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -45a0d21e70dd79917908a8f5b5fe45c2 cppad-20160000.0.gpl.tgz +SHA512 (cppad-20170000.1.gpl.tgz) = 3f918f000b8b200091ca5f895b068c989e6afd181b495bd1ba578a386bf0f54392002cae880bcd7612dd09a9db8769b229e1c2b51677de0547f71cfd19573c5b From 875e64cd8614b16411544d529023480330d5876d Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 20 Jan 2017 14:30:25 -0700 Subject: [PATCH 066/163] Remove sed script that is no longer used --- cppad.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cppad.spec b/cppad.spec index 31a01ae..fbf4d85 100644 --- a/cppad.spec +++ b/cppad.spec @@ -95,10 +95,6 @@ sed \ # but cppad_lib is needed for the install procedure. Currently cppad_lib # only contains the cppad_colpack object which is not needed by the Fedora # distribution. This may or may not be true for next year 2018. -cat << EOF > CMakeLists.sed -/^ADD_SUBDIRECTORY(cppad_lib)/d -/^\tcppad_lib$/d -EOF list=`find . -name 'CMakeLists.txt' | \ sed -e '/^\.\/CMakeLists.txt/d' -e '/^\.\/cppad_lib\/CMakeLists.txt/d'` for file in $list From b9b5a8ac4a138f29d0d0c0352c59666de8e77c0e Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 20 Jan 2017 15:09:00 -0700 Subject: [PATCH 067/163] Add temporary prints to debug problem with test_more/div.cpp; see Debug https://koji.fedoraproject.org/koji/taskinfo?taskID=17344298 --- cppad.spec | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cppad.spec b/cppad.spec index fbf4d85..902fd2a 100644 --- a/cppad.spec +++ b/cppad.spec @@ -83,6 +83,18 @@ rm -rf %{buildroot} %setup -q +# ----------------------------------------------------------------------------- +# Prints to Debug https://koji.fedoraproject.org/koji/taskinfo?taskID=17344298 +cat << EOF > junk.sed +/^bool Div(void)/N +s|^bool Div(void).*|&\\ +std::cout << "epsilon = " << std::numeric_limits::epsilon() << "\\\\n";| +# +s|.*NearEqual( *\\([^,]*\\), *\\([^,]*\\), *eps99.*|&\\ +std::cout << "ok = " << ok << ", \\1 = " << \\1 << ", (\\1 - (\\2)) = " << (\\1 - (\\2)) << "\\\\n";| +EOF +sed -i test_more/div.cpp -f junk.sed +# ----------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. # @@ -179,6 +191,7 @@ make check - 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) +- Temporary print to debug koji.fedoraproject.org/koji/taskinfo?taskID=17344298 * Wed Feb 03 2016 Fedora Release Engineering - 20160000.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild From 38db2af0eadedc29dbf29d806bcd62e2925140f7 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 20 Jan 2017 17:59:16 -0700 Subject: [PATCH 068/163] Fix some comparisons in test_more/div.cpp, properly scale to machine epsilon. This should fix problem with previous attempts to build cppad-20170000.1. --- cppad.spec | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/cppad.spec b/cppad.spec index 902fd2a..3f10b3b 100644 --- a/cppad.spec +++ b/cppad.spec @@ -83,17 +83,14 @@ rm -rf %{buildroot} %setup -q -# ----------------------------------------------------------------------------- -# Prints to Debug https://koji.fedoraproject.org/koji/taskinfo?taskID=17344298 +# Change some comparisions to properly scale to machine epsilon +# (should not be necessary for 2018). cat << EOF > junk.sed -/^bool Div(void)/N -s|^bool Div(void).*|&\\ -std::cout << "epsilon = " << std::numeric_limits::epsilon() << "\\\\n";| -# -s|.*NearEqual( *\\([^,]*\\), *\\([^,]*\\), *eps99.*|&\\ -std::cout << "ok = " << ok << ", \\1 = " << \\1 << ", (\\1 - (\\2)) = " << (\\1 - (\\2)) << "\\\\n";| +s|NearEqual(jfac\\*\\([^,]*\\), *value *, *eps99 *, *eps99)|NearEqual(\\1, value/jfac, eps99, eps99)| EOF sed -i test_more/div.cpp -f junk.sed + +# # ----------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. @@ -191,7 +188,7 @@ make check - 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) -- Temporary print to debug koji.fedoraproject.org/koji/taskinfo?taskID=17344298 +- 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 From aa977dcd621cd569f473fb47c25d80523107ba67 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 07:56:14 +0000 Subject: [PATCH 069/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 3f10b3b..c000bca 100644 --- a/cppad.spec +++ b/cppad.spec @@ -18,7 +18,7 @@ # Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20170000.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -178,6 +178,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 4ecffefcd814e1569d09431652391f265499fd22 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Thu, 16 Feb 2017 07:14:26 -0700 Subject: [PATCH 070/163] Fix bug in FixSparseHes without having to upload 20170000.2 --- cppad.spec | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index c000bca..5c3bc8e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -18,7 +18,7 @@ # Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20170000.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # Only noarch.rpms provided. The user can compile with or without debugging @@ -89,7 +89,32 @@ cat << EOF > junk.sed s|NearEqual(jfac\\*\\([^,]*\\), *value *, *eps99 *, *eps99)|NearEqual(\\1, value/jfac, eps99, eps99)| EOF sed -i test_more/div.cpp -f junk.sed - +# +# Bug fix corresponding to 20170000.2. (should not be necessary for 2018) +sed -n -e '1,475p' cppad/local/for_hes_sweep.hpp > junk.tmp +cat << EOF >> junk.tmp + { typename Vector_set::const_iterator + itr_i(for_jac_sparse, i_x); + size_t ix = *itr_i; + while( ix < for_jac_sparse.end() ) + { for_hes_sparse.binary_union( + ix, ix, j_x, for_jac_sparse + ); + ix = *(++itr_i); + } + typename Vector_set::const_iterator + itr_j(for_jac_sparse, j_x); + size_t jx = *itr_j; + while( jx < for_jac_sparse.end() ) + { for_hes_sparse.binary_union( + jx, jx, i_x, for_jac_sparse + ); + jx = *(++itr_j); + } + } +EOF +sed -n -e '482,$p' cppad/local/for_hes_sweep.hpp >> junk.tmp +mv junk.tmp cppad/local/for_hes_sweep.hpp # # ----------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that @@ -178,6 +203,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 25e6f4c7ead73dfc0aab96cc58911f3d5944cbfa Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 7 Mar 2017 07:00:35 -0700 Subject: [PATCH 071/163] 1. Fix some bugs by advancing upstread source to 2017000.3 2. Attempt to fix fedora bug number 1427391 by removing 'BuildArch: noarch'. --- .gitignore | 4 ++-- cppad.spec | 46 ++++++++++++++-------------------------------- sources | 2 +- 3 files changed, 17 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index ea1f4bc..522a3c1 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,8 @@ junk.* results_cppad # # ignore tarball and results of fedpkg local -cppad-20170000.1.gpl.tgz -cppad-20170000.1 +cppad-20170000.3.gpl.tgz +cppad-20170000.3 # --------------------------------------------------------------------------- # Running fedpkg new-sources may create entries below the line of dashes. # Edit these entries to be above the line of dashes. diff --git a/cppad.spec b/cppad.spec index 5c3bc8e..2e0bdf2 100644 --- a/cppad.spec +++ b/cppad.spec @@ -17,13 +17,17 @@ # Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: 20170000.1 -Release: 3%{?dist} +Version: 20170000.3 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc -# Only noarch.rpms provided. The user can compile with or without debugging -# Nothing useful in *debuginfo. If status of cppad_lib changes, this may -# also change (see mention of cppad_lib below). +# As of yet, there are no object libraries or executables included in this +# package. However, the results of the cmake command depend on the architecture +# so we no longer include 'BuildArch: noarch' in this spec file. + +# The user can compile with or without debugging so there is nothing useful in +# *debuginfo. If status of cppad_lib changes (and it gets installed), this may +# change (see mention of cppad_lib below). %global debug_package %{nil} Group: Development/Libraries @@ -39,7 +43,6 @@ C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. # --------------------------------------------------------------------------- %package devel Summary: The %{name} C++ include files for Algorithmic Differentiation (AD) -BuildArch: noarch Group: Development/Libraries Provides: %{name} = %{version}-%{release} # Requested by bug report @@ -90,32 +93,6 @@ s|NearEqual(jfac\\*\\([^,]*\\), *value *, *eps99 *, *eps99)|NearEqual(\\1, value EOF sed -i test_more/div.cpp -f junk.sed # -# Bug fix corresponding to 20170000.2. (should not be necessary for 2018) -sed -n -e '1,475p' cppad/local/for_hes_sweep.hpp > junk.tmp -cat << EOF >> junk.tmp - { typename Vector_set::const_iterator - itr_i(for_jac_sparse, i_x); - size_t ix = *itr_i; - while( ix < for_jac_sparse.end() ) - { for_hes_sparse.binary_union( - ix, ix, j_x, for_jac_sparse - ); - ix = *(++itr_i); - } - typename Vector_set::const_iterator - itr_j(for_jac_sparse, j_x); - size_t jx = *itr_j; - while( jx < for_jac_sparse.end() ) - { for_hes_sparse.binary_union( - jx, jx, i_x, for_jac_sparse - ); - jx = *(++itr_j); - } - } -EOF -sed -n -e '482,$p' cppad/local/for_hes_sweep.hpp >> junk.tmp -mv junk.tmp cppad/local/for_hes_sweep.hpp -# # ----------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. @@ -203,6 +180,11 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. diff --git a/sources b/sources index 3e38fba..7da6ab6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cppad-20170000.1.gpl.tgz) = 3f918f000b8b200091ca5f895b068c989e6afd181b495bd1ba578a386bf0f54392002cae880bcd7612dd09a9db8769b229e1c2b51677de0547f71cfd19573c5b +SHA512 (cppad-20170000.3.gpl.tgz) = 8f72c21dc1dcaf9d0988552d1097eebd8949f086afcbd6fab1a92f1b0d75d8e07b143d554f16c5521b7b3f065bb54ab042de0789d1c3b9c071567882988da5ba From d445938de7e1a2c811307e322f5d8897c40097c7 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 3 Apr 2017 08:45:47 -0700 Subject: [PATCH 072/163] Advance to cppad-20170000.4. --- .gitignore | 1 + cppad.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 522a3c1..23d3b94 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ cppad-20170000.3 # --------------------------------------------------------------------------- # Running fedpkg new-sources may create entries below the line of dashes. # Edit these entries to be above the line of dashes. +/cppad-20170000.4.gpl.tgz diff --git a/cppad.spec b/cppad.spec index 2e0bdf2..7ed7242 100644 --- a/cppad.spec +++ b/cppad.spec @@ -17,7 +17,7 @@ # Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: 20170000.3 +Version: 20170000.4 Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc @@ -180,6 +180,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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' diff --git a/sources b/sources index 7da6ab6..ef66c0b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cppad-20170000.3.gpl.tgz) = 8f72c21dc1dcaf9d0988552d1097eebd8949f086afcbd6fab1a92f1b0d75d8e07b143d554f16c5521b7b3f065bb54ab042de0789d1c3b9c071567882988da5ba +SHA512 (cppad-20170000.4.gpl.tgz) = eb846d5b50530d701c86049f0abc1ced42fa2b618a6ad7b35bc107128cdc0df730c2d8a36a40b9577958af9c5be306c758d13f6d770973f1ff26ccf007d3e84f From b3bd681418b73153b303b3b037f91504c6f02c92 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 05:34:04 +0000 Subject: [PATCH 073/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 7ed7242..66704f9 100644 --- a/cppad.spec +++ b/cppad.spec @@ -18,7 +18,7 @@ # Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20170000.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -180,6 +180,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. From de0be604149165600bfaa1f0ef09b9adee08e975 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 19:13:08 +0000 Subject: [PATCH 074/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 66704f9..cd6db2d 100644 --- a/cppad.spec +++ b/cppad.spec @@ -18,7 +18,7 @@ # Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20170000.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -180,6 +180,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From ecd535e80b9b5b7bb021abe65d99b4df6dd4910a Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 24 Nov 2017 06:46:54 -0700 Subject: [PATCH 075/163] Use sed to add bug fix corresponding to cppad-20170000.8. --- cppad.spec | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index cd6db2d..ef73014 100644 --- a/cppad.spec +++ b/cppad.spec @@ -18,7 +18,7 @@ # Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20170000.4 -Release: 3%{?dist} +Release: 4%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -92,6 +92,15 @@ cat << EOF > junk.sed s|NearEqual(jfac\\*\\([^,]*\\), *value *, *eps99 *, *eps99)|NearEqual(\\1, value/jfac, eps99, eps99)| EOF sed -i test_more/div.cpp -f junk.sed + +# Fix a bug in the optimizer (should not be necessary for 2018) +cat << EOF > junk.sed +214,214s|^| else\\ + { match &= arg_match[j] == op_info[candidate].arg[j];\\ + }\\ +| +EOF +sed -i cppad/local/optimize/match_op.hpp -f junk.sed # # ----------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that @@ -180,6 +189,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 98d6364d386e2a82ec842cda382992a7d4a3ceab Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 1 Jan 2018 05:22:03 -0700 Subject: [PATCH 076/163] be more specific about which files are ignored --- .gitignore | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 23d3b94..b2648ac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,16 @@ # ignore swap files created by vim editor -*.swp +/*.swp # ignore rpm files created by fedpkg srpm -*.rpm +/*.rpm # ignore log files created by fedpkg local -*.log +/*.log # temporary files -junk -junk.* +/junk +/junk.* # ignore result drectory created by fedpkg mockbuild -results_cppad -# -# ignore tarball and results of fedpkg local -cppad-20170000.3.gpl.tgz -cppad-20170000.3 +/results_cppad/ # --------------------------------------------------------------------------- -# Running fedpkg new-sources may create entries below the line of dashes. -# Edit these entries to be above the line of dashes. -/cppad-20170000.4.gpl.tgz +# Should only need to ignore cppad-yyyy0000.rel.gpl.tgz and cppad-yyyy0000.rel +# for current year yyyy and current CppAD bug release rel. +cppad-20170000.4.gpl.tgz +cppad-20170000.4 From 1e26fe304690678a6461eb38cb657b03b60d62f4 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 1 Jan 2018 06:06:25 -0700 Subject: [PATCH 077/163] upload cppad-20180000.0 --- .gitignore | 6 ++++-- sources | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b2648ac..185787e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,7 @@ # --------------------------------------------------------------------------- # Should only need to ignore cppad-yyyy0000.rel.gpl.tgz and cppad-yyyy0000.rel # for current year yyyy and current CppAD bug release rel. -cppad-20170000.4.gpl.tgz -cppad-20170000.4 +/cppad-20170000.4.gpl.tgz +/cppad-20170000.4/ +/cppad-20180000.0.gpl.tgz +/cppad-20180000/ diff --git a/sources b/sources index ef66c0b..f153891 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cppad-20170000.4.gpl.tgz) = eb846d5b50530d701c86049f0abc1ced42fa2b618a6ad7b35bc107128cdc0df730c2d8a36a40b9577958af9c5be306c758d13f6d770973f1ff26ccf007d3e84f +SHA512 (cppad-20180000.0.gpl.tgz) = 83e8617c0f0f1d1784a89049bfba2ab4f1aee7af79f23cc4384db858ff55ef7e26901b3985897fcc65c87d6243b892978d17036e0de84132c0bca2edbe3fc082 From 58f570f4868d99ec1a927daa283e19e85fca9b31 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 1 Jan 2018 07:23:45 -0700 Subject: [PATCH 078/163] 1. Advance to cppad-20180000.0. 2. Distinguish between CppAD and Fedora release. 3. Remove patches that were part of 2017 bug fixes. 4. No longer necessary to remove cppad_lib from CMakeLists.txt files. 5. Add -Wconversion and remove --ansi from cppad_cxx_flags. 6. Remove ChangeLog and AUTHORS files. --- cppad.spec | 65 +++++++++++++++++------------------------------------- 1 file changed, 20 insertions(+), 45 deletions(-) diff --git a/cppad.spec b/cppad.spec index ef73014..0b4d06a 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,15 +15,17 @@ # These refer to the corresponding subpackage and are not spelling errors. # ---------------------------------------------------------------------------- -# Release starts with 1; https://fedoraproject.org/wiki/Packaging:Versioning +# CppAD release number starts with zero and last part of version number. +# Fedora Release starts with 1; see +# https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: 20170000.4 -Release: 4%{?dist} +Version: 20180000.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this # package. However, the results of the cmake command depend on the architecture -# so we no longer include 'BuildArch: noarch' in this spec file. +# so we do not include 'BuildArch: noarch' in this spec file. # The user can compile with or without debugging so there is nothing useful in # *debuginfo. If status of cppad_lib changes (and it gets installed), this may @@ -76,33 +78,16 @@ In addition, printable versions of the documentation, as a single web page, in both HTML and XML, can be found at that web site. # ---------------------------------------------------------------------------- - %clean # Cleanup build root at the beginning in case mock has # cleanup_on_failure set to zero. rm -rf %{buildroot} +# ----------------------------------------------------------------------------- %prep %setup -q -# Change some comparisions to properly scale to machine epsilon -# (should not be necessary for 2018). -cat << EOF > junk.sed -s|NearEqual(jfac\\*\\([^,]*\\), *value *, *eps99 *, *eps99)|NearEqual(\\1, value/jfac, eps99, eps99)| -EOF -sed -i test_more/div.cpp -f junk.sed - -# Fix a bug in the optimizer (should not be necessary for 2018) -cat << EOF > junk.sed -214,214s|^| else\\ - { match &= arg_match[j] == op_info[candidate].arg[j];\\ - }\\ -| -EOF -sed -i cppad/local/optimize/match_op.hpp -f junk.sed -# -# ----------------------------------------------------------------------------- # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. # @@ -111,34 +96,18 @@ sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ -i.bak CMakeLists.txt -# The include directory set above is loaded by the install procedure, -# but cppad_lib is needed for the install procedure. Currently cppad_lib -# only contains the cppad_colpack object which is not needed by the Fedora -# distribution. This may or may not be true for next year 2018. -list=`find . -name 'CMakeLists.txt' | \ - sed -e '/^\.\/CMakeLists.txt/d' -e '/^\.\/cppad_lib\/CMakeLists.txt/d'` -for file in $list -do - if grep 'cppad_lib' "$file" > /dev/null - then - # cppad_lib is set in ./CMakeLists.txt and used in other files - cp "$file" "$file.bak" - sed -i "$file" -e '/^\t*${cppad_lib}$/d' - if grep 'cppad_lib' "$file" > /dev/null - then - echo "Edit of $file failed." - exit 1 - fi - fi -done +# It seems that it is no longer necessary to remove ${cppad_lib} from +# CMakeLists.txt files. If this works out, remove this comment next year 2019. +# ----------------------------------------------------------------------------- +%build # See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake # and http://www.coin-or.org/CppAD/Doc/cmake.htm -%build # # Cannot use %%{_includedir}, $${_libdir}, %%{_datadir}, %%{_docdir} # because they are absolute paths. Relative values would be more flexible # because they can be combined with %%{_prefix} to get absolute values. +cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' %cmake --version %cmake \ -D CMAKE_VERBOSE_MAKEFILE=0 \ @@ -158,7 +127,7 @@ done -D ipopt_prefix='' \ -D sacado_prefix='' \ \ - -D cppad_cxx_flags='-Wall -ansi -pedantic-errors -std=c++11 -Wshadow' \ + -D cppad_cxx_flags="$cppad_cxx_flags" \ -D cppad_profile_flag='' \ \ -D cppad_test_vector=cppad \ @@ -169,17 +138,20 @@ done . make %{?_smp_mflags} +# ----------------------------------------------------------------------------- %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} +# ----------------------------------------------------------------------------- # use the installed include files to compile and run the tests %check make check +# ----------------------------------------------------------------------------- %files devel %defattr(-,root,root,-) -%doc COPYING ChangeLog AUTHORS uw_copy_040507.html +%doc COPYING uw_copy_040507.html %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc @@ -189,6 +161,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. From 445301159a5ceef47463f86c1ec7f173972ea31e Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 2 Jan 2018 10:41:27 -0700 Subject: [PATCH 079/163] epel7 branch: fix spec file so works with epel7. cppad.spec: changes indicated by testing 2018 for other branches. .gitignore: correct 2018 directory, remove 2017 files and directories. --- .gitignore | 9 ++++----- cppad.spec | 49 ++++++++++++++++++++++++++----------------------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 185787e..ca3be47 100644 --- a/.gitignore +++ b/.gitignore @@ -10,9 +10,8 @@ # ignore result drectory created by fedpkg mockbuild /results_cppad/ # --------------------------------------------------------------------------- -# Should only need to ignore cppad-yyyy0000.rel.gpl.tgz and cppad-yyyy0000.rel -# for current year yyyy and current CppAD bug release rel. -/cppad-20170000.4.gpl.tgz -/cppad-20170000.4/ +# When finish testing, change so only ignore cppad-yyyy0000.rel.gpl.tgz file +# and cppad-yyyy0000.rel directory for current year yyyy and current CppAD bug +# release rel. /cppad-20180000.0.gpl.tgz -/cppad-20180000/ +/cppad-20180000.0/ diff --git a/cppad.spec b/cppad.spec index 0b4d06a..eaf7c7c 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,4 +1,6 @@ # ---------------------------------------------------------------------------- +# Lint +# ---------------------------------------------------------------------------- # The comamnd 'fedpkg lint' generates the warning: # # cppad.spec:89: W: rpm-buildroot-usage @@ -6,15 +8,8 @@ # # See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html # ---------------------------------------------------------------------------- -# The command 'fedpkg lint' generates the warning: -# -# W: spelling-error Summary(en_US) devel -> delve, devil, revel -# W: spelling-error %%description -l en_US devel -> delve, devil, revel -# -# The only occurances of devel in this file are of the form cppad-devel. -# These refer to the corresponding subpackage and are not spelling errors. +# Preamble # ---------------------------------------------------------------------------- - # CppAD release number starts with zero and last part of version number. # Fedora Release starts with 1; see # https://fedoraproject.org/wiki/Packaging:Versioning @@ -77,28 +72,26 @@ version of %{name}, can be found at the web site In addition, printable versions of the documentation, as a single web page, in both HTML and XML, can be found at that web site. -# ---------------------------------------------------------------------------- -%clean -# Cleanup build root at the beginning in case mock has -# cleanup_on_failure set to zero. -rm -rf %{buildroot} - +# ----------------------------------------------------------------------------- +# prep # ----------------------------------------------------------------------------- %prep %setup -q -# Replace cppad_SOURCE_DIR by the system include directory so that +# 1. Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. +# 2. EPEL7 is using cmake 2.8 so change required version and reply on all +# the tests passing for correctness of this change. # includedir=%{buildroot}%{_includedir} sed \ -e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ +-e "s|\(CMAKE_MINIMUM_REQUIRED\)(VERSION 3.1)|\1(VERSION 2.8)|" \ -i.bak CMakeLists.txt -# It seems that it is no longer necessary to remove ${cppad_lib} from -# CMakeLists.txt files. If this works out, remove this comment next year 2019. - +# ----------------------------------------------------------------------------- +# build # ----------------------------------------------------------------------------- %build # See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake @@ -138,17 +131,14 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' . make %{?_smp_mflags} +# ----------------------------------------------------------------------------- +# Install # ----------------------------------------------------------------------------- %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} -# ----------------------------------------------------------------------------- -# use the installed include files to compile and run the tests -%check -make check -# ----------------------------------------------------------------------------- %files devel %defattr(-,root,root,-) %doc COPYING uw_copy_040507.html @@ -159,8 +149,21 @@ make check %defattr(-,root,root,-) %{_docdir}/%{name} +# ----------------------------------------------------------------------------- +# Check +# ----------------------------------------------------------------------------- +# use the installed include files to compile and run the tests +%check +make check + # ---------------------------------------------------------------------------- %changelog +* 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. From dc5b085de532085e473efa220dba547ff445a6a5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 05:49:48 +0000 Subject: [PATCH 080/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index eaf7c7c..ec4ffa2 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,7 +15,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20180000.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -158,6 +158,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. From 820506e7063416824da246eac67fd8a03b99cd7b Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 13 Feb 2018 23:10:25 +0100 Subject: [PATCH 081/163] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- cppad.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index ec4ffa2..dc8c3c7 100644 --- a/cppad.spec +++ b/cppad.spec @@ -31,7 +31,6 @@ Group: Development/Libraries License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake >= 2.8 %description From 7861386515f9cd4beb2a88a95007679ee719d7cf Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:43 +0200 Subject: [PATCH 082/163] add BuildRequires: gcc-c++,gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- cppad.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cppad.spec b/cppad.spec index dc8c3c7..b5da72e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -31,6 +31,8 @@ Group: Development/Libraries License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 %description From a1dfb2b9dfc772e6b5deb676e03d4ae2f8eeb73a Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Tue, 10 Jul 2018 00:33:41 -0500 Subject: [PATCH 083/163] Remove needless use of %defattr --- cppad.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index b5da72e..4579b9e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -141,13 +141,11 @@ make install DESTDIR=%{buildroot} %files devel -%defattr(-,root,root,-) %doc COPYING uw_copy_040507.html %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc %files doc -%defattr(-,root,root,-) %{_docdir}/%{name} # ----------------------------------------------------------------------------- From 67d6fe1d7e9e24dd19893981d84e05f76e18b860 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 22:17:57 +0000 Subject: [PATCH 084/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 4579b9e..17d6707 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,7 +15,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20180000.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -157,6 +157,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 2036d38693478a645230d8f83c19d7f90f0e0c59 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:41 +0100 Subject: [PATCH 085/163] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- cppad.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/cppad.spec b/cppad.spec index 17d6707..46065ac 100644 --- a/cppad.spec +++ b/cppad.spec @@ -27,7 +27,6 @@ Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # change (see mention of cppad_lib below). %global debug_package %{nil} -Group: Development/Libraries License: GPLv3 URL: http://www.coin-or.org/CppAD/ Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz @@ -41,7 +40,6 @@ C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. # --------------------------------------------------------------------------- %package devel Summary: The %{name} C++ include files for Algorithmic Differentiation (AD) -Group: Development/Libraries Provides: %{name} = %{version}-%{release} # Requested by bug report # https://bugzilla.redhat.com/show_bug.cgi?id=1197488 @@ -61,7 +59,6 @@ See the package %{name}-doc for documentation of this version of %{name}. # ---------------------------------------------------------------------------- %package doc Summary: Documentation for %{name}-devel -Group: Documentation BuildArch: noarch %description doc From ae6449c62defe022e24f461bbcc8ec4bdff7d8f3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 16:21:07 +0000 Subject: [PATCH 086/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 46065ac..b783cc8 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,7 +15,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: 20180000.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -154,6 +154,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From c43b41e1cbf434da4025feb0dadfc6b60f0c4a8e Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 1 Feb 2019 05:27:55 -0700 Subject: [PATCH 087/163] Advamce to cppad-20190200. --- .gitignore | 12 ++++--- cppad.spec | 97 ++++++++++++++++++++++++++++++++---------------------- sources | 3 +- 3 files changed, 67 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index ca3be47..b848395 100644 --- a/.gitignore +++ b/.gitignore @@ -9,9 +9,11 @@ /junk.* # ignore result drectory created by fedpkg mockbuild /results_cppad/ +# directory used like git cache +/new/ +/new.*/ # --------------------------------------------------------------------------- -# When finish testing, change so only ignore cppad-yyyy0000.rel.gpl.tgz file -# and cppad-yyyy0000.rel directory for current year yyyy and current CppAD bug -# release rel. -/cppad-20180000.0.gpl.tgz -/cppad-20180000.0/ +# soruce code +/CppAD-20190200.0.tar.gz +# documentation +/CppAD-20190200.doc.tar.gz diff --git a/cppad.spec b/cppad.spec index b783cc8..8416f86 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,21 +1,25 @@ +# vim: set expandtab: # ---------------------------------------------------------------------------- # Lint # ---------------------------------------------------------------------------- # The comamnd 'fedpkg lint' generates the warning: # -# cppad.spec:89: W: rpm-buildroot-usage +# cppad.spec:99: W: rpm-buildroot-usage # %%prep includedir=%%{buildroot}%%{_includedir} # # See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html # ---------------------------------------------------------------------------- # Preamble # ---------------------------------------------------------------------------- -# CppAD release number starts with zero and last part of version number. +# yyyy is year, mm is month, dd is day, corresponding to this version +# The $${version} includes a bug fix number at end that starts at zero. +%define yyyymmdd 20190200 + # Fedora Release starts with 1; see # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: 20180000.0 -Release: 4%{?dist} +Version: %{yyyymmdd}.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -27,9 +31,13 @@ Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # change (see mention of cppad_lib below). %global debug_package %{nil} -License: GPLv3 -URL: http://www.coin-or.org/CppAD/ -Source: http://www.coin-or.org/download/source/CppAD/%{name}-%{version}.gpl.tgz + +# Note that the upstream sources have been named the same as thier directories; +# CppAD-%%{version} and CppAD-%%{yyyymmdd}.doc +License: EPL2.0 or (GPL2 or later) +URL: http://coin-or.github.io/CppAD +Source: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz +Source1: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 @@ -62,32 +70,35 @@ Summary: Documentation for %{name}-devel BuildArch: noarch %description doc -The %{name}-doc package installs the XML documentation for %{name}-devel in +The %{name}-doc package installs the HTML documentation for this version +of %{name}-devel in %{_docdir}/%{name} -Links to an HTML version of the %{name} documentation, for the most recent -version of %{name}, can be found at the 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. +The documentation, for the most recent version of %{name}, can be found at + http://coin-or.github.io/CppAD # ----------------------------------------------------------------------------- # prep # ----------------------------------------------------------------------------- %prep - -%setup -q - -# 1. Replace cppad_SOURCE_DIR by the system include directory so that -# installed files, instead of local files, are used for testing. -# 2. EPEL7 is using cmake 2.8 so change required version and reply on all -# the tests passing for correctness of this change. # -includedir=%{buildroot}%{_includedir} -sed \ --e "s|\(INCLUDE_DIRECTORIES(\).*{cppad_SOURCE_DIR}|\1 SYSTEM $includedir|" \ --e "s|\(CMAKE_MINIMUM_REQUIRED\)(VERSION 3.1)|\1(VERSION 2.8)|" \ - -i.bak CMakeLists.txt +# The source code tarball +rm -rf CppAD-%{version} +tar -xzf %{_topdir}/SOURCES/CppAD-%{version}.tar.gz +# +# The documentation tarball +rm -rf CppAD-%{yyyymmdd}.doc +tar -xzf %{_topdir}/SOURCES/CppAD-%{yyyymmdd}.doc.tar.gz +# +# move the documentaion to this build directory +mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc +mv CppAD-%{version}/COPYING COPYING +mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html +# Replace cppad_SOURCE_DIR by the system include directory so that +# installed files, instead of local files, are used for testing. +includedir=%{buildroot}%{_includedir} +sed -e "s|\${cppad_SOURCE_DIR}/include|SYSTEM $includedir|" \ + -i.bak CppAD-%{version}/CMakeLists.txt # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- @@ -102,31 +113,31 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' %cmake --version %cmake \ -D CMAKE_VERBOSE_MAKEFILE=0 \ - -G 'Unix Makefiles' \ + -G 'Unix Makefiles' \ \ -D cppad_prefix=%{_prefix} \ - -D cppad_postfix='' \ + -D cppad_postfix='' \ -D cmake_install_includedirs=include \ - -D cmake_install_libdirs=lib \ + -D cmake_install_libdirs=%{_lib} \ -D cmake_install_datadir=share \ -D cmake_install_docdir=share/doc \ \ - -D adolc_prefix='' \ - -D colpack_prefix='' \ - -D eigen_prefix='' \ - -D fadbad_prefix='' \ - -D ipopt_prefix='' \ - -D sacado_prefix='' \ - \ + -D adolc_prefix='' \ + -D colpack_prefix='' \ + -D eigen_prefix='' \ + -D fadbad_prefix='' \ + -D ipopt_prefix='' \ + -D sacado_prefix='' \ + \ -D cppad_cxx_flags="$cppad_cxx_flags" \ - -D cppad_profile_flag='' \ - \ + -D cppad_profile_flag='' \ + \ -D cppad_test_vector=cppad \ -D cppad_max_num_theads=64 \ -D cppad_tape_id_type=size_t \ -D cppad_tape_addr_type=size_t \ -D cppad_deprecated=NO \ - . + CppAD-%{version} make %{?_smp_mflags} # ----------------------------------------------------------------------------- @@ -136,11 +147,11 @@ make %{?_smp_mflags} rm -rf %{buildroot} make install DESTDIR=%{buildroot} - %files devel %doc COPYING uw_copy_040507.html %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc +%{_libdir}/pkgconfig/%{name}.pc %files doc %{_docdir}/%{name} @@ -154,6 +165,14 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index f153891..44c42c8 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (cppad-20180000.0.gpl.tgz) = 83e8617c0f0f1d1784a89049bfba2ab4f1aee7af79f23cc4384db858ff55ef7e26901b3985897fcc65c87d6243b892978d17036e0de84132c0bca2edbe3fc082 +SHA512 (CppAD-20190200.0.tar.gz) = 2cd77d56b141f58f5bf2bfc75b17ac663e6f5696f43bb18219e94289000f45acb148eee2dec445813aada01e55ed560888e69f8c32ced359df5472938efec6a8 +SHA512 (CppAD-20190200.doc.tar.gz) = 7543960efd81fbf0186397b63953b927ec5cfd1f0796408b63ddbf5d41a2137ce1fa1e03ad1448eb31b131cce2c58bd4a52f47ea52da6506126b74eb539e43ba From 1220f6aa56d14f35e21346d1b660ce1d17099d3f Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 1 Feb 2019 07:45:52 -0700 Subject: [PATCH 088/163] 1. Change name of sources to be exactly the same as on github. 2. improve comments in cppad.spec. --- .gitignore | 8 ++++---- cppad.spec | 26 +++++++++++++------------- sources | 4 ++-- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index b848395..1498391 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ /new/ /new.*/ # --------------------------------------------------------------------------- -# soruce code -/CppAD-20190200.0.tar.gz -# documentation -/CppAD-20190200.doc.tar.gz +# source code tarball creates CppAD-20190200.0 +/20190200.0.tar.gz +# documentation tarball creates CppAD-20190200.doc +/20190200.doc.tar.gz diff --git a/cppad.spec b/cppad.spec index 8416f86..40be18a 100644 --- a/cppad.spec +++ b/cppad.spec @@ -31,13 +31,10 @@ Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # change (see mention of cppad_lib below). %global debug_package %{nil} - -# Note that the upstream sources have been named the same as thier directories; -# CppAD-%%{version} and CppAD-%%{yyyymmdd}.doc License: EPL2.0 or (GPL2 or later) URL: http://coin-or.github.io/CppAD -Source: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz -Source1: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz +Source1: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz +Source2: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 @@ -81,15 +78,15 @@ The documentation, for the most recent version of %{name}, can be found at # ----------------------------------------------------------------------------- %prep # -# The source code tarball +# This source code tarball creates CppAD-%%{version} rm -rf CppAD-%{version} -tar -xzf %{_topdir}/SOURCES/CppAD-%{version}.tar.gz +tar -xzf %{_topdir}/SOURCES/%{version}.tar.gz # -# The documentation tarball +# This documentation tarball creates CppAD-%%{yyymmdd}.doc rm -rf CppAD-%{yyyymmdd}.doc -tar -xzf %{_topdir}/SOURCES/CppAD-%{yyyymmdd}.doc.tar.gz +tar -xzf %{_topdir}/SOURCES/%{yyyymmdd}.doc.tar.gz # -# move the documentaion to this build directory +# move the documentaion to the build directory mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html @@ -103,12 +100,12 @@ sed -e "s|\${cppad_SOURCE_DIR}/include|SYSTEM $includedir|" \ # build # ----------------------------------------------------------------------------- %build -# See https://fedoraproject.org/wiki/Packaging:Cmake?rd=Packaging/cmake -# and http://www.coin-or.org/CppAD/Doc/cmake.htm # # Cannot use %%{_includedir}, $${_libdir}, %%{_datadir}, %%{_docdir} # because they are absolute paths. Relative values would be more flexible # because they can be combined with %%{_prefix} to get absolute values. +# The last argument to the cmake command is the directory created using +# the souce code tarball. cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' %cmake --version %cmake \ @@ -138,6 +135,7 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' -D cppad_tape_addr_type=size_t \ -D cppad_deprecated=NO \ CppAD-%{version} +# make %{?_smp_mflags} # ----------------------------------------------------------------------------- @@ -148,12 +146,14 @@ rm -rf %{buildroot} make install DESTDIR=%{buildroot} %files devel -%doc COPYING uw_copy_040507.html %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}.pc +# These documentation files come from the source code tarball +%doc COPYING uw_copy_040507.html %files doc +# These documentation files come from the docukentation tarball %{_docdir}/%{name} # ----------------------------------------------------------------------------- diff --git a/sources b/sources index 44c42c8..2085b5e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (CppAD-20190200.0.tar.gz) = 2cd77d56b141f58f5bf2bfc75b17ac663e6f5696f43bb18219e94289000f45acb148eee2dec445813aada01e55ed560888e69f8c32ced359df5472938efec6a8 -SHA512 (CppAD-20190200.doc.tar.gz) = 7543960efd81fbf0186397b63953b927ec5cfd1f0796408b63ddbf5d41a2137ce1fa1e03ad1448eb31b131cce2c58bd4a52f47ea52da6506126b74eb539e43ba +SHA512 (20190200.0.tar.gz) = 2cd77d56b141f58f5bf2bfc75b17ac663e6f5696f43bb18219e94289000f45acb148eee2dec445813aada01e55ed560888e69f8c32ced359df5472938efec6a8 +SHA512 (20190200.doc.tar.gz) = 7543960efd81fbf0186397b63953b927ec5cfd1f0796408b63ddbf5d41a2137ce1fa1e03ad1448eb31b131cce2c58bd4a52f47ea52da6506126b74eb539e43ba From 2c8cecccf4b14a45776e9bb3cd8bcf35ea111df2 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 1 Feb 2019 20:51:46 -0700 Subject: [PATCH 089/163] upload changes for fixing bug in omhelp --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 2085b5e..70c72d1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (20190200.0.tar.gz) = 2cd77d56b141f58f5bf2bfc75b17ac663e6f5696f43bb18219e94289000f45acb148eee2dec445813aada01e55ed560888e69f8c32ced359df5472938efec6a8 -SHA512 (20190200.doc.tar.gz) = 7543960efd81fbf0186397b63953b927ec5cfd1f0796408b63ddbf5d41a2137ce1fa1e03ad1448eb31b131cce2c58bd4a52f47ea52da6506126b74eb539e43ba +SHA512 (20190200.doc.tar.gz) = 3099aa190b19f50e5a33d49aac62ce9218527f4810c85dad132068658922149af4e90b8c0658174711795d349769c664ca57c4bf15c603e8cfadfb160a8c1dd5 From 42b83f5599da5915451dcd6061615bd4623fefe6 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 1 Feb 2019 20:56:47 -0700 Subject: [PATCH 090/163] advance release for new version of 20190200/doc.tar.gz --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 40be18a..8d62237 100644 --- a/cppad.spec +++ b/cppad.spec @@ -19,7 +19,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -165,6 +165,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. From 44e0c244df26d6e9a0507c2ba9bf2f0c21f3e463 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 29 May 2019 19:42:03 -0700 Subject: [PATCH 091/163] fix bug corresponding to ustream release 20190200.3 --- cppad.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 8d62237..0c94268 100644 --- a/cppad.spec +++ b/cppad.spec @@ -19,7 +19,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -91,6 +91,13 @@ mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html +# +# Bug fix corresponding to upstream source 20190200.3. +# This must be removed when advance upstream source version. +echo %{version} | grep 20190200.0 +sed -e '1258,1258s|^ *|&// |' \ + -i.bik CppAD-%{version}/include/cppad/local/sparse_list.hpp + # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. includedir=%{buildroot}%{_includedir} @@ -165,6 +172,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* Wed May 29 2019 Brad Bell - 20190200.0-3 +- Bug fix corresponding to upstream source 20190200.3. + * Fri Feb 01 2019 Brad Bell - 20190200.0-2 - Test with corrected version of source2; i.e., 20190200.doc.tar.gz From 8d104743f11b244a20e6ea1e87f152aa1313889f Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 29 May 2019 20:13:07 -0700 Subject: [PATCH 092/163] fix license and add comment about fedpkg lint license error --- cppad.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cppad.spec b/cppad.spec index 0c94268..a52397f 100644 --- a/cppad.spec +++ b/cppad.spec @@ -2,11 +2,14 @@ # ---------------------------------------------------------------------------- # Lint # ---------------------------------------------------------------------------- -# The comamnd 'fedpkg lint' generates the warning: +# The comamnd 'fedpkg lint' generates the following warnings: # -# cppad.spec:99: W: rpm-buildroot-usage +# cppad.src: W: invalid-license EPL-2.0 +# This appears to be a lint error because EPL-2.0 is in the list on +# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing +# +# cppad.src:103: W: rpm-buildroot-usage # %%prep includedir=%%{buildroot}%%{_includedir} -# # See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html # ---------------------------------------------------------------------------- # Preamble @@ -31,7 +34,7 @@ Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # change (see mention of cppad_lib below). %global debug_package %{nil} -License: EPL2.0 or (GPL2 or later) +License: EPL-2.0 or GPLv2+ URL: http://coin-or.github.io/CppAD Source1: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz Source2: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz @@ -174,6 +177,7 @@ make check %changelog * 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 From 633a040296306912c782d43dcfe297119257ab62 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 21:06:11 +0000 Subject: [PATCH 093/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index a52397f..88da6f1 100644 --- a/cppad.spec +++ b/cppad.spec @@ -22,7 +22,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -175,6 +175,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. From ec9c934fec89455945a108188c5240da13caa884 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 6 Aug 2019 18:24:42 -0700 Subject: [PATCH 094/163] Bug fix by advancing to upstream source 20190200.4 --- .gitignore | 4 ++-- cppad.spec | 13 +++++-------- sources | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 1498391..e178b08 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ /new/ /new.*/ # --------------------------------------------------------------------------- -# source code tarball creates CppAD-20190200.0 -/20190200.0.tar.gz +# source code tarball creates CppAD-20190200.4 +/20190200.4.tar.gz # documentation tarball creates CppAD-20190200.doc /20190200.doc.tar.gz diff --git a/cppad.spec b/cppad.spec index 88da6f1..0a0b4c0 100644 --- a/cppad.spec +++ b/cppad.spec @@ -21,8 +21,8 @@ # Fedora Release starts with 1; see # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: %{yyyymmdd}.0 -Release: 4%{?dist} +Version: %{yyyymmdd}.4 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -95,12 +95,6 @@ mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # -# Bug fix corresponding to upstream source 20190200.3. -# This must be removed when advance upstream source version. -echo %{version} | grep 20190200.0 -sed -e '1258,1258s|^ *|&// |' \ - -i.bik CppAD-%{version}/include/cppad/local/sparse_list.hpp - # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. includedir=%{buildroot}%{_includedir} @@ -175,6 +169,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* Mon 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 diff --git a/sources b/sources index 70c72d1..14c6456 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (20190200.0.tar.gz) = 2cd77d56b141f58f5bf2bfc75b17ac663e6f5696f43bb18219e94289000f45acb148eee2dec445813aada01e55ed560888e69f8c32ced359df5472938efec6a8 +SHA512 (20190200.4.tar.gz) = cb1021a3f805ca5fe54934893f3e9add689d7a1ec359d8ead18993693e98508bb1598bcb7ff7a1091996bbb77e33adba2ff2c0e61360c89b95f8b20f4535c474 SHA512 (20190200.doc.tar.gz) = 3099aa190b19f50e5a33d49aac62ce9218527f4810c85dad132068658922149af4e90b8c0658174711795d349769c664ca57c4bf15c603e8cfadfb160a8c1dd5 From 034dc75cfe6d8db5bb946a25d31683919710a01a Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 6 Aug 2019 19:22:05 -0700 Subject: [PATCH 095/163] fix day of week in most recent changelog entry --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 0a0b4c0..7f807e2 100644 --- a/cppad.spec +++ b/cppad.spec @@ -169,7 +169,7 @@ make check # ---------------------------------------------------------------------------- %changelog -* Mon Aug 06 2019 Brad Bell - 20190200.4-1 +* 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 From e78aec6d9b5361164f7d5a1978533d4d252aa578 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Thu, 19 Sep 2019 03:56:42 -0700 Subject: [PATCH 096/163] Use a sed edit of the 20190200.4 source to obain 20190200.5 bug fix. --- cppad.spec | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cppad.spec b/cppad.spec index 7f807e2..2cd01b6 100644 --- a/cppad.spec +++ b/cppad.spec @@ -4,10 +4,6 @@ # ---------------------------------------------------------------------------- # The comamnd 'fedpkg lint' generates the following warnings: # -# cppad.src: W: invalid-license EPL-2.0 -# This appears to be a lint error because EPL-2.0 is in the list on -# https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing -# # cppad.src:103: W: rpm-buildroot-usage # %%prep includedir=%%{buildroot}%%{_includedir} # See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html @@ -22,7 +18,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this @@ -94,6 +90,13 @@ mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html +# +# Patch corresponding to upstream source 20190200.5 +# (will not be needed once we advance the upstream source) +sed -i.bak CppAD-%{version}/include/cppad/local/play/player.hpp \ + -e '/^ *case LtppOp:/d' \ + -e 's/^\( *\)case LeppOp:/&\n\1case LtppOp:/' + # # Replace cppad_SOURCE_DIR by the system include directory so that # installed files, instead of local files, are used for testing. @@ -169,6 +172,10 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 82bd2cc17cc49f57aec7aaffffbf1d0aeff9e664 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Thu, 2 Jan 2020 13:25:14 -0700 Subject: [PATCH 097/163] master: advance upstream to 20200000.0 --- .gitignore | 9 ++--- cppad.spec | 98 +++++++++++++++++++++++++++++++++++++----------------- sources | 4 +-- 3 files changed, 75 insertions(+), 36 deletions(-) diff --git a/.gitignore b/.gitignore index e178b08..3888089 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,8 @@ /new/ /new.*/ # --------------------------------------------------------------------------- -# source code tarball creates CppAD-20190200.4 -/20190200.4.tar.gz -# documentation tarball creates CppAD-20190200.doc -/20190200.doc.tar.gz +# source code tarball creates CppAD-20200000.0 +/20200000.0.tar.gz +# +# documentation tarball creates CppAD-20200000.doc +/20200000.doc.tar.gz diff --git a/cppad.spec b/cppad.spec index 2cd01b6..e5012c7 100644 --- a/cppad.spec +++ b/cppad.spec @@ -1,33 +1,30 @@ # vim: set expandtab: # ---------------------------------------------------------------------------- -# Lint -# ---------------------------------------------------------------------------- -# The comamnd 'fedpkg lint' generates the following warnings: -# -# cppad.src:103: W: rpm-buildroot-usage -# %%prep includedir=%%{buildroot}%%{_includedir} -# See https://lists.fedoraproject.org/pipermail/devel/2011-January/147969.html -# ---------------------------------------------------------------------------- # Preamble # ---------------------------------------------------------------------------- # yyyy is year, mm is month, dd is day, corresponding to this version # The $${version} includes a bug fix number at end that starts at zero. -%define yyyymmdd 20190200 +%define yyyymmdd 20200000 +# +# fedora uses its own soversion number for cppad_lib +%define soversion 1.0 # Fedora Release starts with 1; see # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: %{yyyymmdd}.4 -Release: 2%{?dist} +Version: %{yyyymmdd}.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet, there are no object libraries or executables included in this # package. However, the results of the cmake command depend on the architecture # so we do not include 'BuildArch: noarch' in this spec file. -# The user can compile with or without debugging so there is nothing useful in -# *debuginfo. If status of cppad_lib changes (and it gets installed), this may -# change (see mention of cppad_lib below). +# As of yet there is no debug version installed for cppad_lib. +# The user can compile with or without debugging using this library, +# because CPPAD_DEBUG_AND_RELEASE is defined. +# The library is currently very small and not tracing the debugger into it +# should not be a problem. This may change in the future. %global debug_package %{nil} License: EPL-2.0 or GPLv2+ @@ -89,30 +86,59 @@ tar -xzf %{_topdir}/SOURCES/%{yyyymmdd}.doc.tar.gz mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html - # -# Patch corresponding to upstream source 20190200.5 -# (will not be needed once we advance the upstream source) -sed -i.bak CppAD-%{version}/include/cppad/local/play/player.hpp \ - -e '/^ *case LtppOp:/d' \ - -e 's/^\( *\)case LeppOp:/&\n\1case LtppOp:/' - +# cppad_lib: replace soversion number and ensure build type is release +sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \ + -e "s|\${soversion}|%{soversion}|" \ + -e "s|\${cppad_debug_which}|debug_none|" # -# Replace cppad_SOURCE_DIR by the system include directory so that -# installed files, instead of local files, are used for testing. -includedir=%{buildroot}%{_includedir} -sed -e "s|\${cppad_SOURCE_DIR}/include|SYSTEM $includedir|" \ - -i.bak CppAD-%{version}/CMakeLists.txt +# configure.hpp.in: Make sure CPPAD_DEBUG_AND_RELEASE is defined +# so we can use cppad_lib with both debug and release builds. +sed -i.bak CppAD-%{version}/include/cppad/configure.hpp.in \ + -e 's|# define CPPAD_CONFIGURE_HPP|&\n# define CPPAD_DEBUG_AND_RELEASE|' +# +# set_compile_flags.cmake: remove conditional def of CPPAD_DEBUG_AND_RELEASE +sed -i.bak CppAD-%{version}/cmake/set_compile_flags.cmake \ + -e 's|-DCPPAD_DEBUG_AND_RELEASE||' +# +# test_more/debug_rel/CMakeLists.txt: remove def of CPPAD_DEBUG_AND_RELEASE +sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ + -e 's|-DCPPAD_DEBUG_AND_RELEASE||' +# +# Remove assertion because there seems to be a bug in following g++ warning +# (note OpCode was converted to size_t before the comparision): +# the result of the conversion is unspecified because +# 'std::numeric_limits::max()' is outside the range of type +# 'CppAD::local::OpCode' [-Wconversion]. +sed -i.bak CppAD-%{version}/include/cppad/local/op_code_var.hpp \ + -e '/std::numeric_limits::max()/s|^\( *\).*|\1true|' +# +# Patch will not be necessary when upsstream sourse is >= 20200000.0 +cat << EOF > junk.sed +/write(fd, char_ptr, char_size);/! b skip +s|^ *|&ssize_t flag = | +s|\$|&\\ + if( flag < 0 )\\ + { std::cerr << "put_check_nan: write error\\\\n";\\ + std::exit(1);\\ + }| +: skip +EOF +sed -i.bak CppAD-%{version}/include/cppad/core/check_for_nan.hpp -f junk.sed # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- %build # -# Cannot use %%{_includedir}, $${_libdir}, %%{_datadir}, %%{_docdir} +# 1. Cannot use %%{_includedir}, $${_libdir}, %%{_datadir}, %%{_docdir} # because they are absolute paths. Relative values would be more flexible # because they can be combined with %%{_prefix} to get absolute values. -# The last argument to the cmake command is the directory created using +# +# 2. The last argument to the cmake command is the directory created using # the souce code tarball. +# +# 3. The debug_all is overridden by for cppad_lib by the edit of +# cppad_lib/CMakeLists.txt above cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' %cmake --version %cmake \ @@ -121,6 +147,7 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' \ -D cppad_prefix=%{_prefix} \ -D cppad_postfix='' \ + \ -D cmake_install_includedirs=include \ -D cmake_install_libdirs=%{_lib} \ -D cmake_install_datadir=share \ @@ -135,12 +162,11 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' \ -D cppad_cxx_flags="$cppad_cxx_flags" \ -D cppad_profile_flag='' \ - \ -D cppad_test_vector=cppad \ -D cppad_max_num_theads=64 \ -D cppad_tape_id_type=size_t \ -D cppad_tape_addr_type=size_t \ - -D cppad_deprecated=NO \ + -D cppad_debug_which='debug_all' \ CppAD-%{version} # make %{?_smp_mflags} @@ -156,6 +182,9 @@ make install DESTDIR=%{buildroot} %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}.pc +%{_libdir}/libcppad_lib.so +%{_libdir}/libcppad_lib.so.%{soversion} + # These documentation files come from the source code tarball %doc COPYING uw_copy_040507.html @@ -172,6 +201,15 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index 14c6456..99d95ae 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (20190200.4.tar.gz) = cb1021a3f805ca5fe54934893f3e9add689d7a1ec359d8ead18993693e98508bb1598bcb7ff7a1091996bbb77e33adba2ff2c0e61360c89b95f8b20f4535c474 -SHA512 (20190200.doc.tar.gz) = 3099aa190b19f50e5a33d49aac62ce9218527f4810c85dad132068658922149af4e90b8c0658174711795d349769c664ca57c4bf15c603e8cfadfb160a8c1dd5 +SHA512 (20200000.0.tar.gz) = 04e5b885947b2450282854825a6baaa5c480fcb251c040a6d419c00b8015a80c633f6f3e46d44b79aebc68a082b8860ed0f6f6b5e4ea1601a5ba38a7d921e07f +SHA512 (20200000.doc.tar.gz) = 4f7c5a6b4405e3eca0589a08b2cdc42209de0670b6fe02fe39887bfacea95bff6e4fa889183def09d405dc4ff79b8d611f94c5528eb6f71c61dfae56e2de2561 From 57d3b6d5ecd82eea145141f6997849108427f3ef Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 24 Jan 2020 06:08:06 -0700 Subject: [PATCH 098/163] Add patches corresponding to upstream from 2020000.1 -> 20200000.2 --- cppad.spec | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/cppad.spec b/cppad.spec index e5012c7..0efd785 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,10 +16,6 @@ Version: %{yyyymmdd}.0 Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc -# As of yet, there are no object libraries or executables included in this -# package. However, the results of the cmake command depend on the architecture -# so we do not include 'BuildArch: noarch' in this spec file. - # As of yet there is no debug version installed for cppad_lib. # The user can compile with or without debugging using this library, # because CPPAD_DEBUG_AND_RELEASE is defined. @@ -113,7 +109,7 @@ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ sed -i.bak CppAD-%{version}/include/cppad/local/op_code_var.hpp \ -e '/std::numeric_limits::max()/s|^\( *\).*|\1true|' # -# Patch will not be necessary when upsstream sourse is >= 20200000.0 +# Patch will not be necessary when upstream source is >= 20200000.1 cat << EOF > junk.sed /write(fd, char_ptr, char_size);/! b skip s|^ *|&ssize_t flag = | @@ -125,6 +121,26 @@ s|\$|&\\ : skip EOF sed -i.bak CppAD-%{version}/include/cppad/core/check_for_nan.hpp -f junk.sed +# +# Patch will not be necessary when upstream source is >= 20200000.1 +sed -i.bak CppAD-%{version}/CMakeLists.txt \ + -e 's|FILES_MATCHING PATTERN "\*.hpp"|& PATTERN "omh" EXCLUDE|' +# +# Patch will not be necessary when upstream source is >= 20200000.2 +cat << EOF > junk.sed +/Base zero(0)/! b skip +: loop_1 +N +/}/! b loop_1 +/GreaterThanZero/! b skip +d +: skip +EOF +sed -i.bak CppAD-%{version}/include/cppad/local/pow_op.hpp -f junk.sed +# +# Patch will not be necessary when upstream source is >= 20200000.2 +sed -i.bak CppAD-%{version}/test_more/general/pow.cpp \ + -e '/ok *&= PowTestSeven();/d' # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- @@ -201,6 +217,12 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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. From ecccc57434c51a09b0bcb9d1011f383b5c2298ce Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 24 Jan 2020 06:10:30 -0700 Subject: [PATCH 099/163] Advance release number. --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 0efd785..808c0d2 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet there is no debug version installed for cppad_lib. From f6bb87add4f10ebc8d17fdf43696e854677bdb6a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 14:54:32 +0000 Subject: [PATCH 100/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 808c0d2..5036b08 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet there is no debug version installed for cppad_lib. @@ -217,6 +217,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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) From 545eb0b7d30acb2d5bddc1414fe2e56633979c62 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 14:39:01 +0000 Subject: [PATCH 101/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 5036b08..d0d604b 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet there is no debug version installed for cppad_lib. @@ -217,6 +217,9 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 9ea88dbfce7b9a593d63c2bd051aa92124d98fb2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 00:28:32 +0000 Subject: [PATCH 102/163] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index d0d604b..8a40627 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet there is no debug version installed for cppad_lib. @@ -217,6 +217,10 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 9ce138021d7493803ef135ad632b33fe291ebbac Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 1 Aug 2020 06:19:00 -0700 Subject: [PATCH 103/163] 1. Starting with f33, need to specify build in source directory. 2. Change soversion number so modified version display durning cmake command --- cppad.spec | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/cppad.spec b/cppad.spec index 8a40627..edc66ba 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # As of yet there is no debug version installed for cppad_lib. @@ -31,6 +31,9 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 +# Starting with f33, need to define this maco to build in source directory +%define __cmake_in_source_build 1 + %description C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. @@ -85,7 +88,7 @@ mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # # cppad_lib: replace soversion number and ensure build type is release sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \ - -e "s|\${soversion}|%{soversion}|" \ + -e "s|print_variable(soversion)|SET(soversion %{soversion} )\n&|" \ -e "s|\${cppad_debug_which}|debug_none|" # # configure.hpp.in: Make sure CPPAD_DEBUG_AND_RELEASE is defined @@ -146,7 +149,7 @@ sed -i.bak CppAD-%{version}/test_more/general/pow.cpp \ # ----------------------------------------------------------------------------- %build # -# 1. Cannot use %%{_includedir}, $${_libdir}, %%{_datadir}, %%{_docdir} +# 1. Cannot use %%{_includedir}, %%{_libdir}, %%{_datadir}, %%{_docdir} # because they are absolute paths. Relative values would be more flexible # because they can be combined with %%{_prefix} to get absolute values. # @@ -217,6 +220,11 @@ make check # ---------------------------------------------------------------------------- %changelog +* 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 From 97d1821d7f151e72ccc0346bd68ab38324632b09 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 17 Dec 2020 03:56:36 +0000 Subject: [PATCH 104/163] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- cppad.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/cppad.spec b/cppad.spec index edc66ba..b58a3b9 100644 --- a/cppad.spec +++ b/cppad.spec @@ -30,6 +30,7 @@ Source2: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 +BuildRequires: make # Starting with f33, need to define this maco to build in source directory %define __cmake_in_source_build 1 From b1313d5ead4037b06e70cc7eca7b44979157d841 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 27 Dec 2020 04:27:44 -0700 Subject: [PATCH 105/163] Enable debuginof and parallel make check. --- cppad.spec | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/cppad.spec b/cppad.spec index b58a3b9..ae6394f 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,16 +13,9 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc -# As of yet there is no debug version installed for cppad_lib. -# The user can compile with or without debugging using this library, -# because CPPAD_DEBUG_AND_RELEASE is defined. -# The library is currently very small and not tracing the debugger into it -# should not be a problem. This may change in the future. -%global debug_package %{nil} - License: EPL-2.0 or GPLv2+ URL: http://coin-or.github.io/CppAD Source1: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz @@ -32,7 +25,7 @@ BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 BuildRequires: make -# Starting with f33, need to define this maco to build in source directory +# Starting with f33, need to define this macro to build in source directory %define __cmake_in_source_build 1 %description @@ -69,6 +62,12 @@ of %{name}-devel in The documentation, for the most recent version of %{name}, can be found at http://coin-or.github.io/CppAD +# ----------------------------------------------------------------------------- +# The user can compile with or without debugging using this library, +# because the prep seciton ensures CPPAD_DEBUG_AND_RELEASE is defined. +# The cppad_lib library has gotten larger, so we include a debug version. +%debug_package + # ----------------------------------------------------------------------------- # prep # ----------------------------------------------------------------------------- @@ -217,10 +216,14 @@ make install DESTDIR=%{buildroot} # ----------------------------------------------------------------------------- # use the installed include files to compile and run the tests %check -make check +make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog +* Sat Aug 01 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/ From c5df4e01ba9d937a673b4b39c1e3dadb81770d88 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 27 Dec 2020 15:45:20 -0700 Subject: [PATCH 106/163] Correct date in last changelog entry. --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index ae6394f..7c93ac1 100644 --- a/cppad.spec +++ b/cppad.spec @@ -220,7 +220,7 @@ make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog -* Sat Aug 01 2020 Brad Bell - 20200000.0-7 +* 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. From 928b71198d82deb4c46e3a8aa1c3eb275c28da03 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 02:37:40 +0000 Subject: [PATCH 107/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 7c93ac1..45a9ba6 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -220,6 +220,9 @@ make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog +* 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. From cadca5c9977eeead8eb161160b28f45cdc5642e5 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 26 Jan 2021 04:07:03 -0700 Subject: [PATCH 108/163] Advance upstream source to version 20210000.3 --- .gitignore | 8 +++---- cppad.spec | 66 ++++++++++++++---------------------------------------- sources | 4 ++-- 3 files changed, 23 insertions(+), 55 deletions(-) diff --git a/.gitignore b/.gitignore index 3888089..a8ffb4e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,8 +13,8 @@ /new/ /new.*/ # --------------------------------------------------------------------------- -# source code tarball creates CppAD-20200000.0 -/20200000.0.tar.gz +# source code tarball that creates CppAD-20210000.3 +/20210000.3.tar.gz # -# documentation tarball creates CppAD-20200000.doc -/20200000.doc.tar.gz +# documentation tarball that creates CppAD-20210000.doc +/20210000.doc.tar.gz diff --git a/cppad.spec b/cppad.spec index 7c93ac1..a9612e3 100644 --- a/cppad.spec +++ b/cppad.spec @@ -2,18 +2,18 @@ # ---------------------------------------------------------------------------- # Preamble # ---------------------------------------------------------------------------- -# yyyy is year, mm is month, dd is day, corresponding to this version -# The $${version} includes a bug fix number at end that starts at zero. -%define yyyymmdd 20200000 +# yyyy is year, mm is month, dd is day, corresponding to this version. +# The %%{version} macro includes a bug fix number at end that starts at zero. +%define yyyymmdd 20210000 # # fedora uses its own soversion number for cppad_lib -%define soversion 1.0 +%define soversion 2.0 # Fedora Release starts with 1; see # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: %{yyyymmdd}.0 -Release: 7%{?dist} +Version: %{yyyymmdd}.3 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -104,46 +104,6 @@ sed -i.bak CppAD-%{version}/cmake/set_compile_flags.cmake \ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ -e 's|-DCPPAD_DEBUG_AND_RELEASE||' # -# Remove assertion because there seems to be a bug in following g++ warning -# (note OpCode was converted to size_t before the comparision): -# the result of the conversion is unspecified because -# 'std::numeric_limits::max()' is outside the range of type -# 'CppAD::local::OpCode' [-Wconversion]. -sed -i.bak CppAD-%{version}/include/cppad/local/op_code_var.hpp \ - -e '/std::numeric_limits::max()/s|^\( *\).*|\1true|' -# -# Patch will not be necessary when upstream source is >= 20200000.1 -cat << EOF > junk.sed -/write(fd, char_ptr, char_size);/! b skip -s|^ *|&ssize_t flag = | -s|\$|&\\ - if( flag < 0 )\\ - { std::cerr << "put_check_nan: write error\\\\n";\\ - std::exit(1);\\ - }| -: skip -EOF -sed -i.bak CppAD-%{version}/include/cppad/core/check_for_nan.hpp -f junk.sed -# -# Patch will not be necessary when upstream source is >= 20200000.1 -sed -i.bak CppAD-%{version}/CMakeLists.txt \ - -e 's|FILES_MATCHING PATTERN "\*.hpp"|& PATTERN "omh" EXCLUDE|' -# -# Patch will not be necessary when upstream source is >= 20200000.2 -cat << EOF > junk.sed -/Base zero(0)/! b skip -: loop_1 -N -/}/! b loop_1 -/GreaterThanZero/! b skip -d -: skip -EOF -sed -i.bak CppAD-%{version}/include/cppad/local/pow_op.hpp -f junk.sed -# -# Patch will not be necessary when upstream source is >= 20200000.2 -sed -i.bak CppAD-%{version}/test_more/general/pow.cpp \ - -e '/ok *&= PowTestSeven();/d' # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- @@ -169,14 +129,17 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' \ -D cmake_install_includedirs=include \ -D cmake_install_libdirs=%{_lib} \ + \ -D cmake_install_datadir=share \ -D cmake_install_docdir=share/doc \ \ - -D adolc_prefix='' \ + -D include_adolc=false \ + -D include_eigen=false \ + -D include_ipopt=false \ + -D include_cppadcg=false \ + \ -D colpack_prefix='' \ - -D eigen_prefix='' \ -D fadbad_prefix='' \ - -D ipopt_prefix='' \ -D sacado_prefix='' \ \ -D cppad_cxx_flags="$cppad_cxx_flags" \ @@ -220,6 +183,11 @@ make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog +* 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. + * 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. diff --git a/sources b/sources index 99d95ae..c6d93b4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (20200000.0.tar.gz) = 04e5b885947b2450282854825a6baaa5c480fcb251c040a6d419c00b8015a80c633f6f3e46d44b79aebc68a082b8860ed0f6f6b5e4ea1601a5ba38a7d921e07f -SHA512 (20200000.doc.tar.gz) = 4f7c5a6b4405e3eca0589a08b2cdc42209de0670b6fe02fe39887bfacea95bff6e4fa889183def09d405dc4ff79b8d611f94c5528eb6f71c61dfae56e2de2561 +SHA512 (20210000.3.tar.gz) = fd6ab2610b8cc62c477622728992d348d0d4acde2e66f4e2d14847697832eb5a84bf2db480731fea57974b994bfe9d3b549336be82c745681ddfec65600ab3e2 +SHA512 (20210000.doc.tar.gz) = 4e7be2b01d6b2d1bd3862a3260176806432893403bc3ba98bbdaad4a701abb64d9f47ccb408fe5e6e8360b4642a65395865274aea184a36aed7baa15d1ee6560 From e8a7849df80ee70bf894c84364c0fb1e9a1543d3 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 2 Feb 2021 17:12:16 -0700 Subject: [PATCH 109/163] Patch 20210000.3 with bug fixes in upstream 20210000.4 --- cppad.spec | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cppad.spec b/cppad.spec index b398978..88e1464 100644 --- a/cppad.spec +++ b/cppad.spec @@ -86,6 +86,18 @@ mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # +# Patch corresponding to bug fix in unstream source 20210000.4 +cp CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ + CppAD-%{version}/include/cppad/core/abs_normal_fun.bak +for uu in vp pv vv +do + sed -i CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ + -e "/ Zmul${uu}Op/N" \ + -e "/ Zmul${uu}Op/s|\n *CPPAD_ASSERT_NARG_NRES(op, 2, 1);||" +done +sed -i CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ + -e 's|^\( *\)case ZmulvvOp:|\1case PowvvOp:\n&|' +# # 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&|" \ @@ -183,6 +195,8 @@ make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog +* 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 From e961e6c8c5ff6b0959cbeba7d3bdf43742b1af1f Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 2 Feb 2021 17:15:38 -0700 Subject: [PATCH 110/163] Advance release number 20210000.3-1 -> 20210000.3-2. --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 88e1464..fd2bee1 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ From e41fd191ef39ca393dff523ef98fb1523bd0a0d1 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 19 Feb 2021 03:14:35 -0700 Subject: [PATCH 111/163] Patch correspoding to upstream source 20210000.5. This patched to the optimizers implementation of atomic functions and needed to the same change for several different atomic function operators. --- cppad.spec | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 3 deletions(-) diff --git a/cppad.spec b/cppad.spec index fd2bee1..e4078d5 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -85,8 +85,9 @@ tar -xzf %{_topdir}/SOURCES/%{yyyymmdd}.doc.tar.gz mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html -# -# Patch corresponding to bug fix in unstream source 20210000.4 +# --------------------------------------------------------------------------- +# Patch corresponding to bug fix in upstream source 20210000.4 +# --------------------------------------------------------------------------- cp CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ CppAD-%{version}/include/cppad/core/abs_normal_fun.bak for uu in vp pv vv @@ -97,7 +98,83 @@ do done sed -i CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ -e 's|^\( *\)case ZmulvvOp:|\1case PowvvOp:\n&|' +# --------------------------------------------------------------------------- +# Patch corresponding to fix in upstream source 20210000.5 +# --------------------------------------------------------------------------- +file="CppAD-%{version}/test_more/general/atomic_three.cpp" +cat << EOF > junk.sed +s|f.size_par() == 5;|f.size_par() == 6;| +s|f.size_par() == 4;|f.size_par() == 5;| +s|f.size_par() == 2;|f.size_par() == 3;| +EOF +sed -i $file -f junk.sed # +file="CppAD-%{version}/test_more/general/new_dynamic.cpp" +cat << EOF > junk.sed +s|== num_dyn_ind + 1 + 2;|== num_dyn_ind + 1 + 3;| +s|== nd + 2 + 2;|== nd + 2 + 3;| +EOF +sed -i $file -f junk.sed +# +file="CppAD-%{version}/include/cppad/local/optimize/optimize_run.hpp" +cat << EOF > junk.sed +/nan with type Base/! b one +N;N;N +d +b end +# +: one +/const size_t num_var/! b two +s|^|# ifndef NDEBUG\\n| +s|\$|\\n# endif| +b end +# +: two +/set new_par for the dependent dynamic parameters/! b three +s|^| // index corresponding to the parameter zero\\ + addr_t zero_par_index = rec->put_con_par( Base(0) );\\n\\n| +b end +# +: three +/case FunapOp:/! b four +N;N;N;N;N;N;N +s|\\n *if.*|| +s|$|\\ + if( new_arg[0] == addr_t_max )\\ + new_arg[0] = zero_par_index;\\ + rec->PutArg(new_arg[0]);| +b end +# +: four +/if( size_t(new_arg.0.) < num_var )/! b five +s|if|CPPAD_ASSERT_UNKNOWN| +s|$|;\\ + if( new_arg[0] != 0 )| +b end +# +: five +/new_arg.0. =.*base_nan/! b six +s|=.*|= zero_par_index;| +: six +/case FunrpOp:/! b seven +N;N;N;N;N;N;N;N;N;N;N;N +s|\\n *if.*|| +s|$|\\ + if( new_arg[0] == addr_t_max )\\ + { // This parameter is not used here or anywhere.\\ + CPPAD_ASSERT_UNKNOWN( op_usage[i_op] == usage_t(no_usage) );\\ + new_arg[0] = zero_par_index;\\ + }\\ + rec->PutArg(new_arg[0]);\\ + //| +b end +# +: seven +s|rec->PutArg(0);.*|rec->PutArg( zero_par_index );| +: end +EOF +sed -i $file -f junk.sed +# ---------------------------------------------------------------------------- # 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&|" \ @@ -195,6 +272,9 @@ make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog +* 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 From 6e5d8bcb1b174d15a98f8af3b136badfb4c4f3d8 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 28 Feb 2021 04:25:58 -0700 Subject: [PATCH 112/163] Advance upstream source to 20210000.5 --- cppad.spec | 97 ++++-------------------------------------------------- 1 file changed, 6 insertions(+), 91 deletions(-) diff --git a/cppad.spec b/cppad.spec index e4078d5..52957d8 100644 --- a/cppad.spec +++ b/cppad.spec @@ -12,8 +12,8 @@ # Fedora Release starts with 1; see # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: %{yyyymmdd}.3 -Release: 3%{?dist} +Version: %{yyyymmdd}.5 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -85,95 +85,6 @@ tar -xzf %{_topdir}/SOURCES/%{yyyymmdd}.doc.tar.gz mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html -# --------------------------------------------------------------------------- -# Patch corresponding to bug fix in upstream source 20210000.4 -# --------------------------------------------------------------------------- -cp CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ - CppAD-%{version}/include/cppad/core/abs_normal_fun.bak -for uu in vp pv vv -do - sed -i CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ - -e "/ Zmul${uu}Op/N" \ - -e "/ Zmul${uu}Op/s|\n *CPPAD_ASSERT_NARG_NRES(op, 2, 1);||" -done -sed -i CppAD-%{version}/include/cppad/core/abs_normal_fun.hpp \ - -e 's|^\( *\)case ZmulvvOp:|\1case PowvvOp:\n&|' -# --------------------------------------------------------------------------- -# Patch corresponding to fix in upstream source 20210000.5 -# --------------------------------------------------------------------------- -file="CppAD-%{version}/test_more/general/atomic_three.cpp" -cat << EOF > junk.sed -s|f.size_par() == 5;|f.size_par() == 6;| -s|f.size_par() == 4;|f.size_par() == 5;| -s|f.size_par() == 2;|f.size_par() == 3;| -EOF -sed -i $file -f junk.sed -# -file="CppAD-%{version}/test_more/general/new_dynamic.cpp" -cat << EOF > junk.sed -s|== num_dyn_ind + 1 + 2;|== num_dyn_ind + 1 + 3;| -s|== nd + 2 + 2;|== nd + 2 + 3;| -EOF -sed -i $file -f junk.sed -# -file="CppAD-%{version}/include/cppad/local/optimize/optimize_run.hpp" -cat << EOF > junk.sed -/nan with type Base/! b one -N;N;N -d -b end -# -: one -/const size_t num_var/! b two -s|^|# ifndef NDEBUG\\n| -s|\$|\\n# endif| -b end -# -: two -/set new_par for the dependent dynamic parameters/! b three -s|^| // index corresponding to the parameter zero\\ - addr_t zero_par_index = rec->put_con_par( Base(0) );\\n\\n| -b end -# -: three -/case FunapOp:/! b four -N;N;N;N;N;N;N -s|\\n *if.*|| -s|$|\\ - if( new_arg[0] == addr_t_max )\\ - new_arg[0] = zero_par_index;\\ - rec->PutArg(new_arg[0]);| -b end -# -: four -/if( size_t(new_arg.0.) < num_var )/! b five -s|if|CPPAD_ASSERT_UNKNOWN| -s|$|;\\ - if( new_arg[0] != 0 )| -b end -# -: five -/new_arg.0. =.*base_nan/! b six -s|=.*|= zero_par_index;| -: six -/case FunrpOp:/! b seven -N;N;N;N;N;N;N;N;N;N;N;N -s|\\n *if.*|| -s|$|\\ - if( new_arg[0] == addr_t_max )\\ - { // This parameter is not used here or anywhere.\\ - CPPAD_ASSERT_UNKNOWN( op_usage[i_op] == usage_t(no_usage) );\\ - new_arg[0] = zero_par_index;\\ - }\\ - rec->PutArg(new_arg[0]);\\ - //| -b end -# -: seven -s|rec->PutArg(0);.*|rec->PutArg( zero_par_index );| -: end -EOF -sed -i $file -f junk.sed # ---------------------------------------------------------------------------- # cppad_lib: replace soversion number and ensure build type is release sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \ @@ -272,6 +183,10 @@ make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog +* Sun Feb 28 2021 Brad Bell - 20210000.5-1 +- Advance to upstream source 20210000.5 +- Remove patches that are no longer necessary. + * Thu Feb 18 2021 Brad Bell - 20210000.3-3 - Patch corresponding to bug fix in upstream source 20210000.5 From db77cfc1fac899a56f25e03150d1af2fa75c8db3 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 28 Feb 2021 04:52:52 -0700 Subject: [PATCH 113/163] Advamce to upstream source 20210000.5 --- .gitignore | 4 ++-- sources | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a8ffb4e..6213be0 100644 --- a/.gitignore +++ b/.gitignore @@ -13,8 +13,8 @@ /new/ /new.*/ # --------------------------------------------------------------------------- -# source code tarball that creates CppAD-20210000.3 -/20210000.3.tar.gz +# source code tarball that creates CppAD-20210000.5 +/20210000.5.tar.gz # # documentation tarball that creates CppAD-20210000.doc /20210000.doc.tar.gz diff --git a/sources b/sources index c6d93b4..99e1815 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (20210000.3.tar.gz) = fd6ab2610b8cc62c477622728992d348d0d4acde2e66f4e2d14847697832eb5a84bf2db480731fea57974b994bfe9d3b549336be82c745681ddfec65600ab3e2 +SHA512 (20210000.5.tar.gz) = 40cbe8dc32af9bb3b92cdd4c81e6f75424ece701df9251d4c63652998ca4cb8d50057e190a16e51333d168299f33ff2353074fa7f24f2cec29f68db53f6ae17c SHA512 (20210000.doc.tar.gz) = 4e7be2b01d6b2d1bd3862a3260176806432893403bc3ba98bbdaad4a701abb64d9f47ccb408fe5e6e8360b4642a65395865274aea184a36aed7baa15d1ee6560 From f92caad6c7f481b82332bb7c899a18c95634c7a0 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 28 Feb 2021 05:06:29 -0700 Subject: [PATCH 114/163] White space edit (line up column). --- cppad.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index 52957d8..dec0897 100644 --- a/cppad.spec +++ b/cppad.spec @@ -20,8 +20,8 @@ License: EPL-2.0 or GPLv2+ URL: http://coin-or.github.io/CppAD Source1: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz Source2: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz -BuildRequires: gcc -BuildRequires: gcc-c++ +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 BuildRequires: make From c1de1c8d026610913b3a699545462bc4605d4ed4 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 28 Feb 2021 06:26:06 -0700 Subject: [PATCH 115/163] Change: Source1, Source2 -> Source0, Source1. Change: make %{?_smp_mflags} -> %make_build Change: make install DESTDIR=%{buildroot} -> %make_install. --- cppad.spec | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/cppad.spec b/cppad.spec index dec0897..327caa3 100644 --- a/cppad.spec +++ b/cppad.spec @@ -18,8 +18,8 @@ Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ URL: http://coin-or.github.io/CppAD -Source1: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz -Source2: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz +Source0: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz +Source1: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 2.8 @@ -151,14 +151,17 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' -D cppad_debug_which='debug_all' \ CppAD-%{version} # -make %{?_smp_mflags} +# see https://docs.fedoraproject.org/en-US/packaging-guidelines/ +# parallel_make +%make_build # ----------------------------------------------------------------------------- # Install # ----------------------------------------------------------------------------- %install -rm -rf %{buildroot} -make install DESTDIR=%{buildroot} +# https://docs.fedoraproject.org/en-US/packaging-guidelines/ +# why_the_makeinstall_macro_should_not_be_used +%make_install %files devel %{_includedir}/%{name} @@ -186,6 +189,9 @@ make %{?_smp_mflags} check * 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 From 0e0c6a0073bb70db842042061741b480833d2503 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 7 Mar 2021 11:50:28 -0700 Subject: [PATCH 116/163] Use %setup to unpack tarballs. --- cppad.spec | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/cppad.spec b/cppad.spec index 327caa3..d140529 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -62,27 +62,18 @@ of %{name}-devel in The documentation, for the most recent version of %{name}, can be found at http://coin-or.github.io/CppAD -# ----------------------------------------------------------------------------- -# The user can compile with or without debugging using this library, -# because the prep seciton ensures CPPAD_DEBUG_AND_RELEASE is defined. -# The cppad_lib library has gotten larger, so we include a debug version. -%debug_package - # ----------------------------------------------------------------------------- # prep # ----------------------------------------------------------------------------- %prep # -# This source code tarball creates CppAD-%%{version} -rm -rf CppAD-%{version} -tar -xzf %{_topdir}/SOURCES/%{version}.tar.gz -# -# This documentation tarball creates CppAD-%%{yyymmdd}.doc -rm -rf CppAD-%{yyyymmdd}.doc -tar -xzf %{_topdir}/SOURCES/%{yyyymmdd}.doc.tar.gz +# Create an empty directory named cppad-%%{version}, +# changed into that directory and unpack Source0 and Source1. +%setup -q -c -a 0 -a 1 # # move the documentaion to the build directory mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc +# mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # ---------------------------------------------------------------------------- @@ -183,9 +174,17 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' # use the installed include files to compile and run the tests %check make %{?_smp_mflags} check - +# ---------------------------------------------------------------------------- +# %%clean +# Use %%clean with no arguments to surpress the cleanup of BUILDROOT +# This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From c21a7ccc7021bd2468921cd6e3b511431fbaa693 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 15:08:36 +0000 Subject: [PATCH 117/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 6b0d9e285253d975a46ab0f27dc5e4e35b128ffe Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 20:03:50 +0000 Subject: [PATCH 118/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index d140529..0c0f8e7 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -180,6 +180,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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). From a3664d10d700061b22205b58f244cef51fd24b48 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 2 Aug 2021 14:43:09 -0400 Subject: [PATCH 119/163] Advance upstream source to cppad-20210000.7. --- .gitignore | 2 +- cppad.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6213be0..fac1028 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,7 @@ /new.*/ # --------------------------------------------------------------------------- # source code tarball that creates CppAD-20210000.5 -/20210000.5.tar.gz +/20210000.7.tar.gz # # documentation tarball that creates CppAD-20210000.doc /20210000.doc.tar.gz diff --git a/cppad.spec b/cppad.spec index 0c0f8e7..27c0fe9 100644 --- a/cppad.spec +++ b/cppad.spec @@ -12,8 +12,8 @@ # Fedora Release starts with 1; see # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad -Version: %{yyyymmdd}.5 -Release: 3%{?dist} +Version: %{yyyymmdd}.7 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -180,6 +180,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index 99e1815..dd66d55 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (20210000.5.tar.gz) = 40cbe8dc32af9bb3b92cdd4c81e6f75424ece701df9251d4c63652998ca4cb8d50057e190a16e51333d168299f33ff2353074fa7f24f2cec29f68db53f6ae17c +SHA512 (20210000.7.tar.gz) = 856a0669d91cea7695195f88a987b3b8eac5ec6de81d9dc55b8d90e78495553df1c2c152a27b49ae8596d4ac5c30f482501577fc88227efc8fe3e3b7859dd88e SHA512 (20210000.doc.tar.gz) = 4e7be2b01d6b2d1bd3862a3260176806432893403bc3ba98bbdaad4a701abb64d9f47ccb408fe5e6e8360b4642a65395865274aea184a36aed7baa15d1ee6560 From c3dadec47e471fa7ffc057ca3c44c3c1e4f742cc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 23:54:47 +0000 Subject: [PATCH 120/163] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 27c0fe9..897fccf 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # https://fedoraproject.org/wiki/Packaging:Versioning Name: cppad Version: %{yyyymmdd}.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -180,6 +180,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 From fa9f210a680d2efe5e74affb97c0149f9941b55b Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 24 Jan 2022 05:01:51 -0700 Subject: [PATCH 121/163] 1. Advance to cppad-20220000.1 2. Suppress incorrect array bounds warning. --- .gitignore | 2 ++ cppad.spec | 24 ++++++++++++++++-------- sources | 4 ++-- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index fac1028..28df073 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ # # documentation tarball that creates CppAD-20210000.doc /20210000.doc.tar.gz +/20220000.1.tar.gz +/20220000.doc.tar.gz diff --git a/cppad.spec b/cppad.spec index 897fccf..3083203 100644 --- a/cppad.spec +++ b/cppad.spec @@ -4,16 +4,17 @@ # ---------------------------------------------------------------------------- # yyyy is year, mm is month, dd is day, corresponding to this version. # The %%{version} macro includes a bug fix number at end that starts at zero. -%define yyyymmdd 20210000 +%define yyyymmdd 20220000 # # fedora uses its own soversion number for cppad_lib -%define soversion 2.0 +# 3.0 corresponds to version 20220000 +%define soversion 3.0 # Fedora Release starts with 1; see -# https://fedoraproject.org/wiki/Packaging:Versioning +# https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: %{yyyymmdd}.7 -Release: 2%{?dist} +Version: %{yyyymmdd}.1 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -22,7 +23,7 @@ Source0: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz Source1: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: cmake >= 2.8 +BuildRequires: cmake >= 3.0 BuildRequires: make # Starting with f33, need to define this macro to build in source directory @@ -107,9 +108,12 @@ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ # 2. The last argument to the cmake command is the directory created using # the souce code tarball. # -# 3. The debug_all is overridden by for cppad_lib by the edit of +# 3. The debug_all is overridden for cppad_lib by the edit of # cppad_lib/CMakeLists.txt above -cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion' +# +# 4. The new 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='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion -Wno-array-bounds' %cmake --version %cmake \ -D CMAKE_VERBOSE_MAKEFILE=0 \ @@ -180,6 +184,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index dd66d55..4355c8e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (20210000.7.tar.gz) = 856a0669d91cea7695195f88a987b3b8eac5ec6de81d9dc55b8d90e78495553df1c2c152a27b49ae8596d4ac5c30f482501577fc88227efc8fe3e3b7859dd88e -SHA512 (20210000.doc.tar.gz) = 4e7be2b01d6b2d1bd3862a3260176806432893403bc3ba98bbdaad4a701abb64d9f47ccb408fe5e6e8360b4642a65395865274aea184a36aed7baa15d1ee6560 +SHA512 (20220000.1.tar.gz) = d3645c790a1452588894039def020f60a39e432bfcfa02b44360b14fcb31ac884bee62c3a8a84b73d41bb7b00c89347d960415f359b7fb63872b8515b9586162 +SHA512 (20220000.doc.tar.gz) = ba8e995c503759c41464c9b58b74db0b9305db485118703f743ee82494785cf0d7e382fa476b3295939c7aa263407310e488cd95e281b1cf9e513980f6c03c4b From dc5cb5d824df4002bb2c01c3a95669ab879f7a85 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 24 Jan 2022 05:06:03 -0700 Subject: [PATCH 122/163] .gitignore: change temporary files from junk -> temp. --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 28df073..71005a6 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,8 @@ # ignore log files created by fedpkg local /*.log # temporary files -/junk -/junk.* +/temp +/temp.* # ignore result drectory created by fedpkg mockbuild /results_cppad/ # directory used like git cache From db2c52179f595542c126a0a7b2d138256803f236 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 31 Jan 2022 06:03:48 -0700 Subject: [PATCH 123/163] Fix two long standing typos in spec file cmake command. --- cppad.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cppad.spec b/cppad.spec index 3083203..06f7050 100644 --- a/cppad.spec +++ b/cppad.spec @@ -95,7 +95,6 @@ sed -i.bak CppAD-%{version}/cmake/set_compile_flags.cmake \ # test_more/debug_rel/CMakeLists.txt: remove def of CPPAD_DEBUG_AND_RELEASE sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ -e 's|-DCPPAD_DEBUG_AND_RELEASE||' -# # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- @@ -139,8 +138,8 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion -Wno-ar \ -D cppad_cxx_flags="$cppad_cxx_flags" \ -D cppad_profile_flag='' \ - -D cppad_test_vector=cppad \ - -D cppad_max_num_theads=64 \ + -D cppad_testvector=cppad \ + -D cppad_max_num_threads=64 \ -D cppad_tape_id_type=size_t \ -D cppad_tape_addr_type=size_t \ -D cppad_debug_which='debug_all' \ @@ -184,6 +183,11 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 + * 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) From 1f5281417e49c231dbc202996a19df9eb112ba92 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 31 Jan 2022 07:07:20 -0700 Subject: [PATCH 124/163] Termorary change to debugging version of example/utility/to_string.cpp. --- cppad.spec | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/cppad.spec b/cppad.spec index 06f7050..11a29e9 100644 --- a/cppad.spec +++ b/cppad.spec @@ -95,6 +95,136 @@ sed -i.bak CppAD-%{version}/cmake/set_compile_flags.cmake \ # test_more/debug_rel/CMakeLists.txt: remove def of CPPAD_DEBUG_AND_RELEASE sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ -e 's|-DCPPAD_DEBUG_AND_RELEASE||' +# ---------------------------------------------------------------------------- +# Temporarly replace to_string.cpp in order to debug ppc64le arch problem +cat << EOF > CppAD-%{version}/example/utility/to_string.cpp +// Examples with fundamental types +# include +namespace { + template + void print_error( + const char* routine_name, + const char* value_name, + Type value, + Type check, + Type eps = Type(0) ) + { std::cout << routine_name << " error : "; + std::cout << value_name << " - check = " << value - check; + std::cout << ", eps = " << eps << "\n"; + return; + } + template + Integer string2signed(const std::string& s) + { Integer result = 0; + size_t index = 0; + if( s[0] == '-' ) + ++index; + while( index < s.size() ) + result = Integer( 10 * result + (s[index++] - '0') ); + if( s[0] == '-' ) + return - result; + return result; + } + template + Integer string2unsigned(const std::string& s) + { Integer result = 0; + size_t index = 0; + while( index < s.size() ) + result = Integer(10 * result + Integer(s[index++]) - '0'); + return result; + } + template + bool signed_integer(void) + { bool ok = true; + // + Integer max = std::numeric_limits::max(); + std::string s = CppAD::to_string(max); + Integer check = string2signed(s); + ok &= max == check; + if( max != check ) + print_error("signed_integer", "max", max, check); + // + Integer min = std::numeric_limits::min(); + s = CppAD::to_string(min); + check = string2signed(s); + ok &= min == check; + if( min != check ) + print_error("signed_integer", "min", min, check); + // + return ok; + } + template + bool unsigned_integer(void) + { bool ok = true; + // + Integer max = std::numeric_limits::max(); + std::string s = CppAD::to_string(max); + Integer check = string2unsigned(s); + ok &= max == check; + if( max != check ) + print_error("unsigned_integer", "max", max, check); + ok &= std::numeric_limits::min() == 0; + if( std::numeric_limits::min() != 0 ) + std::cout << "unsigned_integer: min != 0 \n"; + // + return ok; + } + template + bool floating(void) + { bool ok = true; + Float eps = std::numeric_limits::epsilon(); + Float pi = Float( 4.0 * std::atan(1.0) ); + // + std::string s = CppAD::to_string( pi ); + Float check = Float( std::atof( s.c_str() ) ); + ok &= std::fabs( check / pi - 1.0 ) <= Float(2.0) * eps; + if( ! ok ) + print_error("floating", "pi", pi, check, eps); + // + return ok; + } +} +// Examples with AD types +# include +namespace { + template + bool ad_floating(void) + { bool ok = true; + Base eps = std::numeric_limits::epsilon(); + Base pi = Base( 4.0 * std::atan(1.0) ); + // + std::string s = CppAD::to_string( CppAD::AD( pi ) ); + Base check = Base( std::atof( s.c_str() ) ); + ok &= fabs( check / pi - Base(1.0) ) <= Base( 2.0 ) * eps; + if( ! ok ) + print_error("ad_floating", "pi", pi, check, eps); + // + return ok; + } +} +// Test driver +bool to_string(void) +{ bool ok = true; + + ok &= unsigned_integer(); + ok &= signed_integer(); + // + ok &= unsigned_integer(); + ok &= signed_integer(); + ok &= unsigned_integer(); + ok &= signed_integer(); + // + ok &= floating(); + ok &= floating(); + ok &= floating(); + // + ok &= ad_floating(); + ok &= ad_floating(); + // + return ok; +} +EOF +# # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- @@ -187,6 +317,7 @@ make %{?_smp_mflags} check - 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 * Mon Jan 24 2022 Brad Bell - 20220000.1-1 - Advance to upstream source 20220000.1 From 3ba78cfdce5f2638a0e079264c4c0405616bcabf Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 31 Jan 2022 08:49:55 -0700 Subject: [PATCH 125/163] Patch to_string.cpp to fix bug found using -fsanitize=undefined' complier flag --- cppad.spec | 148 ++++++++--------------------------------------------- 1 file changed, 20 insertions(+), 128 deletions(-) diff --git a/cppad.spec b/cppad.spec index 11a29e9..c8abdd8 100644 --- a/cppad.spec +++ b/cppad.spec @@ -96,135 +96,26 @@ sed -i.bak CppAD-%{version}/cmake/set_compile_flags.cmake \ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ -e 's|-DCPPAD_DEBUG_AND_RELEASE||' # ---------------------------------------------------------------------------- -# Temporarly replace to_string.cpp in order to debug ppc64le arch problem -cat << EOF > CppAD-%{version}/example/utility/to_string.cpp -// Examples with fundamental types -# include -namespace { - template - void print_error( - const char* routine_name, - const char* value_name, - Type value, - Type check, - Type eps = Type(0) ) - { std::cout << routine_name << " error : "; - std::cout << value_name << " - check = " << value - check; - std::cout << ", eps = " << eps << "\n"; - return; - } - template - Integer string2signed(const std::string& s) - { Integer result = 0; - size_t index = 0; - if( s[0] == '-' ) - ++index; - while( index < s.size() ) - result = Integer( 10 * result + (s[index++] - '0') ); - if( s[0] == '-' ) - return - result; - return result; - } - template - Integer string2unsigned(const std::string& s) - { Integer result = 0; - size_t index = 0; - while( index < s.size() ) - result = Integer(10 * result + Integer(s[index++]) - '0'); - return result; - } - template - bool signed_integer(void) - { bool ok = true; - // - Integer max = std::numeric_limits::max(); - std::string s = CppAD::to_string(max); - Integer check = string2signed(s); - ok &= max == check; - if( max != check ) - print_error("signed_integer", "max", max, check); - // - Integer min = std::numeric_limits::min(); - s = CppAD::to_string(min); - check = string2signed(s); - ok &= min == check; - if( min != check ) - print_error("signed_integer", "min", min, check); - // - return ok; - } - template - bool unsigned_integer(void) - { bool ok = true; - // - Integer max = std::numeric_limits::max(); - std::string s = CppAD::to_string(max); - Integer check = string2unsigned(s); - ok &= max == check; - if( max != check ) - print_error("unsigned_integer", "max", max, check); - ok &= std::numeric_limits::min() == 0; - if( std::numeric_limits::min() != 0 ) - std::cout << "unsigned_integer: min != 0 \n"; - // - return ok; - } - template - bool floating(void) - { bool ok = true; - Float eps = std::numeric_limits::epsilon(); - Float pi = Float( 4.0 * std::atan(1.0) ); - // - std::string s = CppAD::to_string( pi ); - Float check = Float( std::atof( s.c_str() ) ); - ok &= std::fabs( check / pi - 1.0 ) <= Float(2.0) * eps; - if( ! ok ) - print_error("floating", "pi", pi, check, eps); - // - return ok; - } -} -// Examples with AD types -# include -namespace { - template - bool ad_floating(void) - { bool ok = true; - Base eps = std::numeric_limits::epsilon(); - Base pi = Base( 4.0 * std::atan(1.0) ); - // - std::string s = CppAD::to_string( CppAD::AD( pi ) ); - Base check = Base( std::atof( s.c_str() ) ); - ok &= fabs( check / pi - Base(1.0) ) <= Base( 2.0 ) * eps; - if( ! ok ) - print_error("ad_floating", "pi", pi, check, eps); - // - return ok; - } -} -// Test driver -bool to_string(void) -{ bool ok = true; - - ok &= unsigned_integer(); - ok &= signed_integer(); - // - ok &= unsigned_integer(); - ok &= signed_integer(); - ok &= unsigned_integer(); - ok &= signed_integer(); - // - ok &= floating(); - ok &= floating(); - ok &= floating(); - // - ok &= ad_floating(); - ok &= ad_floating(); - // - return ok; -} +# Patch to fix example/utility/to_string.cpp +# This will no longer be necessary once the upstread source > 20220000.1 +cat << EOF > to_string.patch +32,36c32,39 +< ++index; +< while( index < s.size() ) +< result = Integer( 10 * result + (s[index++] - '0') ); +< if( s[0] == '-' ) +< return - result; +--- +> { ++index; +> while( index < s.size() ) +> result = Integer(10) * result - Integer(s[index++] - '0' ); +> } +> else +> { while( index < s.size() ) +> result = Integer(10) * result + Integer(s[index++] - '0' ); +> } EOF -# +patch CppAD-%{version}/example/utility/to_string.cpp to_string.patch # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- @@ -318,6 +209,7 @@ make %{?_smp_mflags} check - 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 From eb00ce3fab52851536a3c539551ca444769911e1 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 31 Jan 2022 16:49:04 -0700 Subject: [PATCH 126/163] Include debugging printout in patch to example/utility/to_string.cpp. --- cppad.spec | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index c8abdd8..f4059f2 100644 --- a/cppad.spec +++ b/cppad.spec @@ -99,7 +99,20 @@ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ # Patch to fix example/utility/to_string.cpp # This will no longer be necessary once the upstread source > 20220000.1 cat << EOF > to_string.patch -32,36c32,39 +26a27,38 +> template +> void print_error( +> const char* routine_name, +> const char* value_name, +> Type value, +> Type check, +> Type eps = Type(0) ) +> { std::cout << routine_name << " error : "; +> std::cout << value_name << " - check = " << value - check; +> std::cout << ", eps = " << eps << "\n"; +> return; +> } +32,36c44,51 < ++index; < while( index < s.size() ) < result = Integer( 10 * result + (s[index++] - '0') ); @@ -114,6 +127,24 @@ cat << EOF > to_string.patch > { while( index < s.size() ) > result = Integer(10) * result + Integer(s[index++] - '0' ); > } +54a70,71 +> if( max != check ) +> print_error("signed_integer", "max", max, check); +59a77,78 +> if( min != check ) +> print_error("signed_integer", "min", min, check); +70a90,91 +> if( max != check ) +> print_error("unsigned_integer", "max", max, check); +71a93,94 +> if( std::numeric_limits::min() != 0 ) +> std::cout << "unsigned_integer: min != 0\n"; +83a107,108 +> if( ! ok ) +> print_error("floating", "pi", pi, check, eps); +100a126,127 +> if( ! ok ) +> print_error("ad_floating", "pi", pi, check, eps); EOF patch CppAD-%{version}/example/utility/to_string.cpp to_string.patch # ----------------------------------------------------------------------------- From 1ec57428983289206331dceb015aafedcfe2107a Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 1 Feb 2022 03:25:21 -0700 Subject: [PATCH 127/163] Print more informtion to help debug to_string failure on ppc64le arch. --- cppad.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index f4059f2..5fadadd 100644 --- a/cppad.spec +++ b/cppad.spec @@ -139,12 +139,16 @@ cat << EOF > to_string.patch 71a93,94 > if( std::numeric_limits::min() != 0 ) > std::cout << "unsigned_integer: min != 0\n"; -83a107,108 +83a107,110 > if( ! ok ) +> { std::cout << "check/pi - 1.0 = " << check/pi - 1.0 << "\n"; > print_error("floating", "pi", pi, check, eps); -100a126,127 +> } +100a128,131 > if( ! ok ) +> { std::cout << "check/pi - 1.0 = " << check/pi - Base(1.0) << "\n"; > print_error("ad_floating", "pi", pi, check, eps); +> } EOF patch CppAD-%{version}/example/utility/to_string.cpp to_string.patch # ----------------------------------------------------------------------------- @@ -235,6 +239,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* Tue Feb 01 2022 Brad Bell - 20220000.1-1 +- Modify to_string.cpp patch to print out more information on failure. + * Mon Jan 31 2022 Brad Bell - 20220000.1-1 - Fix following long standing typos in cmake command: - 1. cppad_test_vector -> cppad_testvector From b7bf3ae164bef701e0eaad4204c06f930133b85a Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 1 Feb 2022 04:53:26 -0700 Subject: [PATCH 128/163] Add simple program that prints machine epsilon before testing. --- cppad.spec | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/cppad.spec b/cppad.spec index 5fadadd..6feb782 100644 --- a/cppad.spec +++ b/cppad.spec @@ -96,6 +96,27 @@ sed -i.bak CppAD-%{version}/cmake/set_compile_flags.cmake \ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ -e 's|-DCPPAD_DEBUG_AND_RELEASE||' # ---------------------------------------------------------------------------- +# Print machine epsilon before any other testing +cat << EOF > temp.cpp +# include +# include +int main(void) +{ float float_eps = std::numeric_limits::epsilon(); + std::cout << "float_eps = " << float_eps << "\n"; + // + float double_eps = std::numeric_limits::epsilon(); + std::cout << "double_eps = " << double_eps << "\n"; + // + float long_double_eps = std::numeric_limits::epsilon(); + std::cout << "long_double_eps = " << long_double_eps << "\n"; + // + return 0; +} +EOF +g++ -std=c++11 temp.cpp -o temp +./temp > temp.out +cat temp.out +# ---------------------------------------------------------------------------- # Patch to fix example/utility/to_string.cpp # This will no longer be necessary once the upstread source > 20220000.1 cat << EOF > to_string.patch @@ -241,6 +262,7 @@ make %{?_smp_mflags} check %changelog * 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: From e586257ca0da4aa635cb283dd461a169f2db3b8a Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 1 Feb 2022 06:16:04 -0700 Subject: [PATCH 129/163] Trying to understand machine epsilon in to_string.cpp test on ppc64le arch. --- cppad.spec | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/cppad.spec b/cppad.spec index 6feb782..1f2db83 100644 --- a/cppad.spec +++ b/cppad.spec @@ -100,16 +100,14 @@ sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ cat << EOF > temp.cpp # include # include +template void print_epsilon(const char* type_name) +{ Float epsilon = std::numeric_limits::epsilon(); + std::cout << type_name << " epsilson = " << epsilon << "\n"; +} int main(void) -{ float float_eps = std::numeric_limits::epsilon(); - std::cout << "float_eps = " << float_eps << "\n"; - // - float double_eps = std::numeric_limits::epsilon(); - std::cout << "double_eps = " << double_eps << "\n"; - // - float long_double_eps = std::numeric_limits::epsilon(); - std::cout << "long_double_eps = " << long_double_eps << "\n"; - // +{ print_epsilon("float"); + print_epsilon("double"); + print_epsilon("long double"); return 0; } EOF @@ -160,14 +158,16 @@ cat << EOF > to_string.patch 71a93,94 > if( std::numeric_limits::min() != 0 ) > std::cout << "unsigned_integer: min != 0\n"; -83a107,110 +83a107,111 > if( ! ok ) -> { std::cout << "check/pi - 1.0 = " << check/pi - 1.0 << "\n"; +> { std::cout << "check / pi - 1.0 = " << check / pi - 1.0; +> std::cout << ", eps = " << eps << "\n"; > print_error("floating", "pi", pi, check, eps); > } -100a128,131 +100a129,133 > if( ! ok ) -> { std::cout << "check/pi - 1.0 = " << check/pi - Base(1.0) << "\n"; +> { std::cout << "check / pi - 1.0 = " << check /pi - Base(1.0); +> std::cout << ", eps = " << eps << "\n"; > print_error("ad_floating", "pi", pi, check, eps); > } EOF From eb15127798062a5815e73174844c4615ad8679f1 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 1 Feb 2022 06:27:43 -0700 Subject: [PATCH 130/163] Restrict debugging to ppc64le (no need to waste time on other arch). --- cppad.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/cppad.spec b/cppad.spec index 1f2db83..3a01e56 100644 --- a/cppad.spec +++ b/cppad.spec @@ -25,6 +25,7 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 3.0 BuildRequires: make +BuildArch: ppc64le # Starting with f33, need to define this macro to build in source directory %define __cmake_in_source_build 1 From a39dc910657021dcf25f15875e4103a63fa3e4f5 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 1 Feb 2022 06:29:13 -0700 Subject: [PATCH 131/163] Restricting build to ppc64le did not work. --- cppad.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 3a01e56..1f2db83 100644 --- a/cppad.spec +++ b/cppad.spec @@ -25,7 +25,6 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 3.0 BuildRequires: make -BuildArch: ppc64le # Starting with f33, need to define this macro to build in source directory %define __cmake_in_source_build 1 From f150a3464403ef94bd1f62b223a8d8287580a803 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 1 Feb 2022 19:19:59 -0700 Subject: [PATCH 132/163] Another attempt to get ppc64le to pass to_string test. --- cppad.spec | 61 +++++++++++++++++++++--------------------------------- 1 file changed, 24 insertions(+), 37 deletions(-) diff --git a/cppad.spec b/cppad.spec index 1f2db83..552e008 100644 --- a/cppad.spec +++ b/cppad.spec @@ -118,20 +118,23 @@ cat temp.out # Patch to fix example/utility/to_string.cpp # This will no longer be necessary once the upstread source > 20220000.1 cat << EOF > to_string.patch -26a27,38 -> template -> void print_error( -> const char* routine_name, -> const char* value_name, -> Type value, -> Type check, -> Type eps = Type(0) ) -> { std::cout << routine_name << " error : "; -> std::cout << value_name << " - check = " << value - check; -> std::cout << ", eps = " << eps << "\n"; -> return; +2c2 +26a27,40 +> template +> Float epsilon(void) +> { size_t digits = size_t( std::numeric_limits::digits ); +> Float radix = Float( std::numeric_limits::radix ); +> Float result = Float(1); +> for(size_t i = 1; i < digits; ++i) +> result = result / radix; +> /* +> std::cout << "epsilon function = " << result; +> std::cout << ", limit = " << std::numeric_limits::epsilon(); +> std::cout << "\n"; +> */ +> return result; > } -32,36c44,51 +32,36c46,53 < ++index; < while( index < s.size() ) < result = Integer( 10 * result + (s[index++] - '0') ); @@ -146,30 +149,14 @@ cat << EOF > to_string.patch > { while( index < s.size() ) > result = Integer(10) * result + Integer(s[index++] - '0' ); > } -54a70,71 -> if( max != check ) -> print_error("signed_integer", "max", max, check); -59a77,78 -> if( min != check ) -> print_error("signed_integer", "min", min, check); -70a90,91 -> if( max != check ) -> print_error("unsigned_integer", "max", max, check); -71a93,94 -> if( std::numeric_limits::min() != 0 ) -> std::cout << "unsigned_integer: min != 0\n"; -83a107,111 -> if( ! ok ) -> { std::cout << "check / pi - 1.0 = " << check / pi - 1.0; -> std::cout << ", eps = " << eps << "\n"; -> print_error("floating", "pi", pi, check, eps); -> } -100a129,133 -> if( ! ok ) -> { std::cout << "check / pi - 1.0 = " << check /pi - Base(1.0); -> std::cout << ", eps = " << eps << "\n"; -> print_error("ad_floating", "pi", pi, check, eps); -> } +78c95 +< Float eps = std::numeric_limits::epsilon(); +--- +> Float eps = epsilon(); +95c112 +< Base eps = std::numeric_limits::epsilon(); +--- +> Base eps = epsilon(); EOF patch CppAD-%{version}/example/utility/to_string.cpp to_string.patch # ----------------------------------------------------------------------------- From ba8fd073780105912480d3983fd6e65b002cb22c Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 2 Feb 2022 06:05:21 -0700 Subject: [PATCH 133/163] Try commenting out long double test of to_string on ppc64le arch. --- cppad.spec | 57 ++++++++++++------------------------------------------ 1 file changed, 12 insertions(+), 45 deletions(-) diff --git a/cppad.spec b/cppad.spec index 552e008..6780b66 100644 --- a/cppad.spec +++ b/cppad.spec @@ -102,7 +102,7 @@ cat << EOF > temp.cpp # include template void print_epsilon(const char* type_name) { Float epsilon = std::numeric_limits::epsilon(); - std::cout << type_name << " epsilson = " << epsilon << "\n"; + std::cout << type_name << " epsilon = " << epsilon << "\n"; } int main(void) { print_epsilon("float"); @@ -115,50 +115,13 @@ g++ -std=c++11 temp.cpp -o temp ./temp > temp.out cat temp.out # ---------------------------------------------------------------------------- -# Patch to fix example/utility/to_string.cpp -# This will no longer be necessary once the upstread source > 20220000.1 -cat << EOF > to_string.patch -2c2 -26a27,40 -> template -> Float epsilon(void) -> { size_t digits = size_t( std::numeric_limits::digits ); -> Float radix = Float( std::numeric_limits::radix ); -> Float result = Float(1); -> for(size_t i = 1; i < digits; ++i) -> result = result / radix; -> /* -> std::cout << "epsilon function = " << result; -> std::cout << ", limit = " << std::numeric_limits::epsilon(); -> std::cout << "\n"; -> */ -> return result; -> } -32,36c46,53 -< ++index; -< while( index < s.size() ) -< result = Integer( 10 * result + (s[index++] - '0') ); -< if( s[0] == '-' ) -< return - result; ---- -> { ++index; -> while( index < s.size() ) -> result = Integer(10) * result - Integer(s[index++] - '0' ); -> } -> else -> { while( index < s.size() ) -> result = Integer(10) * result + Integer(s[index++] - '0' ); -> } -78c95 -< Float eps = std::numeric_limits::epsilon(); ---- -> Float eps = epsilon(); -95c112 -< Base eps = std::numeric_limits::epsilon(); ---- -> Base eps = epsilon(); -EOF -patch CppAD-%{version}/example/utility/to_string.cpp to_string.patch +# Comment out test of to_string long double on ppc64le arch. Understanding why +# it is failing will have to wait until there is a fedora 36 ppc64le test machine. +if [ "%{_arch}" == 'ppc64le' ] +then + sed -i.bak CppAD-%{version}/example/utility/to_string.cpp \ + -e 's|ok *&= *floating();|// &|' +fi # ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- @@ -247,6 +210,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From 241ba30dadddc236b2fd4da1a32a879ab0dce892 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 14 Feb 2022 04:19:55 -0700 Subject: [PATCH 134/163] Add comment about upstream 20220000.2 --- cppad.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cppad.spec b/cppad.spec index 6780b66..6faa08a 100644 --- a/cppad.spec +++ b/cppad.spec @@ -210,6 +210,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From 1defac31d6c30ab82639b966afd4c07ba7bea9e0 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 22 May 2022 06:41:30 -0700 Subject: [PATCH 135/163] Advance to upstream source 20220000.4. --- .gitignore | 10 +++++----- cppad.spec | 6 +++++- sources | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 71005a6..55e990f 100644 --- a/.gitignore +++ b/.gitignore @@ -13,10 +13,10 @@ /new/ /new.*/ # --------------------------------------------------------------------------- -# source code tarball that creates CppAD-20210000.5 -/20210000.7.tar.gz +# source code tarball that creates most recent release +/20220000.4.tar.gz # -# documentation tarball that creates CppAD-20210000.doc -/20210000.doc.tar.gz -/20220000.1.tar.gz +# documentation tarball that creates most recent release /20220000.doc.tar.gz +# +# replacements for tarballs above diff --git a/cppad.spec b/cppad.spec index 6faa08a..dc0e7b6 100644 --- a/cppad.spec +++ b/cppad.spec @@ -13,7 +13,7 @@ # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: %{yyyymmdd}.1 +Version: %{yyyymmdd}.4 Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc @@ -210,6 +210,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. diff --git a/sources b/sources index 4355c8e..a9e910f 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (20220000.1.tar.gz) = d3645c790a1452588894039def020f60a39e432bfcfa02b44360b14fcb31ac884bee62c3a8a84b73d41bb7b00c89347d960415f359b7fb63872b8515b9586162 +SHA512 (20220000.4.tar.gz) = 778cc953a0b7aa74ef45c0405d9fd46107aa4dcdbaeca899e629aac012bf376709c907f3c5c522b6627032904a2ca0f1210ea0f51534f363a39157278c0905b3 SHA512 (20220000.doc.tar.gz) = ba8e995c503759c41464c9b58b74db0b9305db485118703f743ee82494785cf0d7e382fa476b3295939c7aa263407310e488cd95e281b1cf9e513980f6c03c4b From d14466b71f794303cf8dafcaa858b21c2462deb2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 23:39:37 +0000 Subject: [PATCH 136/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index dc0e7b6..467685c 100644 --- a/cppad.spec +++ b/cppad.spec @@ -14,7 +14,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: %{yyyymmdd}.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -210,6 +210,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From 38beed4697501658997624285bb36b84c7ca281e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 00:35:03 +0000 Subject: [PATCH 137/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 467685c..7889b6e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -14,7 +14,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: %{yyyymmdd}.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc License: EPL-2.0 or GPLv2+ @@ -210,6 +210,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 From 4d089c0432e92b7f916ce907caf31fe55bfbfaa9 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 28 Jan 2023 15:22:23 -0700 Subject: [PATCH 138/163] Advance to upstream source 2023000.0; see changelog for more details. --- cppad.spec | 99 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 74 insertions(+), 25 deletions(-) diff --git a/cppad.spec b/cppad.spec index 7889b6e..5b20d51 100644 --- a/cppad.spec +++ b/cppad.spec @@ -2,31 +2,32 @@ # ---------------------------------------------------------------------------- # Preamble # ---------------------------------------------------------------------------- -# yyyy is year, mm is month, dd is day, corresponding to this version. -# The %%{version} macro includes a bug fix number at end that starts at zero. -%define yyyymmdd 20220000 -# # fedora uses its own soversion number for cppad_lib -# 3.0 corresponds to version 20220000 -%define soversion 3.0 +# 4.0 corresponds to version 20230000 +%define soversion 4.0 # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ -Name: cppad -Version: %{yyyymmdd}.4 -Release: 3%{?dist} +Name: cppad +Version: 20230000.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc - +# License: EPL-2.0 or GPLv2+ -URL: http://coin-or.github.io/CppAD -Source0: https://github.com/coin-or/CppAD/archive/%{version}.tar.gz -Source1: https://github.com/coin-or/CppAD/archive/%{yyyymmdd}.doc.tar.gz +URL: https://github.com/coin-or/CppAD +Source: %{url}/archive/%{version}/CppAD-%{version}.tar.gz +# BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 3.0 BuildRequires: make +BuildRequires: python-xrst +# python-xrst should auotmatically require python-toml +BuildRequires: python-toml -# Starting with f33, need to define this macro to build in source directory +# This is really an out of soruce build because the source is in the +# CppAD-%%{version} sub-directory. The fedora macros are confused and need +# this defined true. %define __cmake_in_source_build 1 %description @@ -61,7 +62,7 @@ The %{name}-doc package installs the HTML documentation for this version of %{name}-devel in %{_docdir}/%{name} The documentation, for the most recent version of %{name}, can be found at - http://coin-or.github.io/CppAD + https://cppad.readthedocs.io # ----------------------------------------------------------------------------- # prep @@ -70,11 +71,29 @@ The documentation, for the most recent version of %{name}, can be found at # # Create an empty directory named cppad-%%{version}, # changed into that directory and unpack Source0 and Source1. -%setup -q -c -a 0 -a 1 +%setup -q -c # -# move the documentaion to the build directory -mv CppAD-%{yyyymmdd}.doc/doc CppAD-%{version}/doc +# xrst.toml +echo '' >> CppAD-%{version}/xrst.toml +echo '[spell_package]' >> CppAD-%{version}/xrst.toml +echo 'data = "pyenchant"' >> CppAD-%{version}/xrst.toml +echo '' >> CppAD-%{version}/xrst.toml +echo '[input_files]' >> CppAD-%{version}/xrst.toml +echo 'data = [ ]' >> CppAD-%{version}/xrst.toml # +# CppAD-%%{version}/build/html +mkdir CppAD-%{version}/build +xrst --version +xrst \ + --config_file CppAD-%{version}/xrst.toml \ + --local_toc \ + --target html \ + --html_theme sphinx_rtd_theme \ + --index_page_name user_guide \ + --group_list default app \ + --suppress_spell_warnings +# +# COPYING, uw_copy_040507.html mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # ---------------------------------------------------------------------------- @@ -137,11 +156,30 @@ fi # 3. The debug_all is overridden for cppad_lib by the edit of # cppad_lib/CMakeLists.txt above # -# 4. The new c++ compiler seems to be generating an incorrect warning about +# 4. 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='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion -Wno-array-bounds' +# +# 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' \ \ @@ -159,9 +197,9 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion -Wno-ar -D include_ipopt=false \ -D include_cppadcg=false \ \ - -D colpack_prefix='' \ - -D fadbad_prefix='' \ - -D sacado_prefix='' \ + -D colpack_prefix='NOTFOUND' \ + -D fadbad_prefix='NOTFOUND' \ + -D sacado_prefix='NOTFOUND' \ \ -D cppad_cxx_flags="$cppad_cxx_flags" \ -D cppad_profile_flag='' \ @@ -169,8 +207,7 @@ cppad_cxx_flags='-Wall -pedantic-errors -std=c++11 -Wshadow -Wconversion -Wno-ar -D cppad_max_num_threads=64 \ -D cppad_tape_id_type=size_t \ -D cppad_tape_addr_type=size_t \ - -D cppad_debug_which='debug_all' \ - CppAD-%{version} + -D cppad_debug_which='debug_all' # # see https://docs.fedoraproject.org/en-US/packaging-guidelines/ # parallel_make @@ -210,6 +247,18 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +%changelog +* 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 + have 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 From 36a05d352aa4bae5b59a414f908d7fdc5fac527b Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 28 Jan 2023 15:40:53 -0700 Subject: [PATCH 139/163] fedpkg new-sources: advance to cppad 2023. --- .gitignore | 8 ++------ sources | 3 +-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 55e990f..c6389ad 100644 --- a/.gitignore +++ b/.gitignore @@ -13,10 +13,6 @@ /new/ /new.*/ # --------------------------------------------------------------------------- -# source code tarball that creates most recent release -/20220000.4.tar.gz # -# documentation tarball that creates most recent release -/20220000.doc.tar.gz -# -# replacements for tarballs above +# Most recent upstrem source +/CppAD-20230000.0.tar.gz diff --git a/sources b/sources index a9e910f..d6257f0 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (20220000.4.tar.gz) = 778cc953a0b7aa74ef45c0405d9fd46107aa4dcdbaeca899e629aac012bf376709c907f3c5c522b6627032904a2ca0f1210ea0f51534f363a39157278c0905b3 -SHA512 (20220000.doc.tar.gz) = ba8e995c503759c41464c9b58b74db0b9305db485118703f743ee82494785cf0d7e382fa476b3295939c7aa263407310e488cd95e281b1cf9e513980f6c03c4b +SHA512 (CppAD-20230000.0.tar.gz) = 9ed852894ab8eb1ca16a4599144293b08ca4cd9ca00e4a0585c8fea387c4a02143e065bc2c5d91dbe33ce5773aefb5ba74a6211b18827d22af70cb553d1051de From 1cdfcfdf4da3a991a5fc469113a3fe51c73465cb Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 28 Jan 2023 20:01:33 -0700 Subject: [PATCH 140/163] 1. Remove .doctrees and .buildinfo from documentation. 2. Remove extra changelog command. --- cppad.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index 5b20d51..fad0ac7 100644 --- a/cppad.spec +++ b/cppad.spec @@ -92,6 +92,11 @@ xrst \ --index_page_name user_guide \ --group_list default app \ --suppress_spell_warnings +# +# remove hidden files not needed for viewing documentation +rm CppAD-%{version}/build/html/.buildinfo +rm -r CppAD-%{version}/build/html/.doctrees + # # COPYING, uw_copy_040507.html mv CppAD-%{version}/COPYING COPYING @@ -247,12 +252,11 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog -%changelog * 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 - have the same name as the directory it creates. + 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. From 56fc54b2ea3aa90619c47292d18b9575d7489f0d Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 29 Jan 2023 03:15:14 -0700 Subject: [PATCH 141/163] Move libcppad_lib.so to main package; see changelog for more details. --- cppad.spec | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/cppad.spec b/cppad.spec index fad0ac7..941ff36 100644 --- a/cppad.spec +++ b/cppad.spec @@ -2,10 +2,21 @@ # ---------------------------------------------------------------------------- # Preamble # ---------------------------------------------------------------------------- +# fedpkg lint: W: files-duplicate: +# the files user_guide.html index.html in directory /usr/share/doc/cppad +# are the same. This is because a redirect from index.hml to user_guide.html +# will not reload when user_guide.html changes. +# # fedora uses its own soversion number for cppad_lib # 4.0 corresponds to version 20230000 %define soversion 4.0 +# This is really an out of soruce build because the source is in the +# CppAD-%%{version} sub-directory. The fedora macros are confused and need +# this defined true. +%define __cmake_in_source_build 1 +# ---------------------------------------------------------------------------- + # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad @@ -25,13 +36,9 @@ BuildRequires: python-xrst # python-xrst should auotmatically require python-toml BuildRequires: python-toml -# This is really an out of soruce build because the source is in the -# CppAD-%%{version} sub-directory. The fedora macros are confused and need -# this defined true. -%define __cmake_in_source_build 1 - %description -C++ Algorithmic Differentiation (AD), see %{name}-devel, %{name}-doc. +C++ Algorithmic Differentiation (AD) library file libcppad_lib.so; +see %{name}-devel and %{name}-doc. # --------------------------------------------------------------------------- %package devel @@ -226,18 +233,20 @@ cppad_cxx_flags=\ # why_the_makeinstall_macro_should_not_be_used %make_install +%files +%{_libdir}/libcppad_lib.so.%{soversion} + %files devel %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/libcppad_lib.so -%{_libdir}/libcppad_lib.so.%{soversion} # These documentation files come from the source code tarball %doc COPYING uw_copy_040507.html %files doc -# These documentation files come from the docukentation tarball +# These documentation files are build by the xrst command above %{_docdir}/%{name} # ----------------------------------------------------------------------------- @@ -252,6 +261,12 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From 4beb0ab48ef1e71751cc3b6e3a61667767509aa9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 16:28:52 +0000 Subject: [PATCH 142/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 941ff36..9a95c21 100644 --- a/cppad.spec +++ b/cppad.spec @@ -21,7 +21,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: 20230000.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 or GPLv2+ @@ -261,6 +261,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From d346fa2aa75fcdb9bfa3ae7e8cd891e9fa2d0347 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 25 Dec 2023 05:53:09 -0700 Subject: [PATCH 143/163] migrate to SPDX license, discuss fedpkg lint W: no-documentation. --- cppad.spec | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/cppad.spec b/cppad.spec index 9a95c21..94b6f17 100644 --- a/cppad.spec +++ b/cppad.spec @@ -2,6 +2,14 @@ # ---------------------------------------------------------------------------- # Preamble # ---------------------------------------------------------------------------- +# 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.' +# # fedpkg lint: W: files-duplicate: # the files user_guide.html index.html in directory /usr/share/doc/cppad # are the same. This is because a redirect from index.hml to user_guide.html @@ -24,7 +32,7 @@ Version: 20230000.0 Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # -License: EPL-2.0 or GPLv2+ +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 # @@ -58,6 +66,8 @@ algorithm that computes its derivative values. A brief introduction to Algorithmic Differentiation (AD) can be found at http://en.wikipedia.org/wiki/Automatic_differentiation See the package %{name}-doc for documentation of this version of %{name}. +The documentation, for the most recent version of %{name}, can be found at + https://cppad.readthedocs.io # ---------------------------------------------------------------------------- %package doc @@ -89,6 +99,7 @@ echo '[input_files]' >> CppAD-%{version}/xrst.toml echo 'data = [ ]' >> CppAD-%{version}/xrst.toml # # CppAD-%%{version}/build/html +# run xrst to create the documentation files in the directory above mkdir CppAD-%{version}/build xrst --version xrst \ @@ -100,6 +111,7 @@ xrst \ --group_list default app \ --suppress_spell_warnings # +# CppAD-%%{version}/build/html # remove hidden files not needed for viewing documentation rm CppAD-%{version}/build/html/.buildinfo rm -r CppAD-%{version}/build/html/.doctrees @@ -108,6 +120,7 @@ rm -r CppAD-%{version}/build/html/.doctrees # COPYING, uw_copy_040507.html mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html +# # ---------------------------------------------------------------------------- # cppad_lib: replace soversion number and ensure build type is release sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \ @@ -236,15 +249,15 @@ cppad_cxx_flags=\ %files %{_libdir}/libcppad_lib.so.%{soversion} +# These documentation files come from the source code tarball +%doc COPYING uw_copy_040507.html + %files devel %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/libcppad_lib.so -# These documentation files come from the source code tarball -%doc COPYING uw_copy_040507.html - %files doc # These documentation files are build by the xrst command above %{_docdir}/%{name} @@ -261,6 +274,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* Mon Dec 25 2023 Brad Bell - 20230000.0-2 +- 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 From 70636f182adf200328ea8a9aa7846d868e7ca09f Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 25 Dec 2023 05:57:52 -0700 Subject: [PATCH 144/163] Advance to cppad-20230000.3 --- cppad.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index 94b6f17..817500d 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: 20230000.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -274,7 +274,7 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog -* Mon Dec 25 2023 Brad Bell - 20230000.0-2 +* Mon Dec 25 2023 Brad Bell - 20230000.0-3 - migrated to SPDX license - move %%doc directive before subpackages (becasue it is in main package) From a430fe77114681152c69fae4347218eef9c39ff3 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 6 Jan 2024 06:40:19 -0700 Subject: [PATCH 145/163] Advance upstream source to cppad-20240000.0 --- .gitignore | 2 +- cppad.spec | 34 +++++++++++++--------------------- sources | 2 +- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index c6389ad..95e194c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,4 @@ # --------------------------------------------------------------------------- # # Most recent upstrem source -/CppAD-20230000.0.tar.gz +/CppAD-20240000.0.tar.gz diff --git a/cppad.spec b/cppad.spec index 817500d..2a013c0 100644 --- a/cppad.spec +++ b/cppad.spec @@ -16,8 +16,8 @@ # will not reload when user_guide.html changes. # # fedora uses its own soversion number for cppad_lib -# 4.0 corresponds to version 20230000 -%define soversion 4.0 +# 5.0 corresponds to version 20240000 +%define soversion 5.0 # This is really an out of soruce build because the source is in the # CppAD-%%{version} sub-directory. The fedora macros are confused and need @@ -28,8 +28,8 @@ # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: 20230000.0 -Release: 3%{?dist} +Version: 20240000.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -40,7 +40,7 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 3.0 BuildRequires: make -BuildRequires: python-xrst +BuildRequires: python-xrst >= 2024.0 # python-xrst should auotmatically require python-toml BuildRequires: python-toml @@ -92,9 +92,6 @@ The documentation, for the most recent version of %{name}, can be found at # # xrst.toml echo '' >> CppAD-%{version}/xrst.toml -echo '[spell_package]' >> CppAD-%{version}/xrst.toml -echo 'data = "pyenchant"' >> CppAD-%{version}/xrst.toml -echo '' >> CppAD-%{version}/xrst.toml echo '[input_files]' >> CppAD-%{version}/xrst.toml echo 'data = [ ]' >> CppAD-%{version}/xrst.toml # @@ -127,18 +124,6 @@ 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|" # -# configure.hpp.in: Make sure CPPAD_DEBUG_AND_RELEASE is defined -# so we can use cppad_lib with both debug and release builds. -sed -i.bak CppAD-%{version}/include/cppad/configure.hpp.in \ - -e 's|# define CPPAD_CONFIGURE_HPP|&\n# define CPPAD_DEBUG_AND_RELEASE|' -# -# set_compile_flags.cmake: remove conditional def of CPPAD_DEBUG_AND_RELEASE -sed -i.bak CppAD-%{version}/cmake/set_compile_flags.cmake \ - -e 's|-DCPPAD_DEBUG_AND_RELEASE||' -# -# test_more/debug_rel/CMakeLists.txt: remove def of CPPAD_DEBUG_AND_RELEASE -sed -i.bak CppAD-%{version}/test_more/debug_rel/CMakeLists.txt \ - -e 's|-DCPPAD_DEBUG_AND_RELEASE||' # ---------------------------------------------------------------------------- # Print machine epsilon before any other testing cat << EOF > temp.cpp @@ -232,7 +217,8 @@ cppad_cxx_flags=\ -D cppad_max_num_threads=64 \ -D cppad_tape_id_type=size_t \ -D cppad_tape_addr_type=size_t \ - -D cppad_debug_which='debug_all' + -D cppad_debug_which='debug_all' \ + -D cppad_debug_and_release=true # # see https://docs.fedoraproject.org/en-US/packaging-guidelines/ # parallel_make @@ -274,6 +260,12 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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) diff --git a/sources b/sources index d6257f0..f7996a5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (CppAD-20230000.0.tar.gz) = 9ed852894ab8eb1ca16a4599144293b08ca4cd9ca00e4a0585c8fea387c4a02143e065bc2c5d91dbe33ce5773aefb5ba74a6211b18827d22af70cb553d1051de +SHA512 (CppAD-20240000.0.tar.gz) = d437d8cae591da3e3b2b29d078a90e91aa005b93db8cd8794702c3cbb972bcd572160220b4793b8eada62665beac7a2cfdc32a2def40a1b9822144a7dde293ab From b32c596bc6cd516fa9f597346bd7fbeac929914c Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 8 Jan 2024 06:24:50 -0700 Subject: [PATCH 146/163] fix build on Host: buildvm-x86-16.iad2.fedoraproject.org --- .gitignore | 2 +- cppad.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 95e194c..fa6017e 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,4 @@ # --------------------------------------------------------------------------- # # Most recent upstrem source -/CppAD-20240000.0.tar.gz +/CppAD-20240000.1.tar.gz diff --git a/cppad.spec b/cppad.spec index 2a013c0..c36ec93 100644 --- a/cppad.spec +++ b/cppad.spec @@ -28,7 +28,7 @@ # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: 20240000.0 +Version: 20240000.1 Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # @@ -260,6 +260,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index f7996a5..fe882af 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (CppAD-20240000.0.tar.gz) = d437d8cae591da3e3b2b29d078a90e91aa005b93db8cd8794702c3cbb972bcd572160220b4793b8eada62665beac7a2cfdc32a2def40a1b9822144a7dde293ab +SHA512 (CppAD-20240000.1.tar.gz) = 453f1975dc8cb65df9838e8fb1fa3c2ae302c52a2628e58112ca5aa272ea02b6597988f8f6424e505ed18a29656a38fa943ea2a1d0f3e3f2509ebdc2fe9d84d4 From 592496bf4b1cc26796dd02bf37524f3be8a83b34 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 9 Jan 2024 19:00:38 -0700 Subject: [PATCH 147/163] Fix some errors on 32 bit systems. Improve parallel build. --- cppad.spec | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/cppad.spec b/cppad.spec index c36ec93..6d34667 100644 --- a/cppad.spec +++ b/cppad.spec @@ -91,6 +91,8 @@ The documentation, for the most recent version of %{name}, can be found at %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 @@ -99,6 +101,11 @@ echo 'data = [ ]' >> CppAD-%{version}/xrst.toml # run xrst to create the documentation files in the directory above mkdir CppAD-%{version}/build xrst --version +number_jobs=$(echo %{?_smp_mflags} | sed -e 's|[^0-9]*\([0-9]*\)[^0-9]*|\1|') +if [ "$number_jobs" == '' ] +then + number_jobs='1' +fi xrst \ --config_file CppAD-%{version}/xrst.toml \ --local_toc \ @@ -106,6 +113,7 @@ xrst \ --html_theme sphinx_rtd_theme \ --index_page_name user_guide \ --group_list default app \ + --number_jobs $number_jobs \ --suppress_spell_warnings # # CppAD-%%{version}/build/html @@ -152,6 +160,22 @@ then -e 's|ok *&= *floating();|// &|' fi # ----------------------------------------------------------------------------- +# Some patches for 32 bit systems that should not be necessary once +# cppad-20240000.2 is available. +echo "_arch = %{_arch}" +if [ "%{_arch}" == 'i386' ] || [ "%{_arch}" == 'i686' ] +then + # Add padding to block_t structure when compiling for these arch values + sed -i.bak \ + CppAD-%{version}/include/cppad/utility/thread_alloc.hpp \ + -e 's|^\( *\)void[*]\( *\)next_;|&\n\1void*\2not_used_;|' + # + # avoid redefinition of a template specialization + sed -i.bak \ + CppAD-%{version}/include/cppad/local/val_graph/op_hash_table.hpp \ + -e 's|# if ! CPPAD_TAPE_ADDR_TYPE_IS_SIZE_T|# if 0|' +fi +# ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- %build @@ -260,6 +284,13 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 From a90ee42b56896f559088da9d14b82ca52c1ed423 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 17 Jan 2024 12:12:35 -0700 Subject: [PATCH 148/163] Advance to CppAD-20240000.2 --- .gitignore | 2 +- cppad.spec | 24 ++++++------------------ sources | 2 +- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index fa6017e..a54129c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,4 @@ # --------------------------------------------------------------------------- # # Most recent upstrem source -/CppAD-20240000.1.tar.gz +/CppAD-20240000.2.tar.gz diff --git a/cppad.spec b/cppad.spec index 6d34667..1e6179e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -28,7 +28,7 @@ # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: 20240000.1 +Version: 20240000.2 Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # @@ -160,22 +160,6 @@ then -e 's|ok *&= *floating();|// &|' fi # ----------------------------------------------------------------------------- -# Some patches for 32 bit systems that should not be necessary once -# cppad-20240000.2 is available. -echo "_arch = %{_arch}" -if [ "%{_arch}" == 'i386' ] || [ "%{_arch}" == 'i686' ] -then - # Add padding to block_t structure when compiling for these arch values - sed -i.bak \ - CppAD-%{version}/include/cppad/utility/thread_alloc.hpp \ - -e 's|^\( *\)void[*]\( *\)next_;|&\n\1void*\2not_used_;|' - # - # avoid redefinition of a template specialization - sed -i.bak \ - CppAD-%{version}/include/cppad/local/val_graph/op_hash_table.hpp \ - -e 's|# if ! CPPAD_TAPE_ADDR_TYPE_IS_SIZE_T|# if 0|' -fi -# ----------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- %build @@ -213,7 +197,7 @@ cppad_cxx_flags=\ %cmake \ -S CppAD-%{version} \ -B . \ - \ + \ -D CMAKE_VERBOSE_MAKEFILE=0 \ -G 'Unix Makefiles' \ \ @@ -284,6 +268,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* Wed Jan 17 2024 Brad Bell - 20240000.2-1 +- Upstream moved i386 special cases into cmake script. +- Checking that othr 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. diff --git a/sources b/sources index fe882af..122d577 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (CppAD-20240000.1.tar.gz) = 453f1975dc8cb65df9838e8fb1fa3c2ae302c52a2628e58112ca5aa272ea02b6597988f8f6424e505ed18a29656a38fa943ea2a1d0f3e3f2509ebdc2fe9d84d4 +SHA512 (CppAD-20240000.2.tar.gz) = 0c4f57582347f1c11fabda56ef9324b5399194d13c2bcd98038f64dde1c820326cd278a94b1b97cb7aa90760bafe0c3d13c1fddf989841313ae1d4db122789c2 From 349a37079013b48fdd9e3ac5e18dc2229703adbf Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 16:16:10 +0000 Subject: [PATCH 149/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 1e6179e..061ec35 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: 20240000.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -268,6 +268,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 othr upstream changes do not affect Fedora install. From 704b9e316676d07e923b4a37a3fc5017525d3227 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 08:15:09 +0000 Subject: [PATCH 150/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 061ec35..6315a76 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: 20240000.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -268,6 +268,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 From 7ca8fb4ebe5989956425954450b51259d78c0fe7 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 17 Feb 2024 04:51:11 -0700 Subject: [PATCH 151/163] Advance upstream source 20240000.3 (fixes bug). --- cppad.spec | 17 +++++++++-------- get_tarball.sh | 16 ++++++++++++++++ 2 files changed, 25 insertions(+), 8 deletions(-) create mode 100755 get_tarball.sh diff --git a/cppad.spec b/cppad.spec index 6315a76..793bd7e 100644 --- a/cppad.spec +++ b/cppad.spec @@ -28,8 +28,8 @@ # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: 20240000.2 -Release: 3%{?dist} +Version: 20240000.3 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -168,13 +168,10 @@ fi # because they are absolute paths. Relative values would be more flexible # because they can be combined with %%{_prefix} to get absolute values. # -# 2. The last argument to the cmake command is the directory created using -# the souce code tarball. -# -# 3. The debug_all is overridden for cppad_lib by the edit of +# 2. The debug_all is overridden for cppad_lib by the edit of # cppad_lib/CMakeLists.txt above # -# 4. The gnu c++ compiler seems to be generating an incorrect warning about +# 3. 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 @@ -268,6 +265,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* Sat Feb 17 2024 Brad Bell - 20240000.3-1 +- This fixes a long standing bug; see the heading 02-04 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 @@ -276,7 +277,7 @@ make %{?_smp_mflags} check * Wed Jan 17 2024 Brad Bell - 20240000.2-1 - Upstream moved i386 special cases into cmake script. -- Checking that othr upstream changes do not affect Fedora install. +- 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 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 From 1c080e45318514f1642092710bf619647fd1b5ad Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 17 Feb 2024 05:04:50 -0700 Subject: [PATCH 152/163] fedpkg new-sources for cppad-20240000.3. --- .gitignore | 4 ++-- sources | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a54129c..d716090 100644 --- a/.gitignore +++ b/.gitignore @@ -9,10 +9,10 @@ /temp.* # ignore result drectory created by fedpkg mockbuild /results_cppad/ -# directory used like git cache +# directories used like git cache /new/ /new.*/ # --------------------------------------------------------------------------- # # Most recent upstrem source -/CppAD-20240000.2.tar.gz +/CppAD-20240000.3.tar.gz diff --git a/sources b/sources index 122d577..1ed1dbc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (CppAD-20240000.2.tar.gz) = 0c4f57582347f1c11fabda56ef9324b5399194d13c2bcd98038f64dde1c820326cd278a94b1b97cb7aa90760bafe0c3d13c1fddf989841313ae1d4db122789c2 +SHA512 (CppAD-20240000.3.tar.gz) = 8a542df030a885a2a801634414e309aae1f546395a2e41e40bae2b553de00569ce17b2761eceea962d242382abe5ce6bf561bf9a6b476594ab802b9aa6f66000 From 67c31e81d8235f55be85467aeffcf6ba2be4d056 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 20 Feb 2024 04:52:08 -0700 Subject: [PATCH 153/163] fix changelog comment: 02-04 -> 02-14. --- cppad.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 793bd7e..f539e2d 100644 --- a/cppad.spec +++ b/cppad.spec @@ -266,7 +266,7 @@ make %{?_smp_mflags} check # ---------------------------------------------------------------------------- %changelog * Sat Feb 17 2024 Brad Bell - 20240000.3-1 -- This fixes a long standing bug; see the heading 02-04 on +- 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 From b320dde8bb98a24a512c0b043646bf4ca36af612 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Fri, 1 Mar 2024 09:10:08 -0700 Subject: [PATCH 154/163] Use prep to make patch for 20240000.3 -> 20240000.4 bug fix. --- cppad.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index f539e2d..5e57be9 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: 20240000.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -132,6 +132,10 @@ 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|" # +# Bug fix to version 20240000.3 (not necessary in version 20240000.4 or higher) +sed -z -i.bak CppAD-%{version}/include/cppad/local/val_graph/fun2val.hpp \ + -e 's|\n *break;\(\n[^\n]*}\n[^\n]*-\n[^\n]*else switch(var_op)\n\)|\1|' +# # ---------------------------------------------------------------------------- # Print machine epsilon before any other testing cat << EOF > temp.cpp @@ -265,6 +269,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 From 177515840f49a50fcef1314825c7f07140595a77 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 20:05:43 +0000 Subject: [PATCH 155/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 5e57be9..d542922 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: 20240000.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -269,6 +269,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From 7f98c63ceb3001fc8047cb76b4eac27f6084dff1 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Tue, 14 Jan 2025 19:11:25 -0700 Subject: [PATCH 156/163] advance to cppad-20250000.0 --- .gitignore | 1 + cppad.spec | 60 +++++++++++++++++++++++++++++++++--------------------- sources | 2 +- 3 files changed, 39 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index d716090..db91bc0 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ # # Most recent upstrem source /CppAD-20240000.3.tar.gz +/CppAD-20250000.0.tar.gz diff --git a/cppad.spec b/cppad.spec index d542922..428c89c 100644 --- a/cppad.spec +++ b/cppad.spec @@ -28,8 +28,8 @@ # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: 20240000.3 -Release: 3%{?dist} +Version: 20250000.0 +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -40,9 +40,13 @@ BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: cmake >= 3.0 BuildRequires: make -BuildRequires: python-xrst >= 2024.0 -# python-xrst should auotmatically require python-toml -BuildRequires: python-toml +BuildRequires: python-xrst >= 2025.0 +BuildRequires: python-sphinx_rtd_theme +BuildRequires: python-toml +BuildRequires: python-sphinx-copybutton +BuildRequires: python-pyspellchecker +BuildRequires: python-furo + %description C++ Algorithmic Differentiation (AD) library file libcppad_lib.so; @@ -61,7 +65,7 @@ Provides: coin-or-cppad-devel = %{version}-%{release} We refer to the step by step conversion from an algorithm that computes function values to an algorithm that computes derivative values as Algorithmic Differentiation (often referred to as Automatic Differentiation.) -Given a C++ algorithm that computes function values, %{name} generates an +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 @@ -79,7 +83,7 @@ The %{name}-doc package installs the HTML documentation for this version of %{name}-devel in %{_docdir}/%{name} The documentation, for the most recent version of %{name}, can be found at - https://cppad.readthedocs.io + https://cppad.readthedocs.io/latest # ----------------------------------------------------------------------------- # prep @@ -87,9 +91,14 @@ The documentation, for the most recent version of %{name}, can be found at %prep # # Create an empty directory named cppad-%%{version}, -# changed into that directory and unpack Source0 and Source1. +# changed into that directory and unpack Source. %setup -q -c # +# atomic_op.hpp +# Fix warning. This should not be necessary when version > 20250000.0 +sed -i CppAD-%{version}/include/cppad/local/var_op/atomic_op.hpp \ + -e 's|arg_tmp\[1\];|*arg_tmp = { 0 };|' +# # 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. @@ -120,6 +129,7 @@ xrst \ # remove hidden files not needed for viewing documentation rm CppAD-%{version}/build/html/.buildinfo rm -r CppAD-%{version}/build/html/.doctrees +mv CppAD-%{version}/build/html html # # COPYING, uw_copy_040507.html @@ -132,10 +142,6 @@ 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|" # -# Bug fix to version 20240000.3 (not necessary in version 20240000.4 or higher) -sed -z -i.bak CppAD-%{version}/include/cppad/local/val_graph/fun2val.hpp \ - -e 's|\n *break;\(\n[^\n]*}\n[^\n]*-\n[^\n]*else switch(var_op)\n\)|\1|' -# # ---------------------------------------------------------------------------- # Print machine epsilon before any other testing cat << EOF > temp.cpp @@ -158,12 +164,12 @@ cat temp.out # ---------------------------------------------------------------------------- # Comment out test of to_string long double on ppc64le arch. Understanding why # it is failing will have to wait until there is a fedora 36 ppc64le test machine. -if [ "%{_arch}" == 'ppc64le' ] -then - sed -i.bak CppAD-%{version}/example/utility/to_string.cpp \ - -e 's|ok *&= *floating();|// &|' -fi -# ----------------------------------------------------------------------------- +### if [ "%{_arch}" == 'ppc64le' ] +### then +### sed -i.bak CppAD-%{version}/example/utility/to_string.cpp \ +### -e 's|ok *&= *floating();|// &|' +### fi +# ---------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- %build @@ -211,8 +217,12 @@ cppad_cxx_flags=\ -D cmake_install_datadir=share \ -D cmake_install_docdir=share/doc \ \ + -D cmake_defined_ok=false \ + -D include_doc=false \ + -D cppad_static_lib=false \ + -D cppad_debug_and_release=true \ + \ -D include_adolc=false \ - -D include_eigen=false \ -D include_ipopt=false \ -D include_cppadcg=false \ \ @@ -225,9 +235,8 @@ cppad_cxx_flags=\ -D cppad_testvector=cppad \ -D cppad_max_num_threads=64 \ -D cppad_tape_id_type=size_t \ - -D cppad_tape_addr_type=size_t \ - -D cppad_debug_which='debug_all' \ - -D cppad_debug_and_release=true + -D cppad_tape_addr_type='unsigned int' \ + -D cppad_debug_which='debug_all' # # see https://docs.fedoraproject.org/en-US/packaging-guidelines/ # parallel_make @@ -247,6 +256,7 @@ cppad_cxx_flags=\ # These documentation files come from the source code tarball %doc COPYING uw_copy_040507.html + %files devel %{_includedir}/%{name} %{_datadir}/pkgconfig/%{name}.pc @@ -254,8 +264,9 @@ cppad_cxx_flags=\ %{_libdir}/libcppad_lib.so %files doc + # These documentation files are build by the xrst command above -%{_docdir}/%{name} +%doc html # ----------------------------------------------------------------------------- # Check @@ -269,6 +280,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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 diff --git a/sources b/sources index 1ed1dbc..1f290de 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (CppAD-20240000.3.tar.gz) = 8a542df030a885a2a801634414e309aae1f546395a2e41e40bae2b553de00569ce17b2761eceea962d242382abe5ce6bf561bf9a6b476594ab802b9aa6f66000 +SHA512 (CppAD-20250000.0.tar.gz) = 05bb5a77e56f53f89f3e403943e64521bfd8e148ed142d9ce3ee695e10574567befce76cf31819fe1f580e45e9d11db0477388e18b78e410ca7ea528b04ec282 From 6b512b129139bc69f443b5d1d633bf7497f6aa23 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 14:42:43 +0000 Subject: [PATCH 157/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 428c89c..b33f4aa 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: 20250000.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -280,6 +280,9 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* 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. From d104a975a749d3ac822ca1cc277c5a903047fdae Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sat, 18 Jan 2025 04:15:34 -0700 Subject: [PATCH 158/163] Fix two bugs (should not be necessary one version > 20250000.0). --- cppad.spec | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/cppad.spec b/cppad.spec index b33f4aa..be19055 100644 --- a/cppad.spec +++ b/cppad.spec @@ -136,6 +136,38 @@ mv CppAD-%{version}/build/html html mv CppAD-%{version}/COPYING COPYING mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # +# fix bug +# should not be needed once version > 20250000.0 +cat << EOF > temp.sed +/setup_random(size_t& not_used)/! b end +: loop +N +/\\n *}/! b loop +s|^|# if ! CPPAD_IS_SAME_UNSIGNED_INT_SIZE_T\\n| +s|$|\\n# endif| +# +: end +EOF +sed -i.bak CppAD-%{version}/include/cppad/local/play/player.hpp -f temp.sed +# +# fix bug +# should not be needed once version > 20250000.0 +cat << EOF > temp.sed +/CHECK_CXX_SOURCE_COMPILES/! b end +s|^| SET(CMAKE_REQUIRED_DEFINITIONS "" )\\ + SET(CMAKE_REQUIRED_INCLUDES "" )\\ + SET(CMAKE_REQUIRED_LIBRARIES "" )\\ + IF( cppad_cxx_flags )\\ + SET(CMAKE_REQUIRED_FLAGS "\${cppad_cxx_flags} \${CMAKE_CXX_FLAGS}" )\\ + ELSE( cppad_cxx_flags )\\ + SET(CMAKE_REQUIRED_FLAGS "" )\\ + ENDIF( cppad_cxx_flags )\\ +| +# +: end +EOF +sed -i.bak CppAD-%{version}/cmake/compile_source_test.cmake -f temp.sed +# # ---------------------------------------------------------------------------- # cppad_lib: replace soversion number and ensure build type is release sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \ @@ -280,6 +312,10 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog +* Sat Jan 18 2025 Brad Bell - 20250000.0-1 +- 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 From 504ed13acbea32f60ff480cad6c32c5aff7c7607 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 19 Jan 2025 04:52:58 -0700 Subject: [PATCH 159/163] Remove doc subpackage and fix soversion number. --- cppad.spec | 83 ++++++++++++++++-------------------------------------- 1 file changed, 25 insertions(+), 58 deletions(-) diff --git a/cppad.spec b/cppad.spec index be19055..eaae564 100644 --- a/cppad.spec +++ b/cppad.spec @@ -15,21 +15,26 @@ # are the same. This is because a redirect from index.hml to user_guide.html # will not reload when user_guide.html changes. # -# fedora uses its own soversion number for cppad_lib -# 5.0 corresponds to version 20240000 -%define soversion 5.0 - +# year +# The year corresponding to this version +%define year 2025 +# +# 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. The fedora macros are confused and need -# this defined true. +# CppAD-%%{version} sub-directory of the source. The fedora macros are +# confused and need this defined true. %define __cmake_in_source_build 1 # ---------------------------------------------------------------------------- # Fedora Release starts with 1; see # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad -Version: 20250000.0 -Release: 2%{?dist} +Version: %{year}0000.0 +Release: 3%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -65,26 +70,14 @@ Provides: coin-or-cppad-devel = %{version}-%{release} We refer to the step by step conversion from an algorithm that computes function values to an algorithm that computes derivative values as Algorithmic Differentiation (often referred to as Automatic Differentiation.) -Given a C++ algorithm that computes function values, {name} generates an +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 -See the package %{name}-doc for documentation of this version of %{name}. -The documentation, for the most recent version of %{name}, can be found at - https://cppad.readthedocs.io - -# ---------------------------------------------------------------------------- -%package doc -Summary: Documentation for %{name}-devel -BuildArch: noarch - -%description doc -The %{name}-doc package installs the HTML documentation for this version -of %{name}-devel in - %{_docdir}/%{name} -The documentation, for the most recent version of %{name}, can be found at +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 # ----------------------------------------------------------------------------- @@ -105,36 +98,10 @@ sed -i CppAD-%{version}/include/cppad/local/var_op/atomic_op.hpp \ echo '' >> CppAD-%{version}/xrst.toml echo '[input_files]' >> CppAD-%{version}/xrst.toml echo 'data = [ ]' >> CppAD-%{version}/xrst.toml -# -# CppAD-%%{version}/build/html -# run xrst to create the documentation files in the directory above -mkdir CppAD-%{version}/build -xrst --version -number_jobs=$(echo %{?_smp_mflags} | sed -e 's|[^0-9]*\([0-9]*\)[^0-9]*|\1|') -if [ "$number_jobs" == '' ] -then - number_jobs='1' -fi -xrst \ - --config_file CppAD-%{version}/xrst.toml \ - --local_toc \ - --target html \ - --html_theme sphinx_rtd_theme \ - --index_page_name user_guide \ - --group_list default app \ - --number_jobs $number_jobs \ - --suppress_spell_warnings -# -# CppAD-%%{version}/build/html -# remove hidden files not needed for viewing documentation -rm CppAD-%{version}/build/html/.buildinfo -rm -r CppAD-%{version}/build/html/.doctrees -mv CppAD-%{version}/build/html html - # # COPYING, uw_copy_040507.html -mv CppAD-%{version}/COPYING COPYING -mv CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html +cp CppAD-%{version}/COPYING COPYING +cp CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # # fix bug # should not be needed once version > 20250000.0 @@ -295,11 +262,6 @@ cppad_cxx_flags=\ %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/libcppad_lib.so -%files doc - -# These documentation files are build by the xrst command above -%doc html - # ----------------------------------------------------------------------------- # Check # ----------------------------------------------------------------------------- @@ -312,7 +274,12 @@ make %{?_smp_mflags} check # This enables one to check that the necessary files are installed. # ---------------------------------------------------------------------------- %changelog -* Sat Jan 18 2025 Brad Bell - 20250000.0-1 +* Sat 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/ . + +* 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. From 21f1afc53f745dff7f4c3bb869d8cd36b436f728 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Sun, 19 Jan 2025 08:41:01 -0700 Subject: [PATCH 160/163] Use g++ get_started.cpp to test the installed version of CppAD. --- cppad.spec | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/cppad.spec b/cppad.spec index eaae564..d100622 100644 --- a/cppad.spec +++ b/cppad.spec @@ -10,11 +10,6 @@ # a changelog or other information that is better placed in the main package # instead of a -doc subpackage.' # -# fedpkg lint: W: files-duplicate: -# the files user_guide.html index.html in directory /usr/share/doc/cppad -# are the same. This is because a redirect from index.hml to user_guide.html -# will not reload when user_guide.html changes. -# # year # The year corresponding to this version %define year 2025 @@ -54,8 +49,7 @@ BuildRequires: python-furo %description -C++ Algorithmic Differentiation (AD) library file libcppad_lib.so; -see %{name}-devel and %{name}-doc. +C++ Algorithmic Differentiation (AD) include and library files. # --------------------------------------------------------------------------- %package devel @@ -135,13 +129,12 @@ s|^| SET(CMAKE_REQUIRED_DEFINITIONS "" )\\ EOF sed -i.bak CppAD-%{version}/cmake/compile_source_test.cmake -f temp.sed # -# ---------------------------------------------------------------------------- +# 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 @@ -161,26 +154,14 @@ g++ -std=c++11 temp.cpp -o temp ./temp > temp.out cat temp.out # ---------------------------------------------------------------------------- -# Comment out test of to_string long double on ppc64le arch. Understanding why -# it is failing will have to wait until there is a fedora 36 ppc64le test machine. -### if [ "%{_arch}" == 'ppc64le' ] -### then -### sed -i.bak CppAD-%{version}/example/utility/to_string.cpp \ -### -e 's|ok *&= *floating();|// &|' -### fi -# ---------------------------------------------------------------------------- # build # ----------------------------------------------------------------------------- %build # -# 1. Cannot use %%{_includedir}, %%{_libdir}, %%{_datadir}, %%{_docdir} -# because they are absolute paths. Relative values would be more flexible -# because they can be combined with %%{_prefix} to get absolute values. -# -# 2. The debug_all is overridden for cppad_lib by the edit of +# 1. The debug_all is overridden for cppad_lib by the edit of # cppad_lib/CMakeLists.txt above # -# 3. The gnu c++ compiler seems to be generating an incorrect warning about +# 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 @@ -214,10 +195,10 @@ cppad_cxx_flags=\ -D cmake_install_libdirs=%{_lib} \ \ -D cmake_install_datadir=share \ - -D cmake_install_docdir=share/doc \ + -D cmake_install_docdir='NOTFOUND' \ \ + -D include_doc=true \ -D cmake_defined_ok=false \ - -D include_doc=false \ -D cppad_static_lib=false \ -D cppad_debug_and_release=true \ \ @@ -265,19 +246,38 @@ cppad_cxx_flags=\ # ----------------------------------------------------------------------------- # Check # ----------------------------------------------------------------------------- -# use the installed include files to compile and run the tests +# %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 # ---------------------------------------------------------------------------- -# %%clean +# # Use %%clean with no arguments to surpress the cleanup of BUILDROOT # This enables one to check that the necessary files are installed. +%%clean # ---------------------------------------------------------------------------- %changelog -* Sat Jan 19 2025 Brad Bell - 20250000.0-3 +* 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 From 9da37763cc611c072068a423e6dfc61cbcd3f6b9 Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Wed, 5 Feb 2025 03:02:10 -0700 Subject: [PATCH 161/163] python-toml not avaialble in epel10: xrst-python changed to python-tomli --- cppad.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cppad.spec b/cppad.spec index d100622..5fa54b6 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: %{year}0000.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -42,7 +42,7 @@ BuildRequires: cmake >= 3.0 BuildRequires: make BuildRequires: python-xrst >= 2025.0 BuildRequires: python-sphinx_rtd_theme -BuildRequires: python-toml +BuildRequires: python-tomli BuildRequires: python-sphinx-copybutton BuildRequires: python-pyspellchecker BuildRequires: python-furo @@ -269,6 +269,9 @@ make %{?_smp_mflags} check %%clean # ---------------------------------------------------------------------------- %changelog +* 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 From 4cf6d76975f516cc017096dd6088ef012ad84ce6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 18:45:15 +0000 Subject: [PATCH 162/163] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- cppad.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cppad.spec b/cppad.spec index 5fa54b6..4d8d868 100644 --- a/cppad.spec +++ b/cppad.spec @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: %{year}0000.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -269,6 +269,9 @@ make %{?_smp_mflags} check %%clean # ---------------------------------------------------------------------------- %changelog +* 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 From 99bb8e0a8903d449c444f5fbb5810542d144aa9b Mon Sep 17 00:00:00 2001 From: Brad Bell Date: Mon, 5 Jan 2026 06:17:01 -0700 Subject: [PATCH 163/163] Advance upstream source to cppad-20260000.0 --- .gitignore | 1 + cppad.spec | 46 ++++++---------------------------------------- sources | 2 +- 3 files changed, 8 insertions(+), 41 deletions(-) diff --git a/.gitignore b/.gitignore index db91bc0..6dd6f65 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ # Most recent upstrem source /CppAD-20240000.3.tar.gz /CppAD-20250000.0.tar.gz +/CppAD-20260000.0.tar.gz diff --git a/cppad.spec b/cppad.spec index 4d8d868..b3b1612 100644 --- a/cppad.spec +++ b/cppad.spec @@ -12,7 +12,7 @@ # # year # The year corresponding to this version -%define year 2025 +%define year 2026 # # soversion # fedora uses its own soversion number for cppad_lib where @@ -29,7 +29,7 @@ # https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/ Name: cppad Version: %{year}0000.0 -Release: 5%{?dist} +Release: 1%{?dist} Summary: C++ Algorithmic Differentiation (AD), %{name}-devel and %{name}-doc # License: EPL-2.0 OR GPL-2.0-or-later @@ -38,7 +38,7 @@ Source: %{url}/archive/%{version}/CppAD-%{version}.tar.gz # BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: cmake >= 3.0 +BuildRequires: cmake >= 3.10 BuildRequires: make BuildRequires: python-xrst >= 2025.0 BuildRequires: python-sphinx_rtd_theme @@ -81,11 +81,6 @@ The documentation for the most recent version of %{name} can be found at # changed into that directory and unpack Source. %setup -q -c # -# atomic_op.hpp -# Fix warning. This should not be necessary when version > 20250000.0 -sed -i CppAD-%{version}/include/cppad/local/var_op/atomic_op.hpp \ - -e 's|arg_tmp\[1\];|*arg_tmp = { 0 };|' -# # 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. @@ -97,38 +92,6 @@ echo 'data = [ ]' >> CppAD-%{version}/xrst.toml cp CppAD-%{version}/COPYING COPYING cp CppAD-%{version}/uw_copy_040507.html uw_copy_040507.html # -# fix bug -# should not be needed once version > 20250000.0 -cat << EOF > temp.sed -/setup_random(size_t& not_used)/! b end -: loop -N -/\\n *}/! b loop -s|^|# if ! CPPAD_IS_SAME_UNSIGNED_INT_SIZE_T\\n| -s|$|\\n# endif| -# -: end -EOF -sed -i.bak CppAD-%{version}/include/cppad/local/play/player.hpp -f temp.sed -# -# fix bug -# should not be needed once version > 20250000.0 -cat << EOF > temp.sed -/CHECK_CXX_SOURCE_COMPILES/! b end -s|^| SET(CMAKE_REQUIRED_DEFINITIONS "" )\\ - SET(CMAKE_REQUIRED_INCLUDES "" )\\ - SET(CMAKE_REQUIRED_LIBRARIES "" )\\ - IF( cppad_cxx_flags )\\ - SET(CMAKE_REQUIRED_FLAGS "\${cppad_cxx_flags} \${CMAKE_CXX_FLAGS}" )\\ - ELSE( cppad_cxx_flags )\\ - SET(CMAKE_REQUIRED_FLAGS "" )\\ - ENDIF( cppad_cxx_flags )\\ -| -# -: end -EOF -sed -i.bak CppAD-%{version}/cmake/compile_source_test.cmake -f temp.sed -# # cppad_lib/CMakeLists.txt # cppad_lib: replace soversion number and ensure build type is release sed -i.bak CppAD-%{version}/cppad_lib/CMakeLists.txt \ @@ -269,6 +232,9 @@ make %{?_smp_mflags} check %%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 diff --git a/sources b/sources index 1f290de..8f40433 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (CppAD-20250000.0.tar.gz) = 05bb5a77e56f53f89f3e403943e64521bfd8e148ed142d9ce3ee695e10574567befce76cf31819fe1f580e45e9d11db0477388e18b78e410ca7ea528b04ec282 +SHA512 (CppAD-20260000.0.tar.gz) = abe9dd9a971f8d154990d54c1f798c8cab6bf90d016bb288efbcb23a14331897762610295658eec04fb50e5c13b05f4bb6b50a4647d6f0468eb94833dc3400d2