.nuxbuild Tarifi Yazma
Nucora Linux ST 3.0 — Obsidian Engine | Resmî teknik dokümantasyon
Kaynak, checksum, sürüm değişkenleri ve prepare/build/check/package aşamaları için tarif rehberi.
Komutları güvenli çalıştır
Örneklerdeki paket ve aygıt adlarını kendi sisteminle karşılaştır. Root yetkisi gerektiren işlemlerde komutun etkisini ve hedef yolu doğrulamadan devam etme.
Tarif sözleşmesi
.nuxbuild formatı nux-maker tarafından okunur. Zorunlu alanlar: name, version, release, arch, class, sources, sha256sums. Fonksiyonların gerçek shell/parser sözdizimi proje parser’ıyla doğrulanmalıdır; aşağıdaki iskelet konsept gösterir, kullanılmadan önce depodaki geçerli tariflerle karşılaştırılmalıdır.
name="ornek"
version="1.0.0"
release="1"
arch="x86_64"
class="app"
sources=("https://example.invalid/ornek-${version}.tar.xz")
sha256sums=("<kaynak-arşivinin-gerçek-sha256-değeri>")
example.invalid ve açı parantezli hash çalışır upstream kaynağı değildir; bunları gerçek resmi URL ve SHA256 ile değiştirmeden build başlatma.
Fonksiyonlar ve build ortamı
prepare: kaynak ağacı için patch/config hazırlığı; dış sistemi değiştirmemeli.build: derlemeyi yapar;NUX_JOBSparalellik girdisidir.check: varsa upstream testlerini çalıştırır, başarısızlığı sessizce yutmaz.package: kurulum ağacını$PKG_DIRiçine yerleştirir.
$srcdir kaynak dizini, $PKG_DIR geçici paket kökü olarak verilmiştir. Değişkenlerin export/scope ayrıntısını recipe_parser.py uygulamasıyla teyit et.
Meson örüntüsü
Kaynak ağacında meson.build bulunduğunu ve bağımlılıkların çözüldüğünü kontrol et. Out-of-tree build dizini kullan; meson setup, meson compile ve DESTDIR="$PKG_DIR" meson install adımları ancak chroot toolchain’de mevcutsa çalışır. Yapılandırma bayraklarını tahminle değil upstream seçenekleriyle eşleştir.
CMake, Autotools ve Makefile
CMake için build klasöründe configure/build/install yap; DESTDIR davranışını proje install hedefinde doğrula. Autotools için configure, make, make DESTDIR=... install; GNU olmayan projelerde komut farklı olabilir. Makefile projelerinde make -j"$NUX_JOBS" ve staged install hedefini incele. Her build’in paket dışına dosya yazmadığını find "$PKG_DIR" ile kontrol et.
Sürüm değişkenleri ve checksum
${version} ile ${major} gibi genişletmeler tarif motorunun uyguladığı kurallara bağlıdır. ${major} otomatik tanımlı kabul edilmemeli; parser dokümanında yoksa sürümden açıkça türet. Hash’i sha256sum source.tar.* ile hesapla, indirme URL’sini upstream imzası/checksum’ıyla karşılaştır.
Güvenli uygulama akışı
Bu sayfadaki .nuxbuild Tarifi Yazma adımlarını uygularken önce mevcut durumu kaydet; ilgili sistemde nux-gen --help komutunun kullanılabilirliğini ve yardım metnini doğrula.
1. Hedef cihazın ST sürümünü, x86_64 mimarisini, aktif kanalı ve gerekli disk alanını doğrula.
2. Geri alınması zor işlem öncesinde kullanıcı verisini yedekle ve cihazı kararlı güç kaynağına bağla.
3. Tek seferde tek değişiklik uygula; komut, zaman, çıkış kodu ve sonucu not et.
4. Başarısızlık halinde işlemi tekrarlamadan önce tam logu ve son başarılı durumu sakla.
5. Sonucu nux doctor, ilgili bileşen sorgusu ve gerçek kullanıcı senaryosuyla doğrula.
ST 3.0 referans matrisi
| Bileşen | Verilen referans |
|---|---|
| Sürüm / kod adı | ST 3.0 / Obsidian Engine |
| Taban / mimari | Saf LFS / x86_64 |
| Kernel / init | linux-nucora 6.4.12 / SysVinit |
| libc / derleyici | glibc 2.39 / GCC 14.2.0 |
| Masaüstü / görüntü | XFCE 4.20, Xfwm4 / Xorg |
| Paket yöneticisi | nux 8.4.10; Go |
| Bellek / depolama | Boşta ~450 MB; minimum 2 GB RAM, 15 GB disk |
| Paket envanteri | stable 433; testing 46 (sağlanan sayılar) |
Değişiklik sonrası doğrulama
- Beklenen dosya/paket/ayar doğru yerde ve doğru sürümde.
- İlgili servis, masaüstü oturumu veya ağ bağlantısı yeniden çalışıyor.
- Paket veritabanı tutarlı;
nux doctoryeni hata üretmiyor. - Loglarda checksum, bağımlılık veya izin hatası yok.
- Geri dönüş yolu ve yedeğin okunabilirliği biliniyor.
Hata ayırma matrisi
| Belirti | İlk kontrol | Güvenli sonraki adım |
|---|---|---|
| Paket bulunamıyor | nux channel, nux repo list |
İndeksi yenile; gerçek paket adını ara. |
| Hash uyuşmuyor | Arşiv SHA256 ve repo metadata | Arşivi kurma; kaynağı/indeksi doğrula. |
| Bağımlılık eksik | nux check-deps, nux info |
Sağlayıcıyı belirle; rastgele dosya kopyalama. |
| Sistem beklenmedik | History ve son log | Yeni değişiklik yapmayı durdur; yedekle ve raporla. |
Güvenlik sınırları
- Arşiv, recipe, maintainer script veya tester anahtarını güvenilir kaynaktan doğrulamadan root ile çalıştırma.
.nuxchecksum uyuşmazlığını görmezden gelme; hash düzeltme aracı kaynağın güvenilirliğini kanıtlamaz./var/lib/nux/veritabanını elle düzenleme veya snapshot dosyalarını doğrulamadan silme.-ybayrağını özellikle remove/upgrade işlemlerinde etkisini anlamadan kullanma.- Rapor ve ekran görüntülerinden parola, anahtar, kişisel dosya yolu ve token’ları ayıkla.
İlgili sayfalar
- Ana Sayfa
- Hakkında
- Kurulum
- İlk Açılış
- Komutlar
- Kanallar
- Paket Formatı
- Gelişmiş nux
- Sorun Giderme
- Build Sistemi
- nux-gen
- Katkı
- Repo Sunucusu
- Kernel
- Kernel Derleme
- Modüller
- Tester
- Leaderboard
- Telemetri
- SSS
- Changelog
- Roadmap
- Sponsorlar
Dokümantasyon ve ürün verisi notu
Bu içerik proje tarafından sağlanan ST 3.0 tanımına dayanır; burada açıklanmayan endpoint, environment variable, CLI flag, canlı checksum veya otomatik downgrade davranışı varsayılmaz.
Sistemde gözlenen davranış bu metinle çelişirse önce nux --version, aktif repo indeksi ve kaynak kodu/release notlarını karşılaştır; doğrulanmış düzeltmeyi issue veya değişiklik günlüğüne ekle.
Bu sayfanın konusu: .nuxbuild tarifi yazma. Üretim sistemlerinde değişiklikleri önce test kanalında veya yalıtılmış ortamda doğrula.
İşlem kaydını hazırlama
Destek veya bakım kaydı açarken dağıtım sürümünü, mimariyi, aktif kanalı ve etkilenen paket sürümünü ekle. Komutu kopyalayıp yapıştırmak yerine hedef dosya ve aygıt adlarını önce gözden geçir. Birden fazla adım varsa her adımın çıktısını ayrı sakla; sorunun ilk görüldüğü zamanı not et. Başarılı sonucu yalnızca komutun çıkış koduyla değil, beklenen işlevi test ederek doğrula. Kişisel verileri ve gizli anahtarları paylaşmadan önce logları redakte et. Bu sayfadaki sürüm bilgilerini yeni release çıktısıyla karşılaştırarak güncel tut.