GNU/Linux >> Belajar Linux >  >> Debian

Pengembangan C di Linux – Mendapatkan paket di repositori resmi Debian – XII.

Pengantar

Ini adalah angsuran terakhir dari seri pengembangan C kami, dan bisa dibilang yang paling non-teknis. Jika Anda mengikuti kami dari awal dan berlatih sebanyak mungkin, Anda sekarang memiliki pengetahuan dasar tentang pengembangan C dan cara mengemas aplikasi (favorit) Anda untuk dua keluarga distribusi Linux yang paling banyak digunakan, Debian dan Redhat. Artikel ini berisi tentang komunitas, cara berkontribusi, cara berkolaborasi, dan terakhir, cara memasukkan paket Anda ke arsip resmi Debian. Jika Anda membaca artikel sebelumnya dalam seri ini, Anda tidak memerlukan pengetahuan teknis lainnya; yang Anda butuhkan hanyalah kemauan untuk menerapkan pengetahuan Anda demi kepentingan komunitas.

Memulai

Anda memiliki aplikasi, Anda mengemasnya dan sekarang Anda ingin mengunggahnya ke arsip Debian (omong-omong, banyak ide yang disajikan di sini berlaku untuk banyak proyek Open Source:yang biasanya berbeda adalah cara melakukan sesuatu). Kami akan mengatakan tidak begitu cepat. Luangkan waktu sejenak untuk bernapas dan temukan cara untuk membuat diri Anda dikenal masyarakat. Luangkan waktu untuk membaca Panduan Pengelola Baru Debian, jika Anda belum melakukannya, dan ingat kata kuncinya di sini:komunitas. Setiap orang adalah sukarelawan, dan kami memilih Debian terutama karena pandangannya yang demokratis, dan tidak ada yang dibayar atau dipaksa dengan cara apa pun untuk melakukan penawaran Anda. Bagaimanapun, karena kami tahu betapa Anda suka membaca panduan dan manual, bagian dari artikel ini akan berisi beberapa saran yang masuk akal mengenai kolaborasi. Pertama, biasakan untuk bertahan sendiri. Tidak ada yang menyukai seseorang yang, ketika dia menemukan tanda pertama masalah, alih-alih pergi ke teman Internet terbaiknya, $SEARCH_ENGINE, mulai mencemari forum, milis, dan saluran IRC dengan pertanyaan kekanak-kanakan seperti “Bendera gcc apa yang saya butuhkan untuk mengkompilasi kode saya untuk i686?”. Satu-satunya hal yang akan Anda dapatkan adalah RTFM yang kurang ramah dan banyak poin geek yang hilang. Ya, kita tahu bahwa manual gcc itu besar dan pasti cocok untuk sakit kepala, tetapi membaca manual, kemudian mencari di internet terlebih dahulu adalah Cara yang Benar (TM). Tidak ada pengecualian. Anda akan membuat kesan pertama yang baik ketika Anda menunjukkan kepada pengembang lain bahwa Anda membuat pekerjaan rumah Anda. Di sisi lain, memberikan kesulitan bagi pemula, terutama ketika perilaku seperti itu tidak diminta, tidak akan membuat Anda populer. Ingatlah bahwa Anda pernah seperti mereka, ingatlah bahwa Anda, seperti kita semua, masih harus banyak belajar, dan mungkin mengarahkan orang tersebut ke sumber yang menurut Anda berguna. Dalam konteks ini, ingat kembali kata itu:komunitas. Pekerjaan Anda tidak berarti banyak, terlepas dari kenyataan bahwa itu berarti dunia bagi Anda, kecuali jika komunitas menganggapnya berguna. Berkolaborasilah dengan mereka dan bersiaplah untuk menerima umpan balik, dan bersyukurlah untuk itu, meskipun Anda mungkin tidak menyukai apa yang Anda dengar. Tinggalkan kebanggaan Anda di depan pintu dan ingat bahwa cara terbaik dan mungkin satu-satunya untuk membuat perangkat lunak Anda lebih baik adalah umpan balik komunitas. Tapi jangan jatuh ke dalam ekstrem, dan cobalah untuk tidak memihak. Mungkin beberapa orang akan mencoba merendahkan Anda hanya untuk bersenang-senang:abaikan mereka dan berkonsentrasilah pada kritik yang membangun.

Alat perdagangan

Alat pertama yang Anda perlukan sebagai pengembang Debian, atau distro/proyek lain dalam hal ini, adalah kesabaran. Tidak masalah apakah itu perangkat lunak Anda sendiri yang Anda kemas, atau milik orang lain, seperti yang kami lakukan sebelumnya. Seseorang tidak menjadi pengembang dalam semalam, terutama dalam proyek berorientasi kualitas seperti Debian. Sekarang, untuk masuk ke sisi praktis, alat pertama dan paling jelas yang Anda butuhkan adalah kompiler untuk bahasa program Anda ditulis. Atau, jika program ditulis dalam beberapa bahasa yang ditafsirkan, pastikan penerjemah (Perl, Python, Ruby…) ada sebagai ketergantungan. Namun, kami akan berkonsentrasi pada sisi C, karena ini bagaimanapun juga adalah seri artikel pengembangan C, dan akan memberi Anda daftar utilitas yang tidak lengkap yang sebaiknya Anda instal di mesin pengembangan Anda:

