Archivo

Artículos etiquetados y‘proyectos’

Nhopkg… el instalador universal.

Mayo 7, 2009 msdark 4 comentarios

Nhopkg es un proyecto que intenta crear un administrador de paquetes universal, es decir, un sistema que sea capaz de instalar paquetes binarios y fuentes para cualquier distribución Linux/Unix, esto con el afán de terminar con las “incompatibilidades” entre distros… que si uso pkg, rpm, pacman, etc.

Nhopkg está en su version 0.5 y es un software en desarrollo pero completamente funcional, puede instalar paquetes binarios, fuentes y crear paquetes -src.nho a partir de las fuentes .tar.gz o .tar.bz2 de cualquier software. Además realiza el control de dependencias, e incluso es capaz de verificar la existencia de un paquete de software instalado con cualquier otros sistema de paqueteria (lease apt, rpm, pacman, emerge….)

Este es un gran proyecto que me he dado a la tarea de probar en mi arch y de apoyar (desde ahora)….

Puedes visitar la pagina oficial del proyecto en http://nhopkg.sourceforge.net e instalar este adminstrador en su distro, para probarlo y contribuir al proyecto.

El repositorio actual puede que no sea muy grande, pero día a día va creciendo.

Saludos

Categorías:Distros, Programación, Tips Etiquetas:, ,

Comunidad ArchLinux Chile..!!!!!

Febrero 6, 2009 msdark Deja un comentario

Recuerdan un post de hace un tiempo en donde hacia un llamado a los archero chilenos para conformar una comunidad?… y que les comete que habia un intento pero que estaba estancado?…

Bueno el resultado es que nos hemos reunido todos y hemos comenzado a trabajar… y ya tenemos todo organizado y listo!!!

Muchas gracias a Saint, Erf, Phifo, ydossow y varios que se me olvidan aún sus nicks por todo el trabajo que hemos hecho… vamos que se puede…

Ahora estan todos invitados a participar y colaborar en y con la nueva comunidad ArchLinux-CL

ArchLinux Chile

CompileWorld 0.2

Septiembre 22, 2008 msdark Deja un comentario

CompileWorld es el primer script que escribi que tenia una utilidad mayor.
CompileWorld es una herramienta para la compilacion masiva de un sistema arch.
Esta escrito en shell y para su funcionamiento necesita pacman y yaourt.

Para más información revisa en la zona de compileWorld en el sitio.
Para descargarlo hazlo desde aquí (Rapidshare)

Categorías:General Etiquetas:, ,

MPD-Notify 0.2.2

Septiembre 22, 2008 msdark Deja un comentario

MPD-NOTIFY ya esta en su version 0.2.2 donde se han reparado algunos bugs y se ha realizado un sistema de plugins (básico aún) donde ya existen 2. song-change y vol-change

Puedes encontrar mas información en la zona de este blog de mpd-notify

Para descargarlo : http://rapidshare.com/files/146448798/mpd-notify0.2.2.tar.gz

Categorías:General Etiquetas:, ,

Mi Contribución a Arch…. CompileWorld..

Septiembre 12, 2008 msdark 2 comentarios

Este script lo hice, en primera instancia para aprender un poco y también por su utilidad.

#/bin/sh
# CompileWorld
# By Msdark (msdark@archilinux.us)
#
# Copyright (C) 2008 Matías Hernández
#
#
# Licensed under the GNU General Public License Version 3
#
# Este Script sirve para compilar todos los paquetes instalados en el sistema
#
# Para esto, revisa que paquetes han sido instalados con
# pacman -Q -e
# Una vez recuperados los paquetes instalados, el script
# busca en el arbol de directorios ABS por el PKGBUILD de cada paquete
# para ejecutar la compilación con makepkg.
#
# Por Defecto el directorio de trabajo del script es /tmp/compileworld
# Al finalizar el funcionamiento del script, este directorio es borrado
#


############## DIRECTORIOS DE TRABAJO #################
TMP="/tmp/compileworld"
PKG_FILE="$TMP/paquetes"
PKG_FILE_TMP="$TMP/paquetes.tmp"
PKG_DIR_FILE="$TMP/directorios"

############## VARIABLES DE SISTEMA ##################
REPOSITORIO=''
######################################################

#
# Revisa si el usuario es root
#
function check_root(){
ROOT_UID=0
E_NONROOT=67
if [ "$UID" -ne "$ROOT_UID" ]; then
printf "$(gettext "%s Necesitas ser root")\n" "$CMD_NAME"
exit $E_NONROOT
fi
}

#
# Revisa si existe un binario especifico
# si no muestra un mensaje de error
#
function chequea_requerimientos(){
if ! which $1 >/dev/null 2>&1; then
printf "${LRED}$(gettext "Necesitas instalar %s!")\n" "$1"
exit 1
fi
}


#
# Chequea cada uno de los requerimientos del script
#
function requerimientos(){
chequea_requerimientos "pacman"
chequea_requerimientos "abs"
chequea_requerimientos "tar"
chequea_requerimientos "makepkg"
}

#
# Genera variables para la salida a colores
#
function salida_color(){
DEFA="33[1;0m"
BOLD="33[1;1m"
LRED="33[1;31m"
LGRE="33[1;32m"
YELL="33[1;33m"
LBLU="33[1;34m"
}

#
# Se encarga de manejar el entorno
# limpia los directorios y crea lo necesario
#
function enviroment(){
rm -rf /tmp/compileworld &> /dev/null
mkdir -p /tmp/compileworld
salida_color
}


#
#obtiene los paquetes instalados explicitamente
#
function get_paquetes(){
pacman -Q -e > $PKG_FILE_TMP
while read linea; do
#paquete=$linea | awk '{print $1}'
#echo $paquete >> $PKG_FILE
echo $linea | awk '{print $1}' >> $PKG_FILE
done /dev/null
}
#
#Obtiene el directorio ABS de cada paquete instalado
#
function get_directorio_abs(){
while read linea; do
printf "${LGRE}$(gettext "Buscando el directorio de %s")\n${DEFA}" $linea
directorio=`find /var/abs/ -name $linea -print` &> /dev/null
echo $linea $directorio >> $PKG_DIR_FILE
done < $PKG_FILE
}

#
# Ejecuta la compilacion de cada paquete con makepkg
#
function compilar(){
cd $1
makepkg --asroot -c -C -i
}


#
# Busca el PKGBUILD de cada paquete
# y lo guarda en un nuevo arbol de directorios en el directorio de trabajo
#
function get_pkgbuild(){
#$1 nombre del paquete
#$2 directorio del paquete
if [ ! $2 ]; then
printf "${LRED}$(gettext "Imposible encontrar PKGBUILD del paquete %s No se compilara")\n${DEFA}" $1
else
printf "${LGRE}$(gettext "PKGBUILD de %s ENCONTRADO")\n${DEFA}" $1
mkdir -p $TMP/$1
cp $2/* $TMP/$1
compilar "$TMP/$1"
fi
}

#
# Ejecuta las funciones necesarias para la compilacion de cada paquete
#
function generar_compilacion(){
while read linea; do
paquete=`echo $linea | awk '{print $1}'`
directorio=`echo $linea | awk '{print $2}'`
get_pkgbuild "$paquete" "$directorio"
done < $PKG_DIR_FILE
}

#
# MAIN
#
function main(){
source gettext.sh
enviroment
check_root
requerimientos
get_paquetes
get_directorio_abs
generar_compilacion
rm -rf $BUILD_DIRECTORY
}

main $@

Para ejecutarlo simplemente darle permisos de ejución:
chmod +x compileWorld
y luego ejecutar
$ ./compileWorld

Saludos