Креирање пакета за Слеквер (slackwiki)

Uputstva, saveti i trikovi

Moderator: Urednik

Post Reply

Prijatelj foruma
Prijatelj foruma
offline
User avatar

Posts: 1053
Joined: 18 Feb 2012, 15:14
Location: Despotovac
Contact:

Post Napisano: 12 Feb 2013, 21:08


Овде ћу изложити упутства за изградњу пакета за Слеквер. Наравно, креираћемо пакете који нису доступни за преузимање као ,,готови'', а све због лакшег манипулисања датим пакетима касније, кад нам затребају. Јер много је лакше уклањати или надограђивати оне апликације које су инсталиране кроз пакете него оне које су компиловане из извора. А и такав поступак је у духу Слеквера :)


Правилан и поуздан начин

Након преузимања извора (архиве) апликације потребно је распаковати архиву.

tar.gz архива

Code: Select all

tar -xzvf АРХИВА
tar.bz2 архива

Code: Select all

tar -xjvf АРХИВА
Сваки извор има свој поступак компиловања који се налази у фајловима README или INSTALL.

а) Уколико се извор стандардно компилује, поступак је следећи:

Code: Select all

./configure
make
# make install
У том случају поступак изградње тече овако:
Вршимо конфигурацију и компиловање извора уобичајено, али користимо префикс /usr:

Code: Select all

./configure --prefix=/usr
make
Сада креирамо привремени директоријум за изградњу:

Code: Select all

mkdir /tmp/build
Инсталација у привремени директоријум:

Code: Select all

make install DESTDIR=/tmp/build
Сада вршимо сегментацију lib-ова и bin-ова:

Code: Select all

strip -s /tmp/build/usr/lib/* /tmp/build/usr/bin/*
Такође, треба да се побринемо да све у /usr/man буде gzip компресовано:

Code: Select all

gzip -9 /tmp/build/usr/man/man?/*.?
Креирамо install директоријум у коме ће бити смештени опис и скрипта:

Code: Select all

cd /tmp/build
mkdir install
cd install
Сада ћемо искористити уређивач текста како бисмо креирали фајл slack-desc са следећим садржајем:

Code: Select all

# KAKO UREĐIVATI OVU DATOTEKU:
# "Pomoćni lenjir" ispod olakšava uređivanje opisa paketa. Linija do prvog '|' 
# iznad ':' počinje od imena paketa, a '|' na desnoj strani označava poslednju
# kolonu u kojoj možete napisati slovo. Morate napraviti tačno 11 linija koja
# počinju na ovaj način kako bi formatiranje bilo ispravno. Takođe je
# uobičajeno da se ostavi jedno prazno mesto posle ':' osim na inače praznim
# linijama.

           |-----pomoćni-lenjir---------------------------------------------------|
imeprograma: imeprograma (kratak opis programa)
imeprograma:
imeprograma: Duži opis aplikacije, dužine najviše 71 karaktera nakon "imeprograma:" 
imeprograma: ('pomoćni lenjir' bi trebao početi na ':' i biti dugačak tačno 71  
imeprograma: karakter. Ako ima dovoljno prostora, takođe možete postavit link
imeprograma: ka matičnoj strani aplikacije na jednoj od tih linija, ali ovo nije
imeprograma: nepohodno.
imeprograma:
imeprograma: Maksimalni broj linija koje počinju sa "imeprograma:" je 11.
imeprograma: Linije bez ikakvog teksta *ne bi smele* imati prazan prostor nakon ':'
imeprograma:
У ову сврху можемо користити и алат по имену slackdesc. На слдећој страни се може преузети и проучити начин коришћења:
http://slack-desc.sourceforge.net/

Коначно, приступамо креирању пакета:

Code: Select all

cd ..
fakeroot /sbin/makepkg ../ИМЕ_ПАКЕТА-ВЕРЗИЈА-АРХИТЕКТУРА-ТАГ.txz
На питање да ли желимо поновно креирање симболичких линкова - одговарамо са yes
На питање да ли желимо ресетовање дозвола - одговарамо са yes

Да бисмо олакшали овај део са одговарањем, можемо изменити команду за креирање пакета тако да она изгледа овако:

Code: Select all

fakeroot /sbin/makepkg -l y -c y ../ИМЕ_ПАКЕТА-ВЕРЗИЈА-АРХИТЕКТУРА-ТАГ.txz
Сада ћемо инсталирати новокреирани пакет:

Code: Select all

# installpkg ../ПАКЕТ

б) Уколико се извор компилује помоћу cmake алата, поступак је следећи:

Code: Select all

mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr
make
А остали кораци су исти.
Друга команда (која почиње са cmake) може да варира, али у сваком случају поступак за компиловање се налази у горе поменутим фајловима, тако да нема грешке ако се све лепо испрати.


Журим, немам времена начин

Code: Select all

./ configure --prefix=/usr
make
make install DESTDIR=$PWD/install
cd install
fakeroot /sbin/makepkg -l y -c y ../ИМЕ_ПАКЕТА-ВЕРЗИЈА-АРХИТЕКТУРА-ТАГ.txz

ИЗВОР: http://slackwiki.com/Building_A_Package


Post Reply

Who is online

Users browsing this forum: No registered users and 15 guests