Sistema Operativo ALDOS
Dezoft

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

 Índice > Todo acerca de Linux > Programas y Aplicaciones Nuevo tema Publicar Respuesta
 Crear archivo .spec para RPM personalizado
Tema anterior Tema siguiente
   
al-serv
Publicado en 26/07/11 07:11 (Leído 3178 veces)  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
Hola!

estoy intentando crear un archivo *.spec para crear un rpm que me sirva para cuando instalo de nuevo mi sistema me haga cosas automáticamente al instalar este rpm. Entre ellas quiero que me substituya archivos que hay ya en el sistema

ejem:

creo un archivo fondo-pantalla-1.0.tar.gz

dentro hay esta ruta creada

/usr/share/backgrounds

Dentro hay el famoso default.png que es mi fondo de pantalla.

Quiero que este rpm descomprima ( %setup -q ) y que eso lo copie y substituya ese archivo así siempre tendré el fondo deseado. no se si me entendéis.
Se crear rpm básicos, es decir que no hagan nada pero que se ejecuten ( ya es mucho ) ahora quiero que este rpm haga lo que he comentado. ( lo digo porque no empiezo desde 0 para aprender como se construye con rpm-build )

Gracias por anticipado!
 
Perfil Sitio Web
 Citar
al-serv
Publicado en 28/07/11 11:40  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
ya he mirado vuestro manual y me ha servido de muchisimo, una vez gracias por vuestra labor!

http://www.alcancelibre.org/staticpages/index.php/como-rpmbuild/print

Lo que si que estoy buscando es como hacer para que el comando requieres: que es el que te hace instalar paquetes rpm automáticamente , lo que se llaman las dependencias para que funcione el software que se va a instalar. Lo que me gustaría saber es si hay alguna manera que te instale Grupo de paquetes, es decir:

yum install aplicacion
yum groupinstall paquetes de aplicaciones

pues eso que lo haga el requieres????
 
Perfil Sitio Web
 Citar
Joel Barrios Dueñas
Publicado en 28/07/11 02:42  

Admin
Site Admin

Inscrito: 17/02/07 Publicaciones: 1755
País:Mexico
En la sección de %post del spec, añade algo como lo siguiente, después de un ldconfig u otras opciones.

PHP Formatted Code

if [ -f /usr/share/backgrounds/abstract/Waves.png ]
then
gconftool-2 -s --direct --config-source=xml:readwrite:/etc/gconf/gconf.xml.defaults "/desktop/gnome/background/picture_filename" -t string "/usr/share/backgrounds/abstract/Waves.png"
fi
 


Y listo. Cuando instales el RPM, será la opción predeterminada a partir de ese momento. Para que lo puedas probar con usuarios que hayan utilizado el escritorio antes de instalar este paquete, hay que resetear opciones para que tome efecto:

PHP Formatted Code
gconftool-2 --recursive-unset /desktop/gnome/background



Idealmente lo que se hace es modificar el código fuente de libgnome y gnome-desktop (específicamente los archivos *.schema y *.schema.in) para que todo lo anterior sea innecesario.
 
Perfil Sitio Web
 Citar
al-serv
Publicado en 28/07/11 03:08  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
Gracias por tu rápida respuesta!!

lo he probado y justo es lo que buscaba! de nuevo mil gracias!!

ahora solo me hace falta saber lo que he comentado en el post anterior;

como hacer para que se instalen grupo de paquetes y no un paquete en concreto! tal como con el comando yum groupinstall colección-paquetes ( yum groupinstall print-client o yum install @print-client)
 
Perfil Sitio Web
 Citar
Joel Barrios Dueñas
Publicado en 28/07/11 03:58  

Admin
Site Admin

Inscrito: 17/02/07 Publicaciones: 1755
País:Mexico
Crea un archivo comps.xml. En éste lista los paquetes que quieras incluir en un grupo nuevo personalizado.

PHP Formatted Code
<comps>
<!--  <meta> -->
<!-- Meta information will go here eventually -->
<!--  </meta> -->
  <group>
    <id>tu-grupo</id>
    <name>TuGrupo</name>
    <default>true</default>
    <description>Paquetes  predeterminados tu grupo</description>
    <uservisible>true</uservisible>
    <packagelist>
      <packagereq type="default">un-rpm</packagereq>
      <packagereq type="optional">un-rpm-opcional</packagereq>
    </packagelist>
  </group>
</comps>


Al terminar, generas el almacen YUM usando:

createrepo -g comps.xml /donde/tengas/tus/paquetes/
 
Perfil Sitio Web
 Citar
al-serv
Publicado en 28/07/11 04:22  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
creo que no es esto lo que buscaba,

en el archivo *.spec que es el que contiene las instrucciones para que se cree el paquete rpm, hay una opción que es;

Requieres: <- aquí pones los paquetes "sueltos" que quieres que se instalen, las dependencias que se suelen llamar

pero en este apartado solo puedes definir paquetes sueltos, lo que quiero definir un grupo de paquetes, es posible??
 
Perfil Sitio Web
 Citar
Joel Barrios Dueñas
Publicado en 28/07/11 04:53  

Admin
Site Admin

Inscrito: 17/02/07 Publicaciones: 1755
País:Mexico
El método recomendado es el que te explique en mi mensaje previo. Requires solo se debería de utilizar para definir dependencias para el paquete que no se detecten automáticamente, como por ejemplo, algún programa para que funcione un paquete o un paquete con datos (imágenes, texto, etc.). Pero si lo que quieres es crear un metapaquete, puedes poner lo que creas conveniente.

Requires: paquete1, paquete2, paquete3 => x.x.x, paquete4 >= x.x.x
 
Perfil Sitio Web
 Citar
al-serv
Publicado en 28/07/11 07:07  

Miembro Activo
Forum User

Inscrito: 01/03/08 Publicaciones: 635
País:Cataluña
ahhhh yo pensaba que si que se podia hacer, entonces enumerare 1 a 1 los rpm que componen ese grupo, no lo veo comodo pero si se tiene que hacer se hace!

Gracias por tu ayuda!! como siempre el sitio es perfeto Guiño
 
Perfil Sitio Web
 Citar
Contenido generado en: 0,40 segundos Nuevo tema Publicar Respuesta
 Todas las horas son UTC. Hora actual 01:47 .
Tema normal Tema normal
Tema persistente Tema persistente
Tema cerrado Tema cerrado
Nueva publicación Nueva publicación
Persistente con nueva publicación Persistente con nueva publicación
Cerrado con nueva publicación Cerrado con nueva publicación
Ver publicaciones anónimas 
Usuarios anónimos pueden publicar 
Se permite HTML Filtrado 
Contenido censurado