Pertanyaan Bagaimana cara membuat PPA?


Bagaimana cara membuat PPA kustom saya sendiri untuk berbagi dengan komunitas Ubuntu? Saya mencoba membuat paket paket khusus saya sendiri dan saya benar-benar ingin membaginya dengan komunitas.


114
2017-10-24 15:54


asal


terkait atau sama: askubuntu.com/questions/28562/… - fossfreedom♦
Mungkin ini membantu packaging.ubuntu.com/html/getting-set-up.html - rubo77


Jawaban:


Menggunakan Arsip Paket Pribadi (PPA), Anda dapat mendistribusikan perangkat lunak dan pembaruan langsung ke pengguna Ubuntu. Buat paket sumber Anda, unggah dan Launchpad akan membuat binari dan kemudian menyimpannya di repositori apt Anda sendiri.

Ini dia penjelasan detail.


86
2017-10-24 16:01



FWIW Saya dapat mengaktifkan PPA saya sebelum saya menandatangani kode etik. - Sparhawk
Ini adalah jawaban terbaik. Anda baru diberitahu cara membuat PPA. Tanggapan di bawah ini (oleh totti) bukan PPA, tetapi merupakan repositori publik. Keduanya berbeda, meskipun (berpotensi) mencapai hal yang sama. Dia bahkan mengatakan di baris pertama dari jawabannya: "Pertanyaan ini memiliki jawaban yang ditulis dengan baik dan diterima. Karena OP menginginkan cara sederhana untuk mempublikasikan paketnya, saya memberikan peretasan yang mudah." Karena Anda lebih suka hack yang mudah tidak membuatnya menjadi jawaban terbaik. - lbaile200
Oke, tetapi tidak ada tautan dalam jawaban ini yang benar-benar menjelaskan cara melakukannya dari awal. semua tautan di sini dibuat untuk pengembang, yang sudah menjadi materi lebih banyak lagi - rubo77
@ rubo77 - "cara membuat" terlalu luas untuk dijawab. Itu semua tergantung apa yang Anda coba kemas. Sesungguhnya setiap langkah dalam jawaban di atas dapat berupa jawaban Q individual dengan masing-masing jawaban rinci yang bagus. - fossfreedom♦
Jawaban baru Totti sudah bagus - rubo77


Cara membuat file .deb

Ini adalah tutorial tentang cara membuat file .deb dasar dari skrip sampel yang diberikan. Dalam tutorial ini pertama kita buat a program sampel di bash yang hanya menampilkan 'HELLO FROM PROGRAM'. Lalu kita buat a file kontrol untuk program agar dapat membuat pemasang debian. Akhirnya mereka dikemas menjadi .deb mengajukan.

Tangga:

  1. buat contoh program di bash

    mkdir "$HOME/create_deb/pgmdir"
    gedit "$HOME/create_deb/pgmdir/zenity_hello.sh"
    

    sisipkan kode berikut ke dalamnya

    #!/bin/bash
    echo 'HELLO FROM PROGRAM' | zenity --text-info 
    
  2. Jadikan program dapat dieksekusi

    chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
    
  3. Buat file kontrol untuk paket debian

    Buat file bernama control di dalam folder DEBIAN

    mkdir "$HOME"/create_deb/DEBIAN
    gedit "$HOME"/create_deb/DEBIAN/control
    

    dan tempelkan detail berikut

    Package: hellodeb
    Version: 0.1
    Architecture: all
    Maintainer: totti
    Installed-Size: 6
    Depends: zenity, bash
    Section: testing
    Priority: optional
    Homepage: http://askubuntu.com
    Description: This is my first debian package.
     Guided by Totti Torvalds.
     In Description new line start with a space.
    

    Anda dapat mengedit konten jika Anda suka. Baca lebih lanjut tentang format file ini sini dan sini.

  4. Membuat postinst skrip, yang dijalankan segera setelah instalasi paket

    gedit "$HOME"/create_deb/DEBIAN/postinst
    

    lalu tempelkan

    #!/bin/sh
    set -e
    echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
    

    dan membuatnya bisa dieksekusi

    chmod +x "$HOME/create_deb/DEBIAN/postinst"
    
  5. Membuat prerm skrip, yang dijalankan sebelum penghapusan paket

    #!/bin/sh
    set -e
    echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
    

    dan membuatnya bisa dieksekusi

    chmod +x "$HOME/create_deb/DEBIAN/prerm"
    
  6. Buat struktur paket dan salin program, data, dll.
    Buat struktur program yang Anda instal dan datanya. Dalam contoh ini kami meletakkan file di /bin.

    mkdir -p "$HOME"/create_deb/bin
    cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
    
  7. Bangun .deb mengajukan.

    dpkg-deb --build "$HOME"/create_deb .
    

    Itu . akan otomatis memberi nama .deb file dengan versi, arch dll. Atau nama kustom Anda

    dpkg-deb --build "$HOME"/create_deb "$HOME"/create_deb/hellodeb.deb
    

    Atau jika Anda membangun file .deb dengan

    debuild -k'your GPG key here' -S
    

    maka Anda dapat mengunggahnya ke Ubuntu Launchpad dengan

    dput ppa:<lp-username>/<ppa-name> packet-source.changes
    

    seperti yang dijelaskan sini (sumber: membuat paket .deb dari skrip atau binari)

  8. Instal yang baru dibuat .deb paket. Anda bisa membukanya software-center tetapi mungkin tidak memungkinkan Anda menginstal. Jadi saya sarankan untuk digunakan gdebi manajer paket.

    sudo apt-get install gdebi
    
    gdebi "$HOME"/create_deb/hellodeb.deb
    

    Sekarang Anda dapat menginstalnya. Selama instalasi, Anda akan melihat a dialog gtk 

    Memasang program: zenity_hello.sh ......

  9. Setelah menginstal buka terminal dan ketik zenity_hello. Jika program diinstal dengan benar dan semuanya OK Anda akan melihat dialog gtk 

    HALO DARI PROGRAM

  10. Menghapus paket

    sudo apt-get remove zenity_hello
    

