Dear all, On Saturday, I classified the last identified dependency for `clj` (`tools.deps.alpha`, debianized as `tools-deps-alpha-clojure`) as "good enough" so Louis-Philippe (pollo) could review it. This means it is Lintian clean[*], runs (most of) its tests as build tests, and all[**] of them as autopkgtests. (Why the difference? Because, whereas build tests have no Internet access, autopkgtests do.)
[*]: the only bug lintian reports is that is it currently "unreleased". [**]: except the ones for S3 support, code that was patched out due to its dependency on specific libraries we don't intend to package in Debian, at least for now [1]. [1]: https://lists.debian.org/debian-clojure/2021/06/msg00013.html As you have seen in the previous mail to this list, Louis-Philippe has already reviewed the package. I have to say I really like him being so thorough in his reviews. Louis-Philippe really sets high standards - delighted with (trying to :-) going along with that! So (oh, surprise!), there are still a few things I have to adjust before he gives his blessing so the package can start its journey towards "experimental". Considering all the ticked checkboxes I mentioned in my first paragraph, it doesn't look like I have to fix much. Which brings us to the next step: `clj`. As #891141[2] states, the upstream `clj` repo [3] is, in fact, the repo of the upstream Clojure installer. In fact, if one looks at the upstream Clojure repo [4], there is no `clojure` wrapper to be found at all! [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=891141 [3] https://github.com/clojure/brew-install [4] https://github.com/clojure/clojure Which now brings us back to the `clojure` Debian package. After a discussion with Elana (ehashman) on #debian-clojure, I realized that what I thought was provided by upstream was, in fact, provided by... well, Debian. So, it seems we have the following situation: Timeframe | Upstream repo | Debian source | Debian binaries ------------ | ------------- | ----------- | ----------- Until 2017 | clojure/clojure (library), [nor installer or wraper (?)] | clojure | libclojure-java (library), clojure (`clojure` wrapper) Since 2017 | clojure/clojure (library), clojure/brew-install (`clojure` and `clj` wrappers) | clojure | libclojure-java (library), clojure ("clojure" wrapper), [no `clj` wrapper] As we can see, it seems there used to be a functionality mismatch between what was provided upstream and what was provided by Debian. Moreover, am I wrong, or it seems that Debian introduced the `clojure` wrapper even before upstream did? In any case, if we look at the upstream `clj` code [3], we realize it simply bundles its own `clojure` wrapper and `rlwrap`. So, there's no actual `clj`... [3] https://github.com/clojure/brew-install So... how should we integrate `clj`'s functionalily into Debian? - Should we simply make sure Debian's `clojure` is compatible with the upstream `clojure` wrapper, and replace its rlwrap-driven functionalily with `clj`? - Should we define a migration path from Debian's `clojure` wrapper to upstream's, and add their `clj`? - Or am I completely missing something here, and there are other possible options? I would love to hear your feedback on this! -Elana: as the current maintainer of `clojure`. What are your thoughts about this? -What does the rest of the Debian Clojure Team think about this? -Finally... What do Alex and other subscribers to this list think of this? Looking forward to your replies, Leandro
