[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
Остання ревізіяПо сторонах наступні версії
uk:slackware:slackbuild_scripts [2014/04/26 07:49 (UTC)] – створено streamthreaderuk:slackware:slackbuild_scripts [2014/05/12 09:38 (UTC)] – [Sources] streamthreader
Рядок 1: Рядок 1:
 <note important>Translating...</note> <note important>Translating...</note>
  
-====== SlackBuild scripts ======+====== Скрипти SlackBuild ======
  
-SlackBuild script is a shell script (usually Bourne shell compatiblethat automates the process of configuringcompiling and creating a Slackware package (*.tgz, *.txz, *.tbz filesfrom source archives+Скрипти SlackBuild це файли командного інтерпретатора (за звичай вони сумісні з Bourne shell) які автоматизують процес конфігураціїкомпіляції та створення пакету для Slackware в архівному форматі (*.tgz, *.txz, *.tbz).
  
-===== Overview ===== 
  
-The basic process of creating a Slackware package from source can be summarized as follows, while details may vary from one build system to another.+===== Огляд =====
  
-  - Uncompress the source archive (usually .tar.gz or .tar.bz2 file) into a "work directory." +Процес створення пакету для Slackware з сирцевого коду можна поділити на слідуючи частинидеякі деталі можуть відрізнятись відносно системи.
-  - Create a ''slack-desc'' file, with the description of the software in the correct format. +
-  - Configure the source, and apply patches if needed. +
-  - Compile/build the source and generate the binaries. +
-  - Install the program to a temporary directory. This step may be a little bit tricky, depending on how the ''make install'' (or similar functionality) of the build system works. In standard GNU Makefiles, the ''DESTDIR'' variable passed to the ''make install'' command should be sufficient. In non-standard Makefiles and build systems which don't support that option, this might involve patching the ''Makefile'' (or similar file) or editing a build configuration setting of the build system. +
-  - Copy the program documentation and other necessary files (including post-installation scripts) to the appropriate subdirectories in the temporary installation directory. These locations should adhere to default directory structure used by Slackware to store applications installed by the package managerviz. inside the ''/usr/'' folder.   +
-  - Use the ''makepkg'' utility from the temporary directory (installation location) to create a Slackware package that can then be installed using the ''installpkg'' utility.+
  
-While the above steps can be done by handthe process is tedioussometimes complexand involves typing in a lot of commandsAutomating the process by a shell script allows the user to share the process with the community at largeIt also makes sense to use and modify existing SlackBuild scripts for upgrading the same program to a newer version+  - Розпакування архіву з сирцевим кодом (за звичай це файли з розширенням .tar.gz or .tar.bz2) в робочу директорію. 
-===== Creating SlackBuild scripts =====+  - Створення файлу ''slack-desc''з описом програмного забезпечення в коректній формі. 
 +  - Конфігурація сирцевого коду та за необхідністю застосування патчів до коду. 
 +  - Компіляція/будівництво з сирцевого коду та генерація бінарних файлів. 
 +  - Встановлення програми в тимчасову директорію. Цей крок може бути складнішийце залежить від системи збірки та як працює ''make install'' (чи схожий за функцією інструмент). У стандарті GNU Makefilesдостатньо передати перемінну ''DESTDIR'' у команду ''make install''В нестандартних Makefiles та в системах збірки які не підтримують цю опцію, наприклад застосовують патчі до ''Makefile'' (чи до схожого за функцією файл) чи редагують конфігурацію збір-очної системи. 
 +  - Копіювання документації та інших важливих файлів (включаючи скрипти після встановлення) в піддиректорію тимчасового каталогу встановлення. Розміщення документації за замовченням знаходиться згідно зі стандартом пакетного менеджера Slackware а саме в ''/usr/'' директорії
 +  - Використовується утиліта ''makepkg'' для створення в тимчасової директорії (локація вставлення) пакету для Slackware який можна бути встановити використовуючи утиліту ''installpkg''.
  
-A good hands-on tutorial on creating a SlackBuild script can be found [[http://www.slackwiki.com/Writing_A_SlackBuild_Script|here]]and there are also a few [[http://slackbuilds.org/templates/|templates]] available to get a feeling for what is needed from a script.+Поки усі переобчисленні кроки робляться в ручну включаючи написання усіх командАвтоматизувати цей процес допомагають скриптияки поширюють користувачі між спільнотоюТак само ці SlackBuild скрипти можна відредагувати та використовувати задля оновлення вже встановленого програмного забезпечення.
  
-However, software may be written in different programming languages, use different build systems, or may even simply be written in an interpreted programming language with no obvious way to "install" it. In such cases, many steps involved in writing a SlackBuild script will differ from the standard way. Blindly copying and pasting commands from other SlackBuild scripts may or may not work. 
  
-It is recommended that anybody who wishes to write a SlackBuild script, study and understand the build system of a software project before attempting to write a SlackBuild script for it. A degree of proficiency in writing shell scripts is also a definite benefit, as it is the practice to use Bourne shell compatible scripts for SlackBuilds. Ideally, simple C projects which use the standard GNU Make system is a good way to start practicing writing SlackBuild scripts. +===== Створення скриптів SlakcBuild =====
-<note tip>For new script writers, it is a good idea to perform the above steps manually to create the package from source, before actually writing a SlackBuild script. This reduces the chances of bugs and unexpected behaviour in the script.</note>+
  
-Submitting SlackBuild scripts to a public repository such as http://www.slackbuilds.org may additionally require adherence to certain conventions and coding standards. For instanceit would be necessary for the script to determine the target architecture at runtime rather than hard-coding it into the scriptThese standards attempt to make SlackBuild scripts as portable as possible.+Гарний урок по створенню скриптів SlakcBuild можна знайти [[http://www.slackwiki.com/Writing_A_SlackBuild_Script|тут]]декілька [[http://slackbuilds.org/templates/|шаблонів]] які потрібні для створення скриптів.
  
 +Також, програмне забезпечення може бути написане на різних мовах програмування, використовувати різні системи збірки чи може використати інтерпретовану мову програмування в якої нема можливості встановлення цієї програми. В цій ситуації необхідно зробити багато кроків при написанні SlackBuild скрипта, цей процес може дуже відрізнятися від звичайної схеми. Просте копіювання команд з інших скриптів може спрацювати, а може і ні.
  
-===== Automated SlackBuild generators =====+Рекомендовано усім хто пише скрипт SlackBuild, перед написанням розібратися з системою збірки використаної в конкретному проекті. 
 +В процесі написання SlackBuild скриптів Ви будите збільшувати свій ступінь володіння написання Shell скриптів, що є дуже корисним досвідом. В ідеалі, простий проект написаний на мові C, з використанням стандартної системи GNU Make, добрий початок для тренування та практики написання SlackBuild скриптів. <note tip>Для новачка, буде дуже корисно зробити усі кроки створення пакунку в ручному режимі з сирцевого коду, перед тим як братись за написання SlackBuild скприта. Це зменшіть вірогідність появлення помилки та неочікуваної поведінки скрипта.</note>
  
-Some tools exist that can assist you with creating a SlackBuild scriptHere are a few examples.+Завантаження SlackBuild скрипта до публічного репозіторія як наприклад http://www.slackbuilds.org може вимагати дотримання регламентованих стандартів написання. Наприклад, може бути обов’язково вказування цвілевої архітектури під час запуску скрипта, замість того щоб вписувати архітектуру в сам скрипт. Ці стандарти допомагають зробити SlackBuild скрипти як наймога переносимими між комп'ютерами.
  
-  * [[http://alien.slackbook.org/AST/ | Alien'SlackBuild Toolkit (AST)]] \\ A web-based "wizard" tool by [[wiki:user:alienbob|Eric Hameleers]] +===== Автоматичні генератори SlackBuild скриптів =====
-  * [[http://www.dawoodfall.net/slackbuilds/noversion/mkslack/ | mkslack]] \\ A SlackBuild generator script by David Woodfall+
  
-===== External Links =====+Деякі інструменти які можуть допомогти в створенні SlackBuild скриптів. Ось деякі приклади.
  
-  * SlackBuilds Repository - http://www.slackbuilds.org/ +  * [[http://alien.slackbook.org/AST/ | Alien's SlackBuild Toolkit (AST)]] \\ Базований на веб технологіях "майстер", автор [[wiki:user:alienbob|Eric Hameleers]] 
-  * SlackBuild templates - http://slackbuilds.org/templates/+  * [[http://www.dawoodfall.net/slackbuilds/noversion/mkslack/ | mkslack]] \\ SlackBuild генератор, автор David Woodfall
  
 +===== Зовнішні посилання =====
  
-===== Sources ===== +  * SlackBuilds репозиторій - http://www.slackbuilds.org/ 
-  * Originally written by  [[wiki:user:vharishankar|V.Harishankar]] for the SlackDocs Wiki Project+  * SlackBuild шаблони - http://slackbuilds.org/templates/ 
 + 
 + 
 +===== Джерела ===== 
 +  * Автор оригіналу [[wiki:user:vharishankar|V.Harishankar]] для проекту SlackDocs Wiki
  
 <!-- Please do not change anything below this line--> <!-- Please do not change anything below this line-->
 {{tag>slackware slackbuild}} {{tag>slackware slackbuild}}
 uk:slackware:slackbuild_scripts ()