В мире свободного ПО общепринято изучать исходный код или доже делать исправления ошибок. Чтобы это делать, вы должны скачать исходный текст программ. Система APT предлагает легкий путь для получения исходных текстов пакетов для множества программ, составляющих дистрибутив, включая все файлы, необходимые для создания .deb-файлов программ.
Другой способ использования исходных текстов в Debian - адаптация более новых версий программ из, например, нестабильного дистрибутива для использования со стабильным дистрибутивом. Сборка пакета в среде стабильного дистрибутива обечпечит генерацию .deb с зависимостями, соответствующими пакетам, доступным в дистрибутиве.
Для этого запись deb-src в вашем файле /etc/apt/sources.list должна указывать на нестабильный дистрибутив. Она должна быть разрешена (раскомментирована). См. раздел Файл /etc/apt/sources.list, раздел 2.1.
Для скачивания пакетов исходных текстов рекомендуется использовать команду:
$ apt-get source packagename
Команда должна скачать три файла: .orig.tar.gz, .dsc и .diff.gz. В случае, если пакеты создавались исключительно для Debian, последний из них не скачивается и первый файл не имеет вставки "orig" в своем имени.
Файл .dsc пользуется командой dpkg-source для распаковки пакета исходных текстов в каталог packagename-version. Внутри каждого скачанного пакета исходных текстов есть каталог debian/, который содержит файлы, необходимые для создания пакета .deb.
Для автоматического построения пакета из скачиваемых исходных текстов просто
укажите ключ -b в командной строке, примерно так:
$ apt-get -b source имяпакета
Если вы рашаете не создавать .deb при скачивани, то вы можете создать его позже
командой:
$ dpkg-buildpackage -rfakeroot -uc -b
из каталога, который был создан для пакета после скачивания.
Есть разница между методом source команды apt-get
и
ее другими методами. Метод source может быть использован обычными
пользователями, без необходимости иметь права root. Файлы скачиваются в
каталог, из которого вызывается команда apt-get source package.
Обычно, для того, чтобы пакет можно было собрать, нужны некоторые заголовочные файлы и совместно-используемые библиотеки. Все пакеты исходных текстов имеют в своих управляющих файлах поле 'Build-Depends:', которое указывает дополнительные пакеты, которые необходимы для построения пакета из исходных текстов.
APT имеет простой метод скачивания этих пакетов. Просто запустите
apt-get build-dep package, где `package' - это имя пакета, который
вы собираетесь построить. Например:
[root]@[/] # apt-get build-dep gmc
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev
libgpmg1-dev
0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
Need to get 1069kB of archives. After unpacking 3514kB will be used.
Do you want to continue? [Y/n]
Будут установлены пакеты, необходимые для правильного построения пакета
gmc
. Важно отметить, что команда не ищет сам пакет исходных
текстов. По этой причине вам потребется скачать его отдельной командой
apt-get source.
APT HOWTO
1.8.2 - Ноябрь 2002
kov@debian.org