This is an old revision of the document!
This is a work in progress, not the final version of this wiki.
- Student: Daniel Peyrolón (dpl@)
- Mentor: Brooks Davis (brooks@)
Project description
During this project I will port the following to Capsicum:
- bzip2
- xz
- zip
- libavcodec
In the process some libcapsicum refinements will be done. This way I can make as easy a possible the process of porting applications to Capsicum.
In the end, I will write some documentation on how to port applications to Capsicum, trying to expand the part on that same topic in the Capsicum paper.
(Two or three paragraphs about your project, the problem you are trying to solve, and any obstacles you may hit.)
Approach to solving the problem
I will do the project working in HEAD, using the latest libcapsicum interface. (Details as to how you intend to approach the problem, if applicable. May include ideas as to how to break the problem down into smaller parts, or notes on research you need to do before settling on your final approach to solving the problem)
Milestones
- Community bonding: I will learn the different strategies for porting applications to Capsicum, by reviewing the diffs or the ported code.
- June 17: Start of coding.
- July 1: Port bzip2 to use Capsicum.
- July 15: Port xz.
- July 29: Port zlib.
- July 29-August 2: Mid-term Evaluations
- August 5: Learn about libavcodec's structure.
- August 26: Port libavcode, which could then be used transparently.
- September 9: Here, I could do two things:
- Update the Capsicum-powered Chromium. {*}
- Search some library used by many applications, and port it.
- September 16: Performance testing and evaluate if the Capsicum-powered libavcodec should be on the FreeBSD ports, and write some patches for that.
- September 16: End of coding (soft)
- September 23: Write documentation/recomendations on how to proceed on porting software to Capsicum, as well as the required mindset while programming with Capsicum.
- September 23: End of coding (hard)
Test Plan
Every ported program/library will be tested accordingly, and checked that capsicum works as intended with them (for instance, doing forbidden operations with the ported code). In the end, I will also do a performance comparison with every application.
If they seem fast enough, they could even be used in the base system.
Code
(Link to your code, for example https://svnweb.freebsd.org/socsvn/soc2013/dpl/
Links
Links to the manuals are from FreeBSD 9-CURRENT