Це стара версія документу!
Зміст
Скрипти SlackBuild
Скрипти SlackBuild це файли командного інтерпретатора (за звичай вони сумісні з Bourne shell) які автоматизують процес конфігурації, компіляції та створення пакету для Slackware в архівному форматі (*.tgz, *.txz, *.tbz).
Огляд
Процес створення пакету для Slackware з сирцевого коду можна поділити на слідуючи частини, деякі деталі можуть відрізнятись відносно системи.
- Розпакування архіву з сирцевим кодом (за звичай це файли з розширенням .tar.gz or .tar.bz2) в робочу директорію.
- Створення файлу
slack-desc
, з описом програмного забезпечення в коректній формі. - Конфігурація сирцевого коду та за необхідністю застосування патчів до коду.
- Компіляція/будівництво з сирцевого коду та генерація бінарних файлів.
- Встановлення програми в тимчасову директорію. Цей крок може бути складніший, це залежить від системи збірки та як працює
make install
(чи схожий за функцією інструмент). У стандарті GNU Makefiles, достатньо передати переміннуDESTDIR
у командуmake install
. В нестандартних Makefiles та в системах збірки які не підтримують цю опцію, наприклад застосовують патчі доMakefile
(чи до схожого за функцією файл) чи редагують конфігурацію збір-очної системи. - Копіювання документації та інших важливих файлів (включаючи скрипти після встановлення) в піддиректорію тимчасового каталогу встановлення. Розміщення документації за замовченням знаходиться згідно зі стандартом пакетного менеджера Slackware а саме в
/usr/
директорії. - Використовується утиліта
makepkg
для створення в тимчасової директорії (локація вставлення) пакету для Slackware який можна бути встановити використовуючи утилітуinstallpkg
.
Поки усі переобчисленні кроки робляться в ручну включаючи написання усіх команд. Автоматизувати цей процес допомагають скрипти, яки поширюють користувачі між спільнотою. Так само ці SlackBuild скрипти можна відредагувати та використовувати задля оновлення вже встановленого програмного забезпечення.
Створення скриптів SlakcBuild
Гарний урок по створенню скриптів SlakcBuild можна знайти тут, декілька шаблонів які потрібні для створення скриптів.
Також, програмне забезпечення може бути написане на різних мовах програмування, використовувати різні системи збірки чи може використати інтерпретовану мову програмування в якої нема можливості встановлення цієї програми. В цій ситуації необхідно зробити багато кроків при написанні SlackBuild скрипта, цей процес може дуже відрізнятися від звичайної схеми. Просте копіювання команд з інших скриптів може спрацювати, а може і ні.
Рекомендовано усім хто пише скрипт SlackBuild, перед написанням розібратися з системою збірки використаної в конкретному проекті. В процесі написання SlackBuild скриптів Ви будите збільшувати свій ступінь володіння написання Shell скриптів, що є дуже корисним досвідом. В ідеалі, простий проект написаний на мові C, з використанням стандартної системи GNU Make, добрий початок для тренування та практики написання SlackBuild скриптів.
Завантаження SlackBuild скрипта до публічного репозіторія як наприклад http://www.slackbuilds.org може вимагати дотримання регламентованих стандартів написання. Наприклад, може бути обов’язково вказування цвілевої архітектури під час запуску скрипта, замість того щоб вписувати архітектуру в сам скрипт. Ці стандарти допомагають зробити SlackBuild скрипти як наймога переносимими між комп'ютерами.
Automated SlackBuild generators
Some tools exist that can assist you with creating a SlackBuild script. Here are a few examples.
- mkslack
A SlackBuild generator script by David Woodfall
External Links
- SlackBuilds Repository - http://www.slackbuilds.org/
- SlackBuild templates - http://slackbuilds.org/templates/
Sources
- Originally written by V.Harishankar for the SlackDocs Wiki Project