MyTetra Share
Делитесь знаниями!
Как собрать deb пакет для debian и ubuntu
Время создания: 09.07.2017 16:51
Раздел: Комп - Линух
Запись: Bunny-Hop/mytetrabase/master/base/1499579490bugqdgryvq/text.html на raw.githubusercontent.com

    Существует несколько способов установки программ. Практически у всех есть общая часть - распаковать исходники:
 

?

1
tar xvfj mega_app.tar.bz2

или:
 

?

1
tar xvfz mega_app.tar.gz

      Выполнить комманду ./configure, затем make. Эти комманды служат для сборки из исходных кодов исполняемых файлов, библиотек и тп.
Отдельно стоит отметить первую комманду -
 ./configure
      Если выполнить 
./configure --help, то вы получите список параметров, которые можно передать ./configure
Например часто возможна такая комманда:

?

1
./configure --prefix=/opt/mega_app

      Или указать путь к библиотеке, которая по каким либо причинам не нашлась сама:

?

1
./configure --kerberos-lib=/opt/kerberos/lib

Классический.
Итак делаем последовательность:

?

1
2
./configure
make

И команда которая собственно установит все составляющие программы в систему:

?

1
make install

      WARNING!!! Используя этот способ легко получить очень серьезные проблемы в дальнейшем. Во первых, скорее всего, вы не сможете удалить программу (make uninstall).

      Используем программу Checkinstall.
      Правильный путь. После выполнения общей части запускаете:

checkinstall

      Программа сама спросит вас обо всем, а можете просто везде нажать ENTER.
man checkinstall тоже очень хороший путь : ))

      Сборка пакета с исходников для Debian.
      Это отдельный и сложный путь - вам нужно разобраться со многими аспектами создания deb-пакетов (или любых других). Здесь этот путь не будет описан в полной мере, только пример как собрать пакет из уже подготовленных материалов.
      Итак, пример. Идем на packages.ubuntu.com, находим нужный пакет (diff например) и качаем два файла - исходник (
http://archive.ubuntu.com/ubuntu/pool/main/d/diffutils/diffutils_2.8.1.o... ) и патч к нему, который поправит исходники и создаст папку debian с магическим файлом rules внутри (http://archive.ubuntu.com/ubuntu/pool/main/d/diffutils/diffutils_2.8.1-1... ).
Копируем их в папку ~/test и для начала распакуем исходники:

?

1
tar xvfz diffutils_2.8.1.orig.tar.gz

А затем наложим патч:

?

1
2
cd diffutils-2.8.1/
gzip -cd ../diffutils_2.8.1-11ubuntu4.diff.gz | patch -p1

Теперь надо сделать debian/rules исполняемым:

?

1
chmod +x debian/rules

И собрать пакет:

?

1
fakeroot debian/rules binary

      Fakeroot нужна для сборки пакета обычным пользователем (обычно многие операции требуемые не позволили бы вам сделать пакет).

?

1
2
ls ../
diff_2.8.1-11ubuntu4_i386.deb diffutils-2.8.1 diffutils_2.8.1-11ubuntu4.diff.gz diffutils_2.8.1.orig.tar.gz

Как видите, пакет готов.

Или Debian:

wget имя_пакета.dsc, имя_пакета.diff.gz, имя_пакета.orig.tar.gz dpkg-source -x имя_пакета.dsc cd ./имя_пакета/ dpkg-buildpackage -rfakeroot

      Заключение
      Есть еще методы - сделать пакет от начала и до конца. Надо взять мануал по созданию пакетов от своего дистрибутива и по нему изучить этот процесс от и до. Делайте пакетов много, хороших и нужных. Если сделали хорошую сборку - киньте разработчикам дистрибутива, поддерживайте актуальным. Помните, что даже один пакет поддерживаемый вами, может пригодиться сотням людей по всему миру.

Так же в этом разделе:
  • Как собрать deb пакет для debian и ubuntu
  • Git
  • Логи
 
MyTetra Share v.0.59
Яндекс индекс цитирования