Crear paquetes DEB y RPM

Descripción

A veces toca empaquetar programas propios .. en RPM o en DEB .. aqui decimos como

RPM - RedHat Package Manager

Este es un procedimiento para crear un rpm MUY SIMPLE, que solo copia unos archivos a ciertos sitios .. y YAP. Hay miles de opciones no exploradas aqui como por ejemplo el firmado del paquete.

1. Prerequistos

Para los rpms necesita el rpm-build instalado y preferiblemente una maquina con la distribucion y version objetivo .. si es un Centos5 .. construyalo en un Centos5

En centos 8 es un paquete generico llamado rpdevtools  y ayuda rpmlint

2. Preparacion

Cree un directorio de trabajo. Voy a usar skina-logos

   > mkdir skina-logos

Dentro de este directorio debe crear un archivo skina-logos-1.0-5.spec donde esta la version y el Release. Adentro esta toda la informacion del paquete y los scripts


Summary:  Skina-related icons and pictures.
Name:  skina-logos
Version: 1.0
Release: 5
Copyright: GPL
Group: System Environment/Base
Source: skina-logos.tar.gz

%description
Skina-related icons and pictures.

%prep
%setup

%build

%install
mkdir -p /usr/share/pixmaps/skina
mkdir -p /etc/skel/Desktop/
mkdir -p /etc/skel/.nautilus/desktop
mkdir -p /usr/lib/desktop-links/

for i in *.png; do
  install -m 644 $i /usr/share/pixmaps/skina
done
cp -f  www.skina.com.co /etc/skel/Desktop/www.skina.com.co
cp -f  skina.links /usr/lib/desktop-links/skina.links
cp -f  Skina /etc/skel/.nautilus/desktop
cp -f  redhat-by-skina.png /usr/share/pixmaps/redhat/redhat-transparent.png

%files
%doc COPIAR
%defattr(-, root, root)
/usr/share/pixmaps/skina/redhat-by-skina.png
/usr/share/pixmaps/skina/skina_logo.png
/etc/skel/Desktop/www.skina.com.co
/etc/skel/.nautilus/desktop/Skina
/usr/lib/desktop-links/skina.links
/usr/share/pixmaps/redhat/redhat-transparent.png


Dentro del mismo directorio cree el directorio skina-logos-1.0 donde esta el arbol a instalar .. por ejemplo en este caso

 > ls skina-logos-1.0
 ./                   Skina                skina_logo.png
 ../                  redhat-by-skina.png  www.skina.com.co
 COPIAR               skina.links

3. Construir

Ya solo es ejecutar dentro del directorio el comando

   > rpmbuild -ba skina-logos-1.0-5.spec

Este construye tanto el binaario como el src.rpm . Si solo desea el binario .. haga con la opcion -bb

4. Referencias

  • https://fedoraproject.org/wiki/How_to_create_a_GNU_Hello_RPM_package?rd=A_Short_RPM_Tutorial —
  • http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html –



DEB - Debian Packages

Este es un procedimiento para crear un deb MUY SIMPLE, que solo copia unos archivos a ciertos sitios .. y YAP. Hay miles de opciones no exploradas aqui  como por ejemplo el firmado del paquete.

1. Prerequistos

Para los deb necesita el dpkg-deb construirlo  y preferiblemente una maquina con la distribucion y version objetivo .. si es un Squeeze .. construyalo en un Squeeze

O mejor install build-essential que instala todo

2. Preparacion

Cree un directorio de trabajo. y ahi adentro cree dos directorios de

   > mkdir -p debian/DEBIAN

Dentro del directorio debian/DEBIAN  debe crear un archivo llamado “control” donde esta la version y el Release. Adentro esta toda la informacion del paquete 


Package: skina-logos
Version: 1.0-5
Section: skina
Priority: optional
Architecture: all
Essential: yes
Depends: bash
Installed-Size: 10
Maintainer: Jaime E. Gomez H. jgomez@skinatech.com
Provides: skina-logos
Description: Skina-related icons and pictures.
 Los logos usados para personalizar las distribuciones.


Ahi mismo en debian/DEBIAN puede ir tres archivos mas

  • md5sum: Listado de los md5 de todos los archivos del paquete
  • postinst: Script/programa para ejecutar posterior a la instalacion
  • prerm: Script/programa para ejecutar cuando se desinstala


Dentro del mismo directorio construya el arbol a instalar .. por ejemplo en este caso dentro del directorio

  debian/usr/share/pixmaps/skina/redhat-by-skina.png
  debian/usr/share/pixmaps/skina/skina_logo.png
  debian/etc/skel/Desktop/www.skina.com.co
  debian/etc/skel/.nautilus/desktop/Skina
  debian/usr/lib/desktop-links/skina.links
  debian/usr/share/pixmaps/redhat/redhat-transparent.png

3. Construir

Con esto ya solo es necesario construir el paquete y renombrelo

  > dpkg-deb –build debian
  > mv debian.deb skina_logos-1.0-5_all.deb

4. Reconstuir  paquetes

Desde la fuente:
Backports: https://wiki.debian.org/SimpleBackportCreation

Referencias



 

FIN


Advertencia

Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.


 

15-Marzo-2006 J.E.Gomez v1.0 Primera version

Volver arriba