"Enter"a basıp içeriğe geçin

Gentoo Ebuilds nasıl yazılır – Linux Önerileri

İstediğiniz Gentoo paketine sahip değilseniz korkmayın! Kendi inşa edebilirsiniz! Bunu yapmak için, iyi bilinen Linux araç takımları, gcc ve diğerlerini kullanarak yazılım derleme konusunda biraz deneyime ihtiyacınız olacak. “emake”, bir Gentoo paketi oluşturma sürecini kontrol etmek ve ince ayar yapmak için kullanılır. Bu araçlarla hızlı ve güvenilir bir şekilde çalışan ultra ince paketler oluşturabilirsiniz.

Ebuild Yapısı

Kendi web sitenizi oluşturmak için doğru *.ebuild dosyasıyla başlamanız gerekir. Ebuild dosyanız, tüm ebuild’lerinizin kalbidir. ebuild dosyası, make gibi diğer birçok dosyaya bağlıdır. Aslında, çoğu durumda e-yapınız markaya bağlı olacaktır, ancak bu sizin seçiminizdir. İşte Novim Ağacı:
/ mnt / SW / projeler / Sistem / Gentoo / gentoo / uygulama editörleri / neovim
├── dosyaları
│ ├── neovim-0.4.3-gcc-10-düzeltme.patch
│ ├── neovim-0.4.4-cmake_luaversion_patch
│ ├── neovim-0.4.4-cmake-release-type.patch
│ └── sysinit.vim
├── beyanı
├── meta veri.xml
├── neovim-0.4.4-r100
└── Neofem-9999

Peki neden bu dosyaları uygulamanızda kullanıyorsunuz? *.ebuild dosyası açık dosyadır. Bu dosya, doğrudan sembole işaret eden bir SRC_URI içerir. Dosyadaki diğer bilgiler, paketi derlemek için gereken açıklamayı, web sitesini ve diğer bilgileri içerir.

Bildirim dosyası, belirteci benzersiz şekilde tanımlayan karmayı içerir.

Metadata.xml dosyası, yöneticinin adını, e-posta adresini, projenin adını ve mimari için bazı etiketleri içerir. Madencilik için GitHub deposu gibi uzak kimlik de bu dosyaya dahildir. Dosyalar dizini, ihtiyaç duyabileceğiniz tüm yamaları ve ihtiyaç duyabileceğiniz tüm özel ayarları içerir. Yukarıdaki örnek, Gentoo bakımcılarına göre uygun ayarlara sahip bir dosyayı göstermektedir.

Ebuild’in İçinde

Dosyanın içindeki değerlerin anlaşılması çoğunlukla kolaydır. Geliştiriciye yardımcı olmak için açıklama ve ana sayfa. EAPI numarası hangi Gentoo sürümünün çalıştırılacağını gösterir. Bir de ehliyetiniz var ki bu gayet açık; Lisansı ebuild dosyasını oluşturduğunuz kodla eşleştirin.

En zoru, birkaç sürüme ihtiyacınız varsa kullanılan SLOT’tur. SLOT daha sonra hangi sürümü desteklediğini gösterecektir. Çoğu program, bir seferde yalnızca bir sürüme izin veren 0 değerine sahip olacaktır.

ANAHTAR KELİMELER kaynak kodunuzun derlenebileceği platformları gösteren değerdir. amd65, x86 ve muhtemelen arm64 verilir. Eksiksiz bir liste Gentoo sisteminizde mevcuttur. Katkıda bulunmak istersen unutma Zorunlu Mimarinin önüne yaklaşık işareti (~) koyun. Bu, kodun test edilmediği anlamına gelir, bu nedenle bu kodu kaldırmadan önce kodunuzu kapsamlı bir şekilde test ettiğinizden emin olun. Yaklaşık işareti kaldırmadan önce birden çok kullanıcının kodu görüntülemesi tercih edilir.

IUSE değişkeni, derleyiciniz için ayarlamak istediğiniz parametreleri döndürür.

