* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Construyendo nuestros paquetes rpm para nuestras propias aplicaciones

Bueno, antes de nada decir que ésta entrada es sólo un esbozo, totalmente funcional, pero un esbozo para crear nuestros propios paquetes rpm con las aplicaciones que nosotros mismos realicemos.

Para una información más detallada y completa recomiendo encarecidamente la siguiente dirección:

Como construir RPM's Mandriva

Empecemos:

1.0-. Antes de nada necesitamos tener instalado el paquete:

rpm-build

1.1-. Ahora hemos de crear una carpeta en nuestro directorio personal llamada rpm, y dentro de ella deberemos crear los siguientes subdirectorios:

BUILD, RPMS, SOURCES, SPECS, SRPMS, tmp

Para hacer ésto tenemos un script ya hecho llamado Rpmsetup.sh que nos lo hace automáticamente y sacado de la dirección que os he recomendado más arriba:

#!/bin/sh
if [ -f ~/.rpmrc -o -d ~/rpm ]; then
echo 'Elimine cualquier estructura de creacion de rpm antes de ejecutar este script (directorio ~/.rpmrc o ~/rpm)'
exit 1
fi
cd

mkdir rpm
mkdir rpm/BUILD
mkdir rpm/RPMS
mkdir rpm/RPMS/i586
mkdir rpm/RPMS/x86_64
mkdir rpm/RPMS/noarch
mkdir rpm/SOURCES
mkdir rpm/SPECS
mkdir rpm/SRPMS
mkdir rpm/tmp

cat <~/.rpmrc
buildarchtranslate: i386: i586
buildarchtranslate: i486: i586
buildarchtranslate: i586: i586
buildarchtranslate: i686: i586
END

cat <~/.rpmmacros
%_topdir %(echo $HOME)/rpm
%_tmppath %(echo $HOME)/rpm/tmp

# If you want your packages to be GPG signed automatically, add these three lines
# replacing 'Mandrivalinux' with your GPG name. You may also use rpm --resign
# to sign the packages later.
%_signature gpg
%_gpg_name Mandrivalinux
%_gpg_path ~/.gnupg

# Add your name and e-mail into the %packager field below. You may also want to
# also replace vendor with yourself.
%packager Juanra Goti/Ubaloie
%distribution Mandriva Linux
%vendor Juanra Goti/Ubaloie

# If you want your packages to have your own distsuffix instead of mdv, add it
# here like this
#%distsuffix foo
END

1.2-. Una vez hecho lo anterior creamos un archivo oculto en nuestro directorio personal llamado:

.rpmmacros

Y con el siguiente contenido:

%_topdir %(echo $HOME)/rpm
%_tmppath %(echo $HOME)/rpm/tmp

%packager Juanra Goti/Ubaloie
%distribution Mandriva Linux
%vendor Juanra Goti/Ubaloie

1.3-. Llegados a este punto hay que comprimir la carpeta donde tengamos todo el proyecto del programa en formato bzip2, para ello tecleamos en la terminal:

tar -c FichasDrake-0.0.1 | bzip2 > FichasDrake-0.0.1.tar.bz2

Mucho cuidado con los nombres del archivo ya que generará muchos problemas si se lo cambiamos o cambiamos, por ejemplo: FichasDrake por fichasDrake; ó FichasDrake en vez de FichasDrake-0.0.1; o cambiando el nombre del programa y el número de versión.

1.4-. Ahora hay que copiar el anterior archivo comprimido en la carpeta siguiente:

~/rpm/SOURCES

1.5-. Ahora debemos de crear un archivo de especificaciones y guardarlo en el directorio:

~/rpm/SPECS

Contenido de fichasdrake.spec

%define name FichasDrake
%define version 0.0.1
%define release %mkrel 1
%define _tmppath /home/ubaloie/rpm/tmp

Name: %{name}
Summary: Programa gestor de una base de datos basada en fichas
Version: %{version}
Release: %{release}
Source0: %{name}-%{version}.tar.bz2
URL: http://fichasdrake.atwebpages.com/index.html

Group: Office
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
License: GPL
Requires: qt4-devel libsqlite3-devel
Distribution: Mandriva
Vendor: Juanra Goti
Packager: Juanra Goti

BuildRequires: libqt4-devel >= 4.4.3

