ITP: leiningen -- simple build system for Clojure

Elana Hashman debian at hashman.ca
Mon May 8 18:30:57 UTC 2017


I mentioned this on IRC, but also wanted to send a message out to the bug list 
for posterity...

I've hit a bit of a snag with the libpomegranate-clojure packaging (#852246). 
While I did get the package to build, it doesn't actually work. I realized it 
relies on maven 3.0.4, which is only packaged in old-stable. Jessie packages 
version 3.0.5, and testing/unstable has 3.3.9. There are many breaking changes 
between Maven 3.0.4 and 3.3.9.

Maven 3.0.4 poses two problems: first, it is affected by a medium-severity 
CVE[1] and should be patched to 3.0.5. Second, it relies on an old version of 
Aether under org.sonotype. Aether moved from being maintained by Sonotype to 
being maintained by Eclipse in 2012, and then Eclipse archived the Aether 
project in 2016. The Aether changes are why pomegranate does not work against 
Maven 3.3.9; many classes have been renamed, refactored, and moved. The most 
recent Maven release, 3.5.0, covers the migration of the Aether code directly 
into the Maven project.[2] It was released very recently, at the beginning of 
April.

I see there's been some community effort to migrate pomegranate to Maven 3.3.9, 
but it has not yet succeeded.[3] I took a look at doing that last night, and it 
turns out to be quite complex. Hence, I see the following possible paths 
forward:

- Upgrade upstream (whether that involves changes in pomegranate or directly in 
  leiningen) to use Maven 3.5.0, and wait for Maven 3.5.0 to be packaged for 
  unstable.
- Upgrade upstream to use Maven 3.3.9.

I don't think that including a Maven 3.0.5 package just for leiningen is 
possible, and that would also just constitute a stopgap in my opinion.  
Upgrading to Maven 3.5.0 is, in my opinion, the best option, as 3.3.9 depends 
on orphaned versions of Aether.

Thoughts?

- e


[1]: https://maven.apache.org/security.html
[2]: https://maven.apache.org/docs/3.5.0/release-notes.html
[3]: https://github.com/cemerick/pomegranate/pull/80



More information about the Pkg-clojure-maintainers mailing list