Archlinux: Buat paket lintas platform dan dari paket .deb

Sekitar setahun yang lalu saya menjelaskan caranya membuat paket untuk Archlinux. Nah, hari ini saya akan menjelaskan cara membuatnya dari paket deb, yang digunakan dalam Debian / Mint / Ubuntu / dll.
Artikel ini muncul setelah membaca pertanyaan dari pengguna di forum jorgegc.dll karena saya tidak dapat menginstal paket dari AUR, terutama karena sudah usang dan menggunakan versi dihentikan PKGBUILD (untungnya saya sebelumnya sudah membuat paket dengan cara ini), saya juga akan menjelaskan cara membuat paket program yang membutuhkan Perpustakaan 32-bitdari kode tertutup o sudah dikompilasi dan memiliki paket yang berbeda untuk diunduh.

Basis PKGBUILD sama, hanya dengan sedikit perubahan.
Perubahan pertama adalah penggunaan kalimat jika elif oleh Bash


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")

Dalam contoh ini variabel telah ditentukan yang nantinya akan digunakan untuk mengubah URL dimana paketnya (dalam hal ini arsitektur paket yang akan diunduh).
Selain itu, tergantung pada arsitekturnya, file Jumlah MD5 jadi kami akan mengubahnya menjadi yang sesuai.

Saat menggunakan makepkg -g untuk menghasilkan file MD5sum Ini hanya akan menghasilkan yang sesuai dengan arsitektur yang Anda gunakan. Untuk mengetahui jumlah MD5 dari paket lain, unduh dan gunakan perintah file md5sum.deb untuk mengetahui milikmu

Akhirnya kami melihat bahwa dalam contoh kami mengubah dependensi. Di beberapa program 64-bit, Anda perlu menginstal Versi 32-bit dari beberapa pustaka jadi kami harus menunjukkannya. Jika tidak diperlukan, cukup definisikan variabel dengan cara biasa.

Sekarang untuk paket .deb kita hanya membutuhkan baris berikut di dalam fungsi paket ():

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

Seperti yang Anda lihat, kami hanya membutuhkan 3 baris dalam kasus ini untuk menghasilkan paket. Jika ada hal lain yang diperlukan (misalnya menyalin file yang tidak disertakan dengan paket, atau memodifikasi isinya) Anda hanya perlu meletakkannya seperti paket lainnya.

Hal yang sama dapat diterapkan (dengan beberapa perubahan) jika alih-alih .deb kita akan menggunakan paket rpm atau jenis paket lainnya. Fungsinya membangun () tidak diperlukan, jadi kami tidak perlu menambahkannya.

