[GUIDA]Creare un RPM - Guide - Free Play Club -->

Vai al contenuto

 



Provate la Nuovissima versione dell'Arcade, con i Tornei. Per saperne di più ....Leggete quì...

Attiva/Disattiva Shoutbox Shoutbox Apri la chat in un popup

@  Armonia : (17 February 2018 - 05:46 AM) :bg1:
@  Lady G : (13 February 2018 - 04:23 PM) :arcade:INSERITI 23 NUOVI GIOCHI NELLA CATEGORIA NEW GAMES :aereonuovigiochi:
@  Lady G : (13 February 2018 - 04:22 PM) :bpfpc:
@  -=SPECIALWOR... : (12 February 2018 - 08:19 PM) Nuovo topic [RELEASE] Condres OS official version 18.02 available postato in Sistemi Operativi ed Emulatori da -=SPECIALWORLD83=-
@  numerone : (07 February 2018 - 06:35 PM) il napoli davanti e di dietro tutti quanti
@  numerone : (07 February 2018 - 06:35 PM) ne abbiamo 19 dietro
@  Lady G : (03 February 2018 - 06:56 PM) :arcade:INSERITI 31 NUOVI GIOCHI NELLA CATEGORIA NEW GAMES :aereonuovigiochi:
@  Lady G : (03 February 2018 - 11:48 AM) :bfs:
@  Syster : (30 January 2018 - 08:40 PM) Ciaoooo ragassi! :bear:
@  Lady G : (28 January 2018 - 06:01 PM) :arcade:INSERITI 14 NUOVI GIOCHI NELLA CATEGORIA NEW GAMES :aereonuovigiochi:
@  Lady G : (28 January 2018 - 05:43 PM) :bsfpc:
@  Armonia : (25 January 2018 - 08:26 AM) :bg1:
@  Lady G : (23 January 2018 - 12:41 PM) :buonpranzo1:
@  Lady G : (18 January 2018 - 06:22 PM) :arcade:INSERITI 27 NUOVI GIOCHI NELLA CATEGORIA NEW GAMES :aereonuovigiochi:
@  Lady G : (15 January 2018 - 07:20 PM) :arcade:INSERITI 28 NUOVI GIOCHI NELLA CATEGORIA NEW GAMES :aereonuovigiochi:
@  halambra : (15 January 2018 - 10:29 AM) BUONGIORNO
@  Lady G : (13 January 2018 - 11:39 AM) :bfs:
@  Lady G : (11 January 2018 - 06:07 PM) :ciaoatut:
@  jonathan : (10 January 2018 - 08:09 AM) :buondi:
@  Lady G : (08 January 2018 - 06:53 PM) :arcade:INSERITI 25 NUOVI GIOCHI NELLA CATEGORIA NEW GAMES :aereonuovigiochi:

Ciao Visitatore.: Benvenuto su Free Play Club


Connettiti 

Registrati ora!
Ciao Visitatore e Benvenuto su Free Play Club. Come nella maggior parte delle comunità online è necessario registrarsi per visualizzare i topic completi con le risposte e non solo il primo post, perchè ci potrebbero esssere importanti aggiornamenti proprio nelle risposte. Registrandoti potrai giocare ai giochi della nostra arcade ed accedere a tutti i servizi gratuiti che offriamo, ma non preoccuparti, La registrazione è un processo semplice e gratuito che richiede informazioni minime. Approfittane subito, Registrati Adesso oppure, se sei già registrato fai il Log In.Se non sai come fare per registrarti o non lo hai mai fatto segui la nostra semplice videoguida cliccando qui oppure fallo seguendo i nostri file di aiuto con Videoguida cliccando qui
Registrandoti a Free Play Club potrai:
  • Giocare senza limiti ai giochi della nostra arcade
  • Partecipare ai concorsi a premio e lotterie, guadagnando punti funzione
  • Scaricare i nostri download di software e giochi gratuiti
  • Aprire nuovi topic e rispondere a quelli di altri utenti
  • Vedere I messaggi completi di risposte per comprendere appieno le discussioni
  • Sottoscrivere discussioni in modo da essere informato se ci sono nuovi messaggi
  • Partecipare ad eventi in calendario e ai giochi gratuiti
  • Gestire il tuo profilo e fare nuove amicizie
  • Costruire la tua personale esperienza e condividerla con gli altri utenti
 
Guest Message by DevFuse

Foto
- - - - -

Creare un RPM



  • Connettiti per rispondere
Non ci sono Risposte in questo topic

#1 -=SPECIALWORLD83=-

-=SPECIALWORLD83=-

    Aspirante opinionista

  • Members
  • 50 Messaggi:
3
  • Sesso:Maschio

  • Connessione: FW FIBRA
  • Sistema Operativo: Gentoo Linux
  • Nome Skype: non te lo dico Stato Skype

Current mood: Nessuna Scelta

Inviato 04 November 2007 - 06:04 PM

Creiamo un RPM.

