Makepkg (Türkçe)
From ArchWiki
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!