Ruby adalah salah satu bahasa pemrograman yang beberapa tahun belakangan ini sedang naik daun. Seiring dengan berjalannya waktu, semakin banyak aplikasi/tools keren yang dibuat menggunakan bahasa ini.
Sayangnya ketersediaan paket-paket rpm ruby di CentOS atau pun di Fedora masih sangat minim. Untuk itulah komunitas Fedora membuatRuby SIG (Special Interest Group) yang bertujuan untuk meningkatkan dukungan terhadap aplikasi-aplikasi ruby, pustaka pendukungnya serta mengeluarkan standar untuk para pemaket ruby. Salah satu yang dihasilkan oleh SIG ini adalah panduan untuk para pemaket ruby rpm.
Kondisi di CentOS jauh lebih parah, versi ruby yang disertakan jauh tertinggal dari versi terbaru (CentOS 5 dan 6 menyediakan ruby versi 1.8.7). Padahal beberapa aplikasi mensyaratkan hanya bisa dipakai menggunakan ruby versi baru.
Ada 2 aplikasi yang ingin saya paketkan menjadi rpm, yaitu Redmine dan GitLab. Untuk redmine sebenarnya dia tidak butuh ruby versi terbaru, cukup dengan memasang ruby versi 1.8.7 (sudah tersedia di repositori). Hanya beberapa paket rubygem pendukungnya yang belum tersedia. Sementara gitlab mensyaratkan ruby versi 1.9.x.
Sebenarnya, untuk kedua aplikasi itu bisa saja dipasang di CentOS dengan mudah jika kita mengikuti panduan dari masing-masing pengembangnya. Tapi sebagai mantan sysadmin, saya berpendapat kalau masing-masing aplikasi yang akan dipasang di server memiliki standarnya sendiri-sendiri tentu akan merepotkan untuk proses deployment dan perawatannya. FYI, saya punya prinsip untuk tidak memasang tools development (semacam gcc, autoconf, dkk) di server production. Dan prinsip saya yang lain, proses deployment harus semudah mungkin dan harus dapat dijalankan ulang oleh siapa pun di mesin mana pun dengan hasil yang sama. Ini akan berguna kalau kita ingin membuat replika dari suatu sistem, atau ingin melakukan proses otomasi, dan sebagainya dan sebagainya (banyak sekali alasannya)
Ok, kembali ke masalah pemaketan ruby. Untung sudah tersedia paket rubygem-gem2rpm yang sangat membantu untuk proses pembuatan paket-paket rubygem. Setidaknya 90% berkas spec yang dihasilkan bisa langsung dieksekusi, paling cuma perlu melakukan sedikit penyesuaian. Oh iya, kali ini yang ingin saya coba adalah menyediakan paket-paket ruby 1.9.3 di CentOS, jadi saya mengikuti panduan dan konvensi dari Fedora dan membuild ulang semua paket ruby yang sudah ada di repositori untuk CentOS 6. Saya siapkan satu repositori yum khusus untuk ruby 1.9.3 ini (nanti ya saya unggah kalau sudah selesai semua).