~ubuntu-branches/ubuntu/natty/nginx/natty-updates

« back to all changes in this revision

Viewing changes to debian/modules/nginx-development-kit/README

  • Committer: Bazaar Package Importer
  • Author(s): Michael Lustfield, Micheal Lustfield, Kartik Mistry
  • Date: 2011-03-03 23:39:07 UTC
  • mfrom: (4.2.29 sid)
  • Revision ID: james.westby@ubuntu.com-20110303233907-y48yifhfnn5qjuxz
Tags: 0.8.54-4
[Micheal Lustfield]
* debian/nginx-{full,light,extras}.default:
  + Added comment about alternative to ULIMIT.
* debian/nginx-{full,light,extras}.init.d:
  + Added quotes around a test variable. (Closes: #610946, LP: #699736)
* debian/patches/609343-log-time-iso8601.diff:
  + Added patch to add $time_iso8601 variable to logs. (Closes: #609343)
* Clean up old logrotate files. (Closes: #608983, Closes: #610289)
  + Added Files:
    - debian/nginx-common.preinst
  + Modified Files:
    - debian/rules
  + Moved debian/nginx-common.logrotate to debian/logrotate.
* Added common files to nginx-common package. (Closes: #610290)
  + Removed Files:
    - debian/nginx-full.dirs
    - debian/nginx-light.dirs
    - debian/nginx-full.install
    - debian/nginx-light.install
    - debian/nginx-extras.install
    - debian/nginx.*
  + Added Files:
    - debian/nginx-common.default
    - debian/nginx-common.dirs
    - debian/nginx-common.init.d
    - debian/nginx-common.install
    - debian/nginx-common.manpages
    - debian/logrotate
  + Modified Files:
    - debian/nginx-extras.dirs
    - debian/control
    - debian/rules
* debian/nginx-*.install: (Closes: #609797)
  + Removed NEWS.Debian from nginx-{full,light,extras}.install.
  + Added NEWS.Debian to nginx-common.install.
* nginx-common.postinst:
  + Enforce /var/log/nginx mode and user:group. (Closes: #610983)
  + Enforce /var/log/nginx/*.log mode and user:group. (Closes: #612832)
* debian/rules:
  + Added --with-file-aio to nginx-extras. (Closes: #613175)
  + Removed split clients and user id modules from nginx-light.
* debian/conf/sites-available/default:
  + Fixed a minor typo ( s/Quickstart/QuickStart/ ). (Closes: #613355)
* debian/conf/mime.types:
  + Changed xml type to application/xhtml+xml. (Closes: #613851)
* debian/help/docs/fcgiwrap:
  + Removed Ubuntu specific line in docs. (Closes: #614987)
* debian/conf/sites-available/default:
  + Fixed a pointer to a file. (Closes: #614980)

[Kartik Mistry]
* debian/*.lintian-overrides:
  + Add Lintian overrides for nginx man page. We've manpage in nginx-common
    binary

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
    Nginx Development Kit (NDK)
 
3
    ===========================
 
4
 
 
5
Synopsis
 
6
 
 
7
    The NDK is an Nginx module that is designed to extend the core functionality of the 
 
8
    excellent Nginx webserver in a way that can be used as a basis of other Nginx modules.
 
9
 
 
10
    It has functions and macros to deal with generic tasks that don't currently have
 
11
    generic code as part of the core distribution.  The NDK itself adds few features
 
12
    that are seen from a user's point of view - it's just designed to help reduce the
 
13
    code that Nginx module developers need to write.
 
14
 
 
15
    Nginx module developers wishing to use any of the features in the NDK should specify 
 
16
    that the NDK is a dependency of their module, and that users will need to compile
 
17
    it as well when they compile their own modules.  They will also need to declare in
 
18
    their own modules which features of the NDK they wish to use (explained below).
 
19
    
 
20
    If you are not an Nginx module developer, then the only useful part of this project
 
21
    will be the 'usage for users' section below.
 
22
 
 
23
 
 
24
Status
 
25
 
 
26
    The NDK is now considered to be stable. It is already being used in quite a few third
 
27
    party modules.
 
28
 
 
29
 
 
30
Features
 
31
 
 
32
    - additional conf_set functions for regexes, complex/script values, paths...
 
33
    - macros to simplify tasks like checking for NULL values when doing ngx_array_push
 
34
    - patches to the main source code
 
35
    - ngx_auto_lib_core generic external library handler is included (see separate readme)
 
36
 
 
37
 
 
38
 
 
39
Design
 
40
 
 
41
    modular :
 
42
 
 
43
    The kit itself is designed in a modular way, so that only the required code is compiled.
 
44
    It's possible to add just a single NDK module, a few or all of them.
 
45
 
 
46
    auto-generated & easily extensible :
 
47
 
 
48
    Many of the macros available in the NDK are auto-generated from simple configuration
 
49
    files.  This makes creating similar macros for your own code very simple - it's usually
 
50
    just the case of adding an extra line to a config file and re-running the build script.
 
51
 
 
52
 
 
53
Usage for users
 
54
 
 
55
    If another Nginx module you wish to use specifies that the NDK is a dependency, you
 
56
    will need to do the following :
 
57
 
 
58
    1 - download the source (http://github.com/simpl-it/ngx_devel_kit)
 
59
 
 
60
    2 - unpack the source (tar -xzf $name)
 
61
 
 
62
    3 - compile Nginx with the following extra option
 
63
 
 
64
        --add-module=/path/to/src
 
65
 
 
66
        e.g.
 
67
 
 
68
        ./configure --add-module=/path/to/ndk/base  --add-module=/path/to/another/mod
 
69
 
 
70
 
 
71
Usage for developers
 
72
 
 
73
    To use the NDK in your own module, you need to add the following :
 
74
 
 
75
    1 - add this line to your module
 
76
 
 
77
        #include    <ndk.h>
 
78
 
 
79
        note : since the NDK includes the following lines
 
80
 
 
81
        #include    <ngx_config.h>
 
82
        #include    <ngx_core.h>
 
83
        #include    <ngx_http.h>
 
84
 
 
85
        you can replace these with the single include above.
 
86
 
 
87
    2 - add the following line in the config file for your module :
 
88
 
 
89
        have=NDK_[module_name]  . auto/have
 
90
 
 
91
        for each NDK module that you wish to use (you need to include auto/have multiple
 
92
        times if you wish to use multiple NDK modules.
 
93
 
 
94
 
 
95
    Note : the old method of setting
 
96
 
 
97
        CFLAGS="$CFLAGS -DNDK_[module_name]"
 
98
 
 
99
        is now deprecated. It will still work, but results in unnecessary lines being
 
100
        displayed when compiling Nginx.
 
101
 
 
102
 
 
103
    Warning : using NDK_ALL
 
104
 
 
105
        You can also set NDK_ALL to include all the NDK modules.  This is primarily as
 
106
        a convenience in the early stages of development of another module. However,
 
107
 
 
108
        DO NOT LEAVE 'NDK_ALL' IN YOUR CONFIG FILE WHEN PUBLISHING
 
109
 
 
110
        Although the NDK is fairly small now, it could in time become a large repository
 
111
        of code that would, if using NDK_ALL, result in considerably more code being compiled
 
112
        than is necessary.
 
113
 
 
114
 
 
115
Todo
 
116
 
 
117
    - documentation for modules that don't already have it
 
118
    - additional phase-handler functions
 
119
    - generically testing for needing to add a handler
 
120
    - remove dependency of set_var on OpenSSL being compiled in
 
121
 
 
122
 
 
123
License
 
124
 
 
125
    BSD
 
126
 
 
127
 
 
128
Contributing / Feedback
 
129
 
 
130
    If you are an Nginx module developer, and have developed some functions that are
 
131
    generic in nature (or would be easily adapted to be so), then please send them to
 
132
    me at the address below, and I'll add them to the kit.
 
133
 
 
134
    
 
135
Author
 
136
 
 
137
    Marcus Clyne (contact at simpl dot it)
 
138
 
 
139
 
 
140