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


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

Image: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

Image: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

Image: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

Image:gimp-m1-opt.png

Personal tools
Ad (via La Vignette)
Looking for a job?