Supponete ora di aver fatto la vostra applicazione, e volete che oltre al tarball, sia disponibile in formato RPM, ad uso e consumo degli utenti Linux, che usino il Red Hat Package Manager, cosa fareste? In questo paragrafo vediamo come creare un file RPM contentente i vostri eseguibili, e un RPM contenente i sorgenti.

Supponiamo di aver creato il nostro programma di elaborazioni di matrici, che chiameremo matrix, e questo programma abbia una man page e un file di configurazione, chiamato matrix.cfg, che va posto nella directory /etc. Per poter creare un rpm, contentente tali file é necessario :

  • Assicurarsi che il file /etc/rpmrc sia impostato in maniera corretta
  • Creare un file di specifiche sul pacchetto
  • Creare il pacchetto mediante tale file di specifiche
Esempio di /etc/rpmrc.

Vediamo come puo essere settato il file di configurazione di RPM:

require_vendor: 1

distribution: Red Hat

require_distribution: 1

topdir: /usr/src/packs

vendor: NerSoft

packager: NerSoft Gestione Software <nrsof@soft.it>



optflags: i386 -O2 -m486

optflags: alpha -O2

optflags: sparc -O2



signature: pgp

pgp_name:

pgp_path: /home/packages/.pgp



tmppath: /tmp

La linea 1, obbliga RPM a trovare una linea vendor, dove si specifica di solito il produttore del pacchetto. Le linee:

distribution: Red Hat

require_distribution: 1

Sono direttamente collegate poiché se la seconda é settata a 0, nella prima non é necessario specificare per quale distribuzione debba essere creato il pacchetto. Tralasciamo le due linee successive, che sembrano abbastanza chiare e passiamo ad optflags, li vengono specificati i flag da passare al compilatore per rendere il programma ottimizzato per la data piattaforma, l'ottimizzazione viene fatta durante la compilazione del pacchetto stesso. Le restanti linee servono per l'autenticazione del pacchetto. Oltre a queste opzioni per il file /etc/rpmrc, ne esistono altre che potete scoprire con il comando : rpm --showrc.

Creiamo il file di specifiche.

Dopo aver settato a modo l'rpm, creiamo il nostro file di specifiche, matrix-1.0.SPEC:

Summary:Pacchetto di elaborazione matematica matrix

Name: matrix

Version: 1.0

Release: 1

Copyright: GPL

Group: Utility

Source: ftp://ftp.techno.it/matrix.tar.gz



%description

Progetto di Laboratorio. Parser per l'elaborazioni di matrici.

%files

%config /etc/matrix.cfg

/usr/bin/matrix

/usr/man/man4/matrix.4

Cerchiamo di descrivere a modo questo file, e i suoi campi:

  • Summary. Contiene una descrizione riassuntiva del pacchetto
  • Name. É la label che verrá assegnata al pacchetto all'interno del database dopo l'installazione.
  • Version. Versione del software.
  • Release. Numero di versione indicante il numero di volte che il pacchetto é stato impacchettato per questa versione.
  • Copyright. Indica chi detiene il copyright su quel determinato pacchetto.
  • Group. Indica a quale gruppo deve appartenere il pacchetto.
  • Source. Serve per indicare l'URL in cui é possibile reperire il pacchetto.
  • Description Da una generale panoramica sull'utilizzo del pacchetto.
  • Files Indica quali siano i file che fanno parte del pacchetto. Ogni file di configurazione é necessario farlo precedere dal %config.
Creiamo il pacchetto RPM