Dan voila, kita sudah memiliki paket multilib atau dibuat dari paket deb yang siap digunakan.
Saya harap Anda menyukainya dan itu menjelaskan saya dengan baik 😀


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   ulysses dijo

    Bukankah lebih mudah menggunakan checkinstall?

  2.   Luciano Lagassa dijo

    Hai. Saya memiliki beberapa skrip bash. Satu untuk menghasilkan folder dan file dasar untuk paket deb. Dan yang terakhir untuk menghasilkan paket dari semua file dan folder. Jika Anda tertarik, saya dapat membagikannya.

    1.    jorgecg.dll dijo

      Tentu saja itu menarik ... setidaknya bagiku.

      Sekarang saya bersama Manjaro saya menghargai semua informasi yang mungkin.

  3.   jorgecg.dll dijo

    Betapa hebatnya Anda, rekan.

    Saya akan memberi tahu Anda di forum bahwa jika Anda dapat menjelaskan kepada saya cara mengompilasi paket .deb dan saya belum memberi tahu Anda apa pun agar tidak menyalahgunakan kemurahan hati Anda…. dan saya membuka halaman tersebut dan saya melihat bahwa Anda telah mengupload artikel yang menjelaskan keseluruhan proses.

    Ini menunjukkan bahwa Anda adalah orang yang murah hati.

    Aku berkata, kamu adalah pecandu.

    Sebuah ucapan

  4.   Anibal dijo

    Ini teman yang baik, setelah saya mencoba soft yang saya tidak ingat nama yang diubah dari .deb menjadi .rpm, tetapi itu tidak berfungsi dengan baik untuk saya.

    seseorang dengan arch dapat menguji apakah soft ini diteruskan dengan baik ke rpm dan instalasi terbuka dengan baik?

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

    Ini untuk backup di cloud, saya sudah membayar untuk sementara waktu dan saya memiliki lebih dari 40gb di cloud =)

  5.   Inspiron dijo

    Bagus! Saya selalu mengatakan pada diri sendiri bahwa suatu saat saya ingin membuat paket, meskipun ingin tahu bagaimana melakukannya :).

    Dalam jenis posting ini, saya akan menghargai bahwa blog menerapkan opsi untuk menambahkan entri seperti ini di "favorit" akun saya

    1.    chinoloco dijo

      Sangat setuju, saya menanamnya, tapi tidak ada
      Ini juga bagus, bisa mengikuti pengguna tertentu

  6.   Rabba dijo

    Orang tua yang hebat, saya telah menggunakan manjaro selama beberapa hari dan untuk studi saya perlu menginstal pelacak paket dari cisco tetapi hanya memiliki paket .deb versi terbaru dan ke yang ada di AUR selalu memberi saya kesalahan saat mengkompilasi , Semoga dengan langkah-langkah ini saya dapat menginstalnya karena secara paksa saya telah menggunakan linux mint, terima kasih banyak

  7.   micoes dijo

    untuk melihat apakah seseorang berani memasang AUR Multisystem

    tergantung pada perpustakaan deb yang tidak ada di arch

    Namun jika berhasil, fungsinya untuk membuat pen drive multi ISO dengan grub2 lebih baik daripada unetbootin yang hanya membuatnya.

    Saat ini saya memiliki ISO ubuntu di dalamnya yang memungkinkan saya menambahkan gambar jika saya ingin mem-boot dari itu di USB itu sendiri

    tetapi jika tidak ada yang berani menyimpan tiket saya

  8.   micoes dijo

    Maaf, sudah ada multisistem, dan menurut saya belum

    1.    micoes dijo

      Dalam multisistem ...

      tapi fatresize karena yaourt memberikan masalah, dan mereka telah meletakkannya sebagai opsional

  9.   marcos dijo

    Bagus 😀 untuk menyetujui dengan "Purrr" sebuah program untuk mengganti nama file secara massal.

  10.   Apr4xas dijo

    Salam,

    Saat ini di AUR mereka menghapus paket yang tidak memiliki fungsi package (), bagaimana saya bisa tahu baris apa yang harus diletakkan di sana? Artinya, saya memiliki beberapa paket dan saya melakukannya dengan cara ini tetapi saya tidak tahu apakah tidak apa-apa https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD apa yang sebenarnya saya lakukan adalah meneruskan apa yang ada di build () ke package () tetapi seperti yang saya katakan, saya tidak tahu apakah tidak apa-apa ... Bisakah Anda memberi saya komentar dan saran Anda?

    Terima kasih 😀

  11.   Azazel dijo

    Terima kasih atas informasi yang akan saya tandai untuk referensi di masa mendatang.

  12.   Clerafel dijo

    Adakah yang bisa menjelaskan apa itu bagi saya, saya baru, dan saya tidak tahu apakah ini membantu saya menginstal paket .deb tetapi secara lokal di manjaro, tepatnya permainan. Ya, berhasil?

    Saya mencari dan mereka menyuruh saya untuk menginstal paket deb2targz tetapi saya mendapatkan kesalahan saat menginstalnya dari terminal, dan kemudian saya tidak tahu apakah itu bisa

    1.    ghermain dijo

      Hal yang sama terjadi pada saya; Saya perlu menginstal Kademar yang didasarkan pada Arch; beberapa paket yang hanya saya dapatkan di .deb
      Bisakah seseorang membantu saya?

      1.    Valdo dijo

        Jika yang Anda maksud adalah kegagalan dalam instalasi deb2targz, saya baru saja selesai menginstalnya dengan perintah yaourt -S deb2targz. Tentu saja, di ArchLinux.

  13.   Penyimpanan Cloud Gratis dijo

    Posting yang sangat informatif. Terima kasih telah berbagi.

  14.   Burung-burung pemarah dijo

    Pos yang bagus. Terima kasih telah membagikan informasi berguna ini.

  15.   Aplikasi untuk PC dijo

    Terima kasih atas posting yang bermanfaat ini. Ini akan sangat membantu.

  16.   jacob dijo

    hai, dapatkah Anda meninggalkan skrip untuk konversi dan bagaimana menggunakannya? apakah jadi di beberapa bagian agak membingungkan, saya sudah memiliki deb yang ingin saya konversi dan saya tahu itu mungkin karena google chrome dari AUR adalah deb tetapi saya tidak tahu cara membuat "MAKEPKG SI" dengan deb lainnya 🙁