Celestia: menyediakan paket Debian Stretch

Dibuat pada 22 Jun 2017  ·  20Komentar  ·  Sumber: CelestiaProject/Celestia

atau bahkan mungkin menyediakan direktori /debian/ dasar.

Konteks: Regangkan (kandang baru), Celestia turun. Itu kerugian besar bagi ekosistem dan pengguna Debian.
(dan, kebetulan, hilangnya sumber kemungkinan kontributor juga)

packaging

Komentar yang paling membantu

Hai,

inilah instruksi langkah demi langkah saya untuk membuat paket celestia untuk Debian 9.

Selamat membangun :-)

Instal dependensi build

apt-get install git build-essential autoconf debhelper freeglut3-dev liblua5.1-dev libgnomeui-dev libgtkglext1-dev libtheora-dev chrpath libjpeg-dev

Ambil sumbernya

git clone https://github.com/CelestiaProject/Celestia.git

Konfigurasikan

cd celestia
autoreconf -iv
./configure --with-gnome --enable-cairo --enable-theora --with-lua --disable-warnings --prefix=/usr

Menyusun

buat -j2

Solusi untuk membuat kesalahan

ekspor MKDIR_P='mkdir -p'

Bangun paket Debian

checkinstall -D --pkgversion 1.6.1 make install-strip

Dapatkan dependensi paket

mkdir debian
sentuh debian/kontrol
dpkg-shlibdeps /usr/bin/celestia
kucing debian/substvars

Ekstrak paket

dpkg-deb -R celestia_1.6.1-1_amd64.deb .

Tambahkan dependensi ke DEBIAN/kontrol (tambahkan baris baru dengan "Tergantung:")

Ubah file entri menu: usr/share/applications/celestia.desktop

[Entri Desktop]
Pengkodean = UTF-8
Versi=1.6.1
Jenis=Aplikasi
Exec=celestia -c /usr/share/celestia/celestia.cfg
Ikon=celestia
X-GNOME-DocPath=
Terminal=salah
Nama = Celestia
Komentar=Simulator Luar Angkasa
StartupNotify=benar
Kategori=Astronomi;Ilmu Pengetahuan;Aplikasi;Pendidikan;

Bangun paket yang diubah

dpkg-deb --build . ../celestia_1.6.1-1_amd64.deb

Semua 20 komentar

@drzraf Alexell tidak bekerja dengan Linux dan sama sekali tidak terbiasa dengan hal di atas. Sekarang kami tidak memiliki orang yang mengerti kode Celestia untuk Linux.
Tolong jelaskan, apa sebenarnya yang harus kita lakukan untuk menyelesaikan masalah? Siapa yang bisa melakukan ini?

[ ] seseorang yang menggunakan Debian yang sudah melakukan paket Debian (atau ingin mempelajarinya)
[ ] instal lingkungan build Linux yang diperlukan untuk Celestia
Yang paling standar adalah build-tools yang dibutuhkan (autotools, cmake, ..) yang lebih baik/sederhana
[ ] buat, jalankan, dan uji Celestia di Debian

Dari sini dapat membuat file yang diperlukan Debian (mungkin memodifikasi versi lama) yang menetapkan beberapa karakteristik program.
[ ] dependensi yang perlu dibangun [perangkat lunak/versi]
[ ] dependensi yang diperlukan untuk dijalankan [perangkat lunak/versi]

Jika karena alasan tertentu macet, bug, ... beberapa tambalan khusus diperlukan
dan ini seringkali merupakan pekerjaan yang paling menyakitkan bagi pengelola Debian.
Memiliki sebagian besar perbaikan dengan cepat di dalam kode upstream sangat membantu di sini.

