Skip to contentSkip to conversation

package/nginx: new package

PATCH Superseded Samuel Martin 3 participants 4 messages Sep 29, 2014 – Oct 6, 2014

v4 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v4 1/1 package/nginx: new package

nginx module selection is, by default, the same as the one sets by the upstream configure script.

Patches improving the cross-compilation support have already been sent upstream for integration [1-5].

All these patches are needed because nginx uses its own handwritten build-system, which is cross-platform, but does not properly support cross-compilation.

Fixes bug: #3427 [6]

[1] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005722.html
[2] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005724.html
[3] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005725.html
[4] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005723.html
[5] http://mailman.nginx.org/pipermail/nginx-devel/2014-August/005726.html
[6] https://bugs.uclibc.org/show_bug.cgi?id=3427

Cc Daniele Salvatore Albano <[email protected]>
Cc Maxime Hadjinlian <[email protected]>
Cc Johan Oudinet <[email protected]>
Cc Thomas Petazzoni <[email protected]>
Cc Gustavo Zacarias <[email protected]>

---
changes v3 -> v4:

- rebase
- bump to latest stable version
- fix sysv init script (JohanO)
- fix misc. paths (prefix, sbin, log, temp., etc) (JohanO)
- update nginx.service

changes v2 -> v3:
- rollback to stable release (1.6.0) instead of latest one (Gustavo)
- add comments in nginx.mk
- extend commit log

changes v1 -> v2:
- add SSL module knobs (ThomasP)
- turn all BR2_PACKAGE_* symbols fully uppercase (ThomasP)
- add pid file option to start-stop-daemon (ThomasP)
- do not pass default "-I..." "-L..." locations (ThomasP)
- fix --prefix (ThomasP)
- fix missing brackets

---
 package/Config.in                                  |   1 +
 package/nginx/Config.in                            | 324 +++++++++++++++++++++
 package/nginx/S50nginx                             |  24 ++
 ...izeof-rework-autotest-to-be-cross-compila.patch |  88 ++++++
 ...e-add-mechanism-allowing-to-force-feature.patch | 135 +++++++++
 ...x_feature_run_force_result-for-each-featu.patch | 209 +++++++++++++
 ...bxslt-conf-allow-to-override-ngx_feature_.patch |  42 +++
 ...nix-make-sys_nerr-guessing-cross-friendly.patch | 133 +++++++++
 package/nginx/nginx.logrotate                      |   9 +
 package/nginx/nginx.mk                             | 236 +++++++++++++++
 package/nginx/nginx.service                        |  15 +
 11 files changed, 1216 insertions(+)
 create mode 100644 package/nginx/Config.in
 create mode 100755 package/nginx/S50nginx
 create mode 100644 package/nginx/nginx-0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch
 create mode 100644 package/nginx/nginx-0002-auto-feature-add-mechanism-allowing-to-force-feature.patch
 create mode 100644 package/nginx/nginx-0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch
 create mode 100644 package/nginx/nginx-0004-auto-lib-libxslt-conf-allow-to-override-ngx_feature_.patch
 create mode 100644 package/nginx/nginx-0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch
 create mode 100644 package/nginx/nginx.logrotate
 create mode 100644 package/nginx/nginx.mk
 create mode 100644 package/nginx/nginx.service
package/Config.in +1 -0
index 2ad72bc..20bf17c 100644
@@ -1033,6 +1033,7 @@ endif
 	source "package/network-manager/Config.in"
 	source "package/nfacct/Config.in"
 	source "package/nftables/Config.in"
+	source "package/nginx/Config.in"
 	source "package/ngircd/Config.in"
 	source "package/ngrep/Config.in"
 	source "package/nmap/Config.in"
package/nginx/Config.in new file +324 -0

324 lines not on this page · raw message

package/nginx/S50nginx new file +24 -0
new file mode 100755
index 0000000..6bd5d91
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# Start/stop nginx
+#
+
+PIDFILE=/var/run/nginx.pid
+
+case "$1" in
+  start)
+	echo "Starting nginx..."
+	start-stop-daemon -S -x /usr/sbin/nginx -p $PIDFILE
+	;;
+  stop)
+	echo -n "Stopping nginx..."
+	start-stop-daemon -K -o -p $PIDFILE
+	;;
+  restart|reload)
+	"$0" stop
+	"$0" start
+	;;
+  *)
+	echo "Usage: $0 {start|stop|restart}"
+	exit 1
+esac
package/nginx/nginx-0001-auto-type-sizeof-rework-autotest-to-be-cross-compila.patch new file +88 -0

88 lines not on this page · raw message

package/nginx/nginx-0002-auto-feature-add-mechanism-allowing-to-force-feature.patch new file +135 -0

135 lines not on this page · raw message

package/nginx/nginx-0003-auto-set-ngx_feature_run_force_result-for-each-featu.patch new file +209 -0

209 lines not on this page · raw message

package/nginx/nginx-0004-auto-lib-libxslt-conf-allow-to-override-ngx_feature_.patch new file +42 -0

42 lines not on this page · raw message

package/nginx/nginx-0005-auto-unix-make-sys_nerr-guessing-cross-friendly.patch new file +133 -0

133 lines not on this page · raw message

