Patchwork [1/1] opkg: create run-scripts file conditionally

login
register
mail settings
Submitter Kang Kai
Date March 26, 2013, 6:43 a.m.
Message ID <245c80ed5b2af21acfc2ee3cb910f26292db3909.1364279968.git.kai.kang@windriver.com>
Download mbox | patch
Permalink /patch/46901/
State New
Headers show

Comments

Kang Kai - March 26, 2013, 6:43 a.m.
This bug occurs on rpm-based sdk image.

update-alternatives-cworth is default installed into sato image. And for
sato-sdk image, it installs every related dev packages.
update-alternatives-cworth is from opkg, so opkg-dev is installed and it
requires opkg, then opkg is installed into sato-sdk image.

This causes the script file run-postinsts installed by rpm will be
overwrited by opkg on rpm-based sdk image.

Judge the image package type and don't create run-scripts file when
package type is not ipk.

[YOCTO #3223]

Signed-off-by: Kang Kai <kai.kang@windriver.com>
---
 meta/recipes-devtools/opkg/opkg.inc |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
Saul Wold - April 2, 2013, 9:02 p.m.
On 03/25/2013 11:43 PM, Kang Kai wrote:
> This bug occurs on rpm-based sdk image.
>
> update-alternatives-cworth is default installed into sato image. And for
> sato-sdk image, it installs every related dev packages.
> update-alternatives-cworth is from opkg, so opkg-dev is installed and it
> requires opkg, then opkg is installed into sato-sdk image.
>
> This causes the script file run-postinsts installed by rpm will be
> overwrited by opkg on rpm-based sdk image.
>
> Judge the image package type and don't create run-scripts file when
> package type is not ipk.
>
> [YOCTO #3223]
>
> Signed-off-by: Kang Kai <kai.kang@windriver.com>
> ---
>   meta/recipes-devtools/opkg/opkg.inc |    6 ++++++
>   1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc
> index f9c1202..bc80cb0 100644
> --- a/meta/recipes-devtools/opkg/opkg.inc
> +++ b/meta/recipes-devtools/opkg/opkg.inc
> @@ -59,10 +59,16 @@ do_install_append_class-native() {
>
>   POSTLOG ?= "/var/log/postinstall.log"
>   REDIRECT_CMD = "${@base_contains('IMAGE_FEATURES', 'debug-tweaks', '>${POSTLOG} 2>&1', '', d)}"
> +PKGTYPE = "${@d.getVar('IMAGE_PKGTYPE', True)}"
>
>   pkg_postinst_${PN} () {
>   #!/bin/sh
>   if [ "x$D" != "x" ]; then
> +	# if installed to a rpm/deb based image, don't create run-postinsts file
> +	if [ "x${PKGTYPE}" != "xipk" ]; then
> +		exit 0
> +	fi
> +
I understand what you are trying to do here, I think Richard was 
questioning if this is the right implementation of the change. I think 
if you look at how RPM does it and then make the *run-postinsts script 
an update-alternatives so each package system does it consistently, this 
will also require a change to dpkg.

Then there might have to be some setting of the PRIORITY for when each 
package system is installed.

Sau!

>   	install -d $D${sysconfdir}/rcS.d
>   	# this happens at S98 where our good 'ole packages script used to run
>   	echo "#!/bin/sh
>
Kang Kai - April 3, 2013, 1:50 a.m.
On 2013?04?03? 05:02, Saul Wold wrote:
> On 03/25/2013 11:43 PM, Kang Kai wrote:
>> This bug occurs on rpm-based sdk image.
>>
>> update-alternatives-cworth is default installed into sato image. And for
>> sato-sdk image, it installs every related dev packages.
>> update-alternatives-cworth is from opkg, so opkg-dev is installed and it
>> requires opkg, then opkg is installed into sato-sdk image.
>>
>> This causes the script file run-postinsts installed by rpm will be
>> overwrited by opkg on rpm-based sdk image.
>>
>> Judge the image package type and don't create run-scripts file when
>> package type is not ipk.
>>
>> [YOCTO #3223]
>>
>> Signed-off-by: Kang Kai <kai.kang@windriver.com>
>> ---
>> meta/recipes-devtools/opkg/opkg.inc | 6 ++++++
>> 1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/meta/recipes-devtools/opkg/opkg.inc 
>> b/meta/recipes-devtools/opkg/opkg.inc
>> index f9c1202..bc80cb0 100644
>> --- a/meta/recipes-devtools/opkg/opkg.inc
>> +++ b/meta/recipes-devtools/opkg/opkg.inc
>> @@ -59,10 +59,16 @@ do_install_append_class-native() {
>>
>> POSTLOG ?= "/var/log/postinstall.log"
>> REDIRECT_CMD = "${@base_contains('IMAGE_FEATURES', 'debug-tweaks', 
>> '>${POSTLOG} 2>&1', '', d)}"
>> +PKGTYPE = "${@d.getVar('IMAGE_PKGTYPE', True)}"
>>
>> pkg_postinst_${PN} () {
>> #!/bin/sh
>> if [ "x$D" != "x" ]; then
>> + # if installed to a rpm/deb based image, don't create run-postinsts 
>> file
>> + if [ "x${PKGTYPE}" != "xipk" ]; then
>> + exit 0
>> + fi
>> +
> I understand what you are trying to do here, I think Richard was 
> questioning if this is the right implementation of the change. I think 
> if you look at how RPM does it and then make the *run-postinsts script 
> an update-alternatives so each package system does it consistently, 
> this will also require a change to dpkg.
>
> Then there might have to be some setting of the PRIORITY for when each 
> package system is installed.
Thanks. I'll re-implement it.

Regards,
Kai


>
> Sau!
>
>> install -d $D${sysconfdir}/rcS.d
>> # this happens at S98 where our good 'ole packages script used to run
>> echo "#!/bin/sh
>>
>

Patch

diff --git a/meta/recipes-devtools/opkg/opkg.inc b/meta/recipes-devtools/opkg/opkg.inc
index f9c1202..bc80cb0 100644
--- a/meta/recipes-devtools/opkg/opkg.inc
+++ b/meta/recipes-devtools/opkg/opkg.inc
@@ -59,10 +59,16 @@  do_install_append_class-native() {
 
 POSTLOG ?= "/var/log/postinstall.log"
 REDIRECT_CMD = "${@base_contains('IMAGE_FEATURES', 'debug-tweaks', '>${POSTLOG} 2>&1', '', d)}"
+PKGTYPE = "${@d.getVar('IMAGE_PKGTYPE', True)}"
 
 pkg_postinst_${PN} () {
 #!/bin/sh
 if [ "x$D" != "x" ]; then
+	# if installed to a rpm/deb based image, don't create run-postinsts file
+	if [ "x${PKGTYPE}" != "xipk" ]; then
+		exit 0
+	fi
+
 	install -d $D${sysconfdir}/rcS.d
 	# this happens at S98 where our good 'ole packages script used to run
 	echo "#!/bin/sh