Translation(s): English
This page contains the list of things that the Clojure Team would like to finish within the given release. These goals are generally goals that either affects a lot of packages, may involve a lot of work or improve the Debian Clojure infrastructure.
Feel free to claim items off the list below. You may want to reach out on #debian-clojure (OFTC) or the team mailing list first.
TODO
DebConf 2021 BoF TODO List
Bookworm release
Latest version of Leiningen (2.9.8)
- Includes dep bumps like data-xml
- Latest version of Clojure
- 1.10.3 was released during freeze so we haven't uploaded yet
- Clojure 1.10.1 contains some important mitigations to a Java regression in Java 8/11/etc
Clojure 1.10.2 has a change that made generated code more brittle (emitting call to a new function) that was rolled back in 1.10.3. So, don't use 1.10.2.
- Stable has 1.10.2, may want to consider an SRU with fix
- Latest is now 1.11.1
- 1.10.3 was released during freeze so we haven't uploaded yet
- New clojure-cli package
- GSoC student had worked on it + deps, not yet available
- Some work needs to be done managing what /usr/bin/clojure points to; old script in Debian vs. new upstream script
- Reproducibility of clojure packages?
- Java bytecode non-determinism, even with debian scripts to promote reproducibility in Java packages on (were turned off at some point due to perf regressions)
- Macros gensym symbols which might cause reproducibility issues
- Has been discussed in core team but no current plans forward
- Action: ehashman to ensure that we are not suppressing reproducibility scripts on Clojure/Leiningen
DebConf 2020 BoF TODO List
- Migrate remaining Clojure packages under java-team to clojure-team.
Move ehashman/clj-helper under clojure-team.
- Update clojure-team Salsa repos to use KGB webhooks.
- Update clojure-team Salsa repos to use the standard CI integrations for autopkgtests.
- Add autopkgtest scaffolding to clj-helper or investigate autodep8.
Ensure Clojure binaries are compiled with direct linking.
- Investigate reproducible build issues with reproducible builds team and upstream.
Bullseye Release
Listed in priority order.
Update Clojure to 1.11, when available. Was not available.
Update other Clojure packages.
- Upload new CLI tools. In progress for bookworm via GSoC.
- Anything that can also be accomplished in the sections below.
Essential Clojure tools
Package the new clojure-cli and its dependency tools.deps.alpha (?Clojure-CLI).
Package boot
- Target Clojurescript
Write a lein-helper to allow packages to be built with Leiningen rather than javahelper or mavenhelper
Policy
Complete a Clojure packaging policy (Clojure/PackagingReference?)
Make Clojure builds reproducible. (See e.g. #906720)
Packaging
Fix outstanding lintian warnings on packages (see Clojure Team lintian reports)
Standardize packaging according to our Packaging Reference
- Add watchfiles to Clojure packages
- Improve documentation for adding autopkgtests
- Add missing Clojure language categories to Debian
- Move pure Clojure packages in the Java team over to Clojure team (low priority)
- Add Clojure lintian tags/rules.
Done
For Buster release
Upgrade Leiningen and any dependencies to 2.8.3. /ehashman
Upload new clojure1.10 package (and perhaps separate out clojure1.9) /ehashman
We need to update Clojure to 1.9 /ehashman
Tag all packages missing git tags (see Clojure Team QA page for details) /ehashman
Update all packages to latest policy /ehashman
Add autopkgtests to Clojure packages /ehashman
Determine whether we should merge with the Java team or remain independent /team decision at DC17
Write a utility to assist in making Clojure packages (clj-helper) /ehashman
Write a tutorial for building Clojure packages (Clojure/PackagingTutorial) /ehashman