apache2: create log/run directory via pkg_postinst

The commit e789c3837c tries to create
log/run directory in initscript/systemd unit file. This is not a correct
method. We should create them in pkg_postinst.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Yi Zhao
2020-05-22 10:54:49 +08:00
committed by Khem Raj
parent 64469492b0
commit 6f4d0dbfbc
5 changed files with 23 additions and 9 deletions
@@ -20,7 +20,9 @@ SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
SRC_URI_append_class-target = " \ SRC_URI_append_class-target = " \
file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \ file://0008-apache2-do-not-use-relative-path-for-gen_test_char.patch \
file://init \ file://init \
file://apache2-volatile.conf \
file://apache2.service \ file://apache2.service \
file://volatiles.04_apache2 \
" "
LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3" LIC_FILES_CHKSUM = "file://LICENSE;md5=bddeddfac80b2c9a882241d008bb41c3"
@@ -126,10 +128,16 @@ do_install_append_class-target() {
-e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice -e 's,".*/configure","configure",g' ${D}${datadir}/apache2/build/config.nice
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d/
install -m 0644 ${WORKDIR}/apache2-volatile.conf ${D}${sysconfdir}/tmpfiles.d/
install -d ${D}${systemd_unitdir}/system install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/apache2.service ${D}${systemd_unitdir}/system
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/apache2.service
sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/apache2.service
elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/volatiles.04_apache2 ${D}${sysconfdir}/default/volatiles/04_apache2
fi fi
rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars* rm -rf ${D}${localstatedir} ${D}${sbindir}/envvars*
@@ -206,3 +214,13 @@ RDEPENDS_${PN}-scripts += "perl ${PN}"
RDEPENDS_${PN}-dev = "perl" RDEPENDS_${PN}-dev = "perl"
BBCLASSEXTEND = "native" BBCLASSEXTEND = "native"
pkg_postinst_${PN}() {
if [ -z "$D" ]; then
if type systemd-tmpfiles >/dev/null; then
systemd-tmpfiles --create
elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
fi
}
@@ -0,0 +1,2 @@
d /var/run/apache2 0755 root root -
d /var/log/apache2 0755 root root -
@@ -5,10 +5,6 @@ After=network.target remote-fs.target nss-lookup.target
[Service] [Service]
Type=simple Type=simple
Environment=LANG=C Environment=LANG=C
ExecStartPre=mkdir -p /var/log/apache2
ExecStartPre=mkdir -p /var/run/apache2
ExecStartPre=chmod -R 0755 /var/log/apache2
ExecStartPre=chmod -R 0755 /var/run/apache2
ExecStart=@SBINDIR@/httpd -DFOREGROUND -D SSL -D PHP5 -k start ExecStart=@SBINDIR@/httpd -DFOREGROUND -D SSL -D PHP5 -k start
ExecStop=@BASE_BINDIR@/kill -WINCH ${MAINPID} ExecStop=@BASE_BINDIR@/kill -WINCH ${MAINPID}
KillSignal=SIGCONT KillSignal=SIGCONT
@@ -97,11 +97,6 @@ do_start()
return 1 return 1
fi fi
mkdir -p /var/log/apache2
chmod -R 0755 /var/log/apache2
mkdir -p /var/run/apache2
chmod -R 0755 /var/run/apache2
if apache_conftest ; then if apache_conftest ; then
$APACHECTL start $APACHECTL start
apache_wait_start $? apache_wait_start $?
@@ -0,0 +1,3 @@
# <type> <owner> <group> <mode> <path> <linksource>
d root root 0755 /var/run/apache2 none
d root root 0755 /var/log/apache2 none