Jaime Gil de Sagredo's Blog » nhopkg http://jotahacker.es Jaime Gil de Sagredo personal's blog talking about opensource, free software, gnu/linux, programming and more... Mon, 25 Jul 2011 17:29:07 +0000 en hourly 1 http://wordpress.org/?v=3.3.1 VegnuX NeonatoX 0.5.1 “Laguna de Piedra” http://jotahacker.es/vegnux-neonatox-0-5-1-laguna-de-piedra/ http://jotahacker.es/vegnux-neonatox-0-5-1-laguna-de-piedra/#comments Sun, 04 Apr 2010 10:45:39 +0000 jaimegildesagredo http://jotahacker.es/?p=421 Como nos comenta Carlos en el blog del proyecto, VegnuX Neonatox 0.5.1, con nombre clave “Laguna de Piedra“, ha sido liberada tras casi un año de duro trabajo y esfuerzo. Sin duda estoy seguro de que esta versión marcará un antes y un después en este ambicioso proyecto.

Para los que no conozcan VegnuX NeonatoX, decir que es una distribución 100% libre (reconocida ya por la Free Software Foundation de Latino América) desarrollada en Venezuela y basada en Linux From Scratch, es decir, que se ha creado desde cero, sin basarse en ninguna otra distribución (a parte de LFS, claro). Además NeonatoX utiliza el sistema de gestión de paquetes Nhopkg desde hace ya varias versiones.

Laguna de Piedra viene con dos sabores: la tradicional versión XFCE y la nueva versión con KDE4 que hará las delicias de lo KDEros. Para ir abriendo boca podéis descargarlas, usando el torrent, desde aquí:

Os dejo unas capturas de mi instalación de NeonatoX KDE4.

]]>
http://jotahacker.es/vegnux-neonatox-0-5-1-laguna-de-piedra/feed/ 6
[Nhopkg] Nombres para los paquetes .nho http://jotahacker.es/nhopkg-nombres-para-los-paquetes-nho/ http://jotahacker.es/nhopkg-nombres-para-los-paquetes-nho/#comments Tue, 01 Dec 2009 19:06:18 +0000 jaimegildesagredo http://jotahacker.es/?p=361 nhopkg-repo-ls-1

Estoy trabajando en los labels que Nhopkg utilizarán para designar los nombres de los paquetes en próximas versiones. Para versiones futuras, y actual versión en desarrollo, hay que considerar que Nhopkg será multiplataforma, llegando a múltiples arquitecturas y sistemas operativos (BSD, Solaris, etc.) y esta información debería ser visible rápidamente.

La mejor forma de dar a conocer esta información es a través del nombre del paquete (package label). El label debe contener la siguiente información: nombre, versión y revisión del paquete, además de la arquitectura y el nombre del kernel del sistema operativo.

El problema, o la dificultad, es elegir la disposición de estos elementos, para facilitar la lectura y la obtención de los datos por parte del mismo programa. En la lista de correo de Nhopkg he propuesto varias alternativas para discutir sus ventajas frente a otras y para pedir sugerencias, ya que al fin y al cabo, a quien interesa, es a los usuarios que lidiarán con dichos paquetes.

Las dos opciones prácticamente descartadas son:

  • <name>-<version>-<release>.<os>.<arch>.nho (Ej.: gimp-2.6.7-1.linux.i386.nho) ya que, en principio no es equivalente para los paquetes fuente, en los que la arquitectura y el sistema operativo debería reducirse a src (Ej.: gimp-2.6.7-1.src.nho).
  • <name>-<version>-<release>.<arch>_<os>.nho (Ej.: gimp-2.6.7-1.i386_linux.nho) ya que podría haber problemas al trabajar con arquitecturas x86_64 (Ej.: gimp-2.6.7-1.x86_64_linux.nho).

Finalmente, la opción que empieza a tener más fuerza es la de usar:

  • <name>-<version>-<release>.<arch>-<os>.nho (Ej:. gimp-2.6.7-1.i386-linux.nho).

Aunque éste no es un tema crucial para el desarrollo de Nhopkg, pero si considero que es bueno conocer la opinión del usuario final y futuros desarrolladores sobre ciertos temas, que les van a tocar directamente. Espero opiniones sobre el tema, y si queréis, podéis apuntaros a la lista de desarrollo de Nhopkg para seguir más de cerca el desarrollo.

]]>
http://jotahacker.es/nhopkg-nombres-para-los-paquetes-nho/feed/ 1
Base de datos de Nhopkg http://jotahacker.es/base-de-datos-de-nhopkg/ http://jotahacker.es/base-de-datos-de-nhopkg/#comments Fri, 05 Jun 2009 09:44:51 +0000 jaimegildesagredo http://jotahacker.es/?p=331 La nueva base de datos de Nhopkg usará el motor SQLite3, con el cual se ganará una velocidad extra (que la versión 0.5 no garantizaba en algunos momentos) y mayor usabilidad. Aunque ahora no pueda trabajar mucho en el desarrollo de Nhopkg, pero si estoy haciendo alguna cosilla. Entre estas cosas, voy subiendo de vez en cuando cambios en el código al repositorio bazaar en sourceforge y también voy documentando las cosas poco a poco, para que resulte más fácil colaborar con el proyecto.

