Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 1 | Upstart is an event-based replacement for the /sbin/init daemon which |
| 2 | handles starting of tasks and services during boot, stopping them |
| 3 | during shutdown and supervising them while the system is running. |
| 4 | |
| 5 | It is intended to be suitable for deployment in all Linux |
| 6 | distributions as a replacement for the venerable sysvinit package. |
| 7 | |
| 8 | Feature highlights: |
| 9 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 10 | * Tasks and Services are started and stopped by events; |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 11 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 12 | * Events are generated as tasks and services are started and stopped; |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 13 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 14 | * Events may be received from any other process on the system; |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 15 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 16 | * Services may be respawned if they die unexpectedly; |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 17 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 18 | * Supervision and respawning of daemons which separate from their |
| 19 | parent process; |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 20 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 21 | * Communication with the init daemon over D-Bus. |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 22 | |
| 23 | |
| 24 | Dependencies |
| 25 | ------------ |
| 26 | |
| 27 | Since Upstart's primary usage will be on distributions that utilise |
| 28 | the user-space event mechanisms only found in recent Linux kernel |
| 29 | versions, it has been developed to take advantage of other operating |
| 30 | system and language features that may not be available in older |
| 31 | releases of the kernel, C library or compiler. |
| 32 | |
| 33 | The recommended versions are: |
| 34 | |
Scott James Remnant | 676c905 | 2008-02-17 16:08:40 +0000 | [diff] [blame] | 35 | * Linux 2.6.24 or later |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 36 | * GCC 4.1 or later |
| 37 | * GNU C Library (glibc) 2.4 or later |
| 38 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 39 | Communication with other processes utilises the D-Bus messaging |
| 40 | system. In order to query the availibility of the external library, |
| 41 | the pkg-config tool is used; and in order to generate the D-Bus |
Scott James Remnant | bf7399d | 2009-07-09 00:14:49 +0100 | [diff] [blame] | 42 | bindings necessary, the expat XML parsing library will be used. |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 43 | |
| 44 | The recommended versions are: |
| 45 | |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 46 | * pkg-config 0.22 |
Scott James Remnant | 0acfdc5 | 2009-07-15 11:13:46 +0100 | [diff] [blame] | 47 | * D-Bus 1.2.16 |
Scott James Remnant | bf7399d | 2009-07-09 00:14:49 +0100 | [diff] [blame] | 48 | * expat 2.0.0 |
Scott James Remnant | 2e8760b | 2009-01-26 01:15:21 +0000 | [diff] [blame] | 49 | |
Scott James Remnant | ecf322c | 2007-03-09 16:58:48 +0000 | [diff] [blame] | 50 | These should all be available from the current release of any modern |
| 51 | Linux distribution. |
| 52 | |
| 53 | For detailed compilation and installation instructions see the INSTALL |
| 54 | file. If you've checked Upstart out from revision control, or want to |
| 55 | hack on Upstart, see the HACKING file. |