[Nasıl]Launchpad'deki PPA nedir

Başlatan EsatYuce, 22 Aralık 2009 - 03:43:06

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

EsatYuce

Başlarken

Kişisel Paket Arşivi (PPA) kullanarak, yazılım ve güncellemeleri doğrudan Ubuntu kullanıcılarına dağıtabilirsin. Kaynak paketini oluştur ve yükle, Launchpad onları oluşturacak ve sonra sunucu onları kendi uygulama depona ekleyecek.

Bu şu demektir;  Ubuntu kullanıcıları aynen standart Ubuntu paket yükleme gibi senin
paketlerini yükleyebilecekler ve onları indirmeye hazır konuma getirdiğinde kullanıcılar otomatik olarak indirebilecekler.

Launchpad'deki her birey ve takım bir veya daha fazla PPA'ya sahip olabilir. Herbirinin kendi URL'si vardır. 

PPA'da yayımladığın paketler, onları kaldırana kadar orada kalacaklar. Onlar, yüklediğin veya eski Ubuntu eşdeğer sürümlerinin paketleri tarafından yer değiştirilir.

Boyut ve taşıma sınırları

Herbir PPA 1 GB'lık yer kaplar. Eğer daha fazla özel yere ihtiyacın varsa Launchpad'e sor (İngilizce)

Desteklenen yapılar

Launchpad, PPA'ya bir kaynak paketi kurduğunda, şu yapılar oluşturulur:

x86

AMD64

LPIA

PPA'yı Aktifleştirme

Sana veya bir takıma ait olan bir PPA kullanmaya başlamadan önce kendi profil sayfanda veya takımın görünüm sayfasında onu aktifleştirmen gerekir. Eğer zaten bir veya daha fazla PPA varsa, bu ek arşivleri nerede oluşturabileceğinle ilgilidir.

Not: Sadece eğer Ubuntu kot yönetimin içindeysen PPA aktifleştirebilirsin.

PPA anahtarın

Launchpad herbir PPA için eşsiz bir anahtar oluşturur ve onu PPA'da paket oluşturmak için açar.

Bunun anlamı şudur; İnsanlar kaynaklarının imkan verdiği müddetçe senin PPA'ndan paketleri indirebilir ve yükleyebilir. PPA'nı aktif ettikten sonra Launchpad'in onu oluşturması için birkaç saat beklemen gerekecek.

Anahtarın ve Ubuntu'ya eklenen komutlar PPA sayfasında gösterilir.

Yazılım Yükleme

PPA'lar normal Ubuntu arşivleri gibi çalışır. Bilinen yöntemle yazılım yükleyebilirsin. Örneğin apt-get veya synaptic ile. Eğer yüklenecek bir uygulama varsa Ubuntu seni haberdar edecek.

PPA'dan yazılım yüklemeye başlamak için, Ubuntu'ya onu nerede bulacağını ve güvenilirliğini nasıl onaylayacağını sormalısın.

Ubuntu depolarını PPA ekleme

Ubuntu'ya PPA ekleme birkaç dakikadan fazla sürmez.

Adım 1: PPA Overview sayfasının apt sources.list entries bölümündeki birinci satırı kopyala. Örneğin:

deb http://ppa.launchpad.net/awn-testing/ubuntu jaunty main

Adım 2: Ubuntu bilgisayarında Sistem > Yönetim > Yazılım Kaynakları'na git.

Adım 3: Üçüncü Parti Yazılım (bazı Ubuntu sürümlerinde Diğer Yazılım olarak geçer) sekmesine tıkla.

Adım 4: Ekle butonuna tıkla.

Adım 5: Adım 1'de kopyaladığın satırı buraya yapıştır ve Kaynak Ekle butonuna tıkla.

Adım 6: Şimdi de PPA Overview sayfasının apt sources.list entries bölümündeki ikinci satırı kopyala ve Adım 4 ve 5'de yaptığın gibi yap.

Bittiğinde, yazılım kaynak bilgilerini tekrar yükle. İmzasız yazılım kaynakları ile ilgili bir uyarı görürsen endişelenme. İlerleyen bölümlerde onu düzelteceğiz.

Ubuntu'ya PPA anahtarı ekleme

Şimdi Ubuntu PPA'yı tanıyor. O, ayrıca Launchpad'de değişmediği müddetçe yazılımı nasıl kontrol edeceğini bilmesi gerekir.

Not: Bu, PPA'larda herhangi bir yazılımın uygunluğu anlamına gelmez. yüklemeden önce PPA sahibinin güvenirliğinden emin olman gerekir. Her PPA sahibi benim gibi :) güvenilir olmayabilir.