Ahora os muestro el diagrama de la base de datos, que en principio usará Nhopkg. Digo en princpio porque al estar en contrinuo desarrollo nunca se sabe si podrá cambiar algunos aspectos de ésta, o quizá completamente. Ahí va un adelanto, cualquier sugerencia será bienvenida.

nhopkg-db

Para el que quiera curiosear algo más, en el repositorio bazaar puede encontrar los archivos SQL.

]]>
http://jotahacker.es/base-de-datos-de-nhopkg/feed/ 6
[Python] Primeras líneas de libnhopkg http://jotahacker.es/python-primeras-lineas-de-libnhopkg/ http://jotahacker.es/python-primeras-lineas-de-libnhopkg/#comments Tue, 26 May 2009 11:41:00 +0000 jaimegildesagredo http://jotahacker.es/?p=309 Las siguientes líneas son un pequeño anticipo de lo que será libnhopkg, la librería básica de Nhopkg escrita en Python, tal y como anuncié en la entrada anterior.

Tan solo es el script y la clase encargados de obtener la información que necesitará Nhopkg para funcionar. Esta información la recoge, en primer lugar del sistema, datos como la arquitectura, la versión del kernle, etc. y por otro lado del archivo de configuración nhopkg.conf. Se trata de una parte muy básica de la librería, pero indispensable (creo yo) para seguir trabajando. Además, aunque no lo postee aquí, estoy trabajando en las clases necesarias para leer y obtener la información de los archivos nhoid, presentes en los paquetes.

Antes de nada también aprovecho para mostraros una plantilla (sin datos) de lo que será el archivo nhopkg.conf, con algunos cambios significativos desde la última versión estable. Aunque está bastante completo, no descarto que se le añadan más campos al archivo.

[main]
sysconfdir =
datadir =
localstatedir =
tmpdir =
buildir =
lockfile =

[database]
database =

[server]
server =

[packaging]
find_dirs =
no_upgrade_file =

[options]
check_deps =
check_inverse_deps =
check_md5sum =
verbose_mode =
nls_support =
nls_support_textdomain =
nls_support_textdomaindir =
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Nhopkg is a universal package manager for unix systems.
# Copyright (C) 2009 Jaime Gil de Sagredo Luna <jaimegildesagredo@gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

"""Default Nhopkg configuration."""

import os
import ConfigParser

class config_parse:
  """Get data from Nhopkg configuration file."""
  def __init__(self, config):
    """config: Nhopkg configuration file."""
    self.config_file = config
    (self.sysname, self.hostname, self.sysrelease, self.sysversion, \
      self.machine) = os.uname()

    self.read_file()
    self.parse()

  def read_file(self):
    """Read Nhopkg configuration file."""
    self.config = ConfigParser.ConfigParser()
    self.config.read(self.config_file)

  def parse(self):
    """Parse Nhopkg configuration file."""
    self.sysconfdir = self.config.get('main', 'sysconfdir')
    self.datadir = self.config.get('main', 'datadir')
    self.localstatedir = self.config.get('main', 'localstatedir')
    self.tmpdir = self.config.get('main', 'tmpdir')
    self.buildir = self.config.get('main', 'buildir')
    self.lockfile = self.config.get('main', 'lockfile')
    self.database = self.config.get('database', 'database')
    self.server = self.config.get('server', 'server')
    self.find_dirs = self.config.get('packaging', 'find_dirs')
    self.no_upgrade_file = self.config.get('packaging', 'no_upgrade_file')
    self.check_deps = self.config.get('options', 'check_deps')
    self.check_inverse_deps = self.config.get('options', 'check_inverse_deps')
    self.check_md5sum = self.config.get('options', 'check_md5sum')
    self.verbose_mode = self.config.get('options', 'verbose_mode')
    self.nls_support = self.config.get('options', 'nls_support')
    self.nls_support_textdomain = self.config.get('options', \
      'nls_support_textdomain')
    self.nls_support_textdomaindir = self.config.get('options', \
      'nls_support_textdomaindir')

En breve subiré las primeras líneas de este código al nuevo repositorio bazaar de Nhopkg, mucho más cómodo y en mi opinión mejor que el anterior svn. http://nhopkg.bzr.sourceforge.net/bzr/nhopkg/changes

Además la lista de correo de desarrollo de Nhopkg está ya activa, si quieres unirte al desarrollo o estar informado de las últimas novedades de éste, no dudes en suscribirte: https://lists.sourceforge.net/lists/listinfo/nhopkg-svn

]]>
http://jotahacker.es/python-primeras-lineas-de-libnhopkg/feed/ 7