[ previous ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]

APT HOWTO
Chapter 4 Работа със сорс пакети


4.1 Изтегляне на сорс пакета

Нещо обичайно е в света на отворения софтуер да се изучава сорс кода и дори да се правят корекции. За да направите това ще трябва да изтеглите сорса на програмата. Системата APT осигурява лесен начин за получаването на сорса на програмите включени в дистрибуцията, включително и всички файлове необходими за се създаде .deb пакет на програмата.

Тази възможност също така може да се използва за да се адаптират най-новите версии на дадена програма от 'unstable' дистрибуцията, примерно за ползване със 'stable' . Компилирането на пакет за 'stable' ще генерира .debs със зависимости приспособени за съответстват на пакетите налични в тази дистрибуция.

За целта трябва да имаме, deb-src ред във файла /etc/apt/sources.list и той трябва да "сочи" към 'unstable'. Виж Файлът /etc/apt/sources.list, Section 2.1.

За да изтеглите сорс пакета изпълнете:

     apt-get source packagename

Тази команда ще изтегли три файла: a .orig.tar.gz, .dsc и .diff.gz. В случай, че пакета е направен специялно за Дебиан, последния файл няма да бъде изтеглен, а първия обикновено няма да има "orig" в своето име.

Файлът .dsc се ползва от dpkg-source за разпакетирането на сорс пакета в директория packagename-version. За всеки изтеглен сорс пакет има директория debian/ която съдържа файловете необходими за създаването на .deb пакет (т.е. бинарен пакет).

Ако искате компилацията да започне автоматично когато пакета е изтеглен добавете -b в командния ред:

     apt-get -b source packagename

Ако решите да не създавате .deb по време на изтеглянето, тогава може да го направите по-късно изпълнявайки:

     dpkg-buildpackage -rfakeroot -uc -b

от директорията която е била създадена за пакета след изтеглянето му.

Има разлика между source метода на apt-get и другите му методи. Методът source може да се ползва от обикновените потребители, без да се нуждаят от root права. Файловете се изтеглят и съхраняват в директорията от която командата apt-get source package е била изпълнена.


4.2 Пакети необходими за компилацията на сорс пакет

Обикновено, някой специфични заглавни файлове ( headers ) и споделени библиотеки (shared libraries) трябва да са в наличност за да се компилира дадения пакет. Всички .deb пакети имат поле в техните контрол файлове (control files) наречено '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.


[ previous ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]
APT HOWTO
1.7 - August 2001
Gustavo Noronha Silva kov@debian.org