Publikasikan repositori Anda dalam 2 menit

Karena OP menginginkan cara sederhana untuk mempublikasikan paketnya, saya memberikan peretasan yang mudah.

persyaratan: dropbox (atau layanan lainnya, untuk ex. github) akun dengan folder publik.

  1. Buat folder di dalam Public-Dropbox-Folder Anda di mana Anda meletakkan file * .deb Anda:

    mkdir ~/Dropbox/Public/deb-packages  
    

    atau buat folder itu di tempat lain dan letakkan symlink di folder Public Anda:

    mkdir ~/deb-packages
    cd ~/Dropbox/Public
    ln -s ~/deb-packages/ deb-packages
    
  2. Pergilah ke folder itu dan buat skrip yang, ketika dieksekusi, membuat Packages.gz, yang berisi semua informasi yang diperlukan tentang paket deb Anda. membuat:

    gedit import.sh  
    

    taruh ini di dalamnya:

    #!/bin/bash
    dpkg-scanpackages . /dev/null |gzip > Packages.gz
    

    membuatnya bisa dieksekusi:

    chmod  x import.sh
    
  3. Salin beberapa file * .deb ke dalam Folder. Bisa jadi milik Anda sendiri atau sebagian yang tidak tersedia melalui repositori lain. Lalu masuk ke Folder dan jalankan skrip yang kami letakkan di sana:

    cd ~/deb-packages/ 
    ./import.sh
    

    Itu harus menciptakan apa yang disebut Packages.gz File, yang tepat mencari tahu Paket mana yang berada di repositori ini.


Itu dia

Sekarang, tunggu Dropbox untuk menyinkronkan Folder dan ambil URL publik dari Packages.gz. Seharusnya terlihat seperti ini:

http://dl.getdropbox.../Packages.gz

Singkirkan ujung dari tautan itu, tambahkan beberapa kata lagi ke dalamnya dan sekarang Anda dapat menggunakan dan mengisi baris berikut untuk sources.list:

deb http://dl.getdropbox.../deb-packages ./

Itu saja Anda punya repositori deb Anda sendiri berjalan. Selalu disinkronkan secara lokal, tetapi tersedia untuk siapa saja, kapan saja, di mana saja.

CATATAN:  dpkg-scanpackages tersedia dari dpkg-dev
referensi


74
2017-07-09 11:16



+1 Luar Biasa! ini berhasil: Saya menggunakan Github dan ada direktori raw untuk folder releases/ Lihat github.com/rubo77/mouse-speed/blob/master/release/… - rubo77
Ini menggambarkan PPA yang dihosting sendiri, tetapi bagaimana saya bisa Bangun paket debian Ubuntu - rubo77
Jika Anda membangun berkas .deb di langkah 7. dengan debuild -us -uc -k'your GPG key here' maka Anda bisa mengunggahnya dput ppa:<lp-username>/<ppa-name> packet-source.changes ke Launchpad seperti dijelaskan di sini (sumber: membuat paket .deb dari skrip atau binari) - rubo77
@ rubo77, Terima kasih, saya menyambut Anda untuk menambahkan infos ini di akhir jawaban saya. - totti
OK, saya baru saja melakukannya, saya juga menemukan, bahwa Anda memerlukan parameter lain untuk Launchpad agar tidak membuat file .deb saat ini (hanya -S): debuild -k'your GPG key here' -S karena Launchpad akan membuat file deb (jika tidak ditolak) - untuk apa `-us -u` itu? - rubo77


Anda akan membutuhkan akun Launchpad.net untuk membuat PPA. Cukup klik pengguna Anda di Launchpad (klik nama Anda di kiri atas) dan buat AKP. Anda mungkin harus menandatangani Kode Etik dan memiliki kunci GPG yang terdaftar di akun Anda.


2
2017-10-24 16:03