Adım 1: PPA overview sayfasında, PPA'nın  1024/12345678'e benzer bir OpenPGP anahtarını göreceksin. Onu kopyala veya slaştan sonraki kısmı 12345678 şeklinde not et.

Adım 2: Uçbirimi aç ve şunu gir:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678

12345678 yerine Adım 1'de kopyaladığın anahtarı gir.

Adım 3: Son olarak, herbir yazılım arşivlerinin detaylarını tekrar yüklemesini Ubuntu'ya söylemek için şu komutu yaz.

sudo apt-get update

Şimdi PPA'dan yazılım yüklemeye hazırsın. Uçbirimde apt-get çalıştır veya Synaptic'den istediğin yazlımını yükle.

Kaynak paket oluşturma

Ubuntu, Debian sistemin paket yazılımını kullanır.  PPA içinden yazılım almak için, bir kaynak paket oluşturmalısın. Bu, dağıtımını istediğin yazılımın kaynak kodunu içerir.

Not: Eğer zaten .deb kaynak paket yapısını biliyorsan Güncelleme bölümüne geçebilirsin.

PPA için standart Ubuntu paketlerinden biraz farklı olarak birkaç yöntem vardır. Güncelleme ve Destek dosyaları.

Güncelleme

Ubuntu paketi, paketin sürüm numarasının sona eklenmesiyle adlandırılır. Bu,  Ubuntu'yu eski paketlerden yenilerini ayırt etmeyi sağlar.   

Zaten Ubuntu depolarında bulunan paketin alternatif sürümünü oluşturmak istiyorsan, şunları yapabilirsin:


  • senin paketin resmi ubuntu sürümünün yerine geçer
  • Gelecek Ubuntu sürümleri senin paketinin yerine geçer

Bunları yapmak, Ubuntu sürüm numarasını arttırır ve ~ppan şeklinde bir son ek ekler. (Burada n paketinin düzeltme numarasıdır)

Örneğin; deneme_1.0-1 paketinin deneysel bir sürümünü oluşturuyorsan, senin PPA paketin deneme_1.0-2~ppa1 şeklinde adlandırılacak.

Burada, tilda işareti (~) önünde ne olursa olsun bir sonrakini yazar. Bu yüzden şimdilik deneme_1.0-1'den daha büyük bir sürüm sayısı hesaplar. Fakat eğer Ubuntu, deneme_1.0-2 sürümünü çıkarırsa, bu sürüm senin yaptığının yerine geçecektir.

Sürüm numaraları eşsiz olmalı. Bu, eğer çoklu Ubuntu seri için paket yapmak istiyorsan önemlidir.

Eğer paketin Ubuntu'nun yeniden derlenmiş sürümleri hariç farklı sürümlerinde kullanılabiliyorsa, zaten var olan adlandırma şemasını kullan. Eğer paketini PPA'ya başarıyla yüklediysen, mevcut kotları yeni sürüme ekleyebilirsin.

Eğer paketin, çoklu Ubuntu serileri desteğinin yeniden derlenmesine ihtiyacı yoksa, seri adının son ekini sürüm numarasına ekleyebilirsin. Karmic Kaola için bir paket deneme_1.0-2~ppa1~karmic1, Hardy Heron için deneme_1.0-2~ppa1~heron1 şeklinde adlandırılır. Eğer güncellenmiş paket yayımlamak istiyorsan ~ppan ekini arttır. Burada sürümün adının değişmediğini bilmek önemlidir.

Destek dosyaları

Launchpad paketinin yapına şöyle imkan verir:


  • PPA'ya yüklediğin paketlerin en son sürümüne
  • Birincil Ubuntu arşivinin bütün bölümleri. Örn; temel, sınırlı, evrensel, küresel
  • seçime bağlı: Launchpad'de diğer PPA'lar
Diğer PPA'lara güvenme

Eğer Launchpad'den bir veya daha fazla diğer PPA'ları kullanarak paketinin ek dosyalarını güvenilir olarak belirlemesini istiyorsan, PPA'ndaki veya takımın overview sayfasındaki Edit PPA dependencies bağlantısını takip et.

Oluşumdaki seçenekler

İster senin yeni oluşturduğun paket isterse Ubuntu birincil arşivindeki paketlerin türevi olsun paketi nasıl oluşturduğuna bağlıdır.

Ubuntu birincil arşivinde zaten var olan bir paketin sürümüne alternatif oluşturuyorsan, orjinal kaynaktaki .orig.tar.gz dosyasını yüklemen gerekmez.

