Patchwork [meta-webserver,2/2] webmin: split out webmin themes

login
register
mail settings
Submitter Anders Darander
Date June 13, 2014, 1:01 p.m.
Message ID <362107ac6702cb380c86a7ac249b52f558d2b923.1402664272.git.anders@chargestorm.se>
Download mbox | patch
Permalink /patch/73761/
State Accepted, archived
Headers show

Comments

Anders Darander - June 13, 2014, 1:01 p.m.
The default set of themes taks up ~13MB, with a couple of them weighting in
at ~5MB each.

Let's split the themes to separate packages, to allow a considerable size
reduction of the core webmin package (from +15MB to 2.1MB on my build host).

Signed-off-by: Anders Darander <anders@chargestorm.se>
---
 meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
Martin Jansa - June 23, 2014, 5:40 p.m.
On Fri, Jun 13, 2014 at 03:01:21PM +0200, Anders Darander wrote:
> The default set of themes taks up ~13MB, with a couple of them weighting in
> at ~5MB each.
> 
> Let's split the themes to separate packages, to allow a considerable size
> reduction of the core webmin package (from +15MB to 2.1MB on my build host).

It isn't caused by your patch, but current webmin recipe
is inheritting allarch and then adding runtime dependency
on TUNE_PKGARCH perl, so it's causing webmin rebuilds every
time MACHINE is changed (to MACHINE with different TUNE_PKGARCH)

ERROR: webmin different signature for task do_package_write_ipk.sigdata between qemux86copy and qemuarm                                                       
Hash for dependent task webmin_1.620.bb.do_package changed from 1a4ee0753eff9a8e392e851b6bbe252d to 36578d90d5866248da6afaa50fd586a1                          
Hash for dependent task perl_5.14.3.bb.do_packagedata changed from c7f952812f189c608e14e0862807ae27 to 24b9ff1de4f046333d292aa97673a8d2                       
Hash for dependent task webmin_1.620.bb.do_packagedata changed from bd1b17c957d4091a0f6d3ff6a9acb0fe to b584e5a6a90eeb320046c457b03a607f                      

Please fix it if you care about webmin.

> Signed-off-by: Anders Darander <anders@chargestorm.se>
> ---
>  meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb b/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb
> index a561de2..7eb1d63 100644
> --- a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb
> +++ b/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb
> @@ -113,7 +113,7 @@ RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix p
>  RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant"
>  RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm perl-module-sdbm-file perl-module-timelocal perl-module-feature"
>  
> -PACKAGES_DYNAMIC += "webmin-module-*"
> +PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*"
>  RRECOMMENDS_${PN} += "webmin-module-system-status"
>  
>  RDEPENDS_webmin-module-proc = "procps"
> @@ -128,12 +128,17 @@ python populate_packages_prepend() {
>      wadir = bb.data.expand('${libexecdir}/webmin', d)
>      wadir_image = bb.data.expand('${D}', d) + wadir
>      modules = []
> +    themes = []
>      for mod in os.listdir(wadir_image):
>          modinfo = os.path.join(wadir_image, mod, "module.info")
> +        themeinfo = os.path.join(wadir_image, mod, "theme.info")
>          if os.path.exists(modinfo):
>              modules.append(mod)
> +        elif os.path.exists(themeinfo):
> +            themes.append(mod)
>  
>      do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
> +    do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
>  }
>  
>  # Time-savers
> -- 
> 2.0.0
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Patch

diff --git a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb b/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb
index a561de2..7eb1d63 100644
--- a/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb
+++ b/meta-webserver/recipes-webadmin/webmin/webmin_1.620.bb
@@ -113,7 +113,7 @@  RDEPENDS_${PN} += "perl-module-warnings perl-module-xsloader perl-module-posix p
 RDEPENDS_${PN} += "perl-module-fcntl perl-module-tie-hash perl-module-vars perl-module-time-local perl-module-config perl-module-constant"
 RDEPENDS_${PN} += "perl-module-file-glob perl-module-file-copy perl-module-sdbm perl-module-sdbm-file perl-module-timelocal perl-module-feature"
 
-PACKAGES_DYNAMIC += "webmin-module-*"
+PACKAGES_DYNAMIC += "webmin-module-* webmin-theme-*"
 RRECOMMENDS_${PN} += "webmin-module-system-status"
 
 RDEPENDS_webmin-module-proc = "procps"
@@ -128,12 +128,17 @@  python populate_packages_prepend() {
     wadir = bb.data.expand('${libexecdir}/webmin', d)
     wadir_image = bb.data.expand('${D}', d) + wadir
     modules = []
+    themes = []
     for mod in os.listdir(wadir_image):
         modinfo = os.path.join(wadir_image, mod, "module.info")
+        themeinfo = os.path.join(wadir_image, mod, "theme.info")
         if os.path.exists(modinfo):
             modules.append(mod)
+        elif os.path.exists(themeinfo):
+            themes.append(mod)
 
     do_split_packages(d, wadir, '^(%s)$' % "|".join(modules), 'webmin-module-%s', 'Webmin module for %s', allow_dirs=True, prepend=True)
+    do_split_packages(d, wadir, '^(%s)$' % "|".join(themes), 'webmin-theme-%s', 'Webmin theme for %s', allow_dirs=True, prepend=True)
 }
 
 # Time-savers