Jaime Gil de Sagredo's Blog

26 mayo 2009

[Python] Primeras líneas de libnhopkg

Filed under: Desarrollo,nhopkg,Software Libre — Etiquetas: , — jaimegildesagredo @ 12:41

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

23 mayo 2009

Nhopkg con alma de serpiente

Filed under: Desarrollo,nhopkg,Software Libre — Etiquetas: , , , — jaimegildesagredo @ 16:30

Después de no sé cuanto sin escribir nada me dispongo, por fin, a hacerlo. Como no podía ser de otra forma voy a hablar sobre Nhopkg. Ahora mismo, no tengo a penas tiempo para continuar con el desarrollo de Nhopkg. Desde que salió la versión 0.5 no he tocado a penas el código por falta de tiempo. A pesar de ésto he seguido trabajando en él, eso si, de forma menos activa, únicamente pensando, haciendo bocetos…

(más…)

21 abril 2009

Fecha para Nhopkg 0.5

Filed under: Desarrollo,nhopkg,Software Libre — Etiquetas: , , — jaimegildesagredo @ 14:59

Como bien dicen, se hizo esperar, pero ya tiene fecha de salida, el 30 de Abril, para comenzar el mes con buen pie. A pesar de los diversos problemas antes de su salida, y aun sin resolver, el desarrollo de Nhopkg continuará y lo demuestra con el anuncio de la fecha de liberación de, quizás, la más importante de sus versiones hasta el momento. A continuación os dejo la carta de presentación de esta nueva versión, con gran cantidad de mejoras, pero lo más importante, con una comunidad cada vez más grande, y de la cual me enorgullezco. Sin más preámbulos, os presento a Nhopkg 0.5.

announcement-es

Además aprovecho para agradecer todo el apoyo que se me ha ofrecido desde que se hicieron públicos los problemas previos a Nhopkg 0.5, y por supuesto, a todos los que han estado ahí desde el primer día, está versión de Nhopkg es vuestra.

16 abril 2009

Llegan problemas antes de Nhopkg 0.5

Filed under: Desarrollo,nhopkg,Software Libre — Etiquetas: , , , — jaimegildesagredo @ 10:25

nhopkg

Con la eminente llegada de Nhopkg 0.5 a la luz pública, empiezan a aparecer ya los problemas. Además toca problema gordo donde los haya. Os explico. Tengo ya la primera parte del repositorio creada. Se trata de software básico, que cualquier distribución GNU/Linux trae instalado, pero que es necesario para el repositorio, por eso de ir cumpliendo dependencias. Esa es una gran noticia, podría parecer, ya que se está empezando a poblar el repositorio. Son ya entorno a setenta paquetes compilados, de momento para arquitectura i686 (más adelante habrá disponibilidad para otras como x86_64 y ppc). Además de esos setenta paquetes binarios también está los, otros setenta paquetes fuente correspondientes.

El problema es el siguiente, no tengo espacio para dar soporte a tal repositorio. Creía que podría ir tirando con este hosting, pero tal como van las cosas no me llega. Tan solo con esta parte del repositorio que ya tengo, me quedaría sin espacio, y luego ni hablar de transferencia si tiene mucho éxito (o un éxito normal). Además, si me quedara sin espacio con un repositorio competente, bueno, no sería tan problemático, pero se trata de un repositorio básico. Para el que quiera ver de qué ira el repositorio, están ya, en fase de pruebas, los estándares de empaquetado en http://pub.jotahacker.es/nhopkg/nhopkg-packaging-standards.pdf.

Este problema me trae de cabeza. Una de las condiciones de liberar Nhopkg 0.5 era el tener operativo un repositorio 100% software libre, completo y funcional. De momento falla lo más importante, que sea funcional, ya que si no está no puede serlo. Me estoy empezando a plantear, si no hay cambios en breve, en tener que liberarla sin el repositorio activo, lo que creo que sería un bajón para su uso. Estoy mirando otros sitios donde alojar, tanto esta web, como el repositorio. Algún sitio que disponga de todo lo que necesito, una cantidad suficiente de espacio, una buena transferencia, un buen soporte técnico, etc. Ya tengo visto algo, pero aun no estoy seguro, además de que no se bien cómo lo pagaré.

Este cambio era cuestión de tiempo. Con el actual servicio no me da más que para el blog y el foro, pero ni de lejos para mantener el repositorio (tenía muchas y buenas expectativas de éste) y mucho menos los próximos proyectos, como la distribución GNU/Linux, de la cual posiblemente hable en poco tiempo.

En cuanto haya cambios os tendré informados, mis queridos lectores. Y como no, gracias a todos los comentarios que últimamente han ido llegando, tanto al blog como por email para dar vuestro apoyo al proyecto, y a la gente que está publicando todas las novedades en sus blogs, webs, etc. Gracias.

« Newer PostsOlder Posts »

Powered by WordPress