Ora copiamo i file nelle posizioni specificate dal file .SPEC nel nostro sistema (tanto per intenderci l'eseguibile matrix va in /usr/bin,la man page in /usr/man/man4, il file di configurazione matrix.cfg in /etc). A questo punto possiamo fare la creazione del pacchetto con il comando:

cyberspace.org:~# rpm -bb matrix-0.1.SPEC

Processing files: matrix

Finding provides...

Finding requires...

Requires: ld-linux.so.2 libc.so.6 libc.so.6(GLIBC_2.0)

Wrote: /usr/src/rpm/RPMS/i386/matrix-0.1-1.i386.rpm

Abbiamo ora ottenuto il nostro pacchetto, installiamolo:

cyberspace.org:/usr/src/rpm/RPMS/i386 # rpm -i matrix-0.1-1.i386.rpm

E interroghiamolo:

cyberspace.org:~# rpm -qi matrix

Name : matrix Relocations: (not relocateable)

Version : 0.1 Vendor: NerSoft

Release : 1 Build Date: Thu Feb 10 20:41:11 2000

Install date: Fri Feb 11 11:54:55 2000 Build Host: liz.cyberspace.org

Group : Utility Source RPM: matrix-0.1-1.src.rpm

Size : 25168 License: GPL

Summary : Pacchetto di elaborazione matrici matrix

Description : Pacchetto di elaborazioni di semplici matrici

Un pacchetto contenente i sorgenti

Creare un pacchetto, che contenga solo binari, é abbastanza riduttivo per le caratteristiche che l'RPM stesso fornisce. Editiamo allora in maniera opportuna il nostro file matrix-0.2.SPEC:

Summary: Pacchetto di elaborazione matrici matrix

Name: matrix

Version: 0.2

Release: 2

Copyright: GPL

Group: Utility

Source: ftp://ftp.techoz.it/matrix-0.2/matrix-0.2.tar.gz



%description

Pacchetto di elaborazioni di semplici matrici

%prep

%setup

%build

configure --prefix=/usr/bin

make

%install

make install

%clean

rm -fr matrix-0.2

%files

%config /etc/matrix.cfg

/usr/bin/matrix

/usr/man/man4/matrix.4

%doc NEWS

%doc README

%doc AUTHORS

%doc INSTALL

%doc ChangeLog

Il file matrix-0.2.SPEC,che deve essere posto nella directory /usr/src/rpm/SPECS, é composto da differenti sezioni, che analizziamo:

  • %prep. Forse in cui il file deve essere decomposto e preparato per la compilazione. Di solito é composta semplicemente da una sottosezione %setup, che vediamo sotto e che ha come compito principale di scompattare il sorgente, eseguendo il tar sul file, il cui nome é ricavato dal tag Source, posto all'interno del file matrix-0.2.SPEC stesso.
  • %build. Qui l'RPM, configura e compila il pacchetto, dopo averlo scompattato. Nel nostro esempio abbiamo supposto di aver creato il tarball via autoconf. La directory di lavoro, dove RPM compila e configura é:/usr/src/redhat/BUILD.
  • %install. Dopo la compilazione i file vanno copiati nelle posizioni adeguate, e per far ció basta fare il comando make install. Si noti che anche qui non avessimo usato i Makefile, si sarebbe dovuto usare il comando install o un semplice cp. La directory du lavoro é anche qui /usr/src/redhat/BUILD.
  • %clean. Vengono eliminati i vecchi dati della directory /usr/src/rpm/BUILD, e per far cio :rm -fr nomepacchetto.
  • %files. Dopo aver svolto le sessioni precedenti, i files sono posizionati sul disco rigido, ma non sono posti come dovrebbero. Bisogna dire all'RPM dove trovare i file, siccome durante l'esecuzione delle sezioni precedenti l'RPM non ne ha tenuto traccia. E questa operazione viene svolta mediante la sezione %files. I file di configurazione vanno specificati nella direttiva %config e quelli di documentazione con la direttiva %doc. L'RPM copia automaticamente quest'ultimi nella directory /usr/doc/nome-pacchetto, ovvero nel nostro caso /usr/doc/matrix-0.2.
Da notare che la struttura del tarball, che andrá poi posto nella directory /usr/src/rpm/SOURCES deve essere il tarball di una directory contenete il pacchetto avente come nome, quello indicato nel .SPEC, alla direttiva Source. Sia matrix-0.2 il nome del pacchetto, la directory che contiene i file del pacchetto deve essere matrix-0.2. Procediamo quindi nel seguente modo:

mkdir matrix-0.2

tar cfvz matrix.tar.gz matrix-0.2

mv matrix.tar.gz /usr/src/rpm/SOURCES



A questo punto per compilare e ottenere il tutto basta fare:

cd /usr/src/rpm/SPECS

rpm -bb matrix-0.2.SPEC

Nell'esempio presentato sopra abbiamo tralasciato alcune sezioni, che possono essere utili nella creazione di un pacchetto. Presentiamole nella tabella sottostante seguendo l'ordine in cui vanno poste.

Tabella 2-12. Sezione dei file di specifica RPM

Sezione

Descrizione

Summary: testo

Panoramica sul pacchetto.

Nome: pacchetto

Nome del pacchetto.

Versione: versione

Versione del pacchetto.

Release: release

Release del pacchetto

Source: file

File sorgente.

Patch: file

Patch di applicare.

Copyright: Testo

Tipo di licenza

BuildRoot: directory

Directory temporanea di installazione.

%define nomevalore

Definizione di una macro.

%description

Segue descrizione

%prep

Segue fase di preparazione.

%setup

Scompatta il pacchetto.

%patch

Applica la patch indicata.

%build

Segue istruzioni per la compilazione.

%install

Segue istruzioni per l'installazione.

%clean

Segue fase rimozione fine lavoro

%pre

Segue script di pre-installazione.

%post

Segue script di post-installazione.

%preun

Segue script di pre-disintallazione.

%postun

Segue script di post-disinstallazione.

%files

Segue elenco files.

%config

Segue file di configurazione.

%doc

Segue file di documentazione.

Sezione

Descrizione


  • 0


**********************************************

THE LINUX INSIDE

**********************************************





Altri post con una o più di queste parole chiave GUIDA

0 utente(i) stanno leggendo questa discussione

0 utenti, 0 ospiti, 0 utenti anonimi



Copyright © 2018 Your Company Name