package/nginx/nginx.logrotate new file +9 -0
new file mode 100644
index 0000000..e0fa9ec
@@ -0,0 +1,9 @@
+/var/log/nginx/*log {
+	missingok
+	create 640 http log
+	sharedscripts
+	compress
+	postrotate
+		test ! -r /var/run/nginx.pid || kill -USR1 `cat /var/run/nginx.pid`
+	endscript
+}
package/nginx/nginx.mk new file +236 -0

236 lines not on this page · raw message

package/nginx/nginx.service new file +15 -0
new file mode 100644
index 0000000..5649304
@@ -0,0 +1,15 @@
+[Unit]
+Description=A high performance web server and a reverse proxy server
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/nginx.pid
+ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
+ExecStart=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
+ExecReload=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;' -s reload
+ExecStop=/usr/sbin/nginx -g 'pid /var/run/nginx.pid;' -s quit
+PrivateDevices=yes
+
+[Install]
+WantedBy=multi-user.target
Signature · 1 line
2.1.1
#1 lore raw

PATCH v8 1/1 package/canfestival: new package

Note: the patch adding the pkgconfig module has been sent upstream [1].

[1] http://sourceforge.net/p/canfestival/mailman/message/32876320/

Cc Eric Jarrige <[email protected]>
Cc Julien Boibessot <[email protected]>
Cc Davide Viti <[email protected]>
Cc Claudio Laurita <[email protected]>
Cc Thomas Petazzoni <[email protected]>

---
changes v7 -> v8:
- rebase
- remove CO-PCICAN supports (which require out-of-linux-tree drivers)
- add comments for unavailable driver (ThomasP)
- disable virtual_kernel driver because it uses prehistorical kernel APIs, gone for a long time (reported by ThomasP)
- add patch installing pkgconfig module (ClaudioL)

changes v6 -> v7:
- rebase
- remove patch (merged upstream)
- bump version

changes v5 -> v6:
- rebase
- fix typoes (ThomasP)
- remove Anagate and PeakSystem support (ThomasP)
- fix kernel dependency (ThomasP)
- fix license details (ThomasP)
- add comment why we are using generic-infra (ThomasP)
- make install commands failed if something goes wrong (ThomasP)

changes v4 -> v5:
- rebase
- cosmetic changes (Davide)

changes v3 -> v4:
- rebase
- pass --prefix=/usr to the configure call (Davide)
- misc. cleanup in canfestival.mk (Yann)
- keep package/Config.in alphabetically ordered

changes v2 -> v3:
- rename package libcanfestival -> canfestival (follow upstream name)
- add option to install examples
- use latest revision
- use tarball instead of hg clone
- cosmetic fixes and typos (Peter and Yegor)
- add note about the standard mainline can interface (Peter)
- set default max bus number to 1 (Peter)

changes v1 -> v2:
- clean/fix *.mk

---
 package/Config.in                                  |  1 +
 package/canfestival/Config.in                      | 77 ++++++++++++++++++++++
 ...-install-pkgconfig-module-for-canfestival.patch | 74 +++++++++++++++++++++
 package/canfestival/canfestival.mk                 | 55 ++++++++++++++++
 4 files changed, 207 insertions(+)
 create mode 100644 package/canfestival/Config.in
 create mode 100644 package/canfestival/canfestival-0001-install-pkgconfig-module-for-canfestival.patch
 create mode 100644 package/canfestival/canfestival.mk
package/Config.in +1 -0
index 20bf17c..4fbcdd2 100644
@@ -760,6 +760,7 @@ endmenu
 menu "Networking"
 	source "package/agentpp/Config.in"
 	source "package/c-ares/Config.in"
+	source "package/canfestival/Config.in"
 	source "package/cppzmq/Config.in"
 	source "package/czmq/Config.in"
 	source "package/filemq/Config.in"
package/canfestival/Config.in new file +77 -0

77 lines not on this page · raw message

package/canfestival/canfestival-0001-install-pkgconfig-module-for-canfestival.patch new file +74 -0

74 lines not on this page · raw message

package/canfestival/canfestival.mk new file +55 -0

55 lines not on this page · raw message

Signature · 1 line
2.1.1
#2 lore raw

PATCH v8 1/1 package/canfestival: new package

Dear Samuel Martin,

Quoted 10 lines · Samuel Martin

Note: the patch adding the pkgconfig module has been sent upstream [1].

[1] http://sourceforge.net/p/canfestival/mailman/message/32876320/

Cc Eric Jarrige <[email protected]>
Cc Julien Boibessot <[email protected]>
Cc Davide Viti <[email protected]>
Cc Claudio Laurita <[email protected]>
Cc Thomas Petazzoni <[email protected]>

Thanks, applied, after doing a few changes:

[Thomas:
- license seems to be only LGPLv2.1+. At least, the specific files pointed to be GPLv2 carry a LGPLv2.1+ header.
- added thread dependency
- minor rewording here and there.]

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH v4 1/1 package/nginx: new package

In reply to Samuel Martin

On 09/29/2014 06:43 PM, Samuel Martin wrote:

Hi Samuel.
Nice job on keeping up with this one!
A couple of minor fixes:

package/nginx/Config.in line 39

Quoted 4 lines
package/nginx/Config.in new file +4 -0
+config BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE
+	bool "ngx_http_spdy_module"
+	help
+	  Enable ngx_http_spdy_module

Needs a:
select BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE

I guess we'll be seeing others like this as well, just tested a couple obvious ones.
It's very likely as well that this option is useless without SSL support since SPDY is like a souped-up TLS (even though it builds).

Also you're directing logfiles to /var/log/nginx but the directory is never created by the systemd unit/initscript file. This leads to a non-working default configuration.

Other than that it looks pretty good.
Regards.