Archivos de Tags: Ubuntu - Paginas 5

Debianizar Paquetes Precompilados Con CDBS

Hola, CDBS es la nueva herramienta para debianizar (empaquetar) programas. Desde que la conozco me ha simplificado la vida bastante para debianizar paquetes. Una de las cosas que más me ha costado averiguar es cómo empaquetar programas precompilados o empaquetar temas de iconos, gtk-themes o wallpapers, ya que estos no hay que compilarlos para empaquetarlos. Se hacerlo sin CDBS pero el archivo rules tienes cada vez que crearlo entero o hacer copy-paste de otros ya hechos. Con CDBS, generalmente, no hay que hacer nada o casi nada extra con el archivo rules porque ya te lo hace. No os preocupéis mucho si no me entendéis mucho de lo que digo, en un momento os enteraréis de la peli :-P

Voy a escribir varios artículos sobre debianizar con CDBS, el próximo lo dedicaré a empaquetar temas de iconos, gtk-themes, etc... incluyendo la multipaquetería, así que preparaos para el truño que voy a meter :-P En realidad lo que persigo es que la gente tenga una ayuda actualizada de cómo debianizar. Al que le interese claro :-P

Bueno empecemos con el jaleo ya. Lo primero es instalar todos los paquetes necesarios para poder debianizar con CDBS.

sudo su -

apt-get install build-essential dpkg-dev file libc6-dev patch perl autoconf automake dh-make debhelper devscripts devscripts-el fakeroot gnupg g77 gpc xutils lintian cdbs pbuilder debian-policy developers-reference manpages-es manpages-es-extra debian-reference-es

exit

Bueno con eso vais más que servidos ;-) , si falta alguno no problem, al debianizar se os indicará qué necesitáis instalar.

Bien, para este artículo voy a elegir la versión portable de Geogebra como ejemplo, al ser portable ya viene precompilado. Así que al debianizarlo sólo hay que indicar dónde meter su contenido en nuestro linux debianita.  Se puede descargar de AQUÍ.

Una vez descargado como es un tar descomprimidlo ;-) Al descomprimirlo se nos ha creado una carpeta que desgraciadamente no tiene en su nombre el número de la versión, pero esto se arregla fácil, cambiamos el nombre y lo dejamos así:

geogebra-3.2.42.0

Como igual cuando consultes este artículo la versión ya haya cambiado modifícala ;-)

Una cosa importante es que el nombre del programa de la carpeta siempre debe ir en minúsculas y se antepone un guión al número de la versión; independientemente del paquete a debianizar y su estructura ok ? ;-)

Vale abrimos terminal y nos creamos un directorio en donde debianizaremos todos nuestros paquetes y uno adrede para el de Geogebra, lo haremos desde nuestro home.

mkdir -p Debianizo/GEOGEBRA

Dentro del directorio de GEOGEBRA copiad el de geogebra-3.2.42.0 (el que hemos descomprimido), lo podéis hacer con el ratón, acedemos a dicho directorio:

cd Debianizo/GEOGEBRA/geogebra-3.2.42.0

Aclaro, es buena paractica crearte un directorio donde debianizar tus paquetes y un subdirectorio dedicado a cada programa a debianizar, ya que cuando obtengamos el paquete .deb se nos crearán muchos ficheros, y de esa forma los tendremos todos ordenaditos.

Hago un inciso, antes de seguir dentro de la carpeta geogebra-3.2.42.0 borrad la carpeta jre porque no la necesitamos absolutamente para nada en nuestro paquete a debianizar. Esto sólo es para éste caso.

También vamos a modificar el fichero geogebra.sh para que funcione con el java de Sun de nuestro sistema operativo, es suficiente con que quede así:

#!/bin/sh

/usr/lib/jvm/java-6-sun/jre/bin/java -jar /usr/share/geogebra/geogebra.jar "$@"

Bien, ahora se trata de crear el directorio debian con todos los ficheros necesarios para poder debianizar, lo haremos con el script dh-make y que viene incluido con el paquete devscripts. En realidad podríamos hacerlo a mano, pero así es más rápido. Así que desde el directorio geogebra-3.2.42.0 en la terminal escribid:

dh_make -e <nuestrocorreo> -r -s -b

Poned vuestro correo con los circunflejos inclusive. Con la opción -r nos creará un fichero fuente, con la opción -s le indicamos que sólo vamos a crear un paquete, y con la opción -b le indicamos que queremos debianizar con CDBS, así que no olvidéis ésta última opción.

