Debian'dan PPA'ma bir paketi nasıl kopyalarım?


10

Debian sid'ten en son gurme paketini ekibimizin PPA'sına eklemek istiyorum, böylece Gourmet'nin güncel bir sürümünü çalıştırmak isteyen Ubuntu kullanıcıları bu PPA'yı yazılım kaynaklarına ekleyebilirler. (Bağımlılık açısından, şu andaki tüm bağımlılıklarımız şu anda desteklenen tüm Ubuntu sürümlerinde zaten mevcut olduğundan, bu çok önemli bir sorun olmamalıdır.)

İndirdiğim *.dscdosyayı ve debian ve orij tarballs'lara bile kullanabilirsiniz anladım bu paketin için source.changesdosyanın. Ayrıca dputpaketi doğrulamak için Debian bakımcının ortak anahtarını indirdim. Daha sonra paketi kullanarak dput ppa:~gourmet/ppa gourmet_0.17.3-1_source.changesPPA'mıza yüklemeyi denedim (tilda olmadan da denedim.) Bu başarılı görünüyor, ancak bir onay e-postası almadım ve şimdi PPA'mda hiçbir paket görüntülenmiyor , bu da inanmamı sağlıyor Debian koruyucusunun anahtarının ekip üyelerimizin anahtarları arasında olmadığı için paketin reddedildiğini.

Peki, bir paketi Debian'dan (sid) bir Launchpad PPA'sına "kopyalamanın" en kolay yolu nedir? Yüklemeden önce tüm paketi yerel olarak yeniden oluşturmam gerekiyor mu?


BTW, Ubuntu geliştirme sürümü paketlerini Debian'dan otomatik olarak senkronize ettiğinden (DebianImportFreeze'den önce), Utopic'ten bir paketi nasıl kopyalayacağımı söyleyen bir yanıtı memnuniyetle kabul edeceğim.
Bernhard Reiter

Yanıtlar:


12

Değişiklik günlüğünü ayarlamak ve değişiklikler dosyasını yeniden oluşturmak için yüklemeden önce kaynak paketi yerel olarak yeniden oluşturmanız gerekir . Bir paketi backportlamak oldukça yaygın bir görev olmasına rağmen, bu senaryo yazılmıştır. Ubuntu-dev-toolsbackportpackage Manpage simgesi komutunu kontrol edin .Ubuntu-dev-tools uygulamasını yükle

Bir paketi Debian'dan geri almak için, hedef dağıtım serisini, PPA'yı ve paketin dsc dosyasını sağlamanız yeterlidir:

backportpackage -d trusty -u ppa:gourmet/ppa http://ftp.de.debian.org/debian/pool/main/g/gourmet/gourmet_0.17.3-1.dsc

Dsc dosyasını bulmanıza gerek olmadığı için bir paketi bir Ubuntu sürümünden diğerine backport yapmak daha da kolaydır. Diyelim ki ütopik olandan güvenilir olana geri dönmek istiyoruz:

backportpackage -s utopic -d trusty -u ppa:gourmet/ppa gourmet

Müthiş! Bana biraz hata gibi görünen tek şey ~gourmet/ppa, -uparametreye argüman olarak geçmeme rağmen paketin kişisel PPA'mda (~ ockham-razor / ppa) sona ermesi . (Ama neyse ki PPA'mdan Launchpad aracılığıyla Gurme ekibine kopyalayabildim.)
Bernhard Reiter

1

Bunu yapmanın birkaç yolu var.

Bunu Rhythmbox için yaptığımda aşağıdaki makbuzu takip ettim:

a. Kaynak dosyayı ve debian dosyalarını alın

resim açıklamasını buraya girin

b. Kaynağı açın (.orig.tar.xz)

c. kaynak klasörü yeniden adlandırınrhythmbox-3.0.3

c. debian dosyasını açın (.debian.tar.xz)

d. debian klasörünü kaynak dizinin altına taşı

e. dch -ichangelog dosyasını değiştirmek için

f. "kararsız" paket adını ubuntu hedefinin adıyla değiştirin - burada 12.04 için kesin olarak kullandım . Sürümü uygulamanız için uygun şekilde değiştirin. İşte ritim kutusu 3.0.3 idi - bu yüzden yeni ekledim-1~ppafossfreedom

rhythmbox (3.0.3-1~ppafossfreedom) precise; urgency=low

  * rebuild

 -- fossfreedom <fossfreedom@somewheremail.com>  Thur, 07 Jun 2012 13:19:18 +0100

g. yeni bir kaynak paket oluşturun:dh_build --createorig

h. Anahtarınla sadece kaynak oluşturma: debuild -S -k0xABCDEFGnerede ABCDEFGanahtardır

ben. bina için paketinizi yükleyin:

cd ..
dput ppa:fossfreedom/rhythmbox rhythmbox_3.0.3-1_sources.changes    

Bu temelde paketi yeniden inşa ediyor. Oh iyi. Daha kolay bir yol umuyordum, ama sanırım hiç yok.
Bernhard Reiter

dgetKomutu devscriptspakete bir göz atın . Bunu biraz basitleştirecek.
14'te

@andrewsomething - bunu bir örnekle cevaba dönüştürün :) - Bunun ambalajımı da basitleştirip basitleştiremeyeceğini görmek isterim.
fossfreedom

Tamamen farklı bir cevabım var, ama yine de öğrenmelisiniz dget=) dsc dosyası kaynak paketinin diğer bölümleri hakkındaki tüm bilgileri içerir. Yani dgetdsc dosyasına bir bağlantı verirseniz, her şeyi kapacak ve doğru şekilde ayıklayacaktır. dget -ux http://http.debian.net/debian/pool/main/r/rhythmbox/rhythmbox_3.0.3-1.dsc
andrewsomething

temiz cevap - aferin +1
fossfreedom
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.