===== SoC2011: pkgng convert =====
pkgng is a new binary package manager for %%FreeBSD%% that aims to replace the pkg_install tools. It is built on top of a fresh code base, known as libpkg, which provide a clean interface to deal with package management tasks. With pkgng %%FreeBSD%% will get an up-to-date package manager with a lot of nice feature such as pkg update && pkg upgrade!
==== Project Description ====
My goal is to implement the convert subcommand in pkgng. With this command, the user will be able to convert .rpm/.deb archive into regular pkgng packages. I want this command to really ease the process of conversion from one format to another. One important feature I would like to achieve is to help the user during dependency resolution (what dependency are needed, where to get those dependency...). Such a command will provide, among others, a nice way to test the %%FreeBSD%%'s Linux binary compatibility.
==== Deliverable ====
^ Deliverable ^ Status ^ Progression ^
| `tinyrpm' lib | TODO | 0% |
| `tinydeb' lib | TODO | 0% |
| pkg convert | TODO | 0% |
| Documentation | TODO | 0% |
==== Timeline ====
- Familiarize myself with the code base, begin the conception of the key features (2weeks)
- Try to get feedback and suggestions on my conception draft, finalize the conception (1 week)
- **Learn how .rpm works and implement the library routines related to this format** (3 weeks)
- First code review/documentation interlude (few days)
- Learn how .deb works and implement the library routines related to this format (2 weeks)
- Second code review/documentation interlude (few days)
- Implement the "convert" sub-command (3 weeks)
- Final code review, documentation, patch... (few days)
==== Interesting links - Resources ====
*[[/pkg|pkgng (now "pkg") wiki page]]
*[[https://github.com/freebsd/pkg|pkgng github repository]]
*[[http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/index.html|RPM Guide]]