Patchwork [1/1] image_types.bbclass: remove the obsolete images

login
register
mail settings
Submitter Robert Yang
Date May 7, 2013, 10:26 a.m.
Message ID <7d839cdf354d6851be9c20c391344ce21413cf45.1367921762.git.liezhi.yang@windriver.com>
Download mbox | patch
Permalink /patch/49427/
State New
Headers show

Comments

Robert Yang - May 7, 2013, 10:26 a.m.
Remove the obsolete image before the new one generated to save disk
space when RM_OBSOLETE_IMAGE is set to 1, this is an easy way to keep
the DEPLOY_DIR_IMAGE clean.

[YOCTO #4391]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/classes/image_types.bbclass     | 6 +++++-
 meta/conf/local.conf.sample.extended | 3 +++
 2 files changed, 8 insertions(+), 1 deletion(-)
Paul Eggleton - May 7, 2013, 10:32 a.m.
On Tuesday 07 May 2013 18:26:59 Robert Yang wrote:
> Remove the obsolete image before the new one generated to save disk
> space when RM_OBSOLETE_IMAGE is set to 1, this is an easy way to keep
> the DEPLOY_DIR_IMAGE clean.
> 
> [YOCTO #4391]
> 
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
>  meta/classes/image_types.bbclass     | 6 +++++-
>  meta/conf/local.conf.sample.extended | 3 +++
>  2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/classes/image_types.bbclass
> b/meta/classes/image_types.bbclass index 94837ae..27f232e 100644
> --- a/meta/classes/image_types.bbclass
> +++ b/meta/classes/image_types.bbclass
> @@ -51,7 +51,11 @@ def get_imagecmds(d):
>          types.remove("live")
> 
>      if d.getVar('IMAGE_LINK_NAME', True):
> -        cmds += "\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
> +        if d.getVar('RM_OBSOLETE_IMAGE', True) == "1":
> +            # Remove the obsolete image
> +            cmds += "\trm -f `find ${DEPLOY_DIR_IMAGE} -maxdepth 1 -type l
> -name ${IMAGE_LINK_NAME}'.*' -exec readlink -f {} \;`" +        # Remove
> the symlink
> +        cmds += "\n\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
> 
>      for type in types:
>          ccmd = []
> diff --git a/meta/conf/local.conf.sample.extended
> b/meta/conf/local.conf.sample.extended index 1d1a8ec..efe0804 100644
> --- a/meta/conf/local.conf.sample.extended
> +++ b/meta/conf/local.conf.sample.extended
> @@ -207,3 +207,6 @@
>  #ARCHIVER_MODE[filter] ?= "no"
>  #ARCHIVER_CLASS = "${@'archive-${ARCHIVER_MODE}-source' if ARCHIVER_MODE !=
> 'none' else ''}" #INHERIT += "${ARCHIVER_CLASS}"
> +
> +# Remove the obsolete image before the new one generated to save disk space
> +#RM_OBSOLETE_IMAGE = "1"

Rather than "obsolete" I would have said "old" would be the preferred 
terminology here, i.e. RM_OLD_IMAGE.

Cheers,
Paul
Robert Yang - May 7, 2013, 10:41 a.m.
On 05/07/2013 06:32 PM, Paul Eggleton wrote:
> On Tuesday 07 May 2013 18:26:59 Robert Yang wrote:
>> Remove the obsolete image before the new one generated to save disk
>> space when RM_OBSOLETE_IMAGE is set to 1, this is an easy way to keep
>> the DEPLOY_DIR_IMAGE clean.
>>
>> [YOCTO #4391]
>>
>> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>> ---
>>   meta/classes/image_types.bbclass     | 6 +++++-
>>   meta/conf/local.conf.sample.extended | 3 +++
>>   2 files changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/image_types.bbclass
>> b/meta/classes/image_types.bbclass index 94837ae..27f232e 100644
>> --- a/meta/classes/image_types.bbclass
>> +++ b/meta/classes/image_types.bbclass
>> @@ -51,7 +51,11 @@ def get_imagecmds(d):
>>           types.remove("live")
>>
>>       if d.getVar('IMAGE_LINK_NAME', True):
>> -        cmds += "\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
>> +        if d.getVar('RM_OBSOLETE_IMAGE', True) == "1":
>> +            # Remove the obsolete image
>> +            cmds += "\trm -f `find ${DEPLOY_DIR_IMAGE} -maxdepth 1 -type l
>> -name ${IMAGE_LINK_NAME}'.*' -exec readlink -f {} \;`" +        # Remove
>> the symlink
>> +        cmds += "\n\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
>>
>>       for type in types:
>>           ccmd = []
>> diff --git a/meta/conf/local.conf.sample.extended
>> b/meta/conf/local.conf.sample.extended index 1d1a8ec..efe0804 100644
>> --- a/meta/conf/local.conf.sample.extended
>> +++ b/meta/conf/local.conf.sample.extended
>> @@ -207,3 +207,6 @@
>>   #ARCHIVER_MODE[filter] ?= "no"
>>   #ARCHIVER_CLASS = "${@'archive-${ARCHIVER_MODE}-source' if ARCHIVER_MODE !=
>> 'none' else ''}" #INHERIT += "${ARCHIVER_CLASS}"
>> +
>> +# Remove the obsolete image before the new one generated to save disk space
>> +#RM_OBSOLETE_IMAGE = "1"
>
> Rather than "obsolete" I would have said "old" would be the preferred
> terminology here, i.e. RM_OLD_IMAGE.
>

Thanks, I've updated the git repo:

   git://git.pokylinux.org/poky-contrib robert/rm_old
   http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/rm_old

// Robert


> Cheers,
> Paul
>

Patch

diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 94837ae..27f232e 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -51,7 +51,11 @@  def get_imagecmds(d):
         types.remove("live")
 
     if d.getVar('IMAGE_LINK_NAME', True):
-        cmds += "\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
+        if d.getVar('RM_OBSOLETE_IMAGE', True) == "1":
+            # Remove the obsolete image
+            cmds += "\trm -f `find ${DEPLOY_DIR_IMAGE} -maxdepth 1 -type l -name ${IMAGE_LINK_NAME}'.*' -exec readlink -f {} \;`"
+        # Remove the symlink
+        cmds += "\n\trm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.*"
 
     for type in types:
         ccmd = []
diff --git a/meta/conf/local.conf.sample.extended b/meta/conf/local.conf.sample.extended
index 1d1a8ec..efe0804 100644
--- a/meta/conf/local.conf.sample.extended
+++ b/meta/conf/local.conf.sample.extended
@@ -207,3 +207,6 @@ 
 #ARCHIVER_MODE[filter] ?= "no"
 #ARCHIVER_CLASS = "${@'archive-${ARCHIVER_MODE}-source' if ARCHIVER_MODE != 'none' else ''}"
 #INHERIT += "${ARCHIVER_CLASS}"
+
+# Remove the obsolete image before the new one generated to save disk space
+#RM_OBSOLETE_IMAGE = "1"