Development/Docs/Chroot Build Optimization

From Mandriva Community Wiki

Jump to: navigation, search
Chroot Build Optimization

A study on how we can improve performance on chrooted builds

Contents


[edit] Introduction

[edit] Test results

[edit] Unoptimized builds

[edit] Gkrellm

Using the script to build gkrellm, we get the following results (package installation and build log removed for clarity):

[23:33:03] creating chroot environment
[23:33:14] creating rpm database
[23:33:15] install dependencies for package(s) basesystem
[23:35:19] install dependencies for package(s) rpm-build
[23:36:17] install dependencies for package(s) rpm-mandriva-setup-build
[23:36:43] install dependencies for package(s) fakeroot
[23:37:09] install build dependencies for gkrellm-2.2.9-4mdv2007.0.src.rpm
[23:40:03] copy source package to buildroot
[23:40:03] generate buildscript
[23:40:03] execute buildscript
[23:42:11] finished

Image:gkrellm-m1-noopt.png

[edit] Gimp

[20:04:11] creating chroot environment
[20:04:26] creating rpm database
[20:04:27] install dependencies for package(s) basesystem
[20:06:33] install dependencies for package(s) rpm-build
[20:07:29] install dependencies for package(s) rpm-mandriva-setup-build
[20:07:56] install dependencies for package(s) fakeroot
[20:08:22] install build dependencies for gimp-2.3.12-1mdv2007.1.src.rpm
[20:14:02] copy source package to buildroot
[20:14:03] generate buildscript
[20:14:03] execute buildscript
[21:53:59] finished

Image:gimp-m1-noopt.png

[edit] Persistent root and icecc

[edit] Gkrellm

[1161739971] version: ./buildbox 0.0
[1161739971] package: gkrellm-2.2.9-4mdv2007.0.src.rpm
[1161739971] date: Tue Oct 24 23:32:51 BRST 2006
[1161739971] host: Linux frohike 2.6.17-5mdv #1 SMP Wed Sep 13 14:32:31 EDT 2006 i686 AMD Sempron(tm)  2600+ GNU/Linux
[1161739971] cleaning up transient data
[1161739971] updating chroot environment
[1161739996] setting up unionfs
[1161739996] setting up /proc
[1161739996] setting up icecc
[1161739996] install build dependencies for gkrellm-2.2.9-4mdv2007.0.src.rpm
[1161740158] copy source package to buildroot
[1161740158] generate buildscript
[1161740158] execute buildscript
[1161740217] finished
[1161740217] unmounting icecc
[1161740217] unmounting /proc
[1161740217] unmounting unionfs
[1161740217] exiting

Image:gkrellm-m1-opt.png

[edit] Gimp

[1161737492] version: ./buildbox 0.0
[1161737492] package: gimp-2.3.12-1mdv2007.1.src.rpm
[1161737492] date: Tue Oct 24 22:51:32 BRST 2006
[1161737492] host: Linux frohike 2.6.17-5mdv #1 SMP Wed Sep 13 14:32:31 EDT 2006 i686 AMD Sempron(tm)  2600+ GNU/Linux
[1161737492] cleaning up transient data
[1161737492] updating chroot environment
[1161737523] setting up unionfs
[1161737523] setting up /proc
[1161737523] setting up icecc
[1161737523] install build dependencies for gimp-2.3.12-1mdv2007.1.src.rpm
[1161737893] copy source package to buildroot
[1161737895] generate buildscript
[1161737895] execute buildscript
[1161739918] finished
[1161739918] unmounting icecc
[1161739918] unmounting /proc
[1161739918] unmounting unionfs
[1161739918] exiting

Image:gimp-m1-opt.png

Personal tools