creare rpm

12 risposte [Ultimo messaggio]
Ritratto di elmarculin
elmarculin
(Junior)
Offline
Junior
Iscritto: 26/03/2008
Messaggi: 32

Salve a tutti,
se sulla macchina 1 ho il pacchetto XX installato, posso creare un rpm XX.rpm per poi installarlo su una macchina 2?
Ho un problema perchè ho bisogno di prendere da una suse 10.2 il pacchetto con la versione vecchia che non riesco a trovare già compilata...
grazie

Ritratto di orion
orion
(Guru)
Offline
Guru
Iscritto: 11/07/2006
Messaggi: 2919

Ma sulla macchina 1 come avevi installato il programma? E da dove l'avevi scaricato?

openSUSE 12.1 on Acer Aspire 1810tz - LXDE ultima versione dal repo x11:/lxde

Ritratto di AL9000
AL9000
(Guru)
Offline
Guru
Iscritto: 29/10/2005
Messaggi: 1277

Quote:

ho bisogno di prendere da una suse 10.2 il pacchetto con la versione vecchia che non riesco a trovare già compilata...

prendi il pacchetto in formato compresso (tar.gz o tar.bz ecc.), compilalo con i soliti comandi ./configure e make e poi utilizza checkinstall per creare l'rpm.
oppure puoi utilizzare, in modo grafico, krpmbuild che però non so se e come funziona perchè non lo utilizzo

Ciao

Chi è investito di un'autorità si trasformerà inevitabilmente, secondo una legge sociale immutabile, in un oppressore ed in uno sfruttatore della società. (M.A. Bakunin)

Ritratto di robermann79
robermann79
(Monster)
Offline
Monster
Iscritto: 07/02/2007
Messaggi: 342

Io consiglio invece rpmrebuild: http://sourceforge.net/project/showfiles.php?group_id=57523 (http://rpmrebuild.sourceforge.net/); se il pacchetto contenente XX e' gia installato, basta digitare:
<br />rpmrebuild -b XX<br />

e ottieni un pacchetto "quanto di piu' simile all'originale" Big Grin

Ritratto di Mirko
Mirko
(Guru)
Offline
Guru
Iscritto: 19/12/2005
Messaggi: 1602

Sarebbe interessante stabilire quale tra le tre vie proposte genera l'rpm migliore... qualcuno sa niente?

Ritratto di AL9000
AL9000
(Guru)
Offline
Guru
Iscritto: 29/10/2005
Messaggi: 1277

bè, se le cose stanno così allora non è che siano proprio alternative.

con checkinstall crei un pacchetto rpm dai sorgenti del programma (semi) compilati per il tuo sistema, quindi (forse) più adatto per la macchina dove installerai l'rpm, e questo lo so perchè a volte lo utilizzo
esempio: metti che un programma non è pacchettizzato per suse, per installarlo dovrai ricorrere ai sorgenti (o a pacchetti di altre distro, tipo i *.deb di ubuntu, e poi ricorrere ad alien per trasformarli in rpm...ma questa è un'altra storia ancora).
A quel punto, se vuoi conservare il tutto, magari realizzando un pacchetto specifico per suse (e per il tuo sistema), fai generare a checkinstall l'rpm e poi lo installi.
Inoltre, installando il pacchetto rpm invece che installando i sorgenti, potrai "tenere traccia" dei suoi vari files e componenti tramite yast (o tramite rpm da riga di comando), il chè significa che potrai rimuoverlo come faresti con un programma qualsiasi, essendo sicuro di aver eliminato ogni suo componente.
Mentre se vuoi rimuovere un programma installato dai sorgenti (che magari non dispone di un uninstaller) dovrai cercare ed eliminare a manina tutti i files che ha sparso in giro per il sistema.

krpmbuild è una gui o frontend (interfaccia grafica) per rpmbuild e, come ho detto, non lo utilizzo...ma, se ho capito bene quello che ha detto robermann79 su rpmbuild, serve per creare un rpm da un programma già installato di cui però non si ha a disposizione il pacchetto (magari perchè installato con yast o zypper o tools di questo genere, senza averlo precedentemente scaricato in locale)...correggetemi se sbaglio, visto che, ribadisco, non utilizzo rpmbuild nè da riga di comando nè usando la gui.

Ciao

EDIT: oops, SVISTA
robermann79 ha parlato di rpmrebuild, non di rpmbuild
Comunque non lo utilizzo lo stesso

ARI-ciao

Chi è investito di un'autorità si trasformerà inevitabilmente, secondo una legge sociale immutabile, in un oppressore ed in uno sfruttatore della società. (M.A. Bakunin)

Ritratto di robermann79
robermann79
(Monster)
Offline
Monster
Iscritto: 07/02/2007
Messaggi: 342

Quote:

se capito bene quello che ha detto robermann79 su rpmbuild, serve per creare un rpm da un programma già installato di cui però non si ha a disposizione il pacchetto (magari perchè installato con yast o zypper o tools di questo genere, senza averlo precedentemente scaricato in locale)...correggetemi se sbaglio, visto che, ribadisco, non utilizzo rpmbuild nè da riga di comando nè usando la gui.

Tutto giusto, a parte il programma: mi riferisco a rpmrebuild, non rpmbuild; sono diversi.

ciao
rob

Ritratto di AL9000
AL9000
(Guru)
Offline
Guru
Iscritto: 29/10/2005
Messaggi: 1277

si, mi sono accorto
Wink

Chi è investito di un'autorità si trasformerà inevitabilmente, secondo una legge sociale immutabile, in un oppressore ed in uno sfruttatore della società. (M.A. Bakunin)

Ritratto di Mirko
Mirko
(Guru)
Offline
Guru
Iscritto: 19/12/2005
Messaggi: 1602

Grazie mille, chiarissimo.

Ritratto di elmarculin
elmarculin
(Junior)
Offline
Junior
Iscritto: 26/03/2008
Messaggi: 32

Grazie per le riposte...mi spiego anche meglio (scusate ma ero molto occupato).
Ho una suse 10.2 con il programma drbd v7
Ho installato la 10.3 e mi ha messo drbd v8

Dal momento che vorrei anche drbd v7 sulla 10.3 l'unico modo è installare rpmrebuild e creare gli rpm di drbd v7 o ho altre possibilità?
grazie

Ritratto di anubis
anubis
(Guru)
Offline
Guru
Iscritto: 07/04/2007
Messaggi: 3656

se non hai idea di come si crea un spec file allora hai due possibilita...

o scarichi il sorgente ed usi checkinstall con tutti i problemi del caso:

http://www.linuxpedia.netsons.org/index.php/Creare_rpm_per_il_proprio_pc_con_CheckInstall

oppure se è disponibile un file

.src.rpm

puoi usarlo e ricompilare così:

rpmbuild --rebuild nomefile.src.rpm

una guida più specifica la sto scrivendo qui:

http://www.linuxpedia.netsons.org/index.php/Guida_alla_creazione_di_file_rpm

OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el