Bir debian kaynak paketi verildi - Build-deps'i nasıl kurarım?


47

Ben bir debian (teknik olarak ubuntu) kaynak paketim var, yani .dsc, .tar.gz, vb., Bunu yapmak istiyorum. dpkg-buildpackageBütün yapı bağımlılıkları olmadığı için, başarısız olur.

Normalde kullanırdım apt-get build-dep, ama bu paket uygun değil.

Kaynak paketi verilen tüm yapı bağımlılıklarını kurmanın 'temiz', 'uygun' bir yolu var mı? Debian / kontrol dosyasını açabileceğimi biliyorum, ancak 'uygun' bir yol olup olmadığını merak ediyorum.

Kurdum build-essentialve tüm normal derleyicilere sahiptim, bu pakette fazladan yazılım gerekiyor.

Yanıtlar:


34

Bir mk-build-depsparçası olan kullanın devscripts.


12

Ptman'ın önerisini kullanan örnek bir iş akışı.

.dscDosyayı, .orig.*zdosyayı ve belki de bir .debian.*zdosyayı indirdiğinizi varsayarak , kaynak paketini şu şekilde açın:

dpkg-source -x [package_name]_[package_version].dsc

Çıkarılan kaynak klasörüne gidin ve çalıştırın:

sudo mk-build-deps -i

Bu dosyayı oluşturur [package_name]-build-deps_[version].debve yükler, ayrıca önerdiği tüm bağımlılıkları da kurar.

Şimdi paketinizi kaynaktan inşa edebilmelisiniz:

debuild

İşiniz bittiğinde, çektiğiniz bağımlılıkları, build-depsoluşturduğunuz paketi kaldırarak kolayca kaldırabilirsiniz :

sudo apt-get purge --auto-remove [package_name]-build-deps

2
Ayrıca geçebilir -riçin sudo mk-build-deps -iyükledikten sonra paketi kaldırmak için. Ayrıca, root olarak inşa etmek yerine root kullanarak kurulum yapabilirsiniz --root-cmd sudo. Sonunda, kullanınmk-build-deps --install --root-cmd sudo --remove
Lucas

Ayrıca, sudo apt install devscripts equivsönce ihtiyacınız olabilir .
Alba Mendez

9

Aslında dpkg-checkbuilddepsyapı bağımlılıklarını gösteren ben kullanabilirim . Bu ihtiyacım olanın% 99'unu alıyor


2
garip bir şekilde, packagename-version.dsc dosyası, Build-Depends
quixote

6

Genellikle kullanmak debuildgelen devscriptsyapı paketlerine ve Alakalı eğer eksik birikmesi-PS bir çizgi yazdırır.

"Uygun" yöntem, pbuilderpaketi en aza indirecek şekilde kullanmak veya benzerini kullanmak ve paket chroottarafından belirtildiği şekilde herhangi bir ek yapı yüklemesi yapmaktır; bu, aynı zamanda başka olası sorunları da (paketsiz kitaplıkların yerel yüklemeleri) kaldırır. Örneğin).


-6

Deneyin:

apt-get install build-essential

Build-essential kurulumunu yaptım. Bu paket ekstra yazılım gerektirir.
Rory

Ve neye ihtiyaç duyduğunu açıklamıyor mu? Belki de libncurses-dev.
Lanselot

1
Konu o değil; Tabii ki öyle. Mesele şu ki bağımlılıkları gerçekten yükleyen bir komuta sahip olmaktır, sadece onları gösteren bir komut değil.
Matthias Urlichs 27:15
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.