auto* tools (autoconf, automake, ...)
debhelper and dh-make -- Debian-specific
devscripts, fakeroot -- same, see the Guide for details
a VCS of your choice, depending on the situation at hand -- we prefer to take no sides here
gnupg -- for digitally signing your packages, mandatory in Debian
lintian -- the name is a combination of lint and Debian, so it's self-explanatory
patch - you should know by know why you'd need it
pbuilder -- for creating a chroot

Jika Anda berhati-hati, Anda akan memperhatikan bahwa kami menghilangkan utilitas penting dalam daftar itu. Bisakah kamu menemukannya?

Dokumentasi

Debian merekomendasikan dua dokumen. Sebenarnya, tidak. Debian merekomendasikan kedua dokumen tersebut, tetapi menurut kami penting bagi Anda untuk membacanya lebih dari sekali dan membuatnya selalu berguna setiap saat. Itu adalah Kebijakan Debian dan Referensi Pengembang, keduanya tersedia melalui Web dan sebagai paket. Standar Pengkodean GNU juga harus tersedia saat Anda membutuhkannya, terutama saat/jika Anda menulis aplikasi sendiri.

Upstream

Karena kami berfokus pada yest sebagai contoh utama untuk seri ini, mudah untuk mengetahui bahwa kami hanya pembuat paket, bukan pengembang utama, jadi kami harus tetap berhubungan dengan upstream. Aturan komunikasi yang diuraikan di atas berlaku, tentu saja, dan kolaborasi erat dengan upstream menghasilkan paket yang sehat yang segera diperbarui segera setelah penulis mengunggah versi baru. Meskipun penulis tersebut mungkin menguji perangkat lunak sebelum merilisnya ke alam liar, jika Anda melakukan beberapa pengujian unit untuk diri sendiri sebelum mengunggah paket, lebih baik lagi. Lihat alat seperti DejaGNU untuk ini dan laporkan masalah apa pun yang ditemukan ke hulu. Berbicara tentang pelaporan, Anda harus memahami tanggung jawab yang Anda tanggung saat menjadi pengelola. SEMUA laporan bug dari pengguna Debian akan datang kepada Anda, dan Anda berkewajiban untuk bertindak sebagai katalisator antara pengguna dan upstream untuk memperbaiki semua masalah.

Mentor

Banyak dari Anda, terutama yang lebih tua seperti saya, telah melihat seri Karate Kid. Jika ada, film itu menunjukkan hubungan antara master dan magang (OK, Anda dapat menggunakan Star Wars sebagai contoh juga…). Jika Anda berpikir bahwa Anda meminta untuk menjadi pengembang dan keinginan Anda dikabulkan dalam hitungan menit, Anda lupa tentang kesabaran. Tidak, Anda perlu meminta pendampingan terlebih dahulu, menunjukkan prestasi Anda, motivasi Anda dan sebagainya. Setelah beberapa saat, setelah Anda terbukti layak, Anda akan mengajukan aplikasi untuk menjadi pengelola, dengan mentor yang menjamin Anda.

Mengunggah

Anda hampir sampai, yang harus Anda lakukan adalah melakukan unggahan dengan benar. Jika Anda sudah sejauh ini, Anda sudah bisa menepuk punggung Anda sendiri. Sekarang, aplikasi yang Anda butuhkan bernama dupload(1), dan Anda harus membuat file bernama dupload.conf(5) di direktori home Anda dan mulai memodifikasi pengaturan. Anda dapat, jika halaman manual file tampak menakutkan, ambil /etc/dupload.conf sebagai contoh. Setelah menyimpan ~/dupload.conf , Anda dapat melakukan sesuatu seperti ini:

 $ dupload yest-2.7.0.5_i386.changes

Nah, sebagai latihan bagi pembaca untuk mencari tahu apa lagi yang harus dilakukan saat mengunggah paket untuk pertama kalinya. Juga, bab 9 dari Panduan Pengelola Baru Debian harus dibaca dan dibaca lagi dan kemudian beberapa lagi. Itu saja!

Semua artikel dalam seri ini:

  • Aku. Pengembangan C di Linux – Pendahuluan
  • II. Perbandingan antara C dan bahasa pemrograman lainnya
  • III. Jenis, operator, variabel
  • IV. Kontrol aliran
  • V. Fungsi
  • VI. Pointer dan array
  • VII. Struktur
  • VIII. I/O Dasar
  • IX. Gaya dan rekomendasi pengkodean
  • X. Membuat program
  • XI. Pengemasan untuk Debian dan Fedora
  • XII. Mendapatkan paket di repositori resmi Debian

Debian
  1. Membangun kernel Linux dengan cara Debian

  2. Cara membuat daftar semua file yang diinstal oleh paket DEB di Ubuntu/Debian Linux

  3. bash:netstat:perintah tidak ditemukan – Debian/Ubuntu Linux

  1. Memulai Jekyll di Debian 9 Stretch Linux

  2. Bagaimana menginstal Java SE Development Kit di Debian Linux

  3. Menyiapkan lingkungan pengembangan python virtualenv di Debian Linux

  1. Cara menginstal Oracle Java SE Development Kit di Debian 9 Stretch Linux

  2. Cara Menginstal Versi Mesa Terbaru Di Debian 9 Stretch Linux

  3. Cara menginstal driver NVIDIA terbaru di Debian 9 Stretch Linux