Gnocky este o aplicatie grafica libera integrata bine in GNOME, cu care poti trimite SMS de pe calculator. In spate, Gnocky foloseste biblioteca libera gnokii
.
Pe Fedora poti testa ultima versiune de Gnocky, de acum 2 ani (decembrie 2008), doar compiland sursele, ceea ce nu este prea comod. Pentru Debian/Ubuntu, exista deja un pachet deb, asa ca m-am gandit sa-l impachetez si pentru Fedora.
Cartea de bucate RPM este, fara indoiala, pagina wiki de pe FedoraProject.org, How to create an RPM package. Iti recomand sa o citesti pe diagonala si sa revii la ea ori de cate ori te afli in incurcatura. Eu in continuare iti ofer minimul de informatii ca sa faci un pachet, daca esti in graba. Si folosesc ca exemplu impachetarea lui Gnocky.
./configure
ti le va spune) si daca merge. Noteaza aceste dependente undeva, preferabil pe o pagina wiki dedicata, ca sa stie si alti voinici. :-P
$ wget http://www.gnokii.org/download/gnocky/gnocky-0.0.7.tar.gz $ tar xzvf gnocky-0.0.7.tar.gz $ cd gnocky-0.0.7 $ ./configure # ce zice el ca nu ai instalat, instalezi cu yum $ sudo yum groupinstall "Development Tools" $ sudo yum install gtk2-devel glib2-devel libglade2-devel gnokii-devel gettext-devel $ make $ ./src/gnocky
$ sudo useradd makerpm
$ sudo su makerpm $ rpmdev-setuptree
gnocky.spec
(in cazul lui Gnocky). Emacs si vim iti vor insera automat un sablon.
$ cd ~/rpmbuild/SPECS $ emacs gnocky.spec
Name: gnocky
gnocky-0.0.7
), dar o poti gasi si in directorul radacina, intr-un fisier README
.
Version: 0.0.7
Release: 1%{?dist}
Summary: GLib2/GTK+2 front-end for Gnokii using Glade
Group: Applications/Communications
Daca programul tau e in ceata, fii tu primul care-l incadreaza! In cartea de bucate scrie ca poti afla toate grupurile standard cu:
$ less /usr/share/doc/rpm-*/GROUPS
COPYING
), legaturile la proiect si la arhiva cu sursele.
License: GPLv2 URL: http://wiki.gnokii.org/index.php/Gnocky Source0: http://www.gnokii.org/download/gnocky/gnocky-0.0.7.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gnokii-devel, libglade2-devel, gtk2-devel, glib2-devel, gettext-devel
-devel
din coada si completeaza campul dependentelor pentru rularea programului deja compilat - utilizatorii pachetului nu vor avea nevoie de antetele pentru dezvoltare:
Requires: gnokii, libglade2, gtk2, glib2, gettext
%description Set logos, send SMS and manage address book for your mobile phone.
%prep
si %build
) raman neatinse:
%prep %setup -q -n %{name}-%{version} %build %configure make %{?_smp_mflags}
%find_lang
daca programul este internationalizat.
%install rm -rf %{buildroot} make install DESTDIR=%{buildroot} %find_lang %{name}
%clean rm -rf %{buildroot}
%files -f %{name}.lang
Insira-i fisierele de documentatie (cele cu litere mari).
%doc README TODO COPYING ChangeLog INSTALL AUTHORS BUGS ABOUT-NLS
Lasa neschimbate:
%defattr(-,root,root,-) %{_bindir}/*
si adauga fisierele de date.
%{_datadir}/applications/%{name}.desktop %{_datadir}/%{name}/
%changelog * Sat Nov 20 2010 Tibi Turbureanu 0.0.7-13 - Package for Gnocky 0.0.7
$ rpmbuild -ba gnocky.spec
rpmlint
cele doua pachete create. Rezolva erorile si eventual avertismentele semnalate.
$ rpmlint gnocky.spec RPMS/*/gnocky*.rpm SRPMS/gnocky*.rpm
In final, fisierul de specificatie pentru Gnocky arata ca mai jos. Descarca pachetul RPM Gnocky pentru a-l testa si tu! ;-)
Name: gnocky Version: 0.0.7 Release: 1%{?dist} Summary: GLib2/GTK+2 front-end for Gnokii using Glade Group: Applications/Communications License: GPLv2 URL: http://wiki.gnokii.org/index.php/Gnocky Source0: http://www.gnokii.org/download/gnocky/gnocky-0.0.7.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gnokii-devel, libglade2-devel, gtk2-devel, glib2-devel, gettext-devel Requires: gnokii, libglade2, gtk2, glib2, gettext %description Set logos, send SMS and manage address book for your mobile phone. %prep %setup -q -n %{name}-%{version} %build %configure make %{?_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} %find_lang %{name} %clean rm -rf %{buildroot} %files -f %{name}.lang %defattr(-,root,root,-) %doc README TODO COPYING ChangeLog INSTALL AUTHORS BUGS ABOUT-NLS %{_bindir}/* %{_datadir}/applications/%{name}.desktop %{_datadir}/%{name}/ %changelog * Sat Nov 20 2010 Tibi Turbureanu 0.0.7-13 - Package for Gnocky 0.0.
Nota: Articolul este preluat sub licentele libere GNU GFDL 1.3+ si CC-BY-SA 3.0