RPM Oluşturmak | ||
---|---|---|
Tarball'dan RPM - gerbv | Mandrake İçin RPM Oluşturmak | Diğer Yöntemler |
RPM Oluşturmak - 050112
Tanju Taşçılar - tanju@elektronist.com
Registered Linux User #283274
Tarball'dan RPM - muhasebeci
RPM oluşturmak için ele alacağımız sıradaki program bizden biri, muhasebeci. Hızla gelişimini sürdüren muhasebeci programı ülkemizde Linux kullanımının yaygınlaşmasında büyük öneme sahip. Muhasebeci geliştirme ekibine başarılar dileriz. Bu programdan RPM oluşturma sırasında karşılaşacağımız sorunlar ve eksiklikler programın gelişmesinin tamamlanmamış olmasından kaynaklanıyor.
Kullanacağımız paket muhasebeci-0.5-YTL.tar.gz. Bu paketi açıyoruz. Açtığımız tar.gz dosyasına kaynaktan kurulum işlemini uygulamaya başladığımızda automake ile ilgili dosyaların link'ler olarak kaldığını görüyoruz. (sonu @ olan dosyalar)
[tanju@gezgin muhasebeci-0.5-YTL]$ ls ABOUT-NLS* config.status* Makefile news* acconfig.h* config.sub* Makefile.am* NEWS acinclude.m4* configure* Makefile.in pixmaps/ aclocal.m4* configure.in* missing@ po/ authors* COPYING@ mkinstalldirs* readme* AUTHORS data/ muhasebeci.desktop README autogen.sh* depcomp@ muhasebeci.desktop.in* setup-gettext* autom4te.cache/ INSTALL@ muhasebeci.glade SQLChangeLog cachegrind.cmd* install* muhasebeci.gladep src/ ChangeLog* install-sh@ muhasebeci.prj stamp-h1 compile@ intl/ muhasebeci.pws* stamp-h.in* config.guess* libtool* muhasebeci.rapor todo* config.h ltmain.sh muhasebeci.spec* TODO config.h.in m4/ muhasebeci.spec.in* config.log macros/ muhasebeci.sql* |
Bu durumda eğer sisteminizde ilgili sürüm yoksa ./configure adımını bile geçemezsiniz. RPM oluşturacağımız sistemde olan automake-1.8 sürümünün dosyalarını bu linklerin üzerine kopyalayarak sabit hale gelmelerini sağlıyoruz. Bunun dışında bir gariplik daha var ama bu bizim işimizi engellemiyor. Paketi açtığımız yerde muhasebeci-0.5-YTL dizini oluşuyor ama ayrıca bir de mkinstalldirs dosyası da açılan paketten çıkıyor.
[tanju@gezgin muhasebeci]$ ls mkinstalldirs* muhasebeci-0.5-YTL/ muhasebeci-0.5-YTL.tar.gz |
Ayrıca authors, install, news, readme, todo adlı dosyalar hem büyük hem de küçük harfler ile bulunuyor. Bunların küçük harfle olanlarını siliyoruz.
Açtığımız dizinin ismini karşılaştırma için muhasebeci-0.5.5 olarak değiştirip kullanacağız. İkon olarak muhasebeci-0.5.5/pixmaps/muhasebeci-icon.png dosyasını kullanarak gerbv örneğinde olduğu gibi muhasebeci-icons.tar.bz2 dosyasını oluşturup SOURCES alanına kopyalıyoruz. mkinstalldirs dosyasının garip yerinden dolayı muhasebeci-0.5.5 dizini ve mkinstalldirs dosyalarından muhasebeci-0.5.5.tar.bz2 paketini oluşturuyoruz ve bunu da SOURCES alanına kopyalıyoruz.
Aslında paket içinde bir muhasebeci.spec dosyası bulunuyor. Ancak bunu incelediğimizde Mandrake Linux gereklerini yerine getirmediğini görebiliriz. Linkler yerine dosyaları koyduktan sonra bu spec dosyasını kullanarak Mandrake Linux için de RPM oluşturabilirsiniz. Ancak bu Mandrake Linux RPM'leri ile uyumlu olmayacaktır. Mandrake Linux için hiçbir önemi olmayan dosyaları oluşturduğu halde gerekli olan menü dosyalarını ve ikonları oluşturmayacaktır. Bu nedenle kendi spec dosyamızı oluşturacağız.
%define name muhasebeci %define version 0.5.5 %define release YTLmdk # Macros for in the menu-file. %define section More applications/Finances %define title Muhasebeci %define Summary Open Source Financial Application Summary: %Summary Name: %name Version: %version Release: %release License: GPL Group: Office URL: http://muhasebeci.sf.net Packager: Tanju TASCILAR <tanju@elektronist.com> # Please add comment with the right url/downloadpage. Source0: %name-%version.tar.bz2 Source1: %name-icons.tar.bz2 BuildRoot: %_tmppath/%name-buildroot # Buildrequires: # Requires: %description Muhasebeci uygulaması, Linux altında GPL olarak yazılan bir muhasebe programıdır. Uygulama MySQL veritabanini kullanir %prep %setup -q %setup -q -T -D -a1 # unpack icons %build %configure %make %install rm -rf %buildroot %makeinstall # Menu mkdir -p %buildroot/%_menudir cat > %buildroot/%_menudir/%name << EOF ?package(%name): \ command="%_bindir/%name" \ needs="X11" \ icon="%name.png" \ section="%section" \ title="%title" \ longtitle="%Summary" EOF # icon %__install -D -m 644 %{name}-48.png %buildroot/%_liconsdir/%name.png %__install -D -m 644 %{name}-32.png %buildroot/%_iconsdir/%name.png %__install -D -m 644 %{name}-16.png %buildroot/%_miconsdir/%name.png # Macro for locales %find_lang %name %post %update_menus %postun %clean_menus %clean rm -rf %buildroot %files -f %name.lang %defattr(0755, root, root, 0755) %_bindir/* %defattr(0644, root, root, 0755) %doc COPYING README INSTALL AUTHORS %_menudir/* %_miconsdir/* %_iconsdir/* %_liconsdir/* %changelog |
RPM oluşturmaya çalıştığımızda aşağıdaki hataları elde ediyoruz.
RP |