[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:54 (UTC)] – [SlackBuild scripts] streamthreaderuk:slackware:slackbuild_scripts [2014/05/12 09:41 (UTC)] (поточний) streamthreader
Рядок 1: Рядок 1:
-<note important>Translating...</note> 
- 
 ====== Скрипти SlackBuild ====== ====== Скрипти SlackBuild ======
  
-Скрипти SlackBuild це файлі командного інтерпретатора (за звичай вони сумісні з Bourne shell) які автоматизують процес конфігурації, компіляції та створення пакету для Slackware в архівному форматі (*.tgz, *.txz, *.tbz).+Скрипти SlackBuild це файли командного інтерпретатора (за звичай вони сумісні з Bourne shell) які автоматизують процес конфігурації, компіляції та створення пакету для Slackware в архівному форматі (*.tgz, *.txz, *.tbz). 
  
 +===== Огляд =====
  
-===== Overview =====+Процес створення пакету для Slackware з сирцевого коду можна поділити на слідуючи частини, деякі деталі можуть відрізнятись відносно системи.
  
-The basic process of creating a Slackware package from source can be summarized as followswhile details may vary from one build system to another.+  - Розпакування архіву з сирцевим кодом (за звичай це файли з розширенням .tar.gz or .tar.bz2) в робочу директорію. 
 +  - Створення файлу ''slack-desc''з описом програмного забезпечення в коректній формі. 
 +  - Конфігурація сирцевого коду та за необхідністю застосування патчів до коду. 
 +  - Компіляція/будівництво з сирцевого коду та генерація бінарних файлів. 
 +  - Встановлення програми в тимчасову директорію. Цей крок може бути складніший, це залежить від системи збірки та як працює ''make install'' (чи схожий за функцією інструмент). У стандарті GNU Makefiles, достатньо передати перемінну ''DESTDIR'' у команду ''make install''. В нестандартних Makefiles та в системах збірки які не підтримують цю опцію, наприклад застосовують патчі до ''Makefile'' (чи до схожого за функцією файл) чи редагують конфігурацію збір-очної системи. 
 +  - Копіювання документації та інших важливих файлів (включаючи скрипти після встановлення) в піддиректорію тимчасового каталогу встановлення. Розміщення документації за замовченням знаходиться згідно зі стандартом пакетного менеджера Slackware а саме в ''/usr/'' директорії. 
 +  - Використовується утиліта ''makepkg'' для створення в тимчасової директорії (локація вставлення) пакету для Slackware який можна бути встановити використовуючи утиліту ''installpkg''.
  
-  - Uncompress the source archive (usually .tar.gz or .tar.bz2 file) into a "work directory." +Поки усі переобчисленні кроки робляться в ручну включаючи написання усіх командАвтоматизувати цей процес допомагають скриптияки поширюють користувачі між спільнотоюТак само ці SlackBuild скрипти можна відредагувати та використовувати задля оновлення вже встановленого програмного забезпечення.
-  - Create a ''slack-desc'' filewith 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 manager, viz. 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 hand, the process is tedious, sometimes complex, and involves typing in a lot of commands. Automating the process by a shell script allows the user to share the process with the community at large. It also makes sense to use and modify existing SlackBuild scripts for upgrading the same program to a newer version. 
-===== Creating SlackBuild scripts ===== 
  
-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.+===== Створення скриптів SlakcBuild =====
  
-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" itIn such casesmany steps involved in writing a SlackBuild script will differ from the standard wayBlindly copying and pasting commands from other SlackBuild scripts may or may not work.+Гарний урок по створенню скриптів SlakcBuild можна знайти [[http://www.slackwiki.com/Writing_A_SlackBuild_Script|тут]]декілька [[http://slackbuilds.org/templates/|шаблонів]] які потрібні для створення скриптів.
  
-It is recommended that anybody who wishes to write a SlackBuild scriptstudy 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 benefitas it is the practice to use Bourne shell compatible scripts for SlackBuildsIdeallysimple C projects which use the standard GNU Make system is a good way to start practicing writing SlackBuild scripts. +Такожпрограмне забезпечення може бути написане на різних мовах програмуваннявикористовувати різні системи збірки чи може використати інтерпретовану мову програмування в якої нема можливості встановлення цієї програмиВ цій ситуації необхідно зробити багато кроків при написанні SlackBuild скриптацей процес може дуже відрізнятися від звичайної схемиПросте копіювання команд з інших скриптів може спрацюватиа може і ні.
-<note tip>For new script writersit 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.+Рекомендовано усім хто пише скрипт SlackBuild, перед написанням розібратися з системою збірки використаної в конкретному проекті. 
 +В процесі написання SlackBuild скриптів Ви будите збільшувати свій ступінь володіння написання Shell скриптів, що є дуже корисним досвідомВ ідеаліпростий проект написаний на мові C, з використанням стандартної системи GNU Make, добрий початок для тренування та практики написання SlackBuild скриптів<note tip>Для новачка, буде дуже корисно зробити усі кроки створення пакунку в ручному режимі з сирцевого коду, перед тим як братись за написання SlackBuild скпритаЦе зменшіть вірогідність появлення помилки та неочікуваної поведінки скрипта.</note>
  
 +Завантаження SlackBuild скрипта до публічного репозіторія як наприклад http://www.slackbuilds.org може вимагати дотримання регламентованих стандартів написання. Наприклад, може бути обов’язково вказування цвілевої архітектури під час запуску скрипта, замість того щоб вписувати архітектуру в сам скрипт. Ці стандарти допомагають зробити SlackBuild скрипти як наймога переносимими між комп'ютерами.
  
-===== Automated SlackBuild generators =====+===== Автоматичні генератори SlackBuild скриптів =====
  
-Some tools exist that can assist you with creating a SlackBuild scriptHere are a few examples.+Деякі інструменти які можуть допомогти в створенні SlackBuild скриптівОсь деякі приклади.
  
-  * [[http://alien.slackbook.org/AST/ | Alien's SlackBuild Toolkit (AST)]] \\ A web-based "wizardtool by [[wiki:user:alienbob|Eric Hameleers]] +  * [[http://alien.slackbook.org/AST/ | Alien's SlackBuild Toolkit (AST)]] \\ Базований на веб технологіях "майстер", автор [[wiki:user:alienbob|Eric Hameleers]] 
-  * [[http://www.dawoodfall.net/slackbuilds/noversion/mkslack/ | mkslack]] \\ SlackBuild generator script by David Woodfall+  * [[http://www.dawoodfall.net/slackbuilds/noversion/mkslack/ | mkslack]] \\ SlackBuild генератор, автор David Woodfall
  
-===== External Links =====+===== Зовнішні посилання =====
  
-  * SlackBuilds Repository - http://www.slackbuilds.org/ +  * SlackBuilds репозиторій - http://www.slackbuilds.org/ 
-  * SlackBuild templates - http://slackbuilds.org/templates/+  * SlackBuild шаблони - http://slackbuilds.org/templates/
  
  
-===== Sources ===== +===== Джерела ===== 
-  * Originally written by  [[wiki:user:vharishankar|V.Harishankar]] for the SlackDocs Wiki Project+  * Автор оригіналу [[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 ()