Hello, My name is Eugenio Cano-Manuel Mendoza. I'm currently working on improving the packaging process of programs made with Clojure & Leiningen [1]. A deliverable of this project is to provide a set of tools compatible with debhelper that can make a working debian package out of upstream's tarball with very little interaction. This is what I've been working on so far.
*Organization:* I'm writing a blog[2] to keep track of the work I'm doing. In addition to this, my mentor and co-mentors (Wolodja Wentland, Gergely Nagy, Paul Tagliamonte) and I have agreed to meet all together every 2 weeks or so to discuss progress and milestones. We are also using #debian-clojure and the clojure packaging team mailing list to discuss ideas and problems that arise during the realization of this project. *What I've done so far:* This project had a pre-application requirement that needed to be fulfilled in order to have a glimpse of the challenges I would be facing. During the application period I managed to read documentation regarding packaging provided my by mentor. Learning during the application period saved me time from the coding and community bonding periods, all this enabled me to start setting up my working environment right away to begin hacking sooner. I setup a github repository[3] to host all the code I was going to work on but later migrated to git.debian.org and synced with another github repo[4]. Please check these links if you're interested in the details. I've made 106 commits to this project so far. I've been working on the development of clojurehelper (that's the name for now). After many prototypes of its components and a lot of discussion on IRC and mailing list I've managed to put together a set of tools that work in the same fashion of javahelper (in fact clojurehelper uses many of the javatools scripts). As of today it can package simple clojure libraries with only requiring the packager to input the description and the license file. I've also packaged 2 dependencies of leiningen2 and I'm working on another 2 libraries. May 30 - June 6: * Sent introductory email to pkg-clojure mailing list. * Filled an ITP for the package quoin-clojure * Wrote a parser for leiningen configuration files in Clojure as a prototype. * Wrote another parser in Python (actually hy). * Wrote another parser in Python using pyclj. * Decided to parse a maven pom file instead of the leiningen configuration file. * Created a skeleton of ln_makepkg (a script that comes with clojurehelper) in python. June 7 - June 14: * Created a leiningen plugin to export project parameters to xml format since pom files provide little information. * Cleaned source code to comply with pep8. * Inspected jh_depends (from the javatools package) * Made the python project distributable through distutils. * Made a debian package of ln_makepkg. * Implemented argument parsing for ln_makepkg. * Wrote unit tests for ln_makepkg. * Packaged quoin-clojure and sent to DD for review. * Refactored test base class to make it easier to add more tests. June 15 - Today: * A working lein2 debhelper sequence is created, seems to be working. * Created tests for the whole debhelper sequence. * Added more tools to clojurehelper, ln_clean, ln_builddocs, ln_build. * Created a test that builds a debian package out of a tarball. Later refactored to add more in the future. * Packaged scout-clojure. * Filled ITP for stencil-clojure. * Currently making a debian package of the clojurehelper suite. *Problems I've encountered:* Most of my time was being spent on solving problems common to new Debian packagers, debhelper, wnpp, and the whole process. I've also spend a lot of time trying to figure out how to design clojurehelper properly. My mentors have helped me taking the right decisions when it comes to adding features to clojurehelper and I'm glad they've always been available when I needed help. *What I'll be working on:* I want to finish packaging clojurehelper to start using it right away. This will help me find bugs and provide with desirable features. I also want to package stencil and tune clojurehelper to handle packages with dependencies. I'm not expecting much from next week since I'll be taking my final exams but hope to at least meet the goals mentioned. I want to thank the community for helping me with this project, not only my mentors but #debian-mentors, the java packaging team, and anyone who contributed to the documentation of the tools involved directly and indirectly. Please send me any suggestion on improving clojurehelper and/or this report. I'm on 24/7 on #debian-clojure. I'm subscribed to this mailing list and pkg-clojure. You can also send me a PM to this email. Don't forget to checkout my blog[1] if you want to know a little more on how I've been developing clojurehelper. Cheers, Eugenio [1] http://wiki.debian.org/SummerOfCode2013/StudentApplications#Leiningen_.26_Clojure_packaging [2]http://eugecm.wordpress.com/ [3]https://github.com/keidesu/ln_makepkg [4]https://github.com/Debian/clojurehelper
_______________________________________________ Soc-coordination mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/soc-coordination