Bu yüzden kullanabileceğin oluşum seçenekleri:


  • var olan paketin alternatif sürümü (.orig.tar.gz dosyası olmadan yüklenecektir):
debuild -S -sd

  • Ubuntu depolarında olmayan sürümlerle yeni paket işlemek (.orig.tar.gz dosyası ile yüklenecektir):
debuild -S -sa


Not: Eğer clearsign failed şeklinde hata alırsan: gizli anahtar, değişikler dosyası işaretlendiğinde kullanılamaz. debuild çağrıldığında -k[key_id] ek seçeneğini kullan. Anahtar kimliğini almak için
gpg --list-keys kullan ve "pub 12345/12ABCDEF" buna benzer bir satır ara. Slaştan sonraki bölüm anahtar kimliğidir.

PPA'ya bir paket yükleme

İlk kaynak paketini oluşturduğunda dput aracını kullanarak onu Launchpad'e yüklemen gerekir.

Not: Ubuntu veya Debian'ın orjinal kaynaklarıyla düzenlenmeyen, sadece senin kendi değişikliklerini içeren paketlerin yüklenmesini kabul etmiyoruz. Bu kişilerden, her paket için kullanışlı değişim kayıdını tutmalarını istiyoruz. Böylece kullanıcılar ve diğer geliştiriciler çalışmalarında yeni özelliklerin neler olduğunu araştırmalarında anlayabilecekler.

dput aşağıdaki dosyaları yükler:


  • .dsc
  • .changes
  • .diff.gz
  • ve seçime bağlı olarak .orig.tar.gz (eğer paket oluşturmada debuild -S -sa komutunu kullandıysan)

İlk önce, dput'a paketini nereye ve hangi metodla göndereceğini belirtmen gerekir. Bunu yapmak için ~/.dput.cf'yi bunu gibi düzenle:

[my-ppa]
fqdn = ppa.launchpad.net
method = ftp
incoming = ~<launchpad_kimliğin>/<ppa_adı>/ubuntu/
login = EsatYuce
allow_unsigned_uploads = 0

