Saya ingin mencoba membuat PPA saya sendiri. Proyek yang saya miliki adalah proyek java yang dibangun dengan pakar. Inilah yang telah saya lakukan sejauh ini:
- Membuat PPA.
- Siapkan proyek baru di Launchpad.
- Menambahkan cabang yang mengimpor proyek saya dari repositori SVN.
- Buat resep untuk cabang itu yang menerbitkan build ke PPA saya.
Di sinilah aku terjebak.
Saya sudah membaca banyak tutorial dan banyak menggunakan Google; tetapi, saya tidak dapat menemukan cara membangun proyek saya.
Saya bisa mulai membangun untuk cabang; tetapi, seperti yang saya harapkan, itu gagal. Saya kira saya harus memasukkan beberapa informasi meta seperti makefile ke dalam repositori. Apakah mungkin untuk membangun dan mengemas proyek Maven di Launchpad? Saya juga mencoba membangun file deb secara lokal menggunakan bzr dh-make
dan debuild
. bzr dh-make
membuat banyak file di ./debian
folder tetapi debuild
gagal. Saya kira itu akan berhasil jika saya menentukan informasi meta yang tepat dalam proyek saya sehingga masalah yang sama seperti di Launchpad.
Saya tahu ini adalah pertanyaan yang cukup umum tapi saya pikir ada kekurangan tutorial yang tepat untuk mengemas .deb
file bahkan jika Anda tidak memiliki kasus "eksotis" seperti saya.
Singkatnya:
File / informasi apa yang harus saya berikan dalam proyek saya sehingga dapat dibangun dan dikemas dengan benar?
Bantuan apa pun akan bagus :-)
Jawaban:
Lihat di proyek bookjar saya: http://code.google.com/p/bookjar/source/browse/
secara khusus direktori debian (terutama file debian / package.sh) dan file build.xml (ant). Dalam file itu ada target baru 'unggah' yang mengunggah artefak yang dapat dibangun ke launchb buildpad.
Saya menggunakan ivy dan infrastruktur semut netbeans sehingga kemungkinan akan sedikit berbeda untuk Anda. Namun, satu hal yang pasti: Anda tidak dapat menggunakan ivy atau maven dari remote buildserver. Anda perlu mengunggah semua perpustakaan yang Anda gunakan, baik dalam bentuk kode atau botol. ivy: retrive mengunduh file ke current_dir / lib sehingga proyek saya di netbeans diatur untuk mencari pustaka di sana (nblibraries.properties adalah bagian dari infrastruktur netbeans untuk itu). Baca build.xml untuk detail (pada dasarnya file debian / rules memanggil target semut khusus untuk dibuat di server yang tidak mencoba untuk menyinkronkan file jar - karena mereka sudah disalin di sana).
Saya juga mengambil keuntungan dalam paket saya. Sh dari proyek saya berada di luring untuk membangun file changelog dari log hg, jadi ada masalah lain untuk dipecahkan jika Anda ingin tingkat otomatisme yang sama dan tidak menggunakan hg (dalam faktanya, saya pikir changelog saya membengkokkan aturan changelog debian dengan membuat setiap perubahan menjadi rilis 'minor').
sumber