diff --git a/DSDP.rpmlintrc b/DSDP.rpmlintrc new file mode 100644 index 0000000..1720dad --- /dev/null +++ b/DSDP.rpmlintrc @@ -0,0 +1,5 @@ +# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# The dictionary is missing some technical terms +addFilter(r'W: spelling-error .* (combinatorial|infeasib(ility|le)|semidefinite)') diff --git a/DSDP.spec b/DSDP.spec index 12452b4..5dc889a 100644 --- a/DSDP.spec +++ b/DSDP.spec @@ -1,13 +1,9 @@ Name: DSDP Version: 5.8 -Release: 40%{?dist} +Release: 30%{?dist} Summary: Software for semidefinite programming -# The content is DSDP. The remaining licenses cover the various fonts embedded -# in PDFs. -# AMS: OFL-1.1-RFN -# CM: Knuth-CTAN -License: DSDP AND OFL-1.1-RFN AND Knuth-CTAN +License: DSDP URL: https://www.mcs.anl.gov/hs/software/DSDP/ Source0: https://www.mcs.anl.gov/hs/software/DSDP/%{name}%{version}.tar.gz # Man pages written by Jerry James using text from the sources. @@ -16,14 +12,11 @@ Source1: DSDP-man.tar.xz # A substitute makefile to fix the brokenness of the distributed Makefiles Source2: DSDP.Makefile # Fix a buffer overflow in one of the examples. -Patch: %{name}-overflow.patch +Patch0: %{name}-overflow.patch # Fix -Wint-in-bool-context warnings. -Patch: %{name}-int-in-bool-context.patch +Patch1: %{name}-int-in-bool-context.patch # Fix big endian problems (patch courtesy of Debian) -Patch: %{name}-type-mismatch.patch - -# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval -ExcludeArch: %{ix86} +Patch2: %{name}-type-mismatch.patch BuildRequires: doxygen-latex BuildRequires: gcc @@ -32,36 +25,31 @@ BuildRequires: make BuildRequires: pkgconfig(flexiblas) %description -DSDP is a free open source implementation of an interior-point method for -semidefinite programming. It provides primal and dual solutions, exploits -low-rank structure and sparsity in the data, and has relatively low memory -requirements for an interior-point method. It allows feasible and infeasible -starting points and provides approximate certificates of infeasibility when no -feasible solution exists. The dual-scaling algorithm implemented in this -package has a convergence proof and worst-case polynomial complexity under -mild assumptions on the data. The software can be used as a set of -subroutines, through Matlab, or by reading and writing to data files. -Furthermore, the solver offers scalable parallel performance for large -problems and a well documented interface. Some of the most popular -applications of semidefinite programming and linear matrix inequalities (LMI) -are model control, truss topology design, and semidefinite relaxations of -combinatorial and global optimization problems. +DSDP is a free open source implementation of an interior-point method +for semidefinite programming. It provides primal and dual solutions, +exploits low-rank structure and sparsity in the data, and has relatively +low memory requirements for an interior-point method. It allows +feasible and infeasible starting points and provides approximate +certificates of infeasibility when no feasible solution exists. The +dual-scaling algorithm implemented in this package has a convergence +proof and worst-case polynomial complexity under mild assumptions on the +data. The software can be used as a set of subroutines, through Matlab, +or by reading and writing to data files. Furthermore, the solver offers +scalable parallel performance for large problems and a well documented +interface. Some of the most popular applications of semidefinite +programming and linear matrix inequalities (LMI) are model control, +truss topology design, and semidefinite relaxations of combinatorial and +global optimization problems. %package devel -# The content is DSDP. The remaining licenses cover the various fonts embedded -# in PDFs. -# AMS: OFL-1.1-RFN -# CM: Knuth-CTAN -License: DSDP AND OFL-1.1-RFN AND Knuth-CTAN Summary: Headers and libraries for developing with DSDP Requires: %{name}%{?_isa} = %{version}-%{release} -Provides: bundled(js-jquery) +Provides: bundled(jquery) %description devel Headers and libraries for developing with DSDP. %package examples -License: DSDP Summary: Example programs that use DSDP Requires: %{name}%{?_isa} = %{version}-%{release} @@ -69,13 +57,13 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Examples programs that use the DSDP library. %prep -%autosetup -p0 -n %{name}%{version} -a 1 +%autosetup -p0 -n %{name}%{version} +%setup -q -n %{name}%{version} -T -D -a 1 -%conf -sed -e 's|@RPM_OPT_FLAGS@|%{build_cflags}|' \ - -e 's|@RPM_LD_FLAGS@|%{build_ldflags}|' \ - -e 's|@libdir@|%{_libdir}|' \ - -e 's|@version@|%{version}|' \ +sed -e "s|@RPM_OPT_FLAGS@|${RPM_OPT_FLAGS}|" \ + -e "s|@RPM_LD_FLAGS@|${RPM_LD_FLAGS}|" \ + -e "s|@libdir@|%{_libdir}|" \ + -e "s|@version@|%{version}|" \ %{SOURCE2} > Makefile %build @@ -114,7 +102,7 @@ done %files %doc docs/DSDP5-Exe-UserGuide.pdf docs/DSDP5-P1289-0905.pdf %license dsdp-license -%{_libdir}/libdsdp.so.5{,.*} +%{_libdir}/libdsdp.so.* %files devel %doc docs/DSDP5-API-UserGuide.pdf docs/dox @@ -123,44 +111,10 @@ done %files examples %doc examples/Contents -%{_bindir}/dsdp* -%{_mandir}/man1/dsdp* +%{_bindir}/* +%{_mandir}/man1/* %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 5.8-40 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Jul 23 2025 Fedora Release Engineering - 5.8-39 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 5.8-38 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 5.8-37 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 5.8-36 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 5.8-35 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jan 18 2024 Fedora Release Engineering - 5.8-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 5.8-33 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 5.8-32 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Nov 23 2022 Jerry James - 5.8-31 -- Add SPDX License identifiers for PDF documentation -- Minor spec file cleanups - -* Wed Jul 20 2022 Fedora Release Engineering - 5.8-31 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - * Wed Jan 19 2022 Fedora Release Engineering - 5.8-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/README.md b/README.md deleted file mode 100644 index 722dbbe..0000000 --- a/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# DSDP - -[DSDP](https://www.mcs.anl.gov/hs/software/DSDP/) is a free open source -implementation of an interior-point method for semidefinite programming. It -provides primal and dual solutions, exploits low-rank structure and sparsity -in the data, and has relatively low memory requirements for an interior-point -method. It allows feasible and infeasible starting points and provides -approximate certificates of infeasibility when no feasible solution exists. -The dual-scaling algorithm implemented in this package has a convergence proof -and worst-case polynomial complexity under mild assumptions on the data. The -software can be used as a set of subroutines, through Matlab, or by reading -and writing to data files. Furthermore, the solver offers scalable parallel -performance for large problems and a well documented interface. Some of the -most popular applications of semidefinite programming and linear matrix -inequalities (LMI) are model control, truss topology design, and semidefinite -relaxations of combinatorial and global optimization problems.