[oe] [meta-openembedded/meta-webserver][PATCH] nginx: new recipe, updated from aging original in rpi layer (has not been scrubbed for any potential policy issues).
Paul Eggleton
paul.eggleton at linux.intel.com
Wed Oct 9 09:55:30 UTC 2013
Hi Stephen,
Thanks for sending this. A few comments below.
On Tuesday 08 October 2013 22:33:44 stephen.arnold42 wrote:
> From: "stephen.arnold42" <stephen.arnold42 at gmail.com>
Ideally the part of the subject from "updated..." onwards should go into the
commit message. You should really specify that the "rpi" layer you refer to is
your own.
> +++ b/meta-webserver/recipes-httpd/nginx/files/nginx-cross_1.4.0.diff
> @@ -0,0 +1,212 @@
> +diff -uraN nginx-1.0.11.orig/auto/feature nginx-1.0.11/auto/feature
Could you please add a header to this patch mentioning what it does, the
origin if it wasn't something you wrote, the Upstream-Status and your Signed-
off-by?
> +DESCRIPTION = "HTTP and reverse proxy server"
Please set this as SUMMARY rather than DESCRIPTION since it's one line.
> +HOMEPAGE = "http://nginx.org/"
> +LICENSE = "BSD"
Can we be specific about which BSD license this is? Looking at it I think
"BSD-2-Clause" is the correct one.
> +SECTION = "net"
> +PRIORITY = "optional"
Please drop PRIORITY, we don't use this anymore.
> +DEPENDS = "libpcre gzip openssl"
> +
> +PR = "r4"
PR should ideally be dropped since this is a new recipe for public layers.
> +SRC_URI = " \
> + http://nginx.org/download/nginx-${PV}.tar.gz \
> + file://nginx-cross_${PV}.diff;name=crosspatch \
> + file://nginx.conf \
> + file://nginx.init \
> +"
> +
> +S = "${WORKDIR}/nginx-${PV}"
This is the default value for S ("${WORKDIR}/${BP}" where BP is "${BPN}-${PV}"
and BPN is "nginx") so no need to set this.
> +inherit autotools update-rc.d useradd
I could be mistaken, but looking at the source it doesn't appear to be using
autotools, in which case inheriting autotools wouldn't be right. That does
mean you'll have to define your own do_install (doing
"oe_runmake 'DESTDIR=${D}' install" before what you currently have in
do_install_append).
> +SRC_URI[md5sum] = "d496e58864ab10ed56278b7655b0d0b2"
> +SRC_URI[sha256sum] =
> "84aeb7a131fccff036dc80283dd98c989d2844eb84359cfe7c4863475de923a9"
> +SRC_URI[crosspatch.md5sum] = "707c4cdd6bb82719ea2ed50971101c21"
> +SRC_URI[crosspatch.sha256sum] =
> "96cc3b087126caaa0951ab3e3f9f26169e9caf283dd2aeb689ed6c435070f052"
We don't normally checksum local files such as "crosspatch".
> +LIC_FILES_CHKSUM = "file://LICENSE;md5=917bfdf005ffb6fd025550414ff05a9f" +
> +CONFFILES_${PN} = "${sysconfdir}/nginx/nginx.conf \
> + ${sysconfdir}/nginx/fastcgi.conf\
> + ${sysconfdir}/nginx/fastcgi_params \
> + ${sysconfdir}/nginx/koi-utf \
> + ${sysconfdir}/nginx/koi-win \
> + ${sysconfdir}/nginx/mime.types \
> + ${sysconfdir}/nginx/scgi_params \
> + ${sysconfdir}/nginx/uwsgi_params \
> + ${sysconfdir}/nginx/win-utf \
> +"
> +
> +INITSCRIPT_NAME = "nginx"
> +INITSCRIPT_PARAMS = "defaults 92 20"
> +
> +do_configure () {
> + PTRSIZE=$(expr ${SITEINFO_BITS} / 8)
> +
> + echo $CFLAGS
> + echo $LDFLAGS
> +
> + ./configure \
> + --crossbuild=Linux:${TUNE_ARCH} \
> + --with-endian=${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'little',
> 'big', d)} \ + --with-int=4 \
> + --with-long=${PTRSIZE} \
> + --with-long-long=8 \
> + --with-ptr-size=${PTRSIZE} \
> + --with-sig-atomic-t=${PTRSIZE} \
> + --with-size-t=${PTRSIZE} \
> + --with-off-t=${PTRSIZE} \
> + --with-time-t=${PTRSIZE} \
> + --with-sys-nerr=132 \
> + --conf-path=/etc/nginx/nginx.conf \
> + --http-log-path=/var/log/nginx/access.log \
> + --error-log-path=/var/log/nginx/error.log \
> + --pid-path=/var/run/nginx/nginx.pid \
> + --prefix=/usr \
> + --with-http_ssl_module \
> + --with-http_gzip_static_module
> +}
> +
> +do_install_append () {
> + install -d ${D}${localstatedir}/www/localhost
> + mv ${D}/usr/html ${D}${localstatedir}/www/localhost/
> + chown www:www-data -R ${D}${localstatedir}
> +
> + install -d ${D}${sysconfdir}/init.d
> + install -d ${D}${sysconfdir}/nginx
> + install -m 0755 ${WORKDIR}/nginx.init ${D}${sysconfdir}/init.d/nginx
> + install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/
> +
> + install -d ${D}${sysconfdir}/default/volatiles
> + echo "d www www-data 0755 ${localstatedir}/run/nginx none" \
> + > ${D}${sysconfdir}/default/volatiles/99_nginx
> +}
> +
> +FILES_${PN} += "${localstatedir}/ /run/"
I don't think we should be adding /run/ here. There is a guide on how to deal
with unshipped file/dir warnings for /run in case you haven't seen it:
http://permalink.gmane.org/gmane.comp.handhelds.openembedded/58530
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the Openembedded-devel
mailing list