[openmamba-devel-it] ddclient
riccardo moja
riccardo.moja a gmail.com
Sab 17 Maggio 2008 13:33:03 CEST
cercavo di capire come funzionassero gli specfile , provando a
pacchettizzare ddclient.
Dopo quintali di cose sbagliate ho prodotto un rpm che ho installato e
anche se non ho provato ancora il programma , ho provato a farlo
partire, e funziona.
Però visto che sono andato a tentativi volevo sapere se quello che ho
fatto ha un qualche senso oppure ho sbagliato tutto e il metodo è
completamente un altro.
Non c'è un makefile e quindi tocca fare a mano, sul readme di ddclient
c'è scritto quanto segue per l'installazione:
INSTALLATION:
cp ddclient /usr/sbin/
mkdir /etc/ddclient
cp sample-etc_ddclient.conf /etc/ddclient/ddclient.conf
vi /etc/ddclient/ddclient.conf
-- and change hostnames, logins, and passwords appropriately
## For those using Redhat style rc files and using daemon-mode:
cp sample-etc_rc.d_init.d_ddclient /etc/rc.d/init.d/ddclient
## enable automatic startup when booting
/sbin/chkconfig --add ddclient
## start the first time by hand
/etc/rc.d/init.d/ddclient start
## If you are not using daemon-mode, configure cron and dhcp or ppp
## as described below.
io basandomi su un altro specfile credo simile (ftpsync) ,quello di
apache che è parecchio complesso e quanto ho letto su internet, ho
fatto uno specfile così: (copio solo la parte di rilievo, a parte
%{buildroot} non ho usato macro simili, ma è solo per prova, se
servono poi le uso)
------------------
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
install -D -m 0755 ddclient %{buildroot}/usr/sbin/ddclient
install -D -m 0755 sample-etc_ddclient.conf
%{buildroot}/etc/ddclient/ddclient.conf
install -D -m 0755 sample-etc_rc.d_init.d_ddclient
%{buildroot}/etc/rc.d/init.d/ddclient
%post
/sbin/chkconfig --add ddclient
/etc/rc.d/init.d/ddclient start
------------------
ovviamente il file che nell'installazione dice di configurare con vim
uno poi se lo dovrebbe configurare a mano dopo (spero).
Ha senso ciò che ho scritto? I file me li ha creati tutti, però
secondo me quello che ho scritto dopo %postun non l'ha eseguito
Domande generali che ancora non sono riuscito a capire:
- Supponendo che non si debba fare solo ./configure,make,make install
per installare il programma in question, n questi campi (%install,
%postun, %makeinstall, %configure ecc) devo semplicemente mettere dei
comandi della shell in modo che vengano effettuate tutte le operazioni
che in realtà si dovrebbero effettuare a mano?
- Che differenza c'è fra %install e %make install ? per esempio nello
specfile di apache, %install ha solo [ "%{buildroot}" != / ] && rm -rf
"%{buildroot}" mentre ha tutto in %makeinstall, mentre ftpsync ha
tutto in %installe %makeinstall è proprio assente
-c'è un riferimento per sapere tutte le abbreviazioni tipo %{_bindir} ?
-mettiamo caso che io debba creare un file in /etc e scriverci dentro
mediante l'rpm (ad esempio un file di configurazione di un programma)
che contiene una cosa stupida, l'output del comando ls, devo mettere
in %post la riga: ls > /etc/prova.conf ?
- solo per comprendere meglio non ho brutte intenzioni: se sotto %post
ci metto rm -fr lui mi cancella tutto mentre sta installando l'rpm?
Maggiori informazioni sulla lista
openmamba-devel-it