| | 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) |