Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen dpkg-gensymbols komutudur.
Program:
ADI
dpkg-gensymbols - sembol dosyaları oluşturur (paylaşılan kitaplık bağımlılık bilgisi)
SİNOPSİS
dpkg-gensymbols [seçenek...]
TANIM
dpkg-gensymbols kütüphaneleri arayan geçici bir yapı ağacını (varsayılan olarak debian/tmp) tarar
ve üretir semboller bunları açıklayan dosya. Bu dosya boş değilse yüklenir
kontrole dahil olması için yapı ağacının DEBIAN alt dizininde
paketin bilgileri.
Bu dosyaları oluştururken, girdi olarak sistem tarafından sağlanan bazı sembol dosyalarını kullanır.
bakıcı. Aşağıdaki dosyaları arar (ve ilk bulunanı kullanır):
· debian/paket.semboller.kemer
· debian/semboller.kemer
· debian/paket.semboller
· debian/semboller
Bu dosyaların temel ilgi alanı, her biri ile ilişkili minimum sürümü sağlamaktır.
kütüphaneler tarafından sağlanan sembol. Genellikle bunun ilk versiyonuna karşılık gelir.
sembolü sağlayan pakettir, ancak aşağıdaki durumlarda bakımcı tarafından manuel olarak artırılabilir.
sembolün ABI'si, geriye dönük uyumluluk bozulmadan genişletilir. Bu
bu dosyaları güncel ve doğru tutma sorumluluğu bakıcının sorumluluğundadır, ancak
dpkg-gensymbols buna yardımcı olur.
Oluşturulan sembol dosyaları, bakıcı tarafından sağlanan dosyadan farklı olduğunda, dpkg-gensymbols
iki sürüm arasında bir fark yazdıracaktır. Ayrıca eğer fark çok
önemli, hatta başarısız olacak (ne kadar farklılığa tahammül edebileceğinizi özelleştirebilirsiniz,
bakın -c seçenek).
BAKIM SEMBOLLER DOSYALAR
Sembol dosyaları, yalnızca paketin gelişimini yansıttıkları takdirde gerçekten kullanışlıdır.
birkaç sürüm aracılığıyla. Bu nedenle bakımcı, her yeni bir güncelleme yapıldığında bunları güncellemelidir.
sembolü, ilişkili minimal versiyonunun gerçekle eşleşmesi için eklenir. farklar
derleme günlüklerinde bulunanlar bir başlangıç noktası olarak kullanılabilir, ancak bakımcı,
ek olarak, bu sembollerin davranışının belirli bir süre içinde değişmediğinden emin olmalıdır.
bu sembolleri kullanarak ve yeni sürümle bağlantı kurarak herhangi bir şey yapmanın yolu, dur
eski sürümle çalışıyor. Çoğu durumda, fark doğrudan
debian/paket.symbols dosyası. Bununla birlikte, genellikle daha fazla ince ayar yapılması gerekir:
örneğin, Debian revizyonunu minimal sürümden çıkarmanız önerilir, böylece
daha düşük sürüm numarasına sahip ancak aynı yukarı akış sürümüne sahip backports
oluşturulan bağımlılıklar. Sembol gerçekten olduğu için Debian revizyonu düşürülemezse
Debian'a özgü değişiklik tarafından eklendiyse, sürümün sonuna ' eklenmelidir.~'.
Semboller dosyasına herhangi bir yama uygulamadan önce, bakımcı bunu iki kez kontrol etmelidir.
mantıklı. Genel sembollerin kaybolması beklenmemektedir, bu nedenle yama ideal olarak yalnızca
yeni satırlar ekleyin.
Yorumları sembol dosyalarına koyabileceğinizi unutmayın: ilk karakter olarak '#' olan herhangi bir satır
'#include' ile başlaması dışında bir yorumdur (bkz. kullanma içerir). çizgiler
'#MISSING:' ile başlayanlar, kaybolan sembolleri belgeleyen özel yorumlardır.
Eski sembol sürümlerinin arttırılması gerekip gerekmediğini kontrol etmeyi unutmayın. yolu yok
dpkg-gensymbols bu konuda uyarabilir. Farkı körü körüne uygulamak veya var olduğunu varsayarak
herhangi bir fark yoksa, bu tür değişiklikleri kontrol etmeden değiştirilecek hiçbir şey, aşağıdakilere yol açabilir:
eski paketlerle çalışabileceklerini iddia eden gevşek bağımlılıkları olan paketler
birlikte çalışmak. Bu, (kısmi) yükseltmelerle bulunması zor hatalara yol açacaktır.
kullanma #PAKET# ikame
Bazı nadir durumlarda, kütüphanenin adı mimariler arasında farklılık gösterir. Kaçınmak
paketin adını semboller dosyasına kodlayarak, işaretçiyi kullanabilirsiniz #PAKET#.
Sembol dosyalarının kurulumu sırasında gerçek paket adıyla değiştirilecektir.
Aksine #MINVER# işaretleyici, #PAKET# içindeki bir sembol dosyasında asla görünmeyecektir.
ikili paket.
kullanma sembol etiketler
Sembol etiketleme, bir şekilde özel olan sembolleri işaretlemek için kullanışlıdır. Herhangi bir sembol olabilir
onunla ilişkilendirilmiş rastgele sayıda etikete sahip olmak. Tüm etiketler ayrıştırılıp saklanırken,
sadece bazıları anlaşılır dpkg-gensymbols ve özel muameleyi tetikler
semboller. alt bölüme bakın Standart sembol etiketler Bu etiketlerin referansı için.
Etiket özelliği, sembol adından hemen önce gelir (boşluğa izin verilmez
arasında). Her zaman bir açılış braketi ile başlar (, bir kapatma ayracı ile biter ) ve
en az bir etiket içermelidir. Birden çok etiket şu şekilde ayrılır: | karakter. Her etiket
isteğe bağlı olarak etiket adından ayrılan bir değere sahip olabilir. = karakter. Etiket
adlar ve değerler, özel karakterlerden herhangi birini içerememeleri dışında isteğe bağlı dizeler olabilir. )
| = karakterler. Bir etiket spesifikasyonunu izleyen sembol adları, isteğe bağlı olarak
ya ' or " İçlerinde boşluklara izin vermek için karakterler. Ancak, etiket yoksa
sembol için belirtilen, tırnak işaretleri, devam eden sembol adının bir parçası olarak kabul edilir.
ilk boşluğa kadar.
(etiket1=işaretlendim|adını boşlukla etiketle)"etiketlenmiş alıntı sembolü"@Base 1.0
(isteğe bağlı)tagged_unquoted_symbol@Base 1.0 1
untagged_symbol@Temel 1.0
Örnekteki ilk sembolün adı etiketlendi alıntı sembol ve iki etiketi vardır: tag1 ile
değer i am işaretlenmiş ve etiket isim ile uzay bunun hiçbir değeri yok. adlı ikinci sembol
tagged_unquoted_symbol yalnızca adlı etiketle etiketlenir isteğe bağlı. Son sembol bir
normal etiketsiz sembol örneği.
Sembol etiketleri, deb-sembolleri(5) biçimi, yalnızca bir parçası olabilirler
kaynak paketlerde kullanılan sembol dosyaları (bu dosyalar daha sonra şablon olarak görülmelidir)
ikili paketlere gömülü sembol dosyalarını oluşturmak için kullanılır). Ne zaman
dpkg-gensymbols olmadan denir -t seçeneği, uyumlu sembol dosyaları çıkaracaktır
için deb-sembolleri(5) format: sembolleri, gereksinimlerine göre tamamen işler.
standart etiketleri ve tüm etiketleri çıktıdan çıkarır. Aksine, şablon modunda
(-t) tüm semboller ve etiketleri (hem standart hem de bilinmeyenler) çıktıda tutulur
ve yüklendikleri gibi orijinal halleriyle yazılır.
Standart sembol etiketler
isteğe bağlı
İsteğe bağlı olarak işaretlenen bir sembol, herhangi bir zamanda kitaplıktan kaybolabilir ve
asla neden olmayacak dpkg-gensymbols başaramamak. Ancak, isteğe bağlı semboller kayboldu
her yeni paket revizyonunda farkta sürekli olarak MISSING olarak görünecektir. Bu
davranış, bakıcıya böyle bir sembolün olması gerektiğini hatırlatmaktadır.
sembol dosyasından kaldırılır veya kütüphaneye okunur. İsteğe bağlı sembol,
Daha önce EKSİK olarak ilan edilen, bir sonraki revizyonda aniden yeniden ortaya çıkıyor,
minimum sürümüyle “mevcut” durumuna yükseltilecektir.
değişmeden.
Bu etiket, kaybolmalarının olmadığı özel semboller için kullanışlıdır.
ABI kırılmasına neden olur. Örneğin, C++ şablon örneklemelerinin çoğu buna girer.
kategori. Diğer tüm etiketler gibi, bunun da keyfi bir değeri olabilir:
sembolün neden isteğe bağlı olarak kabul edildiğini belirtmek için kullanılabilir.
kemer=mimari-listesi
ark bitleri=mimari bitler
kemer-endian=mimari-endianness
Bu etiketler, bir kişinin sembolün bulunduğu mimari setini kısıtlamasına izin verir.
var olması gerekiyordu. NS kemer bitleri ve baş endian etiketler dpkg'den beri destekleniyor
1.18.0. Sembol listesi, içinde keşfedilen sembollerle güncellendiğinde
kütüphane, mevcut ana bilgisayarı ilgilendirmeyen tüm kemere özgü semboller
mimarlık yokmuş gibi ele alınır. Kemere özel bir sembol ise
mevcut ana bilgisayar mimarisiyle eşleşen kitaplıkta mevcut değil, normal
eksik semboller için prosedürler geçerlidir ve dpkg-gensymbols başaramamak. Açık
diğer yandan, eğer kemere özgü sembol, olmaması gerektiği halde bulunursa
var (çünkü mevcut ana bilgisayar mimarisi etikette listelenmedi veya
endianness ve bitleri eşleştirin), kemer nötr yapılır (yani kemer, kemer bitleri
ve arch-endian etiketleri bırakılır ve bundan dolayı farkta sembol görünür
değişiklik), ancak yeni olarak kabul edilmez.
Varsayılan şablon olmayan modda çalışırken, yalnızca kemere özel semboller arasında
geçerli ana bilgisayar mimarisiyle eşleşenler, semboller dosyasına yazılır. Açık
aksine, tüm kemere özgü semboller (yabancı kemerlerden olanlar dahil)
şablon modunda çalışırken her zaman sembol dosyasına yazılır.
Formatı mimari-listesi kullanılan ile aynıdır. Yapı-Bağımlıdır
alanı debian / kontrol (çevreleyen köşeli parantezler [] hariç). Örneğin,
Aşağıdaki listedeki ilk sembol yalnızca alfa, any-amd64 ve
ia64 mimarileri, ikincisi yalnızca linux mimarilerinde, üçüncüsü ise
armel dışında her yerde.
(arch=alpha any-amd64 ia64)a_64bit_spec_symbol@Base 1.0
(arch=linux-herhangi bir)linux_special_symbol@Base 1.0
(arch=!armel)symbol_armel_does_not_have@Base 1.0
The mimari bitler ya 32 or 64.
(arch-bits=32)a_32bit_special_symbol@Base 1.0
(arch-bits=64)a_64bit_special_symbol@Base 1.0
The mimari-endianness ya küçük or büyük.
(arch-endian=küçük)a_little_endian_special_symbol@Base 1.0
(arch-endian=büyük)a_big_endian_special_symbol@Base 1.0
Çoklu kısıtlamalar zincirlenebilir.
(arch-bits=32|arch-endian=küçük)a_32bit_le_symbol@Base 1.0
yoksay-kara liste
dpkg-gensymbols, içinde görünmemesi gereken dahili bir sembol kara listesine sahiptir.
sembol dosyaları, genellikle uygulama ayrıntılarının yalnızca yan etkileri oldukları için
alet zinciri. Herhangi bir nedenle, gerçekten bu sembollerden birinin olmasını istiyorsanız
semboller dosyasına dahil edilmişse, sembolü ile etiketlemeniz gerekir. yoksay-kara liste. O
libgcc gibi bazı düşük seviyeli araç zinciri kitaplıkları için gerekli olabilir.
c ++ belirtir c ++ sembol deseni. Görmek kullanma sembol desen aşağıdaki alt bölüm.
simver belirtir simver (sembol versiyonu) sembol deseni. Görmek kullanma sembol desen
aşağıdaki alt bölüm.
regex belirtir regex sembol deseni. Görmek kullanma sembol desen aşağıdaki alt bölüm.
kullanma sembol desen
Standart bir sembol belirtiminden farklı olarak, bir model, birden çok gerçek sembolü kapsayabilir.
kütüphane. dpkg-gensymbols her bir deseni, her bir gerçek sembolle eşleştirmeye çalışacaktır.
yok değil sembol dosyasında tanımlanmış belirli bir sembol karşılığı var. Ne zaman ilk
eşleşen desen bulunursa, tüm etiketleri ve özellikleri temel olarak kullanılacaktır.
sembolün özellikleri. Desenlerin hiçbiri eşleşmezse, sembol
yeni sayılır.
Kitaplıktaki herhangi bir sembolle eşleşmeyen bir desen kayıp olarak kabul edilir. Varsayılan olarak
bu bir tetikleyecek dpkg-gensymbols altında başarısızlık Cr C1 veya daha yüksek seviye. Ancak, eğer
başarısızlık istenmiyorsa, desen şu şekilde işaretlenebilir: isteğe bağlı etiket. O zaman eğer desen
hiçbir şeyle eşleşmez, farkta sadece MISSING olarak görünür. Ayrıca, herhangi biri gibi
sembol, desen, belirli mimarilerle sınırlı olabilir. kemer etiket. Lütfen
bakın Standart sembol etiketler Daha fazla bilgi için yukarıdaki alt bölüm.
Desenler bir uzantısıdır deb-sembolleri(5) format, dolayısıyla sadece sembolde geçerlidirler
dosya şablonları. Kalıp belirtimi sözdizimi, aşağıdakilerden herhangi birinden farklı değildir.
özel sembol. Bununla birlikte, belirtimin sembol adı kısmı, bir ifade işlevi görür.
karşı eşleştirilmek ad@sürüm gerçek sembolün. Aralarında ayrım yapmak için
farklı desen türleri, bir desen tipik olarak özel bir etiketle etiketlenir.
Şu anda, dpkg-gensymbols üç temel desen türünü destekler:
c ++
Bu desen ile gösterilir c ++ etiket. Yalnızca C++ sembolleriyle demannged ile eşleşir.
sembol adı (yayınlandığı gibi c ++filtre(1) yardımcı program). Bu desen eşleştirme için çok kullanışlıdır
adları karıştıran semboller, farklı mimariler arasında değişebilirken,
sökülmüş isimler aynı kalır. Bu tür sembollerin bir grubu sanal olmayan teşekkürler hangi
karışık adlarına gömülü mimariye özgü ofsetlere sahiptir. Ortak bir örnek
Bu durumda, elmas kalıtımı altında olmayan bir sanal yıkıcıdır.
sanal thunk sembolü. Örneğin, 8bit üzerinde _ZThn3_N6NSB1ClassDD32Ev@Base olsa bile
mimariler muhtemelen 16bit olanlarda _ZThn3_N6NSB1ClassDD64Ev@Base olacaktır, olabilir
tek ile eşleşti c ++ desen:
libdummy.so.1 libdummy1 #MINVER#
[...]
(c++)"NSB::ClassD::~ClassD()@Base'e sanal olmayan thunk" 1.0
[...]
Yukarıdaki ayrıştırılmış ad, aşağıdaki komut yürütülerek elde edilebilir:
$ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filtre
Karışık ad tanım gereği kitaplıkta benzersiz olsa da, bunun böyle olmadığını lütfen unutmayın.
parçalanmış isimler için mutlaka doğrudur. Birkaç farklı gerçek sembol,
aynı parçalanmış isim. Örneğin, sanal olmayan thunk sembollerinde durum böyledir.
karmaşık kalıtım yapılandırmaları veya çoğu kurucu ve yıkıcı ile (g++'dan beri
tipik olarak onlar için iki gerçek sembol üretir). Ancak, bu çarpışmalar meydana geldikçe
ABI düzeyinde, sembol dosyasının kalitesini düşürmemelidirler.
simver
Bu desen ile gösterilir simver etiket. Bakımlı kütüphaneler sürümlendi
her versiyonun, sembolün geldiği yukarı akış versiyonuna karşılık geldiği semboller
katma. Bu durumda, bir kullanabilirsiniz simver ilişkili herhangi bir sembolle eşleşecek desen
belirli sürüme. Örneğin:
libc.so.6 libc6 #MINVER#
(symver)GLIBC_2.0 2.0
[...]
(symver)GLIBC_2.7 2.7
erişim@GLIBC_2.0 2.2
GLIBC_2.0 ve GLIBC_2.7 sürümleriyle ilişkili tüm semboller, minimum
sembolü hariç sırasıyla 2.0 ve 2.7 sürümü erişim@GLIBC_2.0.
İkincisi, içinde olmasına rağmen libc6 sürüm 2.2'ye minimum bağımlılığa yol açacaktır.
"(symver)GLIBC_2.0" modelinin kapsamı, çünkü belirli semboller önceliklidir
desenler.
Lütfen, eski stil joker karakter desenlerinin ("*@version" ile gösterilir) olduğunu unutmayın.
sembol adı alanı) hala destekleniyor, yeni stil sözdizimi tarafından kullanımdan kaldırıldı
"(symver|isteğe bağlı)sürüm". Örneğin, "*@GLIBC_2.0 2.0" şu şekilde yazılmalıdır:
Aynı davranış gerekiyorsa "(symver|opsiyonel)GLIBC_2.0 2.0".
regex
Düzenli ifade kalıpları ile gösterilir regex etiket. Perl ile eşleşiyorlar
sembol adı alanında belirtilen normal ifade. Normal bir ifade eşleştirilir
olduğu gibi, bu nedenle onunla başlamayı unutmayın. ^ karakter veya herhangi biriyle eşleşebilir
gerçek sembolün bir parçası ad@sürüm sicim. Örneğin:
libdummy.so.1 libdummy1 #MINVER#
(regex)"^mystack_.*@Base$" 1.0
(normal ifade|isteğe bağlı)"özel" 1.0
"mystack_new@Base", "mystack_push@Base", "mystack_pop@Base" vb. semboller
örneğin "ng_mystack_new@Base" olmazken ilk kalıpla eşleştirilir. İkinci
desen, adlarında "özel" dizesine sahip tüm sembollerle eşleşir ve eşleşir
miras alacak isteğe bağlı desenden etiket.
Yukarıda listelenen temel desenler, mantıklı olduğu yerde birleştirilebilir. Bu durumda, onlar
etiketlerin belirtildiği sırayla işlenir. Örneğin, her ikisi de
(c++|regex)"^NSA::ClassA::Private::privmethod\d\(int\)@Base" 1.0
(regex|c++)N3NSA6ClassA7Private11privmethod\dEi@Base 1.0
"_ZN3NSA6ClassA7Private11privmethod1Ei@Base" sembolleriyle eşleşecek ve
"_ZN3NSA6ClassA7Private11privmethod2Ei@Base". İlk desen eşleştirilirken, ham
sembolü önce C++ sembolü olarak ayrıştırılır, ardından ayrıştırılan isim ile eşleştirilir.
Düzenli ifade. Öte yandan, ikinci desen eşleştirilirken normal
ifade ham sembol adıyla eşleştirilir, ardından sembol C++ olup olmadığı test edilir
biri onu parçalamaya çalışarak. Herhangi bir temel modelin başarısızlığı,
tüm desenin başarısızlığı. Bu nedenle, örneğin,
"__N3NSA6ClassA7Private11privmethod\dEi@Base" desenlerden hiçbiriyle eşleşmeyecek
çünkü geçerli bir C++ sembolü değil.
Genel olarak, tüm desenler iki gruba ayrılır: takma adlar (temel c ++ ve simver) Ve
genel kalıplar (regex, çoklu temel modellerin tüm kombinasyonları). Temel eşleştirme
takma ad tabanlı desenler hızlıdır (O(1)) genel kalıplar O(N) iken (N - genel kalıp
sayım) her sembol için. Bu nedenle, genel kalıpları aşırı kullanmamanız önerilir.
Birden çok desen aynı gerçek sembolle eşleştiğinde, takma adlar (ilk c ++, Daha sonra simver)
genel kalıplara tercih edilir. Genel kalıplar bulundukları sıraya göre eşleştirilir
ilk başarıya kadar sembol dosyası şablonunda. Ancak lütfen bu kılavuzun
şablon dosya girişlerinin yeniden sıralanması önerilmez çünkü dpkg-gensymbols üretir
adlarının alfasayısal sırasına göre farklılık gösterir.
kullanma içerir
Dışa aktarılan simgeler kümesi mimariler arasında farklılık gösterdiğinde, verimsiz hale gelebilir.
tek bir sembol dosyası kullanmak için. Bu durumlarda, bir include yönergesinin yararlı olduğu kanıtlanabilir.
birkaç şekilde:
· Bazı harici dosyalardaki ortak kısmı çarpanlarına ayırabilir ve o dosyayı
paket.semboller.kemer dosyaya şunun gibi bir include yönergesi kullanın:
#Dahil etmek "paketler.semboller.ortak"
· Dahil etme yönergesi herhangi bir sembol gibi etiketlenebilir:
(etiket|...|tagN)#include "dosya dahil edilecek"
Sonuç olarak, dahil edilen tüm semboller dahil edilecek dosya etiketlenmiş olarak kabul edilecektir
ile etiket Kendi ID’n ile mağazalarını oluştur etiketN varsayılan olarak. Bir ortak oluşturmak için bu özelliği kullanabilirsiniz.
paketMimariye özel sembol dosyalarını içeren .symbols dosyası:
common_symbol1@Temel 1.0
(arch=amd64 ia64 alpha)#include "package.symbols.64bit"
(arch=!amd64 !ia64 !alpha)#include "package.symbols.32bit"
common_symbol2@Temel 1.0
Sembol dosyaları satır satır okunur ve içerme yönergeleri en kısa sürede işlenir.
karşılaşılırlar. Bu, dahil edilen dosyanın içeriğinin herhangi bir dosyayı geçersiz kılabileceği anlamına gelir.
include yönergesinden önce görünen içerik ve bundan sonraki herhangi bir içerik
yönergesi, dahil edilen dosyada bulunan her şeyi geçersiz kılabilir. Herhangi bir sembol (hatta
dahil edilen dosyadaki başka bir #include yönergesi) ek etiketler belirtebilir veya geçersiz kılabilir
etiket belirtiminde devralınan etiketlerin değerleri. Ancak, bunun için bir yol yok
devralınan etiketlerden herhangi birini kaldırmak için sembol.
Dahil edilen bir dosya, kitaplığın SONAME'ini içeren başlık satırını tekrarlayabilir. Şöyle
durumda, daha önce okunan herhangi bir başlık satırını geçersiz kılar. Ancak, genel olarak en iyisi
başlık satırlarını çoğaltmaktan kaçının. Bunu yapmanın bir yolu şudur:
#include "libsomething1.symbols.common"
arch_special_symbol@Base 1.0
İyi kütüphane yönetim
Bakımlı bir kitaplık aşağıdaki özelliklere sahiptir:
· API'si sabittir (genel semboller asla düşürülmez, sadece yeni genel semboller
eklendi) ve yalnızca SONAME değiştiğinde uyumsuz şekillerde değişir;
· ideal olarak, dahili değişikliklere rağmen ABI kararlılığını sağlamak için sembol versiyonlamayı kullanır
ve API uzantısı;
· özel sembolleri dışa aktarmaz (bu tür semboller, geçici çözüm olarak isteğe bağlı olarak etiketlenebilir).
Semboller dosyasını korurken, görünümünü ve kayboluşunu fark etmek kolaydır.
semboller. Ancak uyumsuz API ve ABI değişikliğini yakalamak daha zordur. Böylece
bakımcı, kuralların geçerli olduğu durumları aramak için yukarı akış değişiklik günlüğünü baştan sona okumalıdır.
iyi kütüphane yönetimi bozuldu. Potansiyel problemler tespit edilirse,
Yukarı akış yazarı, yukarı akış düzeltmesi her zaman bir Debian'dan daha iyi olduğu için bilgilendirilmelidir
özel çalışma.
SEÇENEKLER
-Ppaket-yapı-dir
taramak paket-yapı-dir debian/tmp yerine.
-ppaket
Paket adını tanımlayın. Birden fazla ikili paket listeleniyorsa gereklidir
debian/control (veya debian/control dosyası yoksa).
-vversiyon
Paket sürümünü tanımlayın. Çıkarılan sürümün varsayılanları
debian/değişiklik günlüğü. Bir kaynak paket ağacının dışında çağrıldıysa gereklidir.
-ekitaplık dosyası
Tüm halk kitaplıklarını bulmak yerine yalnızca açıkça listelenen kitaplıkları analiz edin.
Yol adı genişletmeleri için kullanılan kabuk kalıplarını kullanabilirsiniz (bkz. Dosya::Topak(3 perl)
ayrıntılar için kılavuz sayfası) kitaplık dosyası birden fazla kitaplığı tek bir kitapla eşleştirmek için
argüman (aksi takdirde birden fazla -e).
-IDosya
kullanım Dosya entegre edilmiş semboller dosyasını oluşturmak için referans dosyası olarak
paketin kendisi.
-O[Dosya]
Oluşturulan semboller dosyasını standart çıktıya veya Dosya belirtilmişse,
yerine debian/tmp/DEBIAN/semboller (Ya da paket-yapı-dir/DEBIAN/semboller if -P
kullanıldı). Eğer Dosya önceden var ise, içeriği temel olarak kullanılır.
oluşturulan semboller dosyası. Bir sembol dosyasını güncellemek için bu özelliği kullanabilirsiniz, böylece
kitaplığınızın daha yeni bir yukarı akış sürümüyle eşleşir.
-t Sembol dosyasını, uyumlu format yerine şablon modunda yazın.
deb-sembolleri(5). Temel fark, şablon modunda sembol adlarında ve
etiketler, sonradan işlenmiş sembol adlarının aksine orijinal formlarında yazılır
uyumluluk modunda çıkarılmış etiketlerle. Ayrıca, bazı semboller olabilir
standart yazarken atlandı deb-sembolleri(5) dosya (etikete göre
işleme kuralları), tüm semboller her zaman sembol dosyası şablonuna yazılır.
-c[0-4]
Oluşturulan semboller dosyasını şablonla karşılaştırırken yapılacak kontrolleri tanımlayın
başlangıç noktası olarak kullanılan dosya. Varsayılan olarak seviye 1'dir. Artan seviyeler daha fazlasını yapar
kontrol eder ve daha düşük seviyelerin tüm kontrollerini içerir. Seviye 0 asla başarısız olmaz. 1. seviye başarısız
bazı semboller kaybolduysa. Bazı yeni semboller varsa Seviye 2 başarısız olur
tanıtıldı. Bazı kitaplıklar kaybolursa Düzey 3 başarısız olur. Bazı durumlarda Seviye 4 başarısız olur
kütüphaneler tanıtıldı.
Bu değer, ortam değişkeni tarafından geçersiz kılınabilir
DPKG_GENSYMBOLS_CHECK_LEVEL.
-q Sessiz olun ve oluşturulan semboller dosyası ile
başlangıç noktası olarak kullanılan şablon dosyası veya yeni/kayıp kitaplıklar hakkında uyarıları gösterir
veya yeni/kayıp semboller. Bu seçenek yalnızca bilgi çıktısını devre dışı bırakır, ancak
kendilerini kontrol eder (bkz. -c seçenek).
-akemer üstlenmek kemer sembol dosyalarını işlerken ana bilgisayar mimarisi olarak. için bu seçeneği kullanın
ikili dosyaları olması koşuluyla herhangi bir mimari için bir sembol dosyası veya fark oluşturun
zaten mevcut.
-d Hata ayıklama modunu etkinleştirin. ne olduğunu açıklamak için çok sayıda mesaj görüntülenir. dpkg-gensymbols
yapar.
-V Ayrıntılı modu etkinleştirin. Oluşturulan semboller dosyası, kullanımdan kaldırılan sembolleri şu şekilde içerir:
yorumlar Ayrıca şablon modunda, desen sembollerini yorumlar izler
desenle eşleşen gerçek sembollerin listelenmesi.
-?, --yardım et
Kullanım mesajını göster ve çık.
--versiyon
Sürümü göster ve çık.
onworks.net hizmetlerini kullanarak çevrimiçi dpkg-gensymbols kullanın