Dalam kasus terbaik Debian/Linux tidak memerlukan patch tambahan baik untuk membangun maupun menjalankan. Kemudian pengemasan hanya berjarak beberapa file dasar (https://wiki.debian.org/Packaging) dan kemudian dapat diunduh/diinstal dengan mudah.

Mendistribusikan paket (lagi) di repositori Debian 9 sedikit lebih dari "pekerjaan sosial", tetapi saya pikir pembangunan/stabilitas perangkat lunak di Linux adalah satu-satunya show-stopper yang mungkin.

Omong -omong, arah lain/Alternatif:

@drzraf Anda fasih dalam apa yang Anda tulis. Mungkin Anda bisa melakukan semuanya sendiri? Kami akan sangat berterima kasih atas bantuannya.

Saya mencoba menginstal Celestia di Stretch dan saya memiliki masalah dengan glu.h, libjpg, libpng dan versi lua yang diminta terlalu lama, bahkan setelah berhasil mengkonfigurasi make gagal
semoga bermanfaat

ok, saya dan terutama anak-anak saya kehilangan celestia untuk beberapa waktu sekarang. Upaya pertama saya juga hanya membangun dari kode untuk 1.6.1 dari halaman projetc celestia (betapa sulitnya itu ...). Beberapa perbaikan kode kemudian kesalahan tautan menghentikan saya. Hari ini saya menjalankannya untuk pertama kalinya setelah beberapa tahun di Ububtu 17.10.

Apa selanjutnya? Apakah ada cara untuk memberikan perubahan saya dan mengembalikan celestia beberapa waktu?

Satu pertanyaan karena saya jelas bukan ahli automake ... Saya perlu mengatasi satu aspek pada baris perintah:

-ldl -llua5.1 ../celengine/libcelengine.a -ldl ../celtxf/libceltxf.a

masalahnya adalah bahwa semua perpustakaan celestia berada dalam variabel automake $(all_libraries) dan untuk beberapa alasan -ldl harus tepat di belakang libcelengine.a.... yang pertama -ldl tidak membantu. Bisakah saya meletakkan tanda tautan untuk perpustakaan tertentu seperti libcelengine.a?

senang membantu mendapatkannya kembali - anak-anak saya akan senang memiliki celestia benar-benar cara yang bagus dan menarik untuk melihat alam semesta kita :).

Hebat @TheBigW.
Apakah menurut Anda -ldl kompilasi tweak adalah yang ini di paket Celestia Debian sebelumnya ?
Lihat https://sources.debian.net/src/celestia/1.6.1%2Bdfsg-3.1/debian/patches/ (OP) untuk daftar tambalan yang diperlukan untuk membangun Celestia di rilis Debian sebelumnya.

Saya mendapat kesan bahwa mulai dari direktori debian/ dari paket 1.6.1 bisa menjadi arah yang benar. Kemudian, dengan menggunakan dpkg-buildpackage , Anda seharusnya dapat membuat paket Debian.

Apa yang mungkin harus diadaptasi dari direktori debian/ saat ini mungkin adalah:

  • versi dependensi build/runtime di file control (gunakan versi Stretch Debian)
  • tambalan/ yang ada file seri yang menentukan mana yang berlaku dalam urutan mana, dan mana yang tidak
  • mungkin changelog
    (beberapa mungkin telah diintegrasikan ke dalam git Celestia, beberapa lainnya mungkin tidak, tetapi sebagian besar dari mereka mungkin harus)

Saya senang bisa dpkg-buildpackage sendiri (saya menggunakan Debian Stretch) dengan perubahan yang akan Anda tambahkan ke direktori debian/. Kemudian saya bisa menguji stabilitas paket yang dihasilkan.
(pada titik tertentu, Anda dapat membuka bug ITP ( Intend to Package ) pada pelacak bug Debian dan berharap paket yang stabil dapat kembali ke repositori dan menyenangkan banyak pengguna Debian.

Hi drzraf,
-ldl yang disebutkan di atas akan berfungsi tetapi sejauh yang saya lihat hanya memperbaikinya di file konfigurasi. Jika saya tidak salah ./configure berikutnya akan menimpanya - tetapi untuk membangun paket ini akan berfungsi (masih lebih baik daripada penautan manual pada baris perintah :)).
Satu pertanyaan: Saya menggunakan paket src Ubuntu yang saya temukan sebagai Zip untuk diunduh. Ini bekerja untuk saya tetapi tentu saja melewatkan semua spesifik Debian (changelog dll ...). Tahukah Anda bagaimana saya bisa menjalankan paket debian celestia src sebelumnya di linux yang berbeda (saya di Ubuntu 17.10). Saya tahu bahwa kasus terburuk saya bisa mendapatkan Jessie di VM dan melakukan "sumber apt-get", tetapi cara yang lebih mudah lebih disukai.

