Installare rpm con rpmbuild

9 contenuti / 0 new
Ultimo contenuto
Ritratto di francesco bat
Offline
Last seen: 2 anni 3 settimane fa
Iscritto: 20/11/2011 - 02:46
Installare rpm con rpmbuild

Ciao a tutti.
Vi spiego il problema.
Ho un programma che mi permette di utilizzare il tuxdroid: http://www.originalstore.it/Tux-Droid-robot-mascot-linux-wireless_viewpr...
Il programma (si chiama tuxbox) lo scaricai tempo fa e installato su pclinuxos da un rpm di fedora (per pclinuxos non esiste) ed è sempre andato tutto bene.
Siccome l'azienda che lo produceva ha fallito da tempo, non ci sono più aggiornamenti e da alcuni giorni tuxbox ha smesso di funzionare forse dopo qualche aggiornamento.
Allora ho scaricato un pacchetto rpm.src, sempre per fedora ma fedora 14 (il più nuovo), l'ho installato su fedora 18 con:
rpmbuild --rebuild
Con Fedora è andato tutt'ok, ora vorrei installarlo su pclinuxos; l'ho testato in virtualizzazione e l'ho installato sempre con rpmbuild --rebuild ed è andato tutto bene e funziona.
Prima di installarlo su pclinuxos reale vi chiedo numi su alcune cose:

1) Il vecchio pacchetto installato non lo trovo sul synaptic: come lo rimuovo ?
2) Posso installare con rpmbuild --rebuild oppure posso avere problemi in futuro con la distro ?
3) Se lo installo dopo, nell'eventualità, come lo rimuovo ?

Aspetto vostri consigli Wink
Ciao
Francesco bat

Ritratto di footstep11
Offline
Last seen: 1 anno 10 mesi fa
Iscritto: 31/01/2013 - 11:01

Se il vecchio pacchetto lo hai installato con il comando rpm, allora deve essere visibile anche da synaptic. Prova a dare questo comando:

rpm -qa|grep -i tuxbox

o usa una stringa che piu' assomiglia al nome del programma. Puoi poi disinstallarlo dando il comando

rpm -e nome-del-pacchetto

A volte, se non ci sono conflitti di omonimia, invece di nome-del-pacchetto puoi anche dare solo il nome del programma (cioe' invece di dare alpine-2.02-1pclos2011 basta dare alpine... ma io per sicurezza metto sempre il nome completo).

Con rpmbuild --rebuild non installi il pacchetto, ma costruisci un file rpm da sorgente. Poi devi installarlo con il comando

rpm -Uvh nome-del-pacchetto-rpm

Se il pacchetto si installa in questa maniera, non ci dovrebbero essere problemi, dato che vengono controllate le dipendenze. Al massimo il programma non funziona... Wink

I problemi ci sono se lo si installa a forza (opzione --nodeps).

Io ho diversi programmi che ho preso da altre distribuzioni, e non mi hanno mai dato problemi... il vantaggio di pclinux e' che basta chiedere sul sito americano e nel giro di poco (se non ci sono problemi di copyright e/o di compilazione) ti fanno il pacchetto!

Ritratto di francesco bat
Offline
Last seen: 2 anni 3 settimane fa
Iscritto: 20/11/2011 - 02:46

Eppure si è installato con il solo comando: rpmbuild --rebuild
Ho fatto questo sia su Fedora che su Pclinuxos virtualizzato.
Infatti sono rimasto di stucco anche io a trovarmi con il programma già disponibile e funzionante.
Ciao
Francesco bat

Ritratto di francesco bat
Offline
Last seen: 2 anni 3 settimane fa
Iscritto: 20/11/2011 - 02:46

Provato con il comando: rpm -qa|grep -i tuxbox
ma non ho avuto alcun risultato.
Non vorrei che l'ho installato da sorgenti; nel caso ora come lo rimuovo ?
Ciao
Francesco bat

Ritratto di footstep11
Offline
Last seen: 1 anno 10 mesi fa
Iscritto: 31/01/2013 - 11:01

Premetto che io non ho mai usato rpmbuild... comunque dalla man page effettivamente il comando che hai dato installa il pacchetto:

rpmbuild --rebuild|--recompile SOURCEPKG ...

When invoked this way, rpmbuild installs the named source pack‐
age, and does a prep, compile and install. In addition,
--rebuild builds a new binary package. When the build has com‐
pleted, the build directory is removed (as in --clean) and the
the sources and spec file for the package are removed.

Per determinare il nome del pacchetto puoi fare cosi':

  1. Trovare il nome dell'eseguibile: se tu lo lanci con 'tuxbox' allora puoi provare:
    1. which tuxbox
    2. locate tuxbox

    Supponiamo che il risultato e' /usr/bin/tuxbox.

  2. rpm -qf /usr/bin/tuxbox
    ti dice a che pacchetto appartiene il file '/usr/bin/tuxbox'.

Ti faccio un esempio: supponiamo che vuoi sapere il nome del pacchetto corrispondente al comando divxc. Allora:

  1. which divxc
    /usr/bin/divxc
  2. rpm -qf /usr/bin/divxc
    divxconverter-2.0.1-3pclos2013

Quindi il file /usr/bin/divxc appartiene al pacchetto divxconverter-2.0.1-3pclos2013. Se vuoi avere informazioni sul pacchetto, allora dai il comando 'rpm -qi divxconverter-2.0.1-3pclos2013', mentre per saper tutti i files appartenenti al pacchetto il comando e' 'rpm -ql divxconverter-2.0.1-3pclos2013' (e' elle, per lista).

