For some years now, I have maintained a collection of mathematical packages and some of their dependencies in Fedora. I actually stopped using the packages in question awhile ago, but have been maintaining them out of inertia. I would like to free up time to get some code checking and formal methods packages into Fedora. But I need to divest myself of the sagemath and Macaulay2 stacks in order to have time to do so.
There are 241 packages listed below. I am primary maintainer for 217 of them. Before anybody panics, I am not talking about orphaning them now. My plan is to spend the next 12 months searching for people willing to step into the primary maintainer role for these packages. I will repeat this message at regular intervals in hope of finding willing participants. One year from now, if I have not given all of these packages away, then I will orphan the rest.
This is not a collection of packages that is falling apart. They are high quality packages. Very little needs to be done right away.
If you have interest in any of the listed packages, please get in touch. It doesn't matter if you are currently a Fedora packager or not. If not, I will sponsor you via the comaintainer path, and stick around until you feel comfortable handling the package yourself. It doesn't matter if you are interested in only a single package. Contact me anyway.
To help those who may be new to packaging, I have started documenting some of my workflows. I have a set of web pages rooted here:
https://jamezone.org/pleasure/software/Fedora/packager/
Those pages contain walk-throughs and examples illustrating how I approach various tasks. I'm willing to donate any of that content to Fedora, so if you see something you think should be on docs.fedoraproject.org, feel free to tell me so. Also feel free to suggest additions or changes to what I have there.
Packages for which I am the primary maintainer ---------------------------------------------- 4ti2 GAPDoc TOPCOM antic arb azove bigloo bliss carat check clblast clisp cocoalib cohomCalg coin-or-Data-Netlib coin-or-Data-miplib3 coxeter cryptominisat csdp cxsc e-antic ecl eclib ffcall fflas-ffpack flintqs freetdi-gala gap gap-pkg-ace gap-pkg-aclib gap-pkg-alnuth gap-pkg-atlasrep gap-pkg-autodoc gap-pkg-automata gap-pkg-autpgrp gap-pkg-browse gap-pkg-caratinterface gap-pkg-circle gap-pkg-cohomolo gap-pkg-congruence gap-pkg-corelg gap-pkg-crime gap-pkg-crisp gap-pkg-crypting gap-pkg-cryst gap-pkg-crystcat gap-pkg-ctbllib gap-pkg-curlinterface gap-pkg-cvec gap-pkg-datastructures gap-pkg-design gap-pkg-digraphs gap-pkg-edim gap-pkg-factint gap-pkg-ferret gap-pkg-fga gap-pkg-fining gap-pkg-float gap-pkg-format gap-pkg-forms gap-pkg-fr gap-pkg-francy gap-pkg-gbnp gap-pkg-genss gap-pkg-grape gap-pkg-groupoids gap-pkg-grpconst gap-pkg-guava gap-pkg-hap gap-pkg-hapcryst gap-pkg-happrime gap-pkg-hecke gap-pkg-images gap-pkg-io gap-pkg-irredsol gap-pkg-json gap-pkg-jupyterkernel gap-pkg-jupyterviz gap-pkg-laguna gap-pkg-liealgdb gap-pkg-liepring gap-pkg-liering gap-pkg-loops gap-pkg-lpres gap-pkg-mapclass gap-pkg-nautytracesinterface gap-pkg-nq gap-pkg-openmath gap-pkg-orb gap-pkg-polenta gap-pkg-polycyclic gap-pkg-polymaking gap-pkg-primgrp gap-pkg-profiling gap-pkg-qpa gap-pkg-quagroup gap-pkg-radiroot gap-pkg-recog gap-pkg-repsn gap-pkg-resclasses gap-pkg-scscp gap-pkg-semigroups gap-pkg-singular gap-pkg-sla gap-pkg-smallgrp gap-pkg-smallsemi gap-pkg-sonata gap-pkg-sophus gap-pkg-spinsym gap-pkg-tomlib gap-pkg-toric gap-pkg-transgrp gap-pkg-utils gap-pkg-uuid gap-pkg-xmod gap-pkg-zeromqinterface gcl gf2x gfan gmp-ecm gnofract4d gp2c iml java-diff-utils javacc-maven-plugin jline jmol jni-inchi jol juniversalchardet latte-integrale libbraiding libdivide libfplll libgpuarray libhomfly libpoly libsemigroups libsvm linbox lrslib m4ri m4rie material-icons-fonts mathic mathicgb maven-doxia maven-doxia-sitetools maven-reporting-api maven-reporting-impl mcqd memtailor minisat2 mpfi mpsolve naga nauty normaliz ocaml-tplib pari pari-elldata pari-galdata pari-galpol pari-nflistdata pari-nftables pari-seadata permlib pl polymake polyml primecount pynac python-BTrees python-ZEO python-ZODB python-ZODB3 python-fastcache python-gmpy2 python-j1m.sphinxautozconfig python-jupymake python-jupyter-kernel-singular python-jupyter-polymake python-manuel python-pari-jupyter python-persistent python-pplpy python-pysingular python-random2 python-readthedocs-sphinx-ext python-repoze-sphinx-autointerface python-sphinx-copy-button python-sphinx-math-dollar python-sphinx-testing python-sphinx_rtd_theme python-sphinxcontrib-zopeext python-tdlib python-theano python-zodbpickle python-zope-testrunner qd qepcad-B rubiks saclib scala scalacheck sharedmeataxe sirocco stp subunit symmetrica sympol sympy tlx tth vinci xgap zn_poly
Packages for which I am comaintainer. This serves as notice to the primary maintainers that I am stepping away from actively working on these packages. The primary maintainer is listed after the package name. ---------------------------------------------------------------------------- cddlib: pcpa flint: pcpa givaro: mycae libedit: branto ntl: rdieter tbb: trodgers; see https://copr.fedorainfracloud.org/coprs/jjames/TBB2021/ for my take on what the next version of tbb should look like
Packages for which I am neither primary maintainer nor comaintainer, but I've been maintaining them anyway. As above, this serves as notice to the primary maintainer that I am stepping away from active maintenance of these packages. ----------------------------------------------------------------------------- L-function: pcpa Macaulay2: rdieter Singular: pcpa brial: pcpa cliquer: pcpa fes: pcpa frobby: rdieter lrcalc: pcpa palp: pcpa planarity: pcpa ppl: bagnara python-cypari2: pcpa python-cysignals: pcpa python-fpylll: pcpa rw: pcpa sagemath: pcpa surf-geometry: pcpa sympow: pcpa
As far as I know, neither bagnara nor pcpa is actively involved in Fedora anymore, so once I step away from their packages, the packages will effectively be unmaintained.
If you want to see how these packages are related to each other, here is a graph showing all of the packages I am involved with in Fedora:
https://jamezone.org/pleasure/software/Fedora/fedora.pdf
The black ovals are packages for which I am primary maintainer, blue are packages for which I am comaintainer, green are packages for which I am neither but I maintain the package anyway, and red are packages that I normally don't touch except for the occasional rebuild due to an soname bump or similar. The ones I am talking about stepping away from are primarily on the right half of the diagram.
Regards,
Jerry James kirjoitti 19.11.2021 klo 23.49:
To help those who may be new to packaging, I have started documenting some of my workflows. I have a set of web pages rooted here:
https://jamezone.org/pleasure/software/Fedora/packager/
Those pages contain walk-throughs and examples illustrating how I approach various tasks. I'm willing to donate any of that content to Fedora, so if you see something you think should be on docs.fedoraproject.org, feel free to tell me so. Also feel free to suggest additions or changes to what I have there.
That is a great site, with lots of great material that could well be in the Package Maintainer Docs. My comments here:
Determine the package license: This page could be imported to the Docs as it is. The only thing I would change it to avoid trying to explaing the correct content of License: or %license. The authoritative source for those rules is elsewhere, better just link there. If the authoritative source is unclear, that should be improved. It is confusing and error prone to try to explain the same thing in multiple places that will inevitably drift apart.
Case studies: These would also nicely supplement the current Packaging Tutorial: GNU Hello [1]. Perhaps some duplication could be removed by ordering these tutorials, then being very concise about topics that have already been covered in earlier tutorials. Also, my vision of the Package Maintainer Docs is that as few tools as possible need to be invoked. In particular, this means that everything that can be done with fedpkg, is done with fedpkg. So I would prefer to replace direct calls to rpmbuild, mock and rpmlint with 'fedpkg mockbuild' and 'fedpkg lint', and only resort to lower level tooling when 'fedpkg' cannot handle something.
Build packages with mock: Good material I have not seen elsewhere. Mock documentation for Fedora Packagers is not in good shape at the moment [2], it seems that making it good will need quite a bit of work.
Import a new package: This link is broken.
Update a Fedora Package: ABI Compatibility check instructions look like it would be useful in the Package Maintainer Docs. As for the content, it is not just good manners to announce abi breaks on devel, but according to Updates Policy, something that MUST be done.
Use a side tag: Guidance for debugging failing builds locally would be useful in the Package Maintainer Docs, too. Unfortunately multi-build docs are in bad shape [3]. I suppose the new material could first be added somewhere in the docs, then reorganized with all the other material when that eventually happens.
[1]: https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_... [2]: https://pagure.io/fedora-docs/package-maintainer-docs/issue/44 [3]: https://pagure.io/fedora-docs/package-maintainer-docs/issue/33
Otto
On Sun, Dec 5, 2021 at 3:09 AM Otto Urpelainen oturpe@iki.fi wrote:
That is a great site, with lots of great material that could well be in the Package Maintainer Docs. My comments here:
Thank you for the great comments, Otto. I have fixed the broken link and will work my way through your other comments over the next few days, as time permits. I appreciate the feedback!
Regards.