Ubuntu: Vanilya kaynaklarına ne yapıyorlar?


12

Yanlışım varsa düzelt

Debian / Ubuntu / Fedora gibi dağıtımları bildiğim kadarıyla paket oluşturmadan önce genellikle vanilya kaynak kodunu değiştiriyor. Bu değişikliklerin arkasındaki sebep nedir? Orijinal kaynakla ilgili bir sorun mu var? Değişikliklerin listesini ve belirli bir pakette yapılan değişikliklerin nedenini nasıl alabilirim?

Yardım için teşekkürler!

Yanıtlar:


18
apt-get source package

İki veya üç dosya alırsınız: "orijinal" tarball (bazen değiştirilmiş, ancak nadiren ... tek değişiklik genellikle dosya adıdır) - adında * .orig.tar.gz, debian * .diff şeklinde değişir .gz dosyası ve bazı meta veriler. Bazen .diff.gz dosyası eksik: bu, paketin çok özel dağıtım işlerini yürütmek için yalnızca debian / ubuntu için oluşturulduğu anlamına gelir ... like dak hangi debian arşiv yüklerini yönetir. O zaman tüm kod orijinal tarball'dadır.

Sebepler çoktur: yazılım için hataları düzeltmek (yukarı akış istemiyorsa), yazılımı debian'a uyarlamak (örneğin dosya yollarını ayarlamak). Debian tüm paketlerin uymasını istiyor FileSystem Hiyerarşi Standardı ve bu çok yaygın bir düzenlemedir.

Orijinal tarball bazen ambalajlama sorunları nedeniyle yaratılan yukarı akış ile aynı değildir. Birkaç tarballda dağıtılmış bir program gördüğümü hatırlıyorum, sadece bir tane çalıştırılabilir oluşturdular - debian bakımcısı tarfalı yukarı akış tarball'larından oluşan kendi "orijinal" tarball'unu yapmaya karar verdi. Diğer bir sebep ise, bazen debian bakım görevlisinin pakete ikili dosya eklemeye karar vermesidir. İkili dosyaları .diff.gz dosyasının içine koymak zordur, bu nedenle orijinal tarball değiştirilir (ve bu genellikle paketin dokümantasyonunda açıkça tanımlanır).

Bazen (çok nadiren) lisanslama söz konusudur. Yukarı havayolunun bazı lisanslar nedeniyle ortaya çıkan sonuçları anlamadığı ya da anlamadığı anlaşılıyor. Debian tüm lisanslama sorunlarının çözülmesini istiyor, bu nedenle debian yamaları bazı özel şeyler yapıyor ya da orijinal tarball yasadışı dağıtılmış dosyalardan çıkarılıyor.

Ayrıca, bazı içeriğin lisanslı olması durumunda da kullanabilirsiniz, ancak dağıtılamaz. Genellikle (örneğin msttcorefonts, flashplugin-nonfree ) debian paketi, bir paket için yalnızca bir çeşit yükleyicidir ve paketin içinde orijinal içerik yoktur.

pine Paket ayrıca ilginç, çünkü lisans derlenmiş formları dağıtmayı yasaklıyor. Bu yüzden yok pine ikili paket, ancak var pine kaynak paket. Yukarıdaki komutu kullanarak indirebilirsiniz ve kendiniz için bir debian paket halinde derleyebilirsiniz.


Pine, şimdi orijinal lisanslama sorunlarının üstesinden gelmek için alpin olarak geliştiriliyor - washington.edu/pine
theotherreceive

Hala pine paket deponun içinde. Ancak, bu lisanslama meselelerinin işleri zorlaştırmasının nedenidir.
liori

2

Sebepler muhtemelen bakanlar ve paketler kadar çoktur. Sanırım genellikle yazılımı değiştirir, böylece dağıtımdaki diğer yazılımlarla daha iyi bütünleşir veya "resmi" sürümde olmayan özellikler eklenir.

kaynakları (ve ubuntu-özgü farklar) yazarak alabilirsiniz. sudo apt-get source PACKAGENAME komut satırında. Vanilya kaynaklarını ve paketin farklarını mevcut dizine indirecektir. Genellikle kaynakta bazı yorumlar da bulunur.


1

Bu şekilde düşün. Programı orijinal kaynak tarball üzerinden yüklediyseniz, ./configure; make; make install, hala yapacak işlerin var. Menü girişleri yapmanız, config dosyalarını ve diğerlerini ayarlamanız gerekir. Vermek zorunda kalabilirsiniz ./configure bir --prefix. Dağıtımcıların değişiklikleri genellikle bu sıradan görevlerin otomasyonundan başka bir şey değildir.

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.