Mailinglist Archive: opensuse-es (1722 mails)

< Previous Next >
Re: [suse-linux-s] rpm ¿cómo?
  • From: Guillermo Ballester Valor <gbv@xxxxxxxxxxxx>
  • Date: Tue, 3 Aug 2004 21:35:33 +0200
  • Message-id: <200408032135.41939.gbv@xxxxxxxxxxxx>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tuesday 03 August 2004 20:55, Miquel A. Noguera wrote:
> El Domingo, 1 de Agosto de 2004 11:54, Guillermo Ballester Valor escribió:
> > IDEA FINAL BASICA: En el proceso de construcción de un RPM se trata de
> > dejar en un directorio, que se designa con la macro ${RPM_BUILD_ROOT} (y
> > que se suele definir al principio de los ficheros spec con BuildRoot: )
> > la estructura de directorios y ficheros que despues se instalará sobre el
> > directorio raiz '/' de nuestro sistema, simplemente.
>
> Vale... creo que hasta aquí lo voy entendiendo. Si me permites podríamos
> porner un ejemplo, que puede servir para ir practicando y corrigiendo.
>
> Digamos que quiero hacerme un rpm con varios fondos de pantalla:
> fondo1.jpg, fondo2.jpg y fondo3.jpg, que ahora están en mi home, pero que
> una vez instalados estarán en /opt/kde3/share/wallpapers. Luego empezamos
> así:
>
> mkdir -p opt/kde3/share/wallpapers
> cp fondo1.jpg fondo2.jpg fondo3.jpg opt/kde3/share/wallpapers
> tar -cvzf fondos.tar.gz opt/
> cp fondos.tar.gz /usr/src/packages/SOURCES
>
No, casi bien, la secuencia sería, antes de meterse en rpm:

tar -cvzf fondos.tar.gz fondo*.jpg
cp fondos.tar.gz /usr/src/packages/SOURCES

después, tienes que definir eso como fuente de tu paquete. En el fichero
fondos.spec tiene que ir una línea

- ------
Source0: fondos.tar.gz
- ------

En la fase de preparación:

- ------
%prep
%setup -n fondos -a 0
- ------

con ello, rpm primero crea un directorio fondos en '/usr/src/packages/BUILD' y
a continuación hace un cd a dicho directorio y descompirme la fuente 0
(fondos.tar.gz).

Bien, y ahora la fase install, al meterse en build se hace un 'cd fondos' de
forma uatomática:

- ------
%build

mkdir -p ${RPM_BUILD_ROOT}/opt/kde3/share/wallpapers
cp fondo*.jpg ${RPM_BUILD_ROOT}/opt/kde3/share/wallpapers
- ------

Por último tienes que definir qué ficheros componen tu rpm:

- ------
%file
/opt/kde3/share/wallpapers/*jpg
- ------

Y para terminar un changelog

- ------
%changelog
Tue Aug 03 2004 - Miguel A. Noguera
- - Mi primer rpm de fondos
- ------

> Del mismo modo, deberíamos crear el fichero fondos.spec y ubicarlo
> en /usr/src/packages/SPECS
>
Resumiendo todo y añadiendo algunas cosillas, para crear
fondos-0.1-1.i586.rpm, este sería fondos spec, con traducción y todo para
nuestra lengua (puede haber algun fallo).

- --------------------------------------------------
# spec file for package fondos
#
Summary: Desktop screens
Summary(es): Fondos de pantalla
Name: Fondos
Version: 0.1
Release: 1
License: GPL
Buildroot: %{_tmppath}/%{name}-%{version}-build
Source0: fondos.tar.gz

########

%description
Nice images for your desktop

Author
- ------
Miguel A. Noguera

########
%description -l es
Hermosos fondos paratu escritorio

Author
- ------
Miguel A. Noguera

########
%prep
%setup -n fondos -a 0

########
%build

mkdir -p ${RPM_BUILD_ROOT}/opt/kde3/share/wallpapers
cp fondo*.jpg ${RPM_BUILD_ROOT}/opt/kde3/share/wallpapers

########
%file
/opt/kde3/share/wallpapers/*jpg

########

%changelog
Tue Aug 03 2004 - Miguel A. Noguera
- - Mi primer rpm de fondos

- -----------------------------------------------------

Saludos,

Guillermo


- --
Guillermo Ballester Valor
gbv@xxxxxxxxxxxx
Ogijares, Granada SPAIN
Linux user #117181. See http://counter.li.org/
Public GPG KEY http://www.oxixares.com/~gbv/pubgpg.html


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

iD8DBQFBD+kNOA2UfsyErNQRAlLGAJ0Xw+YFXbsdAulVHbDqGh9snYFuswCfVSVd
a2pqPy6jxN6KFY3d7FSDY4E=
=tTEl
-----END PGP SIGNATURE-----

< Previous Next >