Chroot Build Optimization

From Mandriva Community Wiki

Jump to: navigation, search


A study on how we can improve performance on chrooted builds

Contents


Introduction

Test results

Unoptimized builds

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

File:Gkrellm-m1-noopt.png

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

File:Gimp-m1-noopt.png

Persistent root and icecc

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

File:Gkrellm-m1-opt.png

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

File:Gimp-m1-opt.png

write my paper

Personal tools