Глава I. Складання rpm-пакету з початкових кодів якщо Mageia встановлена.
У цьому розділі розглянемо складання простого rpm-пакету з початкових кодів. Нам потрібен встановлений дистрибутив Mageia, його можна встановити також на віртуальну машину. Для збірки rpm-пакету буде потрібно інтернет.
Розглянемо складання найпростішого rpm-пакету xroot, збірка пакетів буде розглядатися з адміністративними привілеями (root-привілеями) в KDE, але краще якщо Ви будете збирати пакети під користувачем, виконуючи під root лише дії, на які у Вас не вистачить прав.
Почнемо з підключення джерел. У Центрі Управління Mageia-> Управління программамі-> Налаштування джерел установки / оновлення ПЗ натиснемо кнопку «Додати» і виберемо «Повний набір джерел» (на цей момент у Вас вже повинен бути доступ в інтернет):
Далі відзначимо галочками всі пункти, крім пунктів містять слова «Testing» «Debug»:
Тепер через Установку і видалення програм встановіть пакети rpm-build (обов'язково) і gftp (необов'язково), не забудьте вказати фільтр пошуку «Всі», так як rpm-build - це не графічний пакет.
Зайдіть в термінал і напишіть команду
потім введіть пароль root (він вводиться, але не відображається):
Розглянемо складання rpm-пакету в dolphin (Ви можете використовувати тільки консоль, але розглянемо все графічно), можна використовувати програму mc - будь-який файловий менеджер.
Створимо в каталозі / root каталог rpmbuild, тобто / root / rpmbuild / (якщо збирати пакети під користувачем, то каталог rpmbuild створюється в домашньому каталозі користувача: / home / користувач / rpmbuild /):
У каталозі / root / rpmbuild / створимо субкаталогі BUILD, BUILDROOT, RPMS, SOURCES, SPECS, SRPMS:
Ми підготували складальну. Не забувайте очищати каталоги BUILD, BUILDROOT, RPMS, SOURCES, SPECS, SRPMS при складанні / перезібравши нового пакета.
Тепер завантажимо з інтернету вихідні програми xroot:
Розглянемо складання xroot версії 0.0.4. Завантажені вихідні треба покласти в каталог / root / rpmbuild / SOURCES (в цей же каталог треба покласти патчі якщо вони є):
Тепер перейдемо в каталог / root / rpmbuild / SPECS і створимо файл xroot.spec:
Ми не випадково обрали xroot для вивчення збірки rpm-пакетів, так як цей пакет містить в собі всього 3 файлу: 1) виконуваний файл xroot 2) файл xroot.desktop, який потрібен щоб програма з'явилася в Меню 3) файл xroot.png, який потрібен щоб в Меню була картинка Тому spec-файл гранично простий. Щоб пакет був зібраний для Mageia Russian Community сховища необхідно дотримати вимогу цього сховища - вказівка суфікса mrc.mga2, де 2-це версія Mageia. Для цього ми внесли в самий початок spec-файлу рядки:
Де rel - це номер пересборки пакета, а Release вказали як:
Після того як spec-файл буде написаний, можна приступити безпосередньо до збірки rpm-пакету. Перебуваючи в каталозі / root / rpmbuild / SPECS / в dolphin під root можна натиснути кнопку F4 і з'явиться консоль:
В консолі треба написати команду (не забувайте перевірити, що перебуваєте в каталозі / root / rpmbuild / SPECS /):
де xroot.spec - це ім'я spec-файлу.
Від нас вимагається встановити залежності, які необхідні для складання rpm-пакету. Для пакета xroot від нас зажадали libx11-devel, fpc-src, fpc.
У цій же консолі можна ввести команду urpmi і через пробіл перерахувати ці залежності (або встановлювати по одному пакету):
Зовсім не обов'язково використовувати консольний urpmi для установки пакетів, можна скористатися графічним менеджером "Установка і видалення програм":
З пошуку libx11-devel нічого знайти не вдалося (при цьому консольний urpmi знайшов), нічого страшного, змінимо критерій пошуку:
Тепер ми знайшли потрібну залежність, поставимо галочку і натиснемо «Застосувати», погодимося з установкою. І так далі.
Встановивши всі залежності, які від нас потрібні, знову виконаємо команду:
Збірка пройшла успішно:
Якщо все ОК, то готовий пакет знаходиться в папці / root / rpmbuild / RPMS /:
А src.rpm - в папці / root / rpmbuild / SRPMS /:
Залишилося залити в репозиторій:
Глава II. Перезбірка rpm-пакету якщо Mageia встановлена.
У попередньому розділі ми, збираючи пакет з вихідних .tar.gz, отримали на виході пакет .src.rpm. Цей пакет .src.rpm хороший тим, що він містить в собі все необхідне для пересборки пакету: вихідні, патчі, spec-файл. Завдання зводиться до того, щоб витягти все це, розкласти по директоріях збірки, поправити spec-файл і просто пересобрать.
Відкрити пакет .src.rpm можна за допомогою будь-якого архіватора (наприклад, ark, file-roller) або mc.
Виділимо мишкою то, що треба витягти і розпакуємо:
Якщо користуватися mc, то треба зайти також в CONTENTS.cpio:
spec-файл копіюємо в / root / rpmbuild / SPECS /, а все інше в / root / rpmbuild / SOURCES.
Тепер треба привести spec-файл до вимог сховища та пересобрать пакет як то було описано в першому розділі.
Глава III. Додавання патча методом заміни, локалізація rpm-пакету.
Часто потрібно змінити в исходниках один з файлів на інший, наприклад, змінити файл локалізації ru.po.
Припустимо, у нас вже є свій файл ru.po, яким треба замінити ru.po в оригінальному исходнике. Для цього треба покласти в папку SOURCES файл ru.po, а в spec-файлі вписати (після Source вказати будь-яку вільну цифру):
У секції% prep написати куди скопіювати ru.po (в даному випадку це% SOURCE1) щодо кореня розпакованого исходника:
Після цього зібрати rpm-пакет.