.Deb'den PKGBUILD oluşturun


11

Sıkıştırılmış bir dosyada .debbir /usr/share/binklasör olarak yazılımın ikili datadosyaları ve diğer dosyaların sağlama toplamlarını içeren başka bir meta veri sıkıştırılmış dosya içeren bir debian paketi var .

Amacım PKGBUILDarchlinux'a böyle bir .deb paketini doğru bir şekilde kurmak için bir .

Bunu yapmanın uygun yolu nedir?

Bu /usr/share/bindizinin içeriğini işlevi pkg /usr/share/binkullanarak sahte ortama kopyalamak için yeterli build()mi? Oluşturulan /usr/share/binpaket gerçekten kurulduğunda klasör gerçek konuma kopyalanacak mı?


6
Esasen, evet (paket işlevini kullanmak hariç). AUR ile biten diğer paketleri arayın -binve aynı yaklaşımı kullanın ...
jasonwryan

Yanıtlar:


9

Evet, ikili kaynaklara sahip diğer PKGBUILD'lerle aynı şekilde çalışır - ayıklayın ve dosyaları kopyalayın. Söz gereken tek şey deb-arşiv 3 diğer dosyalar oluşuyor olmasıdır - debian-binary, control.tar.gz, data.tar.gz. makepkg sadece birinci seviye arşiv çıkarır ve daha sonra manuel olarak çıkarmalısınız data.tar.gz.

prepare() {
    tar -zxvf data.tar.gz
}

package() {
    # copy files
}

Alternatif olarak, deb arşivini noextract dizisine yerleştirebilir ve daha sonra yalnızca manuel olarak çıkarabilirsiniz data.tar.gz:

$ ar p source.deb data.tar.gz | tar zx

makepkg$srcdirişlevleri yürütmeden önce geçerli dizini değiştirir , bu yüzden artık dahil etmek gerekmez ...
jasonwryan

@jasonwryan, birkaç geliştirici, bunun doğru kalacağının garantisi olmadığını belirtti. Uzun ömürlü olması için, geleneksel cd "${srcdir}"çizgiyi yerinde bırakmak mantıklı olabilir .
HalosGhost

1
@HalosGhost Bunu duymamıştım. Aynı mantıkla, yanlış olacağının garantisi yoktur ... :)
jasonwryan
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.