Bienvenido(a) a Alcance Libre 27/09/2023, 11:57

Alcance Libre Foros

 Índice del foro > Todo acerca de Linux > Programas y Aplicaciones New Topic Post Reply
 Crear archivo .spec para RPM personalizado
Tópico anterior Tópico siguiente
   
al-serv
 26/07/11 02:11 (Leído 3,377 veces)  

Miembro Activo

Estado: desconectado
Forum User

Identificado: 01/03/08
Mensajes: 641
Localización: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!
 
Profile Email Website
 Quote
al-serv
 28/07/11 06:40  

Miembro Activo

Estado: desconectado
Forum User

Identificado: 01/03/08
Mensajes: 641
Localización: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????
 
Profile Email Website
 Quote
Joel Barrios Dueñas
 28/07/11 09:42  

Admin

Estado: desconectado
Site Admin

Identificado: 17/02/07
Mensajes: 1761
Localización: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.
 
Profile Email Website
 Quote
al-serv
 28/07/11 10:08  

Miembro Activo

Estado: desconectado
Forum User

Identificado: 01/03/08
Mensajes: 641
Localización: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)
 
Profile Email Website
 Quote
Joel Barrios Dueñas
 28/07/11 10:58  

Admin

Estado: desconectado
Site Admin

Identificado: 17/02/07
Mensajes: 1761
Localización: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/
 
Profile Email Website
 Quote
al-serv
 28/07/11 11:22  

Miembro Activo

Estado: desconectado
Forum User

Identificado: 01/03/08
Mensajes: 641
Localización: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??
 
Profile Email Website
 Quote
Joel Barrios Dueñas
 28/07/11 11:53  

Admin

Estado: desconectado
Site Admin

Identificado: 17/02/07
Mensajes: 1761
Localización: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
 
Profile Email Website
 Quote
al-serv
 28/07/11 02:07  

Miembro Activo

Estado: desconectado
Forum User

Identificado: 01/03/08
Mensajes: 641
Localización: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 Wink
 
Profile Email Website
 Quote
Contenido generado en: 0.29 segundos New Topic Post Reply
 Todas las horas son CST. Hora actual 11:57 .
Tópico normal Tópico normal
Tópico Pegado Tópico Pegado
Tópico bloqueado Tópico bloqueado
Mensaje Nuevo Mensaje Nuevo
Tópico pegado con nuevo mensaje Tópico pegado con nuevo mensaje
Tópico bloqueado con nuevo mensaje Tópico bloqueado con nuevo mensaje
Ver mensajes anónimos 
Los usuarios anónimos pueden enviar 
Se permite HTML Filtrado 
Contenido censurado