Makepkg (Türkçe)

From ArchWiki

Jump to: navigation, search
i18n
English
Italiano
Ελληνικά
简体中文
Русский
Türkçe

makepkg, kendi paketlerinizi pacman kullanımına uygun bir şekilde derlemek için kullanılır. makepkg, kaynak dosyalarını indirip geçerliliğini denetleyen, bağımlılıkları kontrol eden, inşa zamanı ayarlarını yapılandıran, paketi inşa eden, geçici bir kök içine yükleyen, uyarlamalar yapan, meta bilgisi üretip bütün bunları paketleyen betik tabanlı bir inşa sistemi kullanır. makepkg'nin bir çok özelliği olduğu gibi temelleri aşağıda açıklanmıştır.

Contents

Ayarlamalar

ABS (Türkçe)

İlk önce abs/makepkg'yi çalıştırabilmek ve yazılımı kaynak kodlarından derleyebilmek için gerekli olan bütün araçların sisteminizde yüklü olduğundan emin olun:

pacman -Sy base-devel
pacman -S abs

'Y' yazarak cevap verin ya da sadece Enter tuşuna basın.

Şimdi abs komutunu çalıştırarak abs ile yapılmış olan orijinal Arch paketlerinde bulunan bütün PKGBUILD ve ilişkili dosyaları alabilirsiniz:

abs

Bu sabit diskinizdeki /var/abs altında bulunan deponun SVN hiyerarşisini yeniden oluşturacaktır. Varsayılan olarak bazı depolar etkin olmayabilir; bunları etkin hale getirmek için /etc/abs.conf dosyasını açıp ünlem işaretlerini kaldırmanız gerekmektedir.

NOT: Bu komutu çalıştırdığınızda ilgili yapılandırma dosyasında belirtilen bütün depolardaki inşa paketlerin /var/abs dizini altına indirileceğini ve bu veri miktarının büyük boyutlarda olabileceğini göz önünde bulundurun.

Bir inşa dizini oluşturun. Örnek olarak:

$ mkdir ~/abs

Makepkg

Eğer normal bir kullanıcı olarak makepkg ile birlikte bütün bağımlılıklarını da beraberinde yüklemek istiyorsanız (makepkg -s ile, aşağıya bakın) sudo'yu yüklemeniz ve kendi kullanıcı adınızı /etc/sudoers dosyasına eklemeniz gerekmektedir:

USER_NAME    ALL=(ALL)    NOPASSWD: /usr/bin/pacman

Yukarıdaki satır pacman'i kullanırken şifre girilmesi gereksinimini ortadan kaldıracaktır. Ayrıntılı bilgi için Sudo (Türkçe) sayfasına bakın.

Sonra yapımı biten paketlerinizi nerede konumlandırmak istediğinize karar vermeniz gerekiyor, örnek olarak onları ev dizininiz altında ayrı bir dizinde tutabilirsiniz. Bu aşamayı atlayabilir ve paketlerinizi makepkg'ye başladığınız dizinle aynı dizin altında oluşturabilirsiniz.

Dizini oluşturun:

mkdir /home/$USER/packages

Sonra PKGDEST değişkenini /etc/makepkg.conf dosyasında uygun bir şekilde belirleyin. Bu değişken paketlenmiş dosyaların nerede tutulacağını belirtir.

Bu dosya içerisindeyken, makepkg.conf içerisindeki diğer değişkenlere de bir göz atın. Örnek olarak, /usr/share/doc/<package> dizininin makepkg tarafından silinmesini istemiyorsanız PACKAGER'ı düzenleyebilirsiniz, ya da varsayılan OPTIONS sırasındaki ! işaretlerini kaldırabilirsiniz. Ayrıntılı bilgi için Makepkg.conf'a bakın.

Paket Yapımı

Devam etmeden önce, base-devel grubunu yüklediğinizden emin olun. Bu grupla ilgili olan paketlerin PKGBUILD dosyalarında bağımlılık olarak listelenmesine gerek yoktur. base-devel grubunu aşağıdaki komutu kullanarak yükleyebilirsiniz (root olarak):

pacman -Sy base-devel

Bir paket yapmak için ya "The Arch package making HOWTO" sayfasında açıklandığı gibi yeni bir tane paket oluşturmaya, ya da AUR'dan bir tane edinmeye veya ABS (aşağıya bakın) ya da diğer kaynaklara ihtiyaç duyarsınız. Paketleri nereden edindiğinize dikkat etmeli ve sadece güvendiğiniz kaynaklardan gelen paketleri yüklemelisiniz.

AUR üzerinde yapmak ya da yüklemek istediğiniz mükemmel bir paket bulun (bu örnekte biz Python tabanlı bir bit torrent istemcisi olan "rufus"u kullanacağız). PKGBUILD ve bütün gerekli dosyaları paketin AUR sayfasından "Tarball" bağlantısına tıklayarak elde edebilirsiniz.

cd /path/to/file
tar -zxf rufus.tar.gz
cd rufus

Bu dizin altında paketi inşa etmek için kullanılan ve PKGBUILD betiğini de içeren bir takım dosyaların bulunduğunu göreceksiniz. Bu paketi inşa etmek için (normal kullanıcı olarak):

makepkg

komutunu verin. Bu komut ilgili paket dosyasının oluşturulmasını sağlar. Eğer bütün gerekli bağımlılıkları yüklemediyseniz, makepkg sizi uyaracaktır. Paketinizi inşa etmek ve bu bağımlılıkları yüklemek için basitçe şu komutu kullanabilirsiniz:

makepkg -s

Unutmayın, bu bağımlılıkların sizin yapılandırdığınız depolarda olması gerekir. Alternatif olarak, paketleri pacman -Sy dep1 dep2 etc komutunu kullanarak el ile de indirebilirsiniz.

Bütün bağımlılıkları doğru bir şekilde karşılamışsanız ve paketiniz de doğru bir şekilde inşa edildiyse rufus-0.7.0-1.pkg.tar.gz paketi makepkg komutunu çalıştırdığınız dizinde ya da eğer yapılandırma dosyasında özel bir dizi belirtmiş iseniz ( /home/$USER/packages gibi ) bu dizin içerisinde oluşturulmuş olmalıdır. Şimdi pacman aracılığı ile bu paketi kurmak için (root olarak):

pacman -U rufus-0.7.0-1.pkg.tar.gz

komutunu verin.

NOT: Bu komutu verirken eğer ilgili paketin bulunduğu dizin içerisinde değilseniz paketin tam yolunu belirtin ( pacman -U /home/$USER/packages/rufus-0.7.0-1.pkg.tar.gz gibi ).


Paketi İnşa Betiklerini Kullanarak Kurmak

Bazen 3. parti depolardan sadece *.pkgbuild dosyalarını alırız. Bu durumda kullanılan komut:

makepkg -p


Tebikler! Kendi paketinizi başarı ile yüklediniz!

Faydalı Bağlantılar

Personal tools