Basically, you need to do:
- grab the source
- add two lines to the service’s init script
- add a dependency in the control file
- create a changelog entry
- post a debdiff to a Launchpad bug.
There is detailed step-by-step checklist for creating and submitting such packages on the wiki page.
The Linux Standard Base 3.1 has a specification for init scripts actions. A simple function has been added to the LSB base library /lib/lsb/init-functions. This shell function, status_of_proc(), can be used in most init scripts to report status.
The list of init scripts that need work is also maintained in the wiki page. Join us in IRC at #ubuntu-server if you are interested in helping!