Archlinux: Çapraz platform paketleri ve .deb paketlerinden oluşturun

Yaklaşık bir yıl önce nasıl olduğunu açıkladım Archlinux için paketler oluşturun. Pekala, bugün bunları paketlerden nasıl oluşturacağımı açıklayacağım . Deb, kullanılanlar Debian / Darphane / Ubuntu / vb..
Bu makale, forumdaki kullanıcının bir sorusunu okuduktan sonra ortaya çıktı joorgegc AUR'dan bir paket yükleyemediğim için, esas olarak güncel olmadığı ve bir sürüm kullandığı için durduruldu PKGBUILD (neyse ki daha önce bu şekilde paketler yaptım), ayrıca ihtiyaç duyan program paketlerinin nasıl yapılacağını da açıklayacağım. 32 bit kitaplıklararasında kapalı kod o zaten derlendi ve indirmek için farklı paketlere sahip olduğunu.

PKGBUILD'nin temeli aynıdır, sadece birkaç değişiklikle.
İlk değişiklik bir cümlenin kullanılması olacak elif ise Bash tarafından


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

Bu örnekte, daha sonra değiştirmek için kullanılacak bir değişken tanımlanmıştır. URL paket nerede (bu durumda indirilecek paketin mimarisi).
Ayrıca mimariye bağlı olarak, MD5 toplamları bu yüzden bunları karşılık gelenlerle değiştireceğiz.

Makepkg -g kullanarak MD5sumları Bu, yalnızca kullanmakta olduğunuz mimariye uygun olanı oluşturacaktır. Diğer paketin MD5 toplamını öğrenmek için onu indirin ve şu komutu kullanın md5sum file.deb seninkini bilmek

Son olarak, örnekte bağımlılıkları değiştirdiğimizi görüyoruz. Bazı 64 bit programlarda, Bazı kitaplıkların 32 bit sürümleri bu yüzden onları belirtmeliyiz. Gerekli değillerse, değişkeni olağan şekilde tanımlayın.

Şimdi .deb paketleri için sadece fonksiyonun içinde aşağıdaki satırlara ihtiyacımız olacak paket ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

Gördüğünüz gibi, bu durumda paketi oluşturmak için sadece 3 satıra ihtiyacımız var. Başka bir şey gerekliyse (örneğin, paketle birlikte gelmeyen bir dosyayı kopyalamak veya birinin içeriğini değiştirmek), onu başka bir pakette olduğu gibi koymanız yeterlidir.

.Deb yerine paketleri kullanacaksak aynı şey geçerli olabilir (bazı değişikliklerle) rpm veya diğer paket türleri. İşlev inşa etmek () gerekli değildir, bu yüzden eklememize gerek yoktur.