%description
Programa gestor de una base de datos basada en fichas. Podemos
usar el programa para gestionar colecciones de variados datos: Cine, Literatura, Recetas
de Cocina o sobre temas Linux, que es para lo que originalmente fue creado.

%prep
%setup -q

%build
#No hacemos un qmake -project por que no necesitamos generar un archivo Makefile, ya lo tenemos y lo usamos, por lo que pasamos el archivo proyecto, extensión .pro
qmake -makefile %{name}.pro
#Creamos el programa
make

%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

#En el directorio donde construiremos el paquete, ~rpm/BUILROOT, creamos los directorios espejos donde copiaremos e instalaremos luego los archivos de nuestra aplicación
mkdir -p $RPM_BUILD_ROOT/usr/bin
#Y copiamos los archivos del directorio de construcción, ~/rpm/BUILD, a los directorios donde luego se instalarán realmente en el sistema huesped
cp -a $RPM_BUILD_DIR/%{name}-%{version}/bin/%{name} $RPM_BUILD_ROOT/usr/bin

#Las dos siguientes "estructuras" son para crear la entrada del menú y su icono correspondiente
mkdir -p $RPM_BUILD_ROOT/usr/share/applications
cp -a $RPM_BUILD_DIR/%{name}-%{version}/rpm/fichasdrake.desktop $RPM_BUILD_ROOT/usr/share/applications

mkdir -p $RPM_BUILD_ROOT/usr/share/icons
cp -a $RPM_BUILD_DIR/%{name}-%{version}/img/fichasdrake.png $RPM_BUILD_ROOT/usr/share/icons

mkdir -p $RPM_BUILD_ROOT%{_menudir}

#Creamos la entrada de menú de nuestra aplicación, se crea en el menú inicio de kde, submenú Oficina
cat << EOF > $RPM_BUILD_ROOT/%{_menudir}/%{name}
?package(%{name}) \
icon="/usr/share/icons/fichasdrake.png" \
section="Office" \
title=%{name} \
longtitle="Base de datos basada en fichas" \
xdg="true"
EOF

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT

%post
%{update_menus}
%postun
%{clean_menus}

%files
%defattr(-,root,root)
%{_bindir}/%{name}
%{_datadir}/icons/fichasdrake.png
%{_datadir}/applications/fichasdrake.desktop
%{_menudir}/%{name}

%changelog
* Tue Sep 29 2009 Juanra Goti/Ubaloie
- Paquete para Mandriva

1.3-. Por último y para construir el paquete habría que teclear en la terminal:

rpmbuild -ba FichasDrake-0.0.1.spec

Hay cosas para cambiar, como el nombre del empaquetador y de la aplicación además de no estar totalmente depurado por tener entradas repetidas en dos de los ficheros, pero es totalmente funcional y puede ser adaptado a vuestras necesidades.

Saludos.

Web de FichasDrake
Otra de mis web

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.


Gravatar de angcubo

# 103309 me pierdo al crear rpms

Hola, lo primero gracias por este minitutorial.

Quiero crear un paquete con mi driver de nvidia, pero entiendo todo, hasta el punto 1.2.


1.2-. Una vez hecho lo anterior creamos un archivo oculto en nuestro directorio personal llamado:


.rpmmacros

A partir de ahí no se continuar, pone, que ponemos en el interior, pero ¿en un fichero de texto plano, o cómo?

Aparte el paquete ``rpmbuilds´´, no me lo localiza desde los repositorios, lo hago desde drake. Tengo los repositorios no oficiales marcado también. ¿Alguna idea?

Gracias,

Un saludo




Gravatar de DoctorBOFH

# 103316 Por favor usa el foro

Por favor usa el foro servicio tecnico para preguntar sobre cualquier problema con algún artículo de la documentación.

El contenido del fichero .rpmmacros es el que expone mas abajo, el autor del post.

%_topdir %(echo $HOME)/rpm
%_tmppath %(echo $HOME)/rpm/tmp

%packager Juanra Goti/Ubaloie
%distribution Mandriva Linux
%vendor Juanra Goti/Ubaloie

Los packagers de blogdrake usamos un .rpmmacros que nos diferencia de otros repositorios.Todos los packagers blogdrakeros usamos el mismo .rpmmacros

Saludos

Muy Suyo

Her DoctorBOFH

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.