Створіть свої власні пакети deb і rpm

Бібліотека сайту rus-linux.net

Ми розповімо вам, як створювати два найбільш поширених типу пакетів Linux для поширення програмного забезпечення, і ви зможете самі поширювати свої власні пакети.

Ми збираємося провести вас через процес створення пакетів програм для двох найпопулярніших систем пакетів DEB і RPM. Ви можете використовувати ці методи, щоб створювати пакети вашого власного програмного забезпечення або навіть супроводжувати пакети для того програмного забезпечення, яке, як ви вважаєте, залишається непоміченим.

Ми почнемо з керівництво по створенню файлів DEB ((.deb) для дистрибутивів, похідних від Debian - для цього ми як нашої бази використовуємо Xubuntu. Після цього ми детально опишемо методи, необхідні для створення пакетів RPM для використання в дистрибутивах, похідних від Red Hat , і для цього ми будемо використовувати Fedora. Часто можна створити пакет на одному дистрибутиві, а потім встановити його на родинному дистрибутиві (наприклад, Ubuntu> Debian), але якщо це важливо, то вам, можливо, варто спробувати це самостійно.

Що стосується програми, ми збираємося в якості прикладу пакета, що збирається з вихідного коду, використовувати легкий веб-браузер Dillo. Коли збірка виконується з вихідних текстів, в разі, якщо збірка не йде так, як треба, ви можете, як і зазвичай, пошукати рішення в мережі інтернеті. Наприклад, в разі Dillo 3.0.3, нам через недогляд в архіві вихідного коду довелося для того, щоб команди працювали, перед командами збірки додати 'LIBS = -lX11'.

Створіть свої власні пакети deb і rpm

Збірка відбувається в командному рядку

Інсталяція (або віртуальна машина) Ubuntu і Fedora

покроковий опис

Крок 01: Використання віртуальної машини

Використання коштів віртуалізації, таких як VirtualBox або Vmware, часто є кращим підходом до створення пакетів для інших систем. З одного боку, цей підхід дозволяє підтримувати порівняно чисту базову інсталяцію, яку можна порівняти з настройками, з якими ймовірно, будуть працювати інші. Це також означає, що ви, використовуючи різні дистрибутиви, можете отримати колекцію цільових систем. Крім того, більшість коштів віртуалізації дозволяють емулювати різні архітектури, і, отже, на 32-розрядної платформі можна запускати 64-розрядні ОС, хоча буде страждати продуктивність.

Крок 02: Починаємо з нуля

Якщо в Ubuntu або Fedora щось йде не так, то можна абсолютно безпечно просто видалити вихідний каталог і почати все заново. Зверніть увагу, що інструментальні засоби Debian змінюють вихідний архів, так що вам доведеться почати з нової копії.

Частина 1: Debian

Крок 03: Встановіть середу збірки

Ми почнемо з установки здебільшого інструментальних засобів, які нам потрібні для створення програм з вихідних кодів. наберіть:

Тепер ми повинні встановити інструменти, які використовуються для роботи з пакетами DEB. Зробіть це за допомогою наступної команди.

Крок 04: Створіть ключ GPG

Якщо ви ще в минулому не створили відкритий ключ GPG, його необхідно створити прямо зараз для того, щоб можна було підписати пакети. Спочатку вводите текст gpg -gen-key. Виберіть значення, що встановлюються за замовчуванням, і при запиті введіть своє справжнє ім'я і контактні дані. Акуратно запишіть всі дані, оскільки пізніше нам в файлі конфігурації буде потрібно їх точну відповідність. Після цього наберіть команду ls

/.gnupg для того, щоб переконатися, що новий ключ існує (це файл імя_фамілія.gpg). З нього створіть відкритий ключ:

Імпорт його за допомогою:

Крок 05: Скачайте пакет

У цьому прикладі ми збираємося завантажити і зібрати саму останню версію веб-браузера Dillo. Перейдіть на сайт Dillo (www.dillo.org) і завантажити найсвіжіший архів .tar.bz. За допомогою команди mkdir

/ Srcand створіть каталог для вихідного коду і перемістіть в нього архів.

Крок 06: Розпакуйте архів

Розпакуйте архів за допомогою команди tar -xjvf [ім'я архіву] .tar.bz2. Зверніть увагу, що дотримання домовленостей про іменування каталогу (імяпакета-версія) є важливим для наших цілей, і, на щастя, пакет Dillo відповідає їм. Також важливо, щоб архів з вихідним кодом знаходиться на один рівень вище каталогу з вихідним кодом.

Крок 07: Налаштовуємо під Debian

Перемістіть у щойно розпакований каталог скрипт dh_make, який подбає про більшу частину роботи - додасть конфігураційний файл і створить структуру каталогів, і який входить до складу інтруменртарія розробника, який ми додали раніше.

У нашому прикладі, командний рядок тбудет виглядати наступним чином:

У відповідь на запит виберіть один двійковий файл. Скрипт-помічник скрипт повинен в каталозі з вихідним кодом створити каталог з ім'ям Debian.

Крок 08: Відкрийте керуючий файл

Крок 09: Вивчіть наявні залежності

Ви можете вивчити, які залежно необхідні для запуску програми, що поставляється у вигляді пакету. Перейдіть в каталог з вихідними кодами і наберіть в терміналі команду dpkg-depcheck -d ./configure. Якщо так зробити, то будуть видані помилки, які вказують який відсутній пакет, необхідний для складання програми (поставляється окремо). Ви можете відкрити цей пакет, набравши sudo apt-get build-dep [ім'я пакета], і це повинно допомогти, якщо в репозитарії дистрибутива цей пакет підтримується. Якщо він не підтримується, то вам доведеться неодноразово запустити команду dpkg-depcheck -d ./configur і додавати пакети вручну, набираючи команду рsudo apt-get install [ім'я пакета].

Крок 10: Додайте залежності в керуючий файл

Коли всі дії з попереднього кроку будуть завершені, у вас повинен бути список всіх необхідних пакетів. Додайте цей список залежностей в розділ depends: керуючого файлу. Елемент в списку повинні бути розділені комою і пропуском.

Крок 12: Відредагуйте файл журналу змін

Крок 13: створити пакет

Якщо все налаштовано правильно, ми можемо, нарешті, зібрати пакет DEB. Перейдіть в каталог з вихідним кодом і для того, щоб зібрати пакет. який буде поміщений в каталог

/ Src /, наберіть команду dpkg-buildpackage -b. Наприклад, створіть пакет за допомогою команди dpkg -I [пакет]. Для того, щоб перевірити на відповідність політики Debian, за допомогою команди lintian [пакет] запустіть програму Lintian. Зверніть увагу, що цей інструмент, як відомо, суворий, і ваша справа вирішувати, чи припустимі для вас деякі незначні попередження про недотримання. Нарешті, встановіть пакт за допомогою команди sudo dpgk -i [пакет].

Частина 2: Створення пакетів RPM в Fedora

Крок 14: Відкрийте керуючий файл

Перейдіть в режим користувача root, набравши для цього su. Почніть з інсталяційною групи Development Tools (Інструменти розробки) в yum, а потім за допомогою yum встановіть пакувальник gcc-c ++ fedora-. Наберіть команду usermod -a -G mock для того, щоб додати вашого користувача в групу mock. Це дозволяє нам виконувати процедуру складання без необхідності переходу в роль користувача root.

Крок 15: Створіть середу збірки

Натисніть Ctrl + D для того, щоб вийти з ролі root. Введіть rpmdev-setuptree для того, щоб створити дерево каталогів (під

/ Rpmbuild), яке нам необхідно.

Крок 16: Скачайте архів і перемістіть його в потрібне місце

Скачайте пакет Dillo з веб Dillo і перемістіть архів в відповідний каталог - наберіть команду mv [ім'я архіву]

Крок 17: Створіть файл .spec

Дистрибутиви, створені на основі Red Hat, такі як Fedora, використовують файли .spec для завдання процесу складання. Перейдіть в каталог, в якому знаходяться такі файли, за допомогою команди cd

/rpmbuild/SPECS/andcreateablank.spec і створіть порожній файл .spec за допомогою команди rpmdev-newspec dillo.

Крок 18: Відредагуйте файл .spec

Крок 19: Виконайте збірку вихідного коду

Якщо пакет взагалі підтримується в системі, запустіть команду yum-builddep [ім'я пакета]. В іншому випадку, вам доведеться повторювати команду збірки для того, щоб отримувати повідомлення про помилки, або пошукати документацію в архіві з вихідним кодом. В каталозі SPEC наберіть команду rpmbuild -ba [назва пакета] .spec. Якщо ця збірка завершиться невдало і будуть видані повідомлення про додаткові нерозпакованих файлах, виділіть і скопіюйте цей список файлів в розділ% files файлу .spec і повторіть команду збірки. Тепер пакет буде знаходитися в каталозі RPMS. Наберіть команду rpm -ivh [пакет] для того, щоб його встановити. Наберіть команду rpm -qa | grep [пакет] для того, щоб переконатися, що він встановлений.

Схожі статті