Ово је стара верзија документа!
Садржај
СлакБилд скрипте
СлакБилд је шел (енг. shell / sr. шкољка) скрипта (обично је компатибилна са Борн шелом) која аутоматизује процес конфигурације, компајлирања/изградње и креирања Слаквер пакета (*.tgz, *.txz, *.tbz фајлова) из изворне архиве.
Преглед
Процес креирања Слаквер пакета из извoра (енг.source) може се резимирати на следећи начин, а детаљи се могу разликовати од случаја до случаја 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.
- Распаковати архиву изворног фајла (обично .tar.gz or .tar.bz2 фајл) у „радну фациклу“(фолдер, директоријум).
- Креирајте
slack-desc
фајл, са описом програма у одговарајућем формату. - Конфигуришите/подесите изворни фајл и додајте закрпе ако је то потребно
- Компајлирате/изградите изворни фајл и генеришите бинарне фајлове.
- Инсталирајте програму у привременом директоријуму/фасцикли. Овај корак може бити мало компликован, у зависности како
make install
(или томе слична функција) изградња ради. У стандардом ГНУ Make-фајлу,DESTDIR
варијабла/промењива прослеђенаmake install
команди би требала бити довољна. У не стандардним Make-fајловима и системима изградње који не подржавају ту опцију, може захтевати крпљењеMakefile
(или сличног фајла) или мењање конфигурације изградње у систему изградње. - Копирајте програмску документацију и друге потребна фајлове (укључујући пост-инсталационе скрипте) у одговарајући поддиректоријум у привременом инсталационом директоријуму. Ове локације би требале да се придржавају структури директоријума које користи Слеаквер за складиштење апликација инсталираних пакет менаџером, то јест унутар
/usr/
фолдера. - Користите
makepkg
алатку из привременог директоријума (инсталациона локација) да би креирали Слаквер пакет који се може инсталирати користећиinstallpkg
алатку.
Иако се горњи кораци могу ручно урадити, процес је досадан, понекад и сложен те захтева типкање много команди. Аутоматизовање процеса користећи шел скрипте допушта кориснику да дели процес са целом заједницом. Такође има смисла користити и модификовати постојећу СлакБилд скрипту за надоградњу истог програма на последњу верзију.
Creating SlackBuild scripts
A good hands-on tutorial on creating a SlackBuild script can be found here, and there are also a few templates available to get a feeling for what is needed from a script.
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.
Submitting SlackBuild scripts to a public repository such as http://www.slackbuilds.org may additionally require adherence to certain conventions and coding standards. For instance, it would be necessary for the script to determine the target architecture at runtime rather than hard-coding it into the script. These standards attempt to make SlackBuild scripts as portable as possible.
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