仮定しましょう:
- ローカルにソースストアのミラーがあります。
- 私は私が実行しているアーキテクチャ(私の場合はi386)に対してのみビルドしたいと思います。
- 私はカスタマイジングには興味がありません。実際、私は生成されたバイナリパッケージをできるだけ公式パッケージに近づけたいと思います。それ以来、整理は私が責任を負います。使えそうだレプリカ。
- できるだけ簡単にしたいです。
答え1
Debian はダウンロード可能なバイナリパッケージを作成するためにすでに内部的にこれを行っており、ほとんどのツールがディストリビューションに含まれています。 (いくつかのグルスクリプト以外のすべてを考えています。)
興味のあるツールは次のとおりです。
debian-builder
: ソースからパッケージを再構築するbuildd
、buildd
: 一部のパッケージを自動的にビルドします。pbuilder
:プライベートパッケージビルダー(chroot、主にDebian開発者用)devel::debian
より一般的には、またはworks-with::software:source
()マークが付いたパッケージを探しますaptitude search '?tag(devel::debian) | ?tag(works-with::software:source)'
。
答え2
たぶんこんなことはありませんか?
#!/bin/bash
# This gets a list of all available packages
for i in $(dpkg -l \* | awk '/^[a-z]/ {print $2}')
do
# This downloads and unpacks the source.
# Any src packages already properly unpacked in the cwd won't be downloaded a second time.
apt-get source $i
apt-get build-dep -y $i
done
# This finds all buildable directories
for i in $(find . -name debian -type d | sed s/debian.*//g)
do
cd $i
debian/rules binary
cd -
done
すでにパッケージがあると言われていますが、どのような形式なのかはよくわかりません。パッケージ内のすべてのパッケージを正しく解凍した場合、cwd
aptはそのパッケージをスキップして次のパッケージに移動します。-s
apt-getに渡してコマンドをテストすることもできます。
ビルドするパッケージと同じバージョンを使用している場合は、ほぼすべてのパッケージを一度にビルドする必要があります。
多くのストレージスペースと多くの時間が必要です。