About me
Name: Matt Wheeler
Contact/Email:
m@funkyhat.org (email, xmpp)
- funkyhat (irc: freenode, oftc)
Background:
- I am in the first year of my Computer Science BSc degree at City University London. I run Debian on 3 of my computers and now that I'm actively developing my skills, Google Summer of Code is the perfect opportunity to get involved with Debian.
Experience
- Programming
- Bourne shell
- Python
- PHP
- Ruby
- Mainly on Debian systems, but I also work with other UNIX-like operating systems.
- Programming
Project
Project title: SysV-init file creator from systemd service files.
Project details:
- SysV-init has been showing its age for a number of years, and now there are alternatives available. However, we don't want to force a change from SysV-init without proper testing, so it will be necessary to enable Debian to support more than one init system. Additionally neither systemd or Upstart are currently compatible with Debian's non-Linux ports. The aim of this project is to create a system that will automatically generate SysV-init compatible init scripts based on a systemd unit file. Of course this includes generating the relevant headers to facilitate dependency based booting in Debian's current init. As part of this I propose to produce a pure Bourne shell helper or init script interpreter, in order to keep the generated init scripts as simple as possible. I have looked at some other operating systems' init helpers and am particularly impressed with the way FreeBSD deals with its rc scripts, so I intend to look at other systems in more depth to see if any ideas or even code can be borrowed.
See also SummerOfCode2012/Projects#SysV-init_file_creator_from_systemd_service_files
- SysV-init has been showing its age for a number of years, and now there are alternatives available. However, we don't want to force a change from SysV-init without proper testing, so it will be necessary to enable Debian to support more than one init system. Additionally neither systemd or Upstart are currently compatible with Debian's non-Linux ports. The aim of this project is to create a system that will automatically generate SysV-init compatible init scripts based on a systemd unit file. Of course this includes generating the relevant headers to facilitate dependency based booting in Debian's current init. As part of this I propose to produce a pure Bourne shell helper or init script interpreter, in order to keep the generated init scripts as simple as possible. I have looked at some other operating systems' init helpers and am particularly impressed with the way FreeBSD deals with its rc scripts, so I intend to look at other systems in more depth to see if any ideas or even code can be borrowed.
Synopsis: To create a systemd unit to init script converter and related helpers.
Benefits to Debian:
- Enable the use of multiple init systems
- Reduce effort for daemon maintainers (for most, if not all, packaged daemons only a unit file will need to be maintained -- from which the SysV-init script will be automatically generated)
- Reduce duplication of code in init scripts
Deliverables:
- Library or interpreter for generated init scripts, written in Bourne shell.
- systemd unit to SysV-init init script converter, written in Python.
Project schedule
23 April - 20 May: Community bonding period
- I plan to also use this time to research other OS's init script helpers, as well as looking at any related projects aimed at Debian.
21 May - 1 June:
- Design format for converted init scripts and init script helper or interpreter
4 June - 22 June:
- Begin implementing unit to init script converter Implement init script helper, including documentation
25 June - 6 July:
- Continue converter implementation Broad testing of init script helper
9 July - 13 July: mid term evaluation
16 July - 27 July:
- Complete implementation of unit to init script converter
30 July - 3 August:
- Broad testing of converter and helper
6 August - 12 August:
- Complete documentation for the project Tie up any loose ends
Miscellaneous
Exams and other commitments:
- 3 exams in the second half of May.
- 3 days of university lectures in June.
Other summer plans: I'm planning to make it to at least one music festival, and visit my parents for a weekend or two, so nothing too onerous!
Why Debian?:
- I find Debian's constitution and social contract the most inspiring of any of the projects I have looked into in detail, and would love the opportunity to give something back to the project.
Are you applying for other projects in SoC? No