Вы посетили: » лазеры » микроконтроллеры » необычные_задачи_по_физике » пайка » где_посмотреть_фильмы » описание_различных_форматов_видео » хоккей » шахматы » заглавная_страница » compil_deb
Компилирование исходников и создание пакета в Debian/Ubuntu
Какие бывают исходники?
Исходники (исходные тексты) бывают двух видов: исходники программы и исходники пакета.
В чем их отличие, я попытаюсь сейчас объяснить:
1.Сперва производитель пишет свою программу, подходящую под любую операционную систему (но бывают исключения), это и называется исходником программы.
2.Далее разработчики дистрибутивов готовят данный исходник к работе в данной операционной системе, делают изменения, патчи итд. Измененный исходник в данном случае будет называться исходником пакета, потому как готовый пропатченный исходник будет скомпилирован и упакован в пакет.
Как вы уже поняли, исходники пакетов это наилучший вариант, там уже всё налажено так, как надо.
Где взять исходники?
В такой системе, как Debian, исходники пакетов берутся таким образом
apt-get source имя_программы
В данном случае утилитка aptitude сама скачает исходник пакета и сохранит его в текущей директории
Если по каким то причинам исходник пакета получить не получилось или же он нам не подходит, то мы скачиваем исходник программы с сайта производителя
wget ссылка_на_исходник
Например
wget http://example.ru/ishodnik.tar.gz
В этом случае исходник тоже сохраняется в текущей директории
Компилирование
сперва нам нужно распаковать полученный архив
tar xzvf имя_архива
(если мы находимся в той же директории, в которую скачивали архив)
Далее переходим в папку, куда распаковали архив, посмотреть какая папка у нас создалась можно командой ls
cd имя_папки
Сейчас вводим заветное слово
./configure -параметры
Какие вводить параметры и как они работают можно узнать на сайте разработчика или в файле README в пакете с исходником
Далее, если у нас вывелись какие-то ошибки, то исправляем их (тут уже у каждого своё), и заново стартуем конфигуратор, как только в конце конфигурации нам не вывело не одной ошибки можем идти дальше
make
(Компилируем пакет)
Далее нам надо, то что мы накомпилировали собрать в пакет.
Чтобы наш исходник программы был хоть как то похож на исходник пакета, нужно воспользоваться утилиткой dh_make которая создаст каталог «debian» в каталоге с исходником, данный каталог созержит все данные о будущем пакете, но утилитка нам эти данные сделает «тестовыми», по идее пакет работать будет, но например в синаптике описание этого пакета будет чем то на подобии »<введите краткое описание пакета в 60 символов>», именно такие строки получаются в конфигах в директории debian, поэтому либо надо взять исходник ПАКЕТА с сайта дистрибутива и из папки Debian скопировать все что надо изменяя нужные строки. Подробнее об этом всем читайте в руководстве разработчка дебиан, ссылка на которое в конце статьи
dh_make
Сейчас нам нужно созбать пакет, делается это так
fakeroot debian/rules binary
Установка
Устеновить пакет можно такой командой
dpkg -i имя_пакета
Пример с комментариями
сперва мы скачиваем исходник программы
wget http://prdownloads.sourceforge.net/hplip/hplip-2.8.10.tar.gz
tar xzvf hplip-2.8.10.tar.gz
заходим в папку, где у нас содержимое архива после распаковки
cd hplip-2.8.10/
запускаем конфигуратор
./configure --with-hpppddir=/usr/share/ppd/hpijs/HP --prefix=/usr --disable-qt4 --enable-foomatic-ppd-install --enable-doc-build --enable-qt3 --enable-gui-build --disable-foomatic-drv-install --disable-pp-build --enable-network-build --enable-dbus-build --disable-hpijs-only-build --enable-scan-build --enable-fax-build
далее собираем пакет
make
Сейчас начинаем создавать пакет
dh_make -e indeferend@uralweb.ru -s --createorig
А потом
fakeroot debian/rules binary
В конце проделанной работы я увидел такую строчку
dpkg-deb: сборка пакета hplip в файл ../hplip_2.8.10-1_i386.deb.
Следовательно пакет создался в директории выше, ну я наберу вот так:
sudo dpkg -i ../hplip_2.8.10-1_i386.deb
Благодарности
Благодарю Gall-a, за то что помогал мне на протяжении освоения данного материала, сам бы я долго еще разбирался и не мог понять что тут к чему)))
Копирайт
- http://hplipopensource.com/hplip-web/install/manual/distros/debian.html - отсюда я взял параметры конфигурирования исходника hplip
- Автор статьи - Indeferend
Рекомендуемая литература
http://www.debian.org/doc/maint-guide/ - руководство разработчика Debian
Вы находитесь здесь: Заглавная Страница » indeferend » compil_deb