Ve işte, zaten bir multilib paketimiz var veya kullanıma hazır bir deb paketinden oluşturulmuş.
Umarım beğenirsiniz ve bu beni iyi açıklamıştır 😀


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   beceriksizlik dijo

    Checkinstall kullanmak daha kolay değil mi?

  2.   Luciano Lagassa dijo

    Selam. Bazı bash senaryolarım var. Deb paketi için temel klasörleri ve dosyaları oluşturmak için bir tane. Ve paketi tüm dosya ve klasörlerden oluşturan sonuncusu. Eğer ilgilenirsen, paylaşabilirim.

    1.    Jorgecg dijo

      Tabii ki ilgilendiriyor ... en azından benim için.

      Artık Manjaro ile birlikteyim, tüm olası bilgileri takdir ediyorum.

  3.   Jorgecg dijo

    Ne kadar harikasın ortak.

    Forumda size .deb paketlerini nasıl derleyeceğimi açıklarsanız ve cömertliğinizi kötüye kullanmamak için size hiçbir şey söylemediğimi söyleyecektim…. ve sayfaya gidiyorum ve tüm süreci açıklayan bir makale yüklediğinizi görüyorum.

    Bu, cömert biri olduğunuzu gösterir.

    Sen bir çatlaksın dedim.

    selamlar

  4.   Anibal dijo

    Bu harika bir arkadaş, bir kez denediğimde .deb'den .rpm'ye dönüştürülen adı hatırlamıyorum, ancak benim için iyi çalışmadı.

    Arch'a sahip biri bu yazılımın rpm'ye iyi geçip geçmediğini ve kurulumun iyi açılıp açılmadığını test edebilir mi?

    http://www.justcloud.com/download/linux-64

    Bulutta yedekleme yapmak, bir süredir zaten ödedim ve bulutta 40 gb'den fazla var =)

  5.   Inspiron dijo

    Harika! Kendime hep bir gün bir paket yapmak istediğimi söyledim, nasıl yapılacağını bilmek olsa bile :).

    Bu tür gönderilerde, blogun hesabımın "favorilerine" buna benzer girişler ekleme seçeneğini uyguladığını takdir ediyorum

    1.    Chinoloco dijo

      Tamamen katılıyorum, diktim ama hiçbir şey yok 🙂
      Belirli kullanıcıları takip edebilmek de iyi olur

  6.   rabbi dijo

    Çok iyi yaşlı adam, birkaç gündür manjaro kullanıyorum ve çalışmalar için Cisco'dan packet tracer yüklemem gerekiyor ama sadece en son sürümün .deb paketine sahip ve ke AUR'da derleme sırasında her zaman hata veriyor , Umarım bu adımlarla onu kurabilirim çünkü zorla linux nane kullanıyorum, çok teşekkür ederim

  7.   mitco'lar dijo

    herhangi birinin AUR Multisystem'e koymaya cesaret edip etmediğini görmek için

    arch'da olmayan deb kitaplıklarına bağlıdır

    Ancak işe yararsa, işlevi, grub2 ile yalnızca bir tane yapan unetbootin'den daha iyi çoklu ISO kalem sürücüleri oluşturmaktır.

    Şu anda, USB'nin kendisinden önyükleme yapmak istersem, resim eklememe izin veren, içinde bir ubuntu ISO var.

    ama kimse biletimi kurtarmaya cesaret edemezse

  8.   mitco'lar dijo

    Üzgünüm, zaten bir çoklu sistem var ve sanmıyorum

    1.    mitco'lar dijo

      Çoklu sistemde ...

      Ama yaourt sorun çıkardığı için şişmanlayın ve bunu isteğe bağlı olarak koydular

  9.   marcos dijo

    Dosyaları toplu olarak yeniden adlandırmak için bir programı "Purrr" ile onaylamak harika 😀.

  10.   Apr4xas dijo

    Saygılarımızla,

    Şu anda AUR'da package () fonksiyonuna sahip olmayan paketleri eliyorlar, oraya hangi satırları koyacağımı nasıl bilebilirim? Yani, birkaç paketim var ve bunu bu şekilde yaptım ama sorun olup olmadığını bilmiyorum https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD Yaptığım şey build () paketinde () olanı geçmek ama dediğim gibi sorun olup olmadığını bilmiyorum ... Bana yorumlarınızı ve önerilerinizi iletebilir misiniz?

    Teşekkürler 😀

  11.   Azazel dijo

    Bilgi için teşekkürler, ileride başvurmak üzere işaretleyeceğim.

  12.   klerafel dijo

    Birisi benim için ne olduğunu açıklayabilir mi, ben yeniyim ve bunun bir .deb paketi yüklememe yardımcı olup olmadığını bilmiyorum ama yerel olarak manjaro'da, tam olarak bir oyun. Evet çalışıyor?

    Bakıyorum ve deb2targz paketini yüklememi söylüyorlar ama onu terminalden yüklerken bir hata alıyorum ve olabileceğinden emin değilim

    1.    Germain dijo

      Aynısı bana da oluyor; Arch tabanlı Kademar üzerine kurmam gerekiyor; sadece .deb içinde aldığım birkaç paket
      Biri bana yardım edebilir mi?

      1.    valdo dijo

        Eğer deb2targz kurulumunda bir başarısızlık demek istiyorsan, kurulumunu yaourt -S deb2targz komutuyla bitirdim. Tabii ki, ArchLinux'da.

  13.   Ücretsiz Bulut Depolama dijo

    Çok bilgilendirici gönderi. Paylaşım için teşekkürler.

  14.   Kızgın kuşlar dijo

    İyi yazı. Bu faydalı bilgiyi paylaştığınız için teşekkür ederiz.

  15.   PC için uygulamalar dijo

    Bu faydalı gönderi için teşekkürler. Çok yardımcı olacak.

  16.   jacob dijo

    merhaba, dönüşüm için komut dosyasını bırakabilir misiniz ve nasıl kullanılır? Biraz kafa karıştıran kısımlarda, dönüştürmek istediğim debi zaten var ve bunun mümkün olduğunu biliyorum çünkü AUR'un google chrome'u bir deb ama "MAKEPKG SI" nın başka bir deb ile nasıl yapılacağını bilmiyorum 🙁