Mauro

Ritratto di francesco bat
Offline
Last seen: 2 anni 3 settimane fa
Iscritto: 20/11/2011 - 02:46

footstep11 wrote:
Premetto che io non ho mai usato rpmbuild... comunque dalla man page effettivamente il comando che hai dato installa il pacchetto:

rpmbuild --rebuild|--recompile SOURCEPKG ...

When invoked this way, rpmbuild installs the named source pack‐
age, and does a prep, compile and install. In addition,
--rebuild builds a new binary package. When the build has com‐
pleted, the build directory is removed (as in --clean) and the
the sources and spec file for the package are removed.

Per determinare il nome del pacchetto puoi fare cosi':

  1. Trovare il nome dell'eseguibile: se tu lo lanci con 'tuxbox' allora puoi provare:
    1. which tuxbox
    2. locate tuxbox

    Supponiamo che il risultato e' /usr/bin/tuxbox.

  2. rpm -qf /usr/bin/tuxbox
    ti dice a che pacchetto appartiene il file '/usr/bin/tuxbox'.

Ti faccio un esempio: supponiamo che vuoi sapere il nome del pacchetto corrispondente al comando divxc. Allora:

  1. which divxc
    /usr/bin/divxc
  2. rpm -qf /usr/bin/divxc
    divxconverter-2.0.1-3pclos2013

Quindi il file /usr/bin/divxc appartiene al pacchetto divxconverter-2.0.1-3pclos2013. Se vuoi avere informazioni sul pacchetto, allora dai il comando 'rpm -qi divxconverter-2.0.1-3pclos2013', mentre per saper tutti i files appartenenti al pacchetto il comando e' 'rpm -ql divxconverter-2.0.1-3pclos2013' (e' elle, per lista).

Mauro

Il file è presente in /usr/bin lo so perchè lo aperto con kwrite più volte per leggerne il contenuto.
Eseguendo il comando rpm -qf /usr/bin/tuxbox
ottengo:
il file /usr/bin/tuxbox non è posseduto da alcun pacchetto

Ritratto di footstep11
Offline
Last seen: 1 anno 10 mesi fa
Iscritto: 31/01/2013 - 11:01

Quindi non e' stato installato da un rpm. Credo che rpmbuild --rebuild compili il sorgente e lo installi SENZA utilizzare rpm (e quindi synaptic non lo vede). Puoi fare un 'locate tuxbox' e vedere dove si trovano tutti file/cartelle che contengono la stringa tuxbox, e poi cancellarli uno ad uno per rimuoverli (ecco perche' si usa rpm...).

Se ho i sorgenti io di solito compilo direttamente con configure/make/make install, e la disinstallazione avviene attraverso make uninstall (che non e' altro che una serie di rm dei vari files).

Mauro

Ritratto di francesco bat
Offline
Last seen: 2 anni 3 settimane fa
Iscritto: 20/11/2011 - 02:46

footstep11 wrote:
Quindi non e' stato installato da un rpm. Credo che rpmbuild --rebuild compili il sorgente e lo installi SENZA utilizzare rpm (e quindi synaptic non lo vede). Puoi fare un 'locate tuxbox' e vedere dove si trovano tutti file/cartelle che contengono la stringa tuxbox, e poi cancellarli uno ad uno per rimuoverli (ecco perche' si usa rpm...).

Se ho i sorgenti io di solito compilo direttamente con configure/make/make install, e la disinstallazione avviene attraverso make uninstall (che non e' altro che una serie di rm dei vari files).

Mauro

Eh si !
Ho visto ora !
Ho ancora il sorgente tar.gz in Scaricati.
Fortunatamente, come hai detto tu, c'è anche Uninstall.sh, quindi come lo installai facilmente tempo fa non dovrebbe essere difficile rimuoverlo adesso.
Nel frattempo ho proposto la pacchettizzazione del programma sul forum americano, magari attendo un poco e nell'attesa provvisoriamente lo posso avviare virtualizzato da vmware o virtualbox Wink
Grazie.
Ciao
Francesco bat

Ritratto di footstep11
Offline
Last seen: 1 anno 10 mesi fa
Iscritto: 31/01/2013 - 11:01

Bene! E fa sempre comodo tenersi i sorgenti, proprio per fare una disinstallazione, se necessario (io tengo tutto in /opt/src).

Mauro