Al hacer éste comando se os habrá creado un directorio llamado debian y dentro del mismo multitud de ficheros, vamos a quitar unos cuantos de un plumazo porque para nuestro ejemplo nos sobran, en artículos posteriores os iré explicando cosas de ellos.

cd debian

rm -f *.ex *.EX README.* docs

Os deben de haber quedado los siguientes ficheros:

changelog compat control copyright rules

El fichero compat no se toca ;-) . El fichero changelog es donde vamos poniendo nuestros sucesivos empaquetamientos del programa (cuando actualizamos de versión, incluimos parches, etc), y el fichero coyright es donde metemos la licencia del programa y del empaquetador. No os preocupéis os dejo un enlace de descarga de mi directorio debian de Geogebra para que os sirva de guía. Es que si lo pongo aquí esto se hace muy largo, y esto es más fácil viéndolo, no es nada complicado.

El fichero control nos aparecerá así (lo podéis editar con gedit)

Source: geogebra

Section: unknown

Priority: extra

Maintainer: Cristobal Lopez <lopeztobal@gmail.com>

Build-Depends: cdbs, debhelper (>= 7)

Standards-Version: 3.8.3

Homepage: <insert the upstream URL, if relevant>

Package: geogebra

Architecture: any

Depends: ${shlibs:Depends}, ${misc:Depends}

Description: <insert up to 60 chars description>

<insert long description, indented with spaces>

Cosas a tener en cuenta, en la sección Build-Depends especificamos las dependencias para poder compila y empaquetar el programa, como en nuestro caso ya viene compilado sólo debemos poner las de empaquetado. En nuestro caso con las que viene es suficiente.

La sección Depends es donde especificamos las dependencias del programa para que funcione cuando se ejecute o el usuario lo instale, ¡muy importante saber diferenciar esto! Aquí nos pone dos scripts que nos harán la faena por nosotros, ${shlibs:Depends}, ${misc:Depends} pero en éste caso no nos sirven de mucho, así que los borraremos y pondremos la dependencia a mano, que será  sun-java6-jre.

En la sección Architecture pondremos para qué arquitectura se debe debianizar, para Geogebra como es portable cambiamos any por all. Así pues el fichero control nos queda así:

Source: geogebra

Section: math

Priority: optional

Maintainer: Cristobal Lopez <lopeztobal@gmail.com>

Build-Depends: debhelper (>= 7), cdbs

Standards-Version: 3.8.4

Homepage: http://www.geogebra.org

Package: geogebra

Architecture: all

Depends: sun-java6-jre

Description: Dynamic mathematics for schools

GeoGebra is a free and multi-platform dynamic

mathematics software for schools that joins

geometry, algebra and calculus. It received se-

veral international awards including the European

and German educational software awards.

Perfecto, vamos a ver qué nos cuenta el archivo rules, al abrirlo nos aparece así:

#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk

include /usr/share/cdbs/1/class/makefile.mk

# Add here any variable or target overrides you need.

Como no se va a compilar nada nos sobra la línea que hace referencia a makefile.mk, así que la borramos y nos queda así:

#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk

Y ya no necesitamos poner nada más, así de sencillo es. Y eso es así porque CDBS en realidad es un conjunto de "macros" que se encargan de hacer gran parte del trabajo que se hacía antes con rules por nosotros, y para que funcione tan sólo hay que llamar la macro que necesitamos con la orden include, en nuestro caso como no vamos a compilar sólo necesitamos que se ejecute la debhelper.mk.

Desgraciadamente muchos de estos programas precompilados no llevan lo necesario para que tengan un lanzador en nuestro escritorio y deberemos crearlos nosotros mismos, se crean como ficheros de extensión .desktop, así que creamos uno que se llame en nuestro caso geogebra.desktop y lo guardamos en el directorio debian. Aquí os pongo el mio:

[Desktop Entry]

Version=1.0

Type=Application

Name=GeoGebra

GenericName=GeoGebra - Dynamic mathematics

Comment=Dynamic mathematics for shools

GenericName[de]=GeoGebra - Dynamisches Mathematikprogramm

Comment[de]=Dynamische Mathematik für Schulen

Name[de]=GeoGebra

GenericName[es_ES]=GeoGebra - Matemáticas Dinámicas

Comment[es_ES]=Matemáticas Dinámicas En La Enseñanza

Name[es_ES]=GeoGebra

Icon=geogebra.png

Exec=geogebra.sh

Categories=Education;Math;

StartupNotify=false

Terminal=false

En éste artículo hecho por mi tenéis cómo crear estos ficheros.

