IPUCU Archlinuxda Paketlerin Bağımlılıklarını Belirlemek

From Lapis Wiki

Jump to: navigation, search
Bu makale IPUCU bölümü serisinin bir parçasıdır
Ses Çekirdek Terminal/Kabuk
Dosya İşlemleri Tarayıcılar Diğer
Paketleyeceğim ve,veya paketlediğim uygulamaların bağımlılıklarını nasıl belirleyebilirim?
Sistemimde gerekli bağımlılıklar kurulu olduğu için kullanırken veya paketlerken sorun yaşamıyorum.Ancak paketin hangi bağımlılıklara ihtiyaç duyduğunu belirlemekte zorluk çekiyorum.Bunu nasıl kolaylaştırabilirim.
Bunun için hazırlanmış scriptler bunu bizim adımıza yapıcak.

Paketin Bağımlılıklarını Kontrol Etme

  • Öncelikle sistemimize namcap'i kurnalıyız.
    •  pacman -S namcap 
  • Namcap paket analiz uygulamasıdır.Hazırladığınız paket ile ilgili herhangi bir problem olup olmadığını kontrol edebilirsiniz.
Dosya: Namcap kural listesi
Paketlerimiz için geçerli olanlar:

depends             : Basitçe bağımlılık kontrolü yapar.
directoryname       : Standart klasörleri kontrol eder.
fileownership       : Dosya sahipliğini kontrol eder.
gnomemenu           : Gnome menü dosyalarını kontrol eder.
perllocal           : perllocal.pod bulunmadığını doğrular.
permissions         : Dosya izinlerini kontrol eder.
symlink             : Sembolik bağların doğru yerde olup olmadığını kontrol eder.
urlpkg              : Url adresinin pakette belirtildiğini doğrular.
capsnamespkg        : Dosya adını doğrular(Geçerli karekterler).
emptydir            : Boş klasörler için uyarılar verir.
scrollkeeper        : Hiç bir scrollkeeper dosyalarının bulunmadığını doğrular.
libtool             : libtool (*.la) dosyalarını kontrol eder.  
badbackups          : Yedek girdilerinin olmadığını doğrular

PKGBUILD için geçerli olanlar:

md5sums             : PKGBUILD içerisinde belirtilmiş olan md5sum doğrulaması yapar
tags                : Maintainer ve CVS Id tags belirtilmişmi kontrol eder
url                 : Url adreslerini doğrular.
invalidstartdir     : $startdir/pkg veya $startdir/src başka bir klasör belirtilmişmi bakar.
capsnames           : Dosya adını doğrular(Geçerli karekterler).
sfurl               : Sourceforge URL adreslerini kontrol eder.
carch               : Özel bir c mimarisi belirtilmediğini doğrular(İ686 ve i586 yı referans alır)
  
  • Paketi bütün kurallar ile sınamak için:
    •  namcap hedehödö.pkg.tar.gz 
    • PKGBUILD için geçerli kuralları sınamak:
    •  namcap PKGBUILD 
  • Sadece belirtilmiş kuralları sınamak :
    •  namcap -r depends,symlink,md5sums hedehödö.pkg.tar.gz 

Kurulu Bir Uygulamanın Kullandığı Bağımlılıkları Kontrol Etme

  •   touch /usr/bin/bagimli && chmod 755 /usr/bin/bagimli && gedit /usr/bin/bagimli  
Kod: /usr/bin/bagimli
 
#! /bin/bash
Index=0
deps[0]=""
for x in `ldd $* |cut --delimiter=" " --fields=3`;
do
    newdep=`pacman -Qo $x | cut --delimiter=" " --fields=5`
     
    for dep in ${newdep[@]};
    do
        Included=0
        for idep in ${deps[@]};
        do
            if [[ $idep = $dep ]] ; then
                Included=1
            fi   
        done
        if [[ $Included = 0 ]]; then
            Index=`expr $Index + 1`
            deps[$Index]=$dep
        fi
    done       
done
echo ${deps[@]} 
  
	
  • Kurulu uygulamamızın bağımlılıklarını görmek:
    •  bagimli /usr/bin/beryl 
libpng libxcomposite libxdamage libxfixes libxrandr libsm libice libxinerama startup-notification
nvidia-utils libxext libx11 glibc zlib libxrender libxau libxdmcp
Konu ile ilgili fikirlerinizi paylaşmak için; Lapis Wiki Başlığı