Files
Johannes Kirchmair 356b224344 redirect unwanted error message in nginx install
if we run opkg install nginx on our system (without systemd)
we end up getting the following message in the install process

$ opkg install nginx_1.20.1-r0_core2-64.ipk 
...
//var/lib/opkg/info/nginx.postinst: line 3: type: systemd-tmpfiles: not found

this confused some of my coworkers.
as installation also finishes correctly without sytemd-tmpfiles
and not having systemd-tempfiles is not really a problem, I think
we should redirect the message also to /dev/NULL

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-04 13:39:46 -07:00

185 lines
6.4 KiB
PHP

SUMMARY = "HTTP and reverse proxy server"
DESCRIPTION = "Nginx is a web server and a reverse proxy server for \
HTTP, SMTP, POP3 and IMAP protocols, with a strong focus on high \
concurrency, performance and low memory usage."
HOMEPAGE = "http://nginx.org/"
LICENSE = "BSD-2-Clause"
SECTION = "net"
DEPENDS = "libpcre zlib"
SRC_URI = " \
http://nginx.org/download/nginx-${PV}.tar.gz \
file://nginx-cross.patch \
file://0001-Allow-the-overriding-of-the-endianness-via-the-confi.patch \
file://nginx.conf \
file://default_server.site \
file://proxy_params \
file://nginx.init \
file://nginx-volatile.conf \
file://nginx.service \
file://nginx-fix-pidfile.patch \
"
inherit siteinfo update-rc.d useradd systemd
SYSTEMD_SERVICE:${PN} = "nginx.service"
CFLAGS:append = " -fPIE -pie"
CXXFLAGS:append = " -fPIE -pie"
NGINX_WWWDIR ?= "${localstatedir}/www/localhost"
NGINX_USER ?= "www"
EXTRA_OECONF = ""
DISABLE_STATIC = ""
PACKAGECONFIG ??= "ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
PACKAGECONFIG[gunzip] = "--with-http_gunzip_module,,"
PACKAGECONFIG[http2] = "--with-http_v2_module,,"
PACKAGECONFIG[ssl] = "--with-http_ssl_module,,openssl"
PACKAGECONFIG[http-auth-request] = "--with-http_auth_request_module,,"
PACKAGECONFIG[ipv6] = "--with-ipv6,,"
PACKAGECONFIG[webdav] = "--with-http_dav_module,,"
do_configure () {
if [ "${SITEINFO_BITS}" = "64" ]; then
PTRSIZE=8
else
PTRSIZE=4
fi
echo $CFLAGS
echo $LDFLAGS
# Add the LDFLAGS to the main nginx link to avoid issues with missing GNU_HASH
echo "MAIN_LINK=\"\${MAIN_LINK} ${LDFLAGS}\"" >> auto/cc/conf
./configure \
--crossbuild=Linux:${TUNE_ARCH} \
--with-endian=${@oe.utils.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=8 \
--with-time-t=${PTRSIZE} \
--with-sys-nerr=132 \
--conf-path=${sysconfdir}/nginx/nginx.conf \
--http-log-path=${localstatedir}/log/nginx/access.log \
--error-log-path=${localstatedir}/log/nginx/error.log \
--http-client-body-temp-path=/run/nginx/client_body_temp \
--http-proxy-temp-path=/run/nginx/proxy_temp \
--http-fastcgi-temp-path=/run/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/run/nginx/uwsgi_temp \
--http-scgi-temp-path=/run/nginx/scgi_temp \
--pid-path=/run/nginx/nginx.pid \
--prefix=${prefix} \
--with-threads \
--with-http_gzip_static_module \
${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS}
}
do_install () {
oe_runmake 'DESTDIR=${D}' install
rm -fr ${D}${localstatedir}/run ${D}/run
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/${BPN} - - - -" \
> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
echo "d ${localstatedir}/log/${BPN} 0755 root root -" \
>> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
fi
install -d ${D}${sysconfdir}/${BPN}
ln -rs ${D}${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
install -d ${D}${NGINX_WWWDIR}
mv ${D}${exec_prefix}/html ${D}${NGINX_WWWDIR}/
chown ${NGINX_USER}:www-data -R ${D}${NGINX_WWWDIR}
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/nginx.init ${D}${sysconfdir}/init.d/nginx
sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${sysconfdir}/init.d/nginx
sed -i 's,/etc/,${sysconfdir}/,g' ${D}${sysconfdir}/init.d/nginx
install -d ${D}${sysconfdir}/nginx
install -m 0644 ${WORKDIR}/nginx.conf ${D}${sysconfdir}/nginx/nginx.conf
sed -i 's,/etc/,${sysconfdir}/,g' ${D}${sysconfdir}/nginx/nginx.conf
sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/nginx.conf
sed -i 's/^user.*/user ${NGINX_USER};/g' ${D}${sysconfdir}/nginx/nginx.conf
install -Dm 0644 ${WORKDIR}/default_server.site ${D}${sysconfdir}/nginx/sites-available/default_server
sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/nginx/sites-available/default_server
install -d ${D}${sysconfdir}/nginx/sites-enabled
ln -s ../sites-available/default_server ${D}${sysconfdir}/nginx/sites-enabled/
install -m 0644 ${WORKDIR}/proxy_params ${D}${sysconfdir}/nginx/proxy_params
install -d ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/nginx-volatile.conf ${D}${sysconfdir}/default/volatiles/99_nginx
sed -i 's,/var/,${localstatedir}/,g' ${D}${sysconfdir}/default/volatiles/99_nginx
sed -i 's,@NGINX_USER@,${NGINX_USER},g' ${D}${sysconfdir}/default/volatiles/99_nginx
# cleanup configuration folder
rm ${D}${sysconfdir}/nginx/*.default
# add additional configuration folders
install -d ${D}${sysconfdir}/nginx/modules-available
install -d ${D}${sysconfdir}/nginx/modules-enabled
install -d ${D}${sysconfdir}/nginx/server-conf.d
install -d ${D}${sysconfdir}/nginx/conf.d
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/nginx.service ${D}${systemd_unitdir}/system/
sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
-e 's,@LOCALSTATEDIR@,${localstatedir},g' \
-e 's,@SBINDIR@,${sbindir},g' \
-e 's,@BASE_BINDIR@,${base_bindir},g' \
${D}${systemd_unitdir}/system/nginx.service
fi
rm -rf ${D}${localstatedir}/log/
}
pkg_postinst:${PN} () {
if [ -z "$D" ]; then
if type systemd-tmpfiles >/dev/null 2>&1; then
systemd-tmpfiles --create
elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
fi
}
FILES:${PN} += " \
${localstatedir}/ \
${systemd_unitdir}/system/nginx.service \
"
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"
USERADD_PACKAGES = "${PN}"
USERADD_PARAM:${PN} = " \
--system --no-create-home \
--home ${NGINX_WWWDIR} \
--groups www-data \
--user-group ${NGINX_USER}"