ok, saya menemukan paket sumber di sini (pada dasarnya sama dengan yang saya dapatkan di halaman paket ubuntu):
http://http.debian.net/debian/pool/main/c/celestia/celestia_1.6.1+dfsg.orig.tar.gz
masalahnya adalah bahwa untuk mempertahankan riwayat, changelog dll. Saya mungkin membutuhkan subfolder debian lengkap dari tautan sumber Anda. Jika boleh membangun dari awal paket sumber di atas, saya dapat melanjutkan tetapi riwayat deb/paket sebelumnya akan hilang bahkan jika saya menyalin setidaknya log perubahan. Apakah masih layak untuk dilanjutkan?

dan untuk menjawab (mungkin) lebih spesifik ke intinya:

Ayo ping mantan pengelola @gsliepen / uploader @kees

... dan mengutip masalah asli yang mengarah ke paket yatim piatu 2 tahun yang lalu:

Upstream belum menghasilkan rilis baru dalam 4 tahun terakhir.
Sementara itu, paket tersebut mengumpulkan bug karena bitrot. Sudah
bukan paket bebas masalah, karena beberapa sumber daya yang cukup penting tidak
sesuai dengan DFSG.

Untuk mengembalikan Celestia ke Debian, Anda harus mengatasi alasan saya harus menghapusnya:

  • Buat rilis yang tepat.
  • Jika Anda ingin memiliki Celestia di arsip utama Debian, pastikan ia datang dengan file data yang kompatibel dengan DFSG.
  • Pastikan itu berjalan dengan benar pada perangkat keras kontemporer yang menjalankan Linux. Uji dengan kartu AMD, Intel, dan Nvidia yang cukup baru.
  • Pastikan itu dikompilasi tanpa peringatan (tidak hanya kode, tetapi juga autoconf dan automake harus berjalan tanpa peringatan), dan bekerja dengan baik dengan perpustakaan yang ada di Debian.
  • Pastikan ada pengelola khusus untuk paket Debian (yang bukan saya).

Last but not least, Celestia benar-benar membutuhkan perbaikan yang serius. Pindah ke C++11, gunakan pustaka standar dan Boost di tempat yang sesuai, ubah mesin rendering agar memerlukan OpenGL ES 2.0 dan hapus dukungan untuk apa pun yang lebih lama dari itu. Jangan mencoba untuk mendukung 5 frontend yang berbeda di Linux (dan itu bahkan tidak termasuk Windows dan Mac), tetapi pilih sesuatu yang benar-benar lintas platform dan tetap menggunakannya. Jika Anda dapat melakukannya tanpa toolkit widget lengkap, saya akan menggunakan SDL2, jika tidak, saya akan merekomendasikan Qt5. Jika Anda tidak berkomitmen untuk ini, saya khawatir saya tidak melihat masa depan yang cerah untuk Celestia.

tepat ketika saya selesai membuat paket deb unsigned pertama untuk pengujian :). Pada dasarnya akan baik-baik saja bagi saya (dan mungkin orang lain) jika ada cara untuk menginstalnya/berjalan di debian/Ubuntu lagi. Ini tidak berarti memilikinya sebagai bagian dari arsip utama debian.
Masalah saat ini adalah tidak ada cara selain paket (baik paket deb lama maupun paket langsung dari situs celestia) bahkan melewati kompilasi ...

Saya dapat menangani aspek kode selama itu berarti pembersihan (bebas peringatan, C++ 11 dll.) - apa pun yang lebih jauh adalah tugas yang cukup besar. Do-over terdengar menarik ... mungkin sesuatu untuk dipikirkan ...

Oke, sepertinya tim celestia telah mendengar kami dan mengembangkan versi QT5 baru untuk windows sekarang :) :

https://github.com/CelestiaProject/Celestia

Saya mendapatkannya dikompilasi untuk Ubuntu sekarang dan berfungsi di luar kotak. Saya akan berdiskusi dengan mereka bagaimana mengembalikan perubahan saya kepada mereka dan saya juga akan melihat bagaimana menyelesaikan paket biner .deb.

Apakah ini sesuatu yang harus dipertimbangkan lagi atau saya lebih baik fokus untuk membuat dukungan linux bekerja untuk mereka dan membuatnya hanya di-host di pihak mereka?

Hai,

inilah instruksi langkah demi langkah saya untuk membuat paket celestia untuk Debian 9.