Şunları da yapman gerekir:


  • İlk satırı köşeli parantezleri de dahil olmak üzere PPA'da kullanmak istediğin adla değiştir. Buradaki gibi sadece "ppa" adını kullanırsan /etc/dput.cf'de bir girişle eşleşmez ve Could not find person or team named ''. (" adında kişi veya takım bulunamadı) şeklinde bir hatayla karşılaşırsın.

  • Eğer bir takım PPA'sına yüklüyorsan, ~<launchpad_kimliğin>i tilda işaretini de kullanarak takımın Launchpad adıyla değiştir. Seninde tahin edeceğin gibi, PPA'ya yüklemeden önce o takımın bir üyesi olmalısın.

  • <ppa_adı>nı ayarla. Normalde PPA adı ppadır. Aynı içerikteki diğer PPA'lar için özel ad kullan. PPA adını Launchpad'de görülen adla karıştırma. Çoğu kullanıcı ilk PPA adlarını basitçe sadece ppa dizisi ile oluştururlar.

Sonra Uçbirimi aç ve sunları yaz:

dput my-ppa P_V_source.changes

Burada P yerine paket adı ve V yerine sürüm numarası koy.

Diğer dağıtımdaki paketleri kullanma

Diğer dağıtımlardaki .deb paketlerini kullanarak kendi PPA'nı oluşturabilirsin.

Yeni bir dput yapılandırma bölümünü incoming = ~<lp_name>/ppa/ubuntu/<a ubuntu suite> kullanarak oluşturabilirsin. Belirlediğin sıralama, yeni yapılandırmayı kullanarak onu yüklediğinde, yükleme değişim kayıt defterindeki sıralama adı geçersiz olacak.

dput my-ppa-force-hardy  P_V_source.changes

Herhangi bir Debian kararlı dağıtımdaki kaynağı doğruca kendi PPA'na hiçbir değişikliğe gerek kalmadan yükleyebilirsin. O, mevcut Ubuntu sürümünde yerini alacaktır.

Önemli: Her ne kadar Launchpad paket oluşturmaya müsaade etse bile başka bir dağıtım için oluşturulmuş kaynakların destek dosyalarının hepsine uygun olmayabilir.

Önemli: Sürüm numarası eşsiz olmalıdır. Eğer çoklu Ubuntu serileri için paketlerin uyumluluğunu istiyorsan bunu yapmak zorundasın.

Eğer paketin yeniden derlenmeden Ubuntu'nun farklı sürümlerinde kullanılabiliyorsa, var olan ikilileri (binaries) yeni seriye kopyalayabilirsin. Kopyalama içim aşağıdaki Paket kopyalama kısmına bakınız.

Eğer paketin çoklu Ubuntu serilerinin desteğini sağlamasına gerek duymadan derlemek istiyorsan, seri adonon son ekini sürüme ekleyebilirsin. Böylece paketin Karmic Kaola için deneme_1.0-2~ppa1~karmic1, Intrepid Ibex için deneme_1.0-2~ppa1~intrepit1 şeklinde adlandırılacaktır. Eğer paketi güncelleyip yayınlamak istiyorsan ~ppan ekini arttır. Burada sürüm adının değişmediğine dikkat et. Böylece paketin, Ubuntu paket kılavuz bölümü, değişim kayıt defteri dosyasında doğru bir şekilde dağıtıma sunulacaktır.

Paket kopyalama

Diğer PPA'lardaki paketleri yüklemek istediğin herhangi bir PPA'nın içine kopyalayabilirsin. Ayrıca distro-series arasında paket kopyalama seçeneği vardır. (Örn; yayımlanan dağıtım farklılığı gibi)

Burada şunları yapabilirsin:


  • kopyalamak için bir veya daha fazla kaynak seçme
  • hedef PPA'yı seçme -bu arşiv için yükleme izinlerini almalısın-
  • hedef serileri belirtme
  • ilgili ikili paket kopyalarını seç

Kopyalama isteğin olur olmaz, PPA'nın merkezinde kaynak detaylı biçimde listelenecektir. Bununla birlikte, dosyaların arşivinde görünmesi için yirmi dakikadan fazla süre gerekecektir.

Eğer sadece kaynağı kopyalarsan, uygun oluşum kayıtları hedef PPA'da hemen oluşturulacaktır.

Paket silme

PPA'ndan istediğin paketi silebilirsin. PPA overview sayfandaki listeden paketi kaldırma biraz zaman alacak. Arşivin depolanma boyutu ayarlanabilir.

Sayfa silme, sileceğin paketleri listeleme için sana izin verir. Bunu yapmak için, ilk önce istediğin paketlerin bir veya daha fazlasını seç, bir açıklama ve silme isteği gir. Silme, seçili kaynağa ve onda oluşturduğun ikili paketlere etki edecek.

Silme, UI'de paketleri silinmiş gibi işaretler. Fakat normalde onlar şu ayırma adımlarında senin PPA'dan kaldırılmışlardır:


  • Archive indexes: Silinmiş bir paket arşin indekslerinde en fazla 20 dakika boyunca görülür. Bu olduktan sonra kullanıcı artık onu apt ile yükleyemez.

  • Files on disk:[/] Bir dosya arşiv disk havuzundan sadece eğer bütün paketler silme için listelendiğinde kaldırılabilir. Buna, diğer serilerde veya çoklu paket sürümlerinde yayımlanmış paketler de dahildir.

Arşiv kaldırma işi her 30 dakikada bir çalışır. Bir dosyayı diskten kaldırma kaldırılacak paketlerin sayısına bağlı olarak biraz zaman alır. En yaygın durum, dosyalar bir saat içinde kaldırılır.

Not: Launchpad, arşivden silinen dosyaların bir kopyasını silindiğinden yedi gün boyunca muhafaza eder.

Paket yükleme hataları

İster kendi PPA'na isterse resmi Ubuntu arşivine yaptığın ilk yüklemede Launchpad e-postana başarı veya hata notu gönderecek. Eğer herhangi bir başarı veya hata notu almadıysan, paketini doğru işaretlediğini bilmemiz için bize haber ver

Temel hatalar

The upload appears to work but I don't get any email about it
Bunun iki ana sebebi vardır:

   1. Yüklediğin kaynak paketindeki .sources dosyasını girme hatan.
   2. Kullandığın giriş anahtarın Launchpad'de tanınmıyor. Onu hesabına eklemen gerekir.

clearsign failed: secret key not available
changes dosyasına girdiğinde böyle bir hata alırsan debuild'e -k[key_id] şeklinde ek seçenek uygula. Anahtar kimliğini almak için gpg --list-keys kullanabilirsin. "pub 12345/12ABCDEF" buna benzer bir satır ara. Slaştan sonraki kısım senin anahtarındır.

kuleyni


novek

dostum tam anlayamadım yazının yarısını okudum.
bakalım dogru anlamışmıyım.
bu torrent gibi bişeymi
yani benim indirdigim paketleri internettekilerle paylaşıyormuyum?

alquirel