Personal tools
You are here: Home members srx src2pkg - Slackware's "magic package maker"
yourip - portlet

ne m$-vom standardu
Scriptum Libre
Kernel.org
Poslednja 2.6 verzija
2.6.26.5

Poslednja 2.4 verzija
2.4.36.7
Sponzori
open document format
Linux Sigurnost
Debian security

Gentoo security

Mandriva security

Red Hat security

Slackware security

Suse security

Ubuntu security

Log in


Forgot your password?
New user?
prijatelji LUGoNS-a
 
Document Actions

src2pkg - Slackware's "magic package maker"

by Srdjan Andjelkovic last modified 2007-12-15 17:45

Slackware's "magic package maker" ovaj deo namerno nisam hteo da prevodim jer stvarno postoji neka "crna magija" u ovom package maker-u.

Automatizacija nekih dobro poznatih komandi nije nekada dobra stvar jer jednom kada se stekne odredjena navika ona se tesko menja. Proces instalacije programa za GNU/Linux se sastoji iz nekoliko "magicnih" komandi, koje se svode na nekoliko koraka

  • 1. download arhive sa source kodom (obicno sa ".tar.gz" ekstenzijom)
  • 2. raspakivanje te arhive u neki direktorijum
  • 3. konfiguracija
  • 4. kompajliranje
  • 5. instaliranje.

Ovih nekoliko koraka kada se prevedu na klasicne konzolne komande mogle bi da glase ovako:

$ wget http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz
$ tar zxf emacs-22.1.tar.gz
$ cd emacs-22.1
$ ./configure  (./configure --help za dodatne opcije)
$ make
# make install

Ono zbog cega ja sve ovo pisem jeste src2pkg novi slackware alat koji automatizuje ovih 5 koraka ali radi i jos vise od toga. U jednoj recenici to je univerzalni package maker. Slackware paket src2pkg mozete pronaci na autorovoj (Glibert Ashley) web strani http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/src2pkg/ . Src2pkg je skripta koja ce se postarati da proces instalacije prodje glatko jednom komandom, a takodje naprednijim korisnicima ostavlja mogucnost editovanja build skripte.
Generalna sintaksa komande je:

$ src2pkg [options] filename

Evo kako bi ovaj posao odradili sa src2pgk:

$ src2pkg -C http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz

ova komanda ce skinuti source kode, kompajlirati i napraviti slackware paket u trenutnom direktorijumu. Ili

# src2pkg -I http://ftp.gnu.org/pub/gnu/emacs/emacs-22.1.tar.gz

koja ce odmah i instalirati taj isti paket.

Ovde treba primetiti razliku izmedje velikih i malih slova. Velikim slovima se predstavljaju opcije (naprimer -I instaliraj paket, -C napravi paket u trenutnom direktorijumu) i malim slova se predstavljaju opcije pri pravljenju paketa (naprimer -a naznacava arhitekturu, -e prosledjuje dodatne argumente configure skripti itd.). Sve opcije su lepo prikazane u man strani i ja cu ovde napomenuti samo neke od njih:


-C    Stavlja napravljeni paket u trenutni direktorijum
-H    Stavlja napravljeni paket u HOME direktorijum korisnika
-I    Instalira napravljani paket
-N    Generise pocetnu src2pkg srkiptu
-T    Testira source kode bez pravljenja paketa
-V    Prikazuje detalje
-VV    Prikazuje jos vise detalja
-W    Brise privremene direktorijume i fajlove npravljene u procesu kompajliranj i pravljenja paketa

-a    Postavlja arhitekturu paketa
-e    Prosledjuje ekstra argumente configure skripti (naprimer --enable-alsa)
-p    Istalacioni prefiks (naprimer -p=/usr)
-v    Verzija paketa


Ono sto bi moglo biti interesantno naprednijim korisnicima je opcija -N za generisanje src2pkg skripte (.src2pkg.auto). Ona je veoma jednostavna i sastoji se iz 44 linije, a najzanimljiviji deo bi mogao da bude:

# Any extra options go here
# EXTRA_CONFIGS=''
# STD_FLAGS='-O2 -march=i486 -mtune=i686'

promenite u njoj sta zelite i ukljucite opciju -X.


Src2pkg ne samo da pravi Slackware pakete iz source koda, nego to isto moze da uradi i sa Debian (.deb) i RedHat (.rpm) paketima, ali i sa binarnim instalacijama koje dolaze obicno u install.sh datoteci. Za .deb i .rpm pakete:

$ src2pkg -VV -C -W paket.rpm(deb)

dok kod binarnih instalacija morate ukljuciti opciju -S. Po defaultu src2pkg podrazumeva da je rec o install.sh datoteci u trenutnom direktorijumu, ako to nije slucaj onda treba navesi putanju do fajla.

$ src2pkg -C -VV -W -S putanja_do_fajla

Na kraju mogu da preporucim svim Slackware korisnicima src2pkg, kao mnogo laksi i jednostavni ili bolje receno automatizovaniji nacin kreiranja .tgz paketa i eksperimentisanja sa njima.



Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: