Welcome to the Slackware Documentation Project

This page is still work in progress - sinisa
Страница је у изради - sinisa

СлакБилд скрипте

СлакБилд је шел (енг. 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.

  1. Распаковати архиву изворног фајла (обично .tar.gz or .tar.bz2 фајл) у „радну фациклу“(фолдер, директоријум).
  2. Креирајте slack-desc фајл, са описом програма у одговарајућем формату.
  3. Конфигуришите/подесите изворни фајл и додајте закрпе ако је то потребно
  4. Компајлирате/изградите изворни фајл и генеришите бинарне фајлове.
  5. Инсталирајте програму у привременом директоријуму/фасцикли. Овај корак може бити мало компликован, у зависности како make install (или томе слична функција) изградња ради. У стандардом ГНУ Make-фајлу, DESTDIR варијабла/промењива прослеђена make install команди би требала бити довољна. У не стандардним Make-fајловима и системима изградње који не подржавају ту опцију, може захтевати крпљење Makefile (или сличног фајла) или мењање конфигурације изградње у систему изградње.
  6. Копирајте програмску документацију и друге потребна фајлове (укључујући пост-инсталационе скрипте) у одговарајући поддиректоријум у привременом инсталационом директоријуму. Ове локације би требале да се придржавају структури директоријума које користи Слеаквер за складиштење апликација инсталираних пакет менаџером, то јест унутар /usr/ фолдера.
  7. Користите makepkg алатку из привременог директоријума (инсталациона локација) да би креирали Слаквер пакет који се може инсталирати користећи installpkg алатку.

Иако се горњи кораци могу ручно урадити, процес је досадан, понекад и сложен те захтева типкање много команди. Аутоматизовање процеса користећи шел скрипте допушта кориснику да дели процес са целом заједницом. Такође има смисла користити и модификовати постојећу СлакБилд скрипту за надоградњу истог програма на последњу верзију.

Креирање СлакБилдс скрипти

Добар и користан туторијал о креирању СлакБуилд скрипта можете наћи ове, а овде Вам је доступно неколико шаблона да бисте стекли осећај шта Вам је све потребно за скрипту.

Међутим програми могу бити написани у различитим програмским језицима, користе другачији систем изградње, или пак буду написани у програмском језику без очигледног начина „инсталације“. У неким случајевима, многи кораци у писању СлакБуилд скрипте се могу разликовати од стандардног начина. Копирање и лепљење команди из неке друге СлакБуилд скрипте може а и не мора да ради.

Препоручено је свакоме ко жели да се бави писањем СлакБуилд скрипти да проучи и разуме систем изградње програма пре него што почне правити СлакБилд скрипту за њега. Степен знања у писању СлакБуилд скрипти је предност, јер се за СлакБилдс користе Борн шел компатибилне скрипте. У иделаном случају, једноставан Ц пројекат је одличан начин за вежбање писања СлакБилд скрипти.

За почетнике у писању скрипти, добро би било да испробате горе поменуте кораке и ручно креирате пакет из извора пре писања СлакБилд скрипте. Тиме ће се смањити шанса за евентуално појављивање грешака (енг. Bug) и неочекивано понашање у скрипти.

Слање СлакБилд скрипти у јавна складишта/репозиторијуме као што је http://www.slackbuilds.org може додатно захтевати придржавање одређених конвенција и стандарда кодирања. На пример, било би потребно да скрипта препозна циљану архитектуру при извршавању уместо да то ради код писан у самој скрипти. Ови стандарди покушавају да учине СлакБилд скрипте што је могуће више портабилне/преносиве.

Аутоматизовани СлакБилдс генератори

Постоје и алати који Вам могу помоћи при креирању СлакБилд скрипти. Ево пар примера.

Спољне Везе

Извори


In Other Languages
Translations of this page?:
QR Code
QR Code sr:slackware:slackbuild_scripts (generated for current page)