Mercurial > hg > nginx
annotate misc/GNUmakefile @ 4192:61e4af19df9f
Autoindex: escape '?' in file names.
For files with '?' in their names autoindex generated links with '?' not
escaped. This resulted in effectively truncated links as '?' indicates
query string start.
This is an updated version of the patch originally posted at [1]. It
introduces generic NGX_ESCAPE_URI_COMPONENT which escapes everything but
unreserved characters as per RFC 3986. This approach also renders unneeded
special colon processing (as colon is percent-encoded now), it's dropped
accordingly.
[1] http://nginx.org/pipermail/nginx-devel/2010-February/000112.html
Reported by Konstantin Leonov.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 11 Oct 2011 17:56:51 +0000 |
parents | 871229f8173c |
children | effc7962aebe |
rev | line source |
---|---|
681 | 1 |
2725 | 2 VER = $(shell grep 'define NGINX_VERSION' src/core/nginx.h \ |
3 | sed -e 's/^.*\"\(.*\)\"/\1/') | |
4 NGINX = nginx-$(VER) | |
5 TEMP = tmp | |
4181
871229f8173c
Adding repository path missed in r4179.
Igor Sysoev <igor@sysoev.ru>
parents:
4178
diff
changeset
|
6 REPO = svn://svn.nginx.com |
2725 | 7 |
8 OBJS = objs.msvc8 | |
3975
3ce20f216ede
copy OpenSSL-1.0.0d LICENSE for nginx/Windows zip
Igor Sysoev <igor@sysoev.ru>
parents:
3869
diff
changeset
|
9 OPENSSL = openssl-1.0.0d |
2725 | 10 ZLIB = zlib-1.2.3 |
2871
c7fe4b9118d2
fix "make zip", the bug has been introduced in r2841
Igor Sysoev <igor@sysoev.ru>
parents:
2734
diff
changeset
|
11 PCRE = pcre-7.9 |
681 | 12 |
13 | |
4178
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
14 RELEASE: |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
15 test -d $(TEMP) || mkdir -p $(TEMP) |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
16 |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
17 echo "nginx-$(VER)-RELEASE" > $(TEMP)/message |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
18 svn ci -F $(TEMP)/message |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
19 |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
20 echo "release-$(VER) tag" > $(TEMP)/message |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
21 svn copy $(REPO)/nginx/trunk $(REPO)/nginx/tags/release-$(VER) \ |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
22 -F $(TEMP)/message |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
23 |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
24 svn up |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
25 |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
26 $(MAKE) release |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
27 |
1da3c3b429c1
Adding RELEASE procedure in GNUmakefile.
Igor Sysoev <igor@sysoev.ru>
parents:
4030
diff
changeset
|
28 |
681 | 29 release: |
30 rm -rf $(TEMP) | |
31 | |
32 svn export -rHEAD . $(TEMP)/$(NGINX) | |
33 | |
34 mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX) | |
35 | |
36 # delete incomplete sources | |
37 rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c | |
38 rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c | |
39 rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.* | |
40 rm -r $(TEMP)/$(NGINX)/src/os/win32 | |
41 | |
42 rm -r $(TEMP)/$(NGINX)/src/mysql | |
43 | |
44 rm $(TEMP)/$(NGINX)/src/http/modules/ngx_http_status_module.c | |
45 | |
46 mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX) | |
47 mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX) | |
48 mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX) | |
3801
569716d0e447
add man page in release tarball and fix man building procedure
Igor Sysoev <igor@sysoev.ru>
parents:
3717
diff
changeset
|
49 mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX) |
681 | 50 |
51 $(MAKE) -f docs/GNUmakefile changes | |
52 | |
4030
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
53 # delete incomplete draft documentation |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
54 rm -r $(TEMP)/$(NGINX)/html/http |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
55 |
681 | 56 rm -r $(TEMP)/$(NGINX)/docs |
57 rm -r $(TEMP)/$(NGINX)/misc | |
58 | |
704
58bd27d72519
fix bug introduced with snapshot support
Igor Sysoev <igor@sysoev.ru>
parents:
701
diff
changeset
|
59 tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX) |
58bd27d72519
fix bug introduced with snapshot support
Igor Sysoev <igor@sysoev.ru>
parents:
701
diff
changeset
|
60 |
701 | 61 |
62 snapshot: | |
63 rm -rf $(TEMP) | |
64 | |
65 mkdir -p $(TEMP) | |
66 svn export . $(TEMP)/$(NGINX) | |
67 | |
68 mv $(TEMP)/$(NGINX)/auto/configure $(TEMP)/$(NGINX) | |
69 | |
70 # delete incomplete sources | |
71 rm $(TEMP)/$(NGINX)/src/event/ngx_event_acceptex.c | |
72 rm $(TEMP)/$(NGINX)/src/event/ngx_event_connectex.c | |
73 rm $(TEMP)/$(NGINX)/src/event/modules/ngx_iocp_module.* | |
74 rm -r $(TEMP)/$(NGINX)/src/os/win32 | |
75 | |
76 rm -r $(TEMP)/$(NGINX)/src/mysql | |
77 | |
78 rm $(TEMP)/$(NGINX)/src/http/modules/ngx_http_status_module.c | |
79 | |
80 mv $(TEMP)/$(NGINX)/docs/text/LICENSE $(TEMP)/$(NGINX) | |
81 mv $(TEMP)/$(NGINX)/docs/text/README $(TEMP)/$(NGINX) | |
82 mv $(TEMP)/$(NGINX)/docs/html $(TEMP)/$(NGINX) | |
3801
569716d0e447
add man page in release tarball and fix man building procedure
Igor Sysoev <igor@sysoev.ru>
parents:
3717
diff
changeset
|
83 mv $(TEMP)/$(NGINX)/docs/man $(TEMP)/$(NGINX) |
701 | 84 |
85 $(MAKE) -f docs/GNUmakefile changes | |
86 | |
87 rm -r $(TEMP)/$(NGINX)/docs | |
88 rm -r $(TEMP)/$(NGINX)/misc | |
89 | |
681 | 90 tar -c -z -f $(NGINX).tar.gz --directory $(TEMP) $(NGINX) |
91 | |
92 | |
2725 | 93 zip: |
94 rm -rf $(TEMP) | |
95 rm -f $(NGINX).zip | |
96 | |
97 mkdir -p $(TEMP)/$(NGINX)/docs | |
98 mkdir -p $(TEMP)/$(NGINX)/logs | |
99 mkdir -p $(TEMP)/$(NGINX)/temp | |
100 | |
101 svn export -rHEAD conf $(TEMP)/$(NGINX)/conf/ | |
102 perl -pi -e 's/$$/\r/' $(TEMP)/$(NGINX)/conf/* | |
103 | |
104 svn export -rHEAD contrib $(TEMP)/$(NGINX)/contrib/ | |
105 svn export -rHEAD docs/html $(TEMP)/$(NGINX)/html/ | |
106 | |
4030
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
107 # delete incomplete draft documentation |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
108 rm -r $(TEMP)/$(NGINX)/html/http |
5c3633105878
Removing incomplete draft documentation from release tarball and zip.
Igor Sysoev <igor@sysoev.ru>
parents:
3975
diff
changeset
|
109 |
2725 | 110 $(MAKE) -f docs/GNUmakefile changes |
111 | |
112 cp -p $(OBJS)/nginx.exe $(TEMP)/$(NGINX) | |
113 | |
114 cp -p docs/text/LICENSE $(TEMP)/$(NGINX)/docs/ | |
115 cp -p docs/text/README $(TEMP)/$(NGINX)/docs/ | |
116 mv $(TEMP)/$(NGINX)/CHANGES* $(TEMP)/$(NGINX)/docs/ | |
117 | |
118 cp -p $(OBJS)/lib/$(OPENSSL)/LICENSE \ | |
119 $(TEMP)/$(NGINX)/docs/OpenSSL.LICENSE | |
120 | |
2871
c7fe4b9118d2
fix "make zip", the bug has been introduced in r2841
Igor Sysoev <igor@sysoev.ru>
parents:
2734
diff
changeset
|
121 cp -p $(OBJS)/lib/$(PCRE)/LICENCE \ |
c7fe4b9118d2
fix "make zip", the bug has been introduced in r2841
Igor Sysoev <igor@sysoev.ru>
parents:
2734
diff
changeset
|
122 $(TEMP)/$(NGINX)/docs/PCRE.LICENCE |
2725 | 123 |
124 perl -ne 'print if /^ \(C\) 1995-2004/ .. /^ jloup\@gzip.org/' \ | |
125 $(OBJS)/lib/$(ZLIB)/README \ | |
126 > $(TEMP)/$(NGINX)/docs/zlib.LICENSE | |
127 | |
128 touch -r $(OBJS)/lib/$(ZLIB)/README \ | |
129 $(TEMP)/$(NGINX)/docs/zlib.LICENSE | |
130 | |
131 cd $(TEMP) && zip -r ../$(NGINX).zip $(NGINX) | |
132 | |
133 | |
134 icons: src/os/win32/nginx.ico | |
681 | 135 |
2734 | 136 # 48x48, 32x32 and 16x16 icons |
681 | 137 |
2734 | 138 src/os/win32/nginx.ico: src/os/win32/nginx_icon48.xpm \ |
139 src/os/win32/nginx_icon32.xpm \ | |
681 | 140 src/os/win32/nginx_icon16.xpm |
141 | |
142 test -d $(TEMP) || mkdir $(TEMP) | |
143 | |
2734 | 144 xpmtoppm --alphaout=$(TEMP)/nginx48.pbm \ |
145 src/os/win32/nginx_icon48.xpm > $(TEMP)/nginx48.ppm | |
146 | |
681 | 147 xpmtoppm --alphaout=$(TEMP)/nginx32.pbm \ |
148 src/os/win32/nginx_icon32.xpm > $(TEMP)/nginx32.ppm | |
149 | |
150 xpmtoppm --alphaout=$(TEMP)/nginx16.pbm \ | |
151 src/os/win32/nginx_icon16.xpm > $(TEMP)/nginx16.ppm | |
152 | |
153 ppmtowinicon -output src/os/win32/nginx.ico -andpgms \ | |
2734 | 154 $(TEMP)/nginx48.ppm $(TEMP)/nginx48.pbm \ |
681 | 155 $(TEMP)/nginx32.ppm $(TEMP)/nginx32.pbm \ |
156 $(TEMP)/nginx16.ppm $(TEMP)/nginx16.pbm |