Nos queda crear dos ficheros que son para especificar dónde instalar el contenido del programa. Tienen siempre las extensiones .dirs y .install. En el .dirs especificamos los directorios base en dónde se instala el programa y en el .install dónde se instala el programa en sí. Es muy fácil. Creamos los ficheros geogebra.dirs y geogebra.install. En geogebra.dirs tendremos estas líneas:

usr/share/pixmaps

usr/share/applications

usr/bin

usr/share/geogebra

En el /usr/bin irá el ejecutable del programa, en el /pixmaps el icono del lanzador, en /applications el lanzador geogebra.desktop y en usr/share/geogebra todo el programa.

En el fichero geogebra.install tengo esto:

debian/geogebra.png usr/share/pixmaps

debian/geogebra.desktop usr/share/applications

geogebra.sh usr/bin

unsigned/* usr/share/geogebra/unsigned

geogebra.jar usr/share/geogebra

geogebra_cas.jar usr/share/geogebra

geogebra_export.jar usr/share/geogebra

geogebra_gui.jar usr/share/geogebra

geogebra_main.jar usr/share/geogebra

geogebra_properties.jar usr/share/geogebra

icon.png usr/share/geogebra

Que como veis no hay mucho que explicar, es decir dónde van cada uno de los directorios y ficheros del programa.

Estos ficheros .install y .dirs son muy importantes para debianizar un programa en varios paquetes, ya volveremos a ello. Su nombre debe coincidir siempre con el nombre que hemos puesto en el fichero control !!!!!

Y bien, si queremos rematar la faena de forma elegante vamos a crear un fichero .menu de nuestro programa para conservar las reglas Debian en cuanto a lanzadores. Creamos un fichero llamado geogebra.menu con el siguiente contenido:

?package(geogebra):needs="X11" section="Applications/Education"\

title="geogebra" command="/usr/bin/geogebra.sh"

Como se puede apreciar es muy fácil de hacer.

Una última cosa ha hacer específica para éste paquete, copiad el fichero icon.png sito en el directorio geogebra-3.2.42.0 en el directorio debian y cambiadle el nombre por el de geogebra.png. Esto lo hago para añadir el icono en el directorio del sistema /usr/share/pixmaps, debería de ser un icono en formato .xpm, pero no pasa nada si es .png. Es una buena práctica hacer esto en nuestros paquetes, siempre y cuando no tengan el icono.

Pues nada tan sólo nos queda debianizarlo, desde el directorio debian ejecutamos debuild así:

debuild -i -us -uc -b

O si van firmados para un repositorio oficial mejor así:

debuild -b -sa -tuclavedelrepositorio

Si todo ha salido bien ya tenéis vuestro paquete deb, sólo resta instalarlo ;-)

Os saldrán dos warnings (avisos) de lintian, uno se refiere a que el fichero ejecutable sito en /usr/bin llamado geogebra.sh no tiene página del manual man, no os preocupéis por ello ya que geogebra no tiene man. El otro lo obviamos que no pasa nada ;-)

Os dejo un enlace de descarga del debian de Geogebra mio para que os sirva de guia

Uuuuufffff!!!!! cuesta más explicarlo que hacerlooo!!! :-P Espero que le sirva a mucha gente, aunque no me lee casi nadie ;-)

Saludos :-)

[TIP] Dget Descargar Los Directorios Debian. Debianizar.

Hola, muchas veces cuando he ido a debianizar un programa me he encontrado que me ha resultado difícil hacerlo y necesitaba ayuda. La mejor ayuda que uno puede obtener para debianizar es obtener el directrorio debian junto con todos sus archivos; de esa forma vemos cómo se ha empaquetado cierto programa, si se le han añadido parches y cómo se le han añadido, etc...

Para obtener dicho directorio lo que hago es pasearme por las webs directas de descarga de los paquetes, como Ubuntu-Packages o Debian-Packages. En éstas páginas la mayoría de las veces no tienen el enlace directo de descarga del directorio debian. Para descargarlo debemos acceder al enlace del fichero de descarga con extensión .dsc.  Me explico, si queremos descargar el del paquete llamado ejemplo, el enlace sería: http://directoriodebian/ejemplo.dsc

Pero si hacemos click directamente a dicho enlace desde nuestro navegador sólo accederemos al fichero dsc sin más, debido a que nuestro navegador no soporta el protocolo dget. ¿Cómo solucionarlo? Muy sencillo, desde la terminal utilizaremos el comando dget.

Pongamos un ejemplo práctico que nos ayude a entenderlo. Supongamos que queremos el del programa maxima, pues bien desde terminal escribimos:

dget -xu http://ftp.de.debian.org/debian/pool/main/m/maxima/maxima_5.21.1-2.dsc

Con dicho comando se nos descargará un directorio descomprimido denominado, en nuestro caso, maxima-5.21.1; que si accedemos dentro del mismo encontraremos el directorio debian con todos sus códigos listos para aprender ;-)

Últimamente en Debian están incluyendo un .tar.gz del directorio debian exclusivamente de cada paquete, con lo cual en muchas veces no haría falta usar el comando dget. Pero muchos no los tienen, y además, si quieres obtenerlos de repositorios de terceros, como Launchpad, siempre nos vendrá bien éste comando.

El comando dget viene incorporado en el paquete devscripts, que es el que debes instalar para que funcione. Tienes un manual de dget desde la terminal con man, para conocerlo más a fondo.

Verdaderamente he aprendido muchas cosas de debianizar paquetes bajando y estudiando ejemplos reales de programas debianizados.

Saludos :-)

Maxima 5.21.1 En Ubuntu Lucid

Hola, os escribo para que al que le interese tener Maxima actualizado a su última versión a día de hoy ya puede instalarla fácilmente en Ubuntu Lucid desde mi repositorio en Launchpad. Para el que no lo sepa todavía Maxima, según reza su web, es:

Nota: Un sistema para la manipulación de expresiones simbólicas y numéricas, incluyendo diferenciación, integración, expansión en series de Taylor, transformadas de Laplace, ecuaciones diferenciales ordinarias, sistemas de ecuaciones lineales, y vectores, matrices y tensores. Maxima produce resultados con alta precisión usando fracciones exáctas y representaciones con aritmética de coma flotante arbitraria. Adicionalmente puede graficar funciones y datos en dos y tres dimensiones.

Para instalarlo primero deberás añadir mi repositorio:

sudo su -

add-apt-repository ppa:lopeztobal/maths

apt-get update && apt-get upgrade

exit

Si ya lo tenías instalado se te actualizará, y si no es así basta que desde Synaptic instales:

Nota: maxima-test xmaxima maxima-emacs maxima-doc

Como Maxima actúa sobre terminal, puede que te resulte  poco productivo su uso, así que te recomiendo que instales el programa wxmaxima que te simplificará mucho su uso, tienes también disponible su última versión ;-) Aunque también tienes soporte para utilizarlo bajo E-macs o con XMaxima.

Saludos :-)

Geany 0.19 En Ubuntu Lucid

Hola,  para el que no lo sepa aún ha salido una nueva versión de mi editor de código favorito , Geany. A mi me gusta mucho utilizarlo porque es muy liviano, portable, de fácil uso y con muchas características, gracias a los plugins de terceros.

Geany viene muy bien para programar en multitud de lenguajes: C/C++, Perl, XML, Python, PHP, HTML e incluso disponemos con un plugin con soporte para LateX. Una de las características que más me gustan es que gracias al plugin geany-gdb podemos hacer debugs (trazas) de nuestros códigos fácilmente. En fin, que tiene muchas cosas éste magnífico editor.

Estos días a ratos lo he ido compilando  y empaquetando, si alguien lo quiere probar o actualizar está ya disponible en mi propio repositorio de Launchpad, para añadir mi repositorio, si no lo has hecho ya ;-)

sudo su -

add-apt-repository ppa:lopeztobal/maths

apt-get update

apt-get upgrade

exit

Y para instalarlo con todos los plugins nuevos:

sudo apt-get install geany-plugins geany-plugins-common

Para ejecutarlo se encuentra en Aplicaciones->Programación

Saludos :-)

Rkward 0.5.3 En Ubuntu Y Mandriva

Hola, he empaquetado para Ubuntu Lucid y para Mandriva la nueva versión de Rkward, un programa basado en KDE 4 que es un GUI para poder trabajar con el lenguaje estadístico R, el cual es una alternativa libre al programa privativo SPSS. A quien le interese tener esta nueva versión, la cual corrige muchos bugs respecto de la versión anterior especifico instalación.

PARA UBUNTU LUCID

Añadir mi repositorio de Launchpad  si no lo has hecho ya y actualizar o instalarlo si no lo tienes instalado:

sudo su -

add-apt-repository ppa:lopeztobal/maths

apt-get update

apt-get upgrade

apt-get install rkward

exit

PARA MANDRIVA

Para los usuarios de Mandriva basta añadir los repositorios de MIB, los podéis añadir fácilmente desde EasyUrpmi en ésta web. Por ahora sólo hay paquete para Mandriva 2010.0 de 32 bits, en el transcurso de estos días estará disponible para 64 bits y Mandriva 2009.1

Saludos :-)

Page 5 of 28« First...34567...1020...Last »