Ayrıca üç farklı çeşidi bulunan DEPEND’e de sahipsiniz. RDEPEND değerleri, kodunuzu çalıştırdığınızda kullandığınız değerlerdir. BDEPEND değerleri yapıya bağlı değerlerdir. Gentoo’ya eklemeye çalıştığınız paket, gerekli bağımlılıkları açıklayan bir dosya içerecektir.

Basit paketler için başka bir şeye ihtiyacınız yok. Ancak, üzerinde çalıştığınız belirli pakette, kod derlenmeden önce yapılması gereken bazı şeyler olabilir. Bu, Gentoo geliştiricilerinin beklentileriyle uyuşmuyorsa, kendinizinkini kurabilirsiniz.

misyon

Dosyada, yükleyici tüm süreç için belirli işlevleri kullanacaktır. Örneğin, komutu çalıştırmadan önce yamaları uygulamak için, src_prepare () fonksiyon bu durumu halledecektir.

NS src_configure () econf işlevi “use_enable” ayarlamak için kullanılır. Bu fonksiyonda, unpack komutunu kullanarak dosyalarınızı açabilirsiniz. Ayrıca projeniz için argümanları kullanarak ./configure’a iletebilirsiniz. ekof. Gördüğünüz gibi, bu işlevler eşdeğerlerine göre adlandırılır ve genellikle argümanlar iletir.

NS kaynak_yükleme () İşlev aynı işlevi yerine getirir yapmakİndirmek Bunu C/C++ derlemesinde yapacak. Ancak, arayabileceğiniz daha birçok seçeneğe sahiptir. referans belgesi.

Çoğu işlev, bir istisna programınız olduğunda kullanılabilir. İlk paketinizi uygulamaya çalıştığınızda muhtemelen bu işlevleri keşfetmeye başlayacaksınız.

Örnek: SimulIDE paket dosyası

Burada SimulIDE paketi için oluşturulmuş bir dosya sunuyoruz. Paket bir Qt5 geliştirme ortamı gerektirir, bu nedenle onu ebuild dosyanıza eklemeniz gerekir. Aşağıdaki görselde bu fikri yansıtan RDEPEND değerlerini görebilirsiniz. Kitaplıklar zaten Gentoo depolarındadır, bu da onlara başvurmayı kolaylaştırır.

#Telif Hakkı 2021 Mats Teige Axelsson
# GNU Genel Kamu Lisansı v3 koşulları altında dağıtılır
EAPI = 7
DESCRIPTION = “SimulIDE, Arduino simülasyonları dahil devre tasarımlarınızı simüle eder.”
GİRİŞ = “https://www.simulide.com/p/home.html”
SRC_URI = “https://mailfence.com/pub/docs/santigoro/web/SimulIDE_0.4.14/simulide_0.4.14-SR4_Sources.tar.gz”
BA = “GPL-3”
ızgara = “0”
keywords=”~x86~amd64″
rdepend = “dev-qt/qtsvg
dev-qt/qtxml
dev-qt/qtscript
dev-qt / qtwidget’lar
dev-qt / qt senkronize
dev-qt/qtserialport
dev-qt / qtmultimedya “
BAĞIMLI = “${RDEPEND}
dev-libs/libelf
gömülü dev / avr-libc “
src_prepare () {
Simulide_0.4.14-SR4_Sources.tar.gz kodunu kaynak koda dönüştürün
}
src_configure () {
econf -file-popt
}

içeri src_prepare () İşlevi kullanmadan önce paketin açıldığını görebilirsiniz.

kapsama

Tüm hatalarınızı düzeltip temizledikten sonra, paketinizi Gentoo projesine eklemek isteyebilirsiniz. Layman, ana dağıtımınızı kurmak için paylaşılan yazılımı kullanabilmeniz için oluşturuldu. Projeye Overlays denir, ancak onu kurma komutuna Layman denir.

çözüm

Gentoo için yeni paketler oluşturmak, yeteneklerinizi geliştirebilecek bir girişimdir. Ancak, make ve gcc araç setini kullanmadan önce birçok paket oluşturduysanız, bu süreci oldukça hızlı bir şekilde tamamlayabilmeniz gerekir. Ayrıca, topluluğa mümkün olduğunca katkıda bulunduğunuzdan emin olun.

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir