Pbuilder sürümlerimde yerel .deb dosyalarını nasıl kullanabilirim?


9

Genellikle başka bir paket bağımlı paketler oluşturmak gerekir (yani bağımlılıkları oluşturmak). Tüm bu paketleri ilk olarak benim ppa (bazen biraz zaman alabilir) inşa olmak yerine, pbuilder sonuçları dizinini pbuilder kendisi için bir kaynak olarak kullanmak istiyorum.

Bunu nasıl yapabilirim? Bunu bir kanca ile yapabilir miyim?

Yanıtlar:


5

Onları dpkg-scanpackages ile oluşturulan basit bir repoya yapıştırabilir ve bunu apache üzerinden kullanılabilir hale getirebilirsiniz. Daha sonra repo'yu kullanmak için üreticinin apt yapılandırmasını güncelleyin.


3
Ayrıca bkz. Wiki.ubuntu.com/PbuilderHowto#Yerel Paketlerle İnşa Etme . OTHERMIRROR örneklerinin yerel dosya sistemine karşı çalışıp çalışmadığından emin değilim. Ekstra paket depom için bir localhost yolu kullanmanın kolay yolunu seçtim.
andol

6

Bu birkaç yolla yapılabilir. Adol tarafından belirtildiği gibi, Ubuntu wiki'nin mini dinstall ile yerel bir havuz oluşturarak ve bunu pbuilder yapılandırmanıza ekleyerek bunun nasıl yapılabileceğine dair güzel bir örneği var . Dennis'in dpkg-scanpackages kullanımı hakkındaki cevabı da işe yarıyor.

Bunu son zamanlarda apt-ftparchive ile yapıyorum. Çok hafif olduğu için bu yaklaşımı seviyorum. İşte yaptığım şeyin açıklamalı örneği:

# From my ~/.pbuilderrc file

# Location of the dir where you keep pbuilder hook scripts.
HOOKDIR="/home/andrew/.pbuilder-hooks"

# Path to your local repo to be used as a mirror written as apt source line.
OTHERMIRROR="deb file:///home/andrew/pbuilder/local_repo ./"

# Path to your local repo. This tells pbuilder to mount this directory so it is available in the chroot.
BINDMOUNTS="/home/andrew/pbuilder/local_repo"

# As we need to have the apt-ftparchive command, we need to insure this package is installed.
EXTRAPACKAGES="apt-utils"

Ayrıca bir inşaatçı kancasına ihtiyacınız var:

# From my ~/.pbuilder-hooks/D5update-local-repo file

# Path to the local repo.
LOCAL_REPO="/home/andrew/pbuilder/local_repo"

# Generate a Packages file.
(cd $LOCAL_REPO ; apt-ftparchive packages . > Packages)

# Update to include any new packages in the local repo.
apt-get update

Şimdi tek yapmanız gereken paketleri yerel deponuza bırakmak ve inşaatçıya açık olacak. Bir bağımlılık dizesi oluşturmaya çalışıyorsanız, yerel repo dizininiz olarak pbuilder sonuçları dizinini oluşturabilirsiniz.

Muhtemelen bu konuda başka varyasyonlar hayal edebilirsiniz. Örneğin, hook dosyasını kullanmak yerine Packages dosyası oluşturmak için dput öğesini bir post_upload_command ile kullanabilirsiniz.

Bu Debian wiki sayfası da yardımcı olabilir.


1
Kanca dosyasının çağrılması D05...(iki basamaklı sayı) ve yürütülebilir olması gerekir. Ayrıca (en azından pbuilder-dist kullanırken) apt-utils ekstra paketini ekledikten sonra bir pbuilder-dist <dist> update --override-configkez aramanız gerekir . Ayrıca yine pbuilder-dist ile OTHERMIRROR ayarını yapılandırma dosyası ayarını geçersiz kıldığından bir ortam değişkeni olarak ayarlamanız gerekir.
BubuIIC
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.