RkBlog

Hardware, programming and astronomy tutorials and reviews.

Tworzenie pakietów w Archu

Przewodnik opisujący tworzenie pakietów binarnych w Archlinuksie za pomocą opisów zawartych w plikach PKGBUILD określających zależności i sposób kompilacji i instalacji

Tworzenie pakietów Archlinuksa jest proste. Na początek zainstaluj:
pacman -S abs
ABS to system budowania pakietów dla dystrybucji. Wykonując polecenie "abs" pobierzemy PKGBUILDy wszystkich pakietów z podstawowych repozytoriów (do /var/abs/). Mogą one służyć za wzór przy tworzeniu własnych PKGBUILDów. PKGBUILD to plik tekstowy zawierający wszystkie informacje potrzebne do zbudowania pakietu. Oto przykładowy pkgbuild:
pkgname=python-lcms
pkgver=1.17
pkgrel=1
pkgdesc="LittleCMS Python bindings"
arch=(i686 x86_64)
license=('CUSTOM')
depends=('libtiff' 'python' 'lcms' 'swig')
url="http://www.littlecms.com"
options=('!libtool')
source=(http://littlecms.com/lcms-${pkgver}.tar.gz)
md5sums=('07bdbb4cfb05d21caa58fe3d1c84ddc1')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make prefix=$startdir/pkg/usr install
}
pkgname=weplab
pkgver=0.1.5
pkgrel=1
pkgdesc="A WEP encryption cracker"
url="http://sourceforge.net/projects/weplab"
depends=('wireless_tools')
makedepends=()
conflicts=()
arch=('x86_64')
replaces=()
backup=()
source=("http://dl.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
md5sums=('713870965447b0b8b7341409968846fb')

build() {
	cd $startdir/src/$pkgname-$pkgver
	./configure --prefix=/usr
	make || return 1
	make DESTDIR=$startdir/pkg install
}
Gdzie możliwe zmienne to:

Funkcja build

Standardowa kompilacja pakietu polega na wydaniu poleceń ./configure, make i make install. Odpowiednik tego w funkcji build to:
build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make prefix=$startdir/pkg/usr install
}

Budowanie pakietu

Budowanie pakietu polega na wykonaniu z konta zwykłego użytkownika polecenia makepkg z katalogu zawierającego plik PKGBUILD. Zbudowany pakiet można zainstalować przez pacman -U nazwa_pakietu.

AUR - zbiór PKGBUILDów społeczności

Strona AUR to repozytorium pkgbuildów stworzonych przez użytkowników. Dość często znajdziemy tak pkgbuildy aplikacji, których nie ma w postaci pakietów. Możemy też umieszczać tam własne pkgbuildy. Należy zwrócić uwagę iż dostępne tam pkgbuildy nie zawsze muszą odnosić się do najnowszej wersji aplikacji i działać bezbłędnie.

Shaman

Shaman to GUI dla Pacmana z obsługą ABS i budowania pakietów. Pakiet znajdziemy w repozytorium community.
pacman -S shaman
shaman
RkBlog

14 July 2008;

Comment article