Apache2: Add libselinux dependency and Disable parallel install

Submitted by rongqing.li@windriver.com on Nov. 7, 2012, 5:57 a.m.

Details

Message ID 1352267865-3534-1-git-send-email-rongqing.li@windriver.com
State New, archived
Headers show

Commit Message

rongqing.li@windriver.com Nov. 7, 2012, 5:57 a.m.
From: Roy.Li <rongqing.li@windriver.com>

1. Add conditional dependency on libselinux to apache2.

2. Disable parallel make install
apache2 supports parallel make install, before installation,
it will firstly call build/mkdir.sh to create needed directories.
build/mkdir.sh first checks if a directory exists or not, if not,
it will create this directory, when mkdir.sh is called by many
instances parallel, it will introduce race, namely the result of
checking says one directory does not exist, but when it tries to
mkdir, this directory has been created by other instance.

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
---
 .../recipes-httpd/apache2/apache2_2.4.2.bb         |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.2.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.2.bb
index af7840d..c484a19 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.2.bb
+++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.2.bb
@@ -52,6 +52,12 @@  EXTRA_OECONF = "--enable-ssl \
 		--enable-mpms-shared \
 		ac_cv_have_threadsafe_pollset=no"
 
+PARALLEL_MAKEINST = ""
+
+PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG[selinux] = "ac_cv_lib_selinux_is_selinux_enabled=yes, \
+        ac_cv_lib_selinux_is_selinux_enabled=no, libselinux,"
+
 do_configure_prepend() {
 	# FIXME: this hack is required to work around an issue with apr/apr-util
 	# Can be removed when fixed in OE-Core (also revert --with-* options above)

Comments

Chris Larson Nov. 7, 2012, 4:46 p.m.
On Tue, Nov 6, 2012 at 10:57 PM, <rongqing.li@windriver.com> wrote:

> 2. Disable parallel make install
> apache2 supports parallel make install, before installation,
> it will firstly call build/mkdir.sh to create needed directories.
> build/mkdir.sh first checks if a directory exists or not, if not,
> it will create this directory, when mkdir.sh is called by many
> instances parallel, it will introduce race, namely the result of
> checking says one directory does not exist, but when it tries to
> mkdir, this directory has been created by other instance.
>

How much work would it be to change it to run 'mkdir -p' rather than
build/mkdir.sh, e.g. via a variable in EXTRA_OEMAKE?
rongqing.li@windriver.com Nov. 8, 2012, 12:47 a.m.
On 2012?11?08? 00:46, Chris Larson wrote:
> On Tue, Nov 6, 2012 at 10:57 PM, <rongqing.li@windriver.com> wrote:
>
>> 2. Disable parallel make install
>> apache2 supports parallel make install, before installation,
>> it will firstly call build/mkdir.sh to create needed directories.
>> build/mkdir.sh first checks if a directory exists or not, if not,
>> it will create this directory, when mkdir.sh is called by many
>> instances parallel, it will introduce race, namely the result of
>> checking says one directory does not exist, but when it tries to
>> mkdir, this directory has been created by other instance.
>>
>
> How much work would it be to change it to run 'mkdir -p' rather than
> build/mkdir.sh, e.g. via a variable in EXTRA_OEMAKE?
>

"mkdir -p", plus ignoring return result of mkdir should be worked, but
it can not be passed in by variable in EXTRA_OEMAKE, maybe need a patch.

Since this bug is hard to reproduce, so I simply disable the parallel
install.