| 81 | |
| 82 | = vbuilder = |
| 83 | |
| 84 | vbootstrap を利用して chroot 環境の構築をサポートするスクリプトです。 |
| 85 | |
| 86 | 特に、src.rpm を投げて chroot 環境上で自動的に rpm をビルドし、さらにインストールまでできるのが特徴です。 |
| 87 | |
| 88 | 主な用途としては、ある src.rpm が必要とする BuildRequires: や Requires: の漏れを検証するために利用できます。例えば、self-build パッケージのような、ほとんどの環境でビルド可能なパッケージを作成するときに、BR: 検証を協力にサポートしてくれます。 |
| 89 | |
| 90 | 簡単な実行例をヘルプで出すようにしていますが、 |
| 91 | 主な使い方は src.rpm を vbuilder へ投げて、ビルドできて、なおかつ、 |
| 92 | インストールまでできるかをチェックすることです。 |
| 93 | |
| 94 | [vbootstrap-0.0.3 に同梱されている vbuilder] |
| 95 | {{{ |
| 96 | $ /usr/sbin/vbuilder |
| 97 | Usage: vbuilder {--version [version]} {--arch [arch]} {--with-compat32} {--build-rpm [src.rpm]|--install-rpm [arch.rpm]|--remove-rpm [package]|--build|--clean} |
| 98 | --version: set [version] (default: VineSeed) |
| 99 | --arch: set [arch] (default: x86_64) |
| 100 | --with-compat32: build with compat32 on boostrap |
| 101 | --build-rpm: build [src.rpm] on boostrap |
| 102 | --install-rpm: install [arch.rpm] on boostrap |
| 103 | --remove-rpm: remove [package] on boostrap |
| 104 | --build: build boostrap of [version] |
| 105 | --clean: clean boostrap of [version] |
| 106 | |
| 107 | For example, |
| 108 | * make a clean/plain build environment on the current archtecture: |
| 109 | vbuilder --clean --build |
| 110 | * build source RPM: |
| 111 | vbuilder --build-rpm [src.rpm] |
| 112 | * make a plain build environment for Vine Linux 4.2: |
| 113 | vbuilder --version 4.2 --clean --build |
| 114 | * make a i386 chroot on x86_64: |
| 115 | vbuilder --arch i386 --clean --build |
| 116 | * build compat32: |
| 117 | vbuilder --arch i386 --with-compat32 --build-rpm [src.rpm] |
| 118 | }}} |
| 119 | |
| 120 | 基本的な流れは以下の通りです。 |
| 121 | {{{ |
| 122 | $ sudo vbuilder --clean ← 必要であれば、あらかじめ chroot 環境を削除する。 |
| 123 | $ sudo vbuilder --build |
| 124 | $ sudo vbuilder --build-rpm hoge.src.rpm |
| 125 | }}} |
| 126 | |
| 127 | これらは一度に渡すこともできて、 |
| 128 | 以下のようにすれば、順次 --clean → --build → --build-rpm のように実行します。 |
| 129 | {{{ |
| 130 | $ sudo vbuilder --clean --build --build-rpm hoge.src.rpm |
| 131 | }}} |
| 132 | |
| 133 | == TODO == |
| 134 | |
| 135 | 当面の TODO は以下のとおりです: |
| 136 | * vbootstrap に例外処理とかエラー処理を入れる |
| 137 | * vbuilder のオプションの制御 |
| 138 | * 別途 conf などの設定ファイルを作成 |
| 139 | * chroot 内で build user つくって、そいつに rpmbuild させる (done) |