All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacob Stiffler <j-stiffler@ti.com>
To: Denys Dmytriyenko <denys@ti.com>
Cc: meta-arago@arago-project.org
Subject: Re: [PATCH] php: Fix race condition during installation.
Date: Mon, 11 May 2015 06:47:50 -0400	[thread overview]
Message-ID: <555088D6.7010302@ti.com> (raw)
In-Reply-To: <20150508173923.GN8462@edge>

This is my own fix.

There was a php bug to track this (https://bugs.php.net/bug.php?id=61345).

It appears that the there is no fix in meta-openembedded in the daisy or 
daisy-next branches, but from dizzy onward, a later version of php is 
used which has this fix.


On 5/8/2015 1:39 PM, Denys Dmytriyenko wrote:
> Is it from upstream or your own fix? If latter, do you plan on submitting it
> upstream?
>
>
> On Fri, May 08, 2015 at 01:29:26PM -0400, Jacob Stiffler wrote:
>> * The race condition manifests with the following error:
>>
>> Installing PHP CLI binary:        /home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/x86_64-linux/php-native/5.4.14-r5.0-arago2/image/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/bin/
>> Installing PHP CGI binary:        /home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/x86_64-linux/php-native/5.4.14-r5.0-arago2/image/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/bin/
>> Installing build environment:     /home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/x86_64-linux/php-native/5.4.14-r5.0-arago2/image/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/lib/build/
>> Installing helper programs:       /home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/x86_64-linux/php-native/5.4.14-r5.0-arago2/image/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/bin/
>> Installing PEAR environment:      /home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/x86_64-linux/php-native/5.4.14-r5.0-arago2/image/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/lib/php/
>> Installing PDO headers:          /home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/x86_64-linux/php-native/5.4.14-r5.0-arago2/image/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/include/php/ext/pdo/
>> cp: cannot create regular file `/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/x86_64-linux/php-native/5.4.14-r5.0-arago2/image/home/gtbldadm/ti/oe-layersetup/build-CORTEX_1/arago-tmp-external-linaro-toolchain/sysroots/x86_64-linux/usr/bin/#INST@1289#': No such file or directory
>> make: *** [install-cgi] Error 1
>> make: *** Waiting for unfinished jobs....
>>
>> * This issue was root caused to being a race condition when multiple
>>    threads are used.
>> * The PHP CGI bibary installation does not install the $bindir, PHP
>>    CLI binary intalls the $bindir, so there is a slight chance that PHP
>>    CGI will attempt to install its binaries before the $bindir is
>>    created.
>> * This patches the makefile so that installing the PHP CGI binaries
>>    will also install the $bindir.
>>
>> Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
>> ---
>>   .../php/fix-race-condition-during-install.patch    |   10 ++++++++++
>>   .../recipes-devtools/php/php_5.4.14.bbappend       |    4 +++-
>>   2 files changed, 13 insertions(+), 1 deletion(-)
>>   create mode 100644 meta-arago-distro/recipes-devtools/php/php/fix-race-condition-during-install.patch
>>
>> diff --git a/meta-arago-distro/recipes-devtools/php/php/fix-race-condition-during-install.patch b/meta-arago-distro/recipes-devtools/php/php/fix-race-condition-during-install.patch
>> new file mode 100644
>> index 0000000..f4f3fb6
>> --- /dev/null
>> +++ b/meta-arago-distro/recipes-devtools/php/php/fix-race-condition-during-install.patch
>> @@ -0,0 +1,10 @@
>> +diff -rupN php-5.4.14/sapi/cgi/Makefile.frag php-5.4.14.0/sapi/cgi/Makefile.frag
>> +--- php-5.4.14/sapi/cgi/Makefile.frag	2013-04-10 03:47:04.000000000 -0400
>> ++++ php-5.4.14.0/sapi/cgi/Makefile.frag	2015-05-08 11:41:10.389484079 -0400
>> +@@ -5,5 +5,6 @@ $(SAPI_CGI_PATH): $(PHP_GLOBAL_OBJS) $(P
>> +
>> + install-cgi: $(SAPI_CGI_PATH)
>> + 	@echo "Installing PHP CGI binary:        $(INSTALL_ROOT)$(bindir)/"
>> ++	@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
>> + 	@$(INSTALL) -m 0755 $(SAPI_CGI_PATH) $(INSTALL_ROOT)$(bindir)/$(program_prefix)php-cgi$(program_suffix)$(EXEEXT)
>> +
>> diff --git a/meta-arago-distro/recipes-devtools/php/php_5.4.14.bbappend b/meta-arago-distro/recipes-devtools/php/php_5.4.14.bbappend
>> index ebf480c..f463233 100644
>> --- a/meta-arago-distro/recipes-devtools/php/php_5.4.14.bbappend
>> +++ b/meta-arago-distro/recipes-devtools/php/php_5.4.14.bbappend
>> @@ -1,7 +1,9 @@
>>   # look for files in this layer first
>>   FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
>>   
>> -PR_append = "-arago2"
>> +PR_append = "-arago3"
>> +
>> +SRC_URI_append = " files://fix-race-condition-during-install.patch"
>>   
>>   SRC_URI_append_virtclass-native = " file://0001-php-native-Fix-host-contamination-issue.patch"
>>   
>> -- 
>> 1.7.9.5
>>
>> _______________________________________________
>> meta-arago mailing list
>> meta-arago@arago-project.org
>> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago



  reply	other threads:[~2015-05-11 10:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-08 17:29 [PATCH] php: Fix race condition during installation Jacob Stiffler
2015-05-08 17:39 ` Denys Dmytriyenko
2015-05-11 10:47   ` Jacob Stiffler [this message]
2015-05-11 16:35     ` Denys Dmytriyenko
2015-05-11 21:55 ` Denys Dmytriyenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=555088D6.7010302@ti.com \
    --to=j-stiffler@ti.com \
    --cc=denys@ti.com \
    --cc=meta-arago@arago-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.