Selamat membangun :-)

Instal dependensi build

apt-get install git build-essential autoconf debhelper freeglut3-dev liblua5.1-dev libgnomeui-dev libgtkglext1-dev libtheora-dev chrpath libjpeg-dev

Ambil sumbernya

git clone https://github.com/CelestiaProject/Celestia.git

Konfigurasikan

cd celestia
autoreconf -iv
./configure --with-gnome --enable-cairo --enable-theora --with-lua --disable-warnings --prefix=/usr

Menyusun

buat -j2

Solusi untuk membuat kesalahan

ekspor MKDIR_P='mkdir -p'

Bangun paket Debian

checkinstall -D --pkgversion 1.6.1 make install-strip

Dapatkan dependensi paket

mkdir debian
sentuh debian/kontrol
dpkg-shlibdeps /usr/bin/celestia
kucing debian/substvars

Ekstrak paket

dpkg-deb -R celestia_1.6.1-1_amd64.deb .

Tambahkan dependensi ke DEBIAN/kontrol (tambahkan baris baru dengan "Tergantung:")

Ubah file entri menu: usr/share/applications/celestia.desktop

[Entri Desktop]
Pengkodean = UTF-8
Versi=1.6.1
Jenis=Aplikasi
Exec=celestia -c /usr/share/celestia/celestia.cfg
Ikon=celestia
X-GNOME-DocPath=
Terminal=salah
Nama = Celestia
Komentar=Simulator Luar Angkasa
StartupNotify=benar
Kategori=Astronomi;Ilmu Pengetahuan;Aplikasi;Pendidikan;

Bangun paket yang diubah

dpkg-deb --build . ../celestia_1.6.1-1_amd64.deb

Pada Senin, 04 Desember 2017 pukul 06:26:59 +0000, m23project menulis:

inilah instruksi langkah demi langkah saya untuk membuat paket celestia untuk Debian 9.

Ini BUKAN bagaimana paket Debian yang tepat harus dibangun. Ini tidak akan pernah
diterima di Debian, dan saya pikir Anda merugikan orang lain dengan
menyajikan instruksi ini.

Silakan lihat https://wiki.debian.org/Packaging/Intro dan/atau tautannya
diposting oleh @dzraf.

--
Bertemu vriendelijke groet / dengan hormat,
Guus Sliepen [email protected]

Hai,

bukan maksud saya untuk membangun sebuah paket yang berharga untuk dimasukkan ke Debian.
Ini hanya langkah demi langkah untuk orang yang ingin membuat paket sendiri.

Cu Hauke

Hai! Saat ini saya sedang mengerjakan sebuah paket untuk distro HuayraLinux berbasis debian/ yang membuatnya kembali) saya akan memperbarui ini.

Saya telah melihat bahwa versi celestia sebelumnya dipecah menjadi beberapa paket di debian (kebanyakan untuk alasan hukum). Adakah yang bisa memberi saya dukungan tentang apa yang terjadi? Saya tidak memiliki pengalaman dalam masalah hukum tetapi jika saya dapat membuat paket yang dapat digunakan, saya pikir itu akan sangat berguna untuk redistribusi Celestia.

PS: Teruslah berkarya! Celestia adalah perangkat lunak yang luar biasa!

EDIT: Saya memiliki paket kerja cepat & kotor yang menggunakan WorkInProgress

Saya akan sangat menghargai jika kalian memberikan gambar snap atau flatpack.

kami menyediakan *.deb dan *.appimage melalui https://build.opensuse.org/package/show/home :munix9:unstable/celestia

Hai,

Saya dari tim Debian Astro .

Karena file Debian sudah terlihat cukup bagus: apakah Anda akan mempertimbangkan untuk memelihara paket secara langsung di dalam Debian? Ini akan memungkinkan orang untuk menginstal Celestia tanpa upaya tambahan dengan cara standar.

Salam

Ole

Hai Ole,

Itu sebenarnya adalah rencana saya tetapi ketika 1.7 dirilis. Untuk versi 1.6.2 yang akan datang, kami masih memiliki masalah lama dengan lisensi untuk beberapa tekstur. Dan untuk sistem mirip Unix 1.6.x menyediakan antarmuka glut dan gtk2 saja dan saya khawatir Debian akan menjatuhkannya (gtk2) cepat atau lambat.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat