Patchwork [1/1] rootfs_rpm.bbclass: make complementary packages not attempt-only

login
register
mail settings
Submitter Qi.Chen@windriver.com
Date Dec. 17, 2013, 8:54 a.m.
Message ID <e2ef71afaed27a2ea2d295132b725fe687da7b62.1387270422.git.Qi.Chen@windriver.com>
Download mbox | patch
Permalink /patch/63439/
State New
Headers show

Comments

Qi.Chen@windriver.com - Dec. 17, 2013, 8:54 a.m.
From: Chen Qi <Qi.Chen@windriver.com>

Installing complementary packages should not be attempt-only, otherwise,
errors would be hidden. For example, if we enable ptest distro feature,
and we add 'ptest-pkgs' to IMAGE_FEATRUES, then building a minimal image
would succeed without reporting any error. However, the systemd-ptest
is not installed because of lack of the perl package.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
 meta/classes/rootfs_rpm.bbclass |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Mark Hatle - Dec. 17, 2013, 2:22 p.m.
On 12/17/13, 2:54 AM, Qi.Chen@windriver.com wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> Installing complementary packages should not be attempt-only, otherwise,
> errors would be hidden. For example, if we enable ptest distro feature,
> and we add 'ptest-pkgs' to IMAGE_FEATRUES, then building a minimal image
> would succeed without reporting any error. However, the systemd-ptest
> is not installed because of lack of the perl package.

Actually that was intentional under the original system design.  Any of the 
complementary packages were just that, complementary and not required for the 
system to function properly.

If dependencies, installation issues, etc caused problems, we could happily skip 
them and continue on.  There are places (fairly few these days) where the 
complementary packages are known to introduce a failure, if not ignored.

This happens primarily when the complementary set introduces a package that has 
a conflict (RCONFLICT or a file level conflict) with something installed in the 
required set.

--Mark

> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
>   meta/classes/rootfs_rpm.bbclass |    4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
> index 1a0c225..9a88330 100644
> --- a/meta/classes/rootfs_rpm.bbclass
> +++ b/meta/classes/rootfs_rpm.bbclass
> @@ -170,8 +170,8 @@ rpm_setup_smart_target_config() {
>
>   rootfs_install_packages() {
>   	# Note - we expect the variables not set here to already have been set
> -	export INSTALL_PACKAGES_RPM=""
> -	export INSTALL_PACKAGES_ATTEMPTONLY_RPM="`cat $1`"
> +	export INSTALL_PACKAGES_RPM="`cat $1`"
> +	export INSTALL_PACKAGES_ATTEMPTONLY_RPM=""
>   	export INSTALL_PROVIDENAME_RPM=""
>   	export INSTALL_TASK_RPM="rootfs_install_packages"
>   	export INSTALL_COMPLEMENTARY_RPM="1"
>
Qi.Chen@windriver.com - Dec. 18, 2013, 1:51 a.m.
On 12/17/2013 10:22 PM, Mark Hatle wrote:
> On 12/17/13, 2:54 AM, Qi.Chen@windriver.com wrote:
>> From: Chen Qi <Qi.Chen@windriver.com>
>>
>> Installing complementary packages should not be attempt-only, otherwise,
>> errors would be hidden. For example, if we enable ptest distro feature,
>> and we add 'ptest-pkgs' to IMAGE_FEATRUES, then building a minimal image
>> would succeed without reporting any error. However, the systemd-ptest
>> is not installed because of lack of the perl package.
>
> Actually that was intentional under the original system design. Any of 
> the complementary packages were just that, complementary and not 
> required for the system to function properly.
>
> If dependencies, installation issues, etc caused problems, we could 
> happily skip them and continue on.  There are places (fairly few these 
> days) where the complementary packages are known to introduce a 
> failure, if not ignored.
>
> This happens primarily when the complementary set introduces a package 
> that has a conflict (RCONFLICT or a file level conflict) with 
> something installed in the required set.
>
> --Mark
>

Thanks for your explanation :)

Best Regards,
Chen Qi

>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ---
>>   meta/classes/rootfs_rpm.bbclass |    4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta/classes/rootfs_rpm.bbclass 
>> b/meta/classes/rootfs_rpm.bbclass
>> index 1a0c225..9a88330 100644
>> --- a/meta/classes/rootfs_rpm.bbclass
>> +++ b/meta/classes/rootfs_rpm.bbclass
>> @@ -170,8 +170,8 @@ rpm_setup_smart_target_config() {
>>
>>   rootfs_install_packages() {
>>       # Note - we expect the variables not set here to already have 
>> been set
>> -    export INSTALL_PACKAGES_RPM=""
>> -    export INSTALL_PACKAGES_ATTEMPTONLY_RPM="`cat $1`"
>> +    export INSTALL_PACKAGES_RPM="`cat $1`"
>> +    export INSTALL_PACKAGES_ATTEMPTONLY_RPM=""
>>       export INSTALL_PROVIDENAME_RPM=""
>>       export INSTALL_TASK_RPM="rootfs_install_packages"
>>       export INSTALL_COMPLEMENTARY_RPM="1"
>>
>
>
>

Patch

diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 1a0c225..9a88330 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -170,8 +170,8 @@  rpm_setup_smart_target_config() {
 
 rootfs_install_packages() {
 	# Note - we expect the variables not set here to already have been set
-	export INSTALL_PACKAGES_RPM=""
-	export INSTALL_PACKAGES_ATTEMPTONLY_RPM="`cat $1`"
+	export INSTALL_PACKAGES_RPM="`cat $1`"
+	export INSTALL_PACKAGES_ATTEMPTONLY_RPM=""
 	export INSTALL_PROVIDENAME_RPM=""
 	export INSTALL_TASK_RPM="rootfs_install_packages"
 	export INSTALL_COMPLEMENTARY_RPM="1"