All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The packaging carries no version of its own: every section here is named after the release of the umbrella whose packages it built.
-
libsmspp-hqp, the package of the new moduleHQPBlock(the Block and the Solver of hierarchical quadratic programs), depending onlibsmspp -
qpoases/, the source package of qpOASES 3.2.2, the QP solver ofQPOASESMILPSolver, which no Ubuntu series carries:libqpoases3.2andlibqpoases-dev, built for the series of the PPA byqpoases/mk-ppa-source;libsmspp-milp-devdepends onlibqpoases-dev, the build of the umbrella finds qpOASES in/usr, and MOSEK and Clarabel are kept out of it -
daqp/, the source package of DAQP 0.10.3, the QP solver ofDAQPMILPSolver, which no Ubuntu series carries:libdaqp0.10andlibdaqp-dev, built for the series of the PPA bydaqp/mk-ppa-source;libsmspp-milp-devdepends onlibdaqp-dev, and the build of the umbrella finds DAQP in/usr -
libsmspp-sat, the package of SATBlock, whose Solvers carry CaDiCaL, which Ubuntu has from 24.04 on; MiniSat is left out, since theminisatpackage of Ubuntu carries the older code of minisat.se, on which the MiniSat Solver of SATBlock does not compile -
libsmspp-satellitesandlibsmspp-mkab, the packages of SatellitesBlock and of MultiKnapsackAssignBlock, which the generator left out -
libsmspp-subgrad, the package of SubGradSolver
-
libsmspp-ldsdepends onlibsmspp-bnx, since LagrangianDualSolver chooses the variable to branch upon by the components of BranchAndXSolver -
libndofioracleis no longer built: BundleSolver 2.0 has no NDOSolver/FiOracle inside, and the generator would look for a directory that the release no longer has
- the package is configured with
BUILD_TESTINGoff: the unit tests of the modules are not part of it, and the one of SATBlock downloads its instances while building, which a builder of Launchpad, having no network, cannot do
- the job of the tag builds, signs and uploads by itself: it takes the key
from the file variable
PPA_GPG_KEY, tells the signature which one to use withSMSPP_SIGN_KEY, since the key of the CI does not carry the name of the maintainer thatdpkg-buildpackagewould look for, and configures gpg with the loopback, having no terminal in a container
- the install of each module goes through
DESTDIRand not through--prefix, which the link that carries the name a tool had before the prefix needs, that one being made of the directory of the configure
-
the image of the job installs
debhelper, whichdebian/rules cleancalls before anything else -
no pipeline is made for a push that carries no version, and the fingerprint of the key is read without the colon that broke the YAML
- a second upload of the same version to the PPA bumps a number of its own,
SMSPP_PPA_BUILD, and leaves the original tarballs out of it, the archive having them already
-
the packaging of the project: one build of the umbrella split into 61 binary packages, a library and a
-devfor each module, a command for each tool,smspp-projectfor all of them, and the two projects that MCFClassSolver and BundleSolver wrap in packages of their own -
gen_debian.py, whose tables hold the modules, the tools and their dependencies, and which writesdebian/controland the tables thatdebian/rulesreads -
mk-ppa-source, which takes the release tarball and FastFlow at the commit the other packages of the project pin, builds the source package for a series and uploads it toppa:smspp-project/smspp