Packager + Composer = repositorios privados – Parte 2

0

PHP Composer Packager

Siguiendo con la serie de posts referentes a packager. En esta segunda parte vamos a integrar packager y composer para poder crear un repositorio que tenga nuestros propios paquetes, pero además que contengan las dependencias de estos y otros paquetes que utilizamos en nuestros proyectos.

Recordamos que tenemos un repositorio con la siguiente estructura

.
├── packager.json
├── packages
│   └── packager-1.0.0.zip
└── packages.json

Ahora bien, supongamos que nuestros proyectos tienen dependencia con los siguientes componentes de symfony

  • symfony/console 2.1
  • symfony/finder 2.1
  • symfony/process 2.1
  • symfony/yaml 2.1
  • symfony/filesystem 2.1

Lo que vamos a necesitar ahora es crear un file llamado “composer.json” al nivel de “packages.json” donde declararemos nuestras dependencias y configuraremos a composer para que guarde los files que baja en el directorio donde nosotros alojamos nuestros paquetes (cache-files-dir=./packages)

{
    "name": "rgnu.com.ar/repository",
    "description": "Download repository dependencies",
    "type": "repository",
    "license": "GPL-3.0",
    "version": "0.1.1",
    "keywords": [ "repository" ],

    "require": {
        "symfony/console": "2.1.*@stable",
        "symfony/finder": "2.1.*@stable",
        "symfony/process": "2.1.*@stable",
        "symfony/filesystem": "2.1.*@stable",
        "symfony/yaml": "2.1.*@stable"
    },

    "config": {
        "cache-files-dir": "./packages"
    }
}

Una ves realizado esto ejecutamos un composer update, para que este baje las dependencias

$ ../composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/console (v2.1.8)
    Downloading: 100%         

  - Installing symfony/finder (v2.1.8)
    Downloading: 100%         

  - Installing symfony/process (v2.1.8)
    Downloading: 100%         

  - Installing symfony/filesystem (v2.1.8)
    Downloading: 100%         

  - Installing symfony/yaml (v2.1.8)
    Downloading: 100%         

Writing lock file
Generating autoload files

Una vez realizado el update, podemos borrar tanto el directorio vendor que se creo, como el file composer.lock

$ rm -rf vendor composer.lock

Ahora nuestro repositorio debería tener el siguiente contenido

.
├── composer.json
├── packager.json
├── packages
│   ├── packager-1.0.0.zip
│   └── symfony
│       ├── console
│       │   └── 2.1.8.0-v2.1.8.zip
│       ├── filesystem
│       │   └── 2.1.8.0-v2.1.8.zip
│       ├── finder
│       │   └── 2.1.8.0-v2.1.8.zip
│       ├── process
│       │   └── 2.1.8.0-v2.1.8.zip
│       └── yaml
│           └── 2.1.8.0-v2.1.8.zip
└── packages.json

Ahora lo único que nos queda es volver a realizar el build del repositorio para que incluya los paquetes que composer acaba de bajar

$ ../packager.phar build:repository
Loading Config ./packager.json
Process Repository ./
Add package rgnu.com.ar/packager (1.0.0)
Add package symfony/yaml (v2.1.8)
Add package symfony/console (v2.1.8)
Add package symfony/filesystem (v2.1.8)
Add package symfony/process (v2.1.8)
Add package symfony/finder (v2.1.8)

En la próxima entrega veremos como automatizar todo el proceso con Jenkins, de esta forma solo nos queda mantener el file “composer.json” con las dependencias y agregar nuestros paquetes al repositorio.

Packager + Composer = repositorios privados

1


Después de casi dos años de no postear nada, voy a tratar de armar una serie de posts relacionados con packager, una herramienta que se creó con el objetivo de mitigar algunas limitaciones y aspectos negativos del uso de composer y el repositorio que este usa por defecto packagist.org.

Hay dos aspectos que tratamos de solucionar con esta herramienta, el primero es poder generar un repositorio para composer que pudiera contener paquetes desarrollados internamente en la empresa, y el segundo es el problema de performance que actualmente tiene composer al realizar operaciones de update, install, search, etc, teniendo habilitado su repositorio por defecto. Este último lo logramos resolver al crear un repositorios que solo tiene aquellos paquetes que nos interesan, de esta forma reducimos considerablemente el tamaño del mismo.

Basta de tanto parloteo y pasemos a la acción. (más…)

Ubuntu 11.04 novedades

0

El próximo Ubuntu 11.04 nombre clave Natty Narwhal será lanzado en abril de este año. Va a incluir bastantes novedades, principalmente en la interface. La nueva versión de Ubuntu incluirá Unity.

Novedades Unity 3.6.0 en Ubuntu 11.04
En mi netbook el dash se ve a pantalla completa

Otro pequeño cambio es el nuevo color de fondo para el GRUB, más acorde a los tonos generales de Ubuntu.

El reproductor de música que se incluye por defecto en Ubuntu (Rhythmbox) será reemplazado por Banshee.

Los cambios más importantes para el usuario serán la inclusión de Unity con el nuevo AppMenu. La nueva forma de mostrar los menus de cada aplicación (en la zona superior) ahorrará bastante espacio en la pantalla. Falta por ver cuantas aplicaciones serán compatibles con este sistema en el lanzamiento de Ubuntu 11.04, pero tras verlo en funcionamiento la impresión general es que puede ser un cambio positivo.

Ubuntu 11.04 Novedades - Ubuntu 11.04 Natty Narwhal - Unity

(más…)

space-tweet: Buenos tweets vs. Malos tweets en Node, Socket.IO, MooTools

0

Reportado en el blog de Twitter, Jacob Thornton a creado una demostración divertida sobre el sentimiento de los tweet con el clásico Space Invaders.

Jacob buscaba aprender más sobre Node y desarrollo este proyecto utilizando Node.js, Socket.IO, MooTools, y el API de streaming de Twitter.

Ubuntu 10.10 Maverick Meerkat RC liberado

0

El release candidate de Ubuntu 10.10 ya está disponible para bajarlo.

Antecediendo a la release final, prevista para el 10 de Octubre, el primer release candidate de Ubuntu 10.10 (Maverick Meerkat), ya está disponible para descargarlo desde las siguientes direcciones.

Nota: Si ya están utilizando Ubuntu Maverick Beta, no necesitan descargar la RC, solo necesitan utilizar el Update Manager para actualizarlo.

Downloads

Ubuntu 10.10 Desktop

Estos son los links para el .iso del LiveCD. En lo posible traten de utilizar BitTorrent para la descarga.

Ubuntu Netbook Edition

La .iso de Ubuntu Netbook Edition puede ser instalada en un USB usando la tool que viene incorporada en Ubuntu.

Twitter se renueva – NewTwitter

1

“Bienvenido al nuevo Twitter.com”

Una experiencia más fácil, más rápida y más profunda. ¡Pronto estará disponible para todos los usuarios!

Twitter - NewTwitter - Nuevo Diseño

Esta es la consigna que proclama Twitter en NewTwitter, en las próximas semanas Twitter irá cambiando gradualmente el diseño y agregando una serie de funcionalidades a su sitio.


Ve fotos, vídeos y otro contenido externo.
Ver fotos y videos directamente en Twitter será más fácil, gracias al apoyo de DailyBooth, DeviantART, Etsy, Flickr, Justin.TV, Kickstarter, Kiva, Photozou, Plixi, Twitgoo, TwitPic, TwitVid, USTREAM, Vimeo, yfrog, y YouTube.

Descubre información pertinente
Al hacer clic en un Tweet, el panel de detalles mostrará información adicional relacionada con el autor o tema del Tweet. Dependiendo del contenido del Tweet, verás @respuestas, otros Tweets del mismo usuario, mapa de la ubicación del Tweet y mucho más.

Mini perfiles
Puedes hacer clic en un @nombredeusuario para ver el mini perfil sin tener que salir de tu página de inicio. Esto proporciona acceso rápido a la información de la cuenta como Tweets y biografía

Duración del lanzamiento gradual
Durante las próximas semanas, habrá un lanzamiento incremental de estos cambios. Podrás alternar entre las versiones para que tengas tiempo de acostumbrarte a cómo funcionan las cosas. Con el tiempo, todos tendrán acceso a la nueva versión de Twitter.com.

Node.js – NVM (Node Version Manager)

1

Después de algunos post que tenían como objetivo llamar la atención de Google, volvemos a los temas interesantes. Dando vueltas por algunos sitios sobre Node.js me encuentro con esta utilidad NVM (Node Version Manager) que me resulto muy práctica a la hora de compilar e instalar diferentes versiones de Node.js

Instalación

Para instalarlo debemos estar seguro que disponemos de un compilador de c++ en nuestro sistema. Para OSX, XCode debería funcionar, para Ubuntu, el paquete build-essential es suficiente. También necesitaremos git si vamos a realizar un seguimiento del HEAD del proyecto.

$ git clone git://github.com/creationix/nvm.git ~/.nvm

Luego agregamos las siguientes lineas en nuestro profile de bash:

$ NVM_DIR=$HOME/.nvm
$ . $NVM_DIR/nvm.sh
$ nvm use

La primera linea carga la función nvm en nuestro shell, dejandola disponible como un comando. La segunda linea configura nuestra versión por defecto de node a la última release.

Uso

Para bajar, compilar, instalar y usar la release v0.1.94 release de node, debemos hacer los siguiente:

$ nvm install v0.1.94
$ nvm use v0.1.94

Si deseamos realizar un seguimiento del HEAD, utilizamos el comando clone:

$ nvm clone
$ nvm use HEAD

Cuando deseamos realizar una actualización del código desde el repositorio de node:

$ nvm update

Para ver las diferentes versiones de node que tenemos instaladas vamos a utilizar el comando list:

$ nvm list

Con estos sencillos pasos, estaremos en unos minutos experimentando con está nueva plataforma de desarrollo.

Facebook – Dns Failure

1

Después de revisar mi conexión, verificar que mi ISP estuviera funcionando correctamente, veo con sorpresa que Facebook esta offline, con un error aparentemente en el DNS.

Facebook DNS Error - Fail

Facebook DNS Error - Fail

dig www.facebook.com

; <<>> DiG 9.7.0-P1 <<>> www.facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23288
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.facebook.com.              IN      A

;; ANSWER SECTION:
www.facebook.com.       11      IN      CNAME   sorry.ak.facebook.com.edgesuite.net.
sorry.ak.facebook.com.edgesuite.net. 20319 IN CNAME a1030.g.akamai.net.
a1030.g.akamai.net.     7       IN      A       204.2.249.33
a1030.g.akamai.net.     7       IN      A       204.2.249.50

Parece que después de todo el éxito lo alcanzo, tal cuál lo hizo con Twitter, y le jugo una mala pasada

Ubuntu 10.10 Maverick Meerkat Wallpapers

0

Luego de una cálida recepción, sale a la luz el wallpaper por defecto de Ubuntu 10.10 Maverick Meerkat, junto con otros 17, que acompañarán a esta nueva release.

Ubuntu 10.10 Maverick Meerkat Wallpapers

Descargá Ubuntu 10.10 Wallpaper, junto con otros 17 fantásticos wallpapers.

Ubuntu 10.10 Maverick Meerkat Beta Liberado

1

Ubuntu 10.10 Beta Maverick Meerkat

Canonical y el equipo de Ubuntu a liberado hoy la versión Beta de su distribución basada en Linux, Ubuntu 10.10 Maverick Meerkat, con una fecha estimada para su primera RC en Octubre, Ubuntu 10.10 Desktop Edition y Ubuntu 10.10 Netbook Edition tienen mejoras en los tiempos de booteo y start-up, y una mejorada experiencia durante el mismo, según lo declarado por Ubuntu y Canonical.

En esta versión GNOME a actualizado a la versión 2.31, incluyendo el nuevo dconf y gsettings API. También se ha actualizado Evolution a la versión 2.30.2, que tiene mejoras de performance importantes con respecto a la versión incluido en Ubuntu 10.04 LTS, Williamson dice, “En lugar de F-Spot, ahora el manejador de fotos por defecto es Shotwell”.

El equipo también actualizo Gwibber que ahora soportar el nuevo sistema de autenticación de Twitter, y cambia el backend de storage para mejorar su performance.

Ubuntu Desktop 10.10 incluye mejoras en el indicador de sonido, que ahora muestra los controles del player. Con nuevos temas, iconos y wallpapers, como así también una apariencia diferente en Ubuntu Software Center, que ahora ofrece las vistas de “Featured” y “What’s New” para aplicaciones, como también una mejor descripción del paquete, dice Williamson.

Widget Sonido Ubuntu 10.10 Maverick Meerkat

“Ahora Unity es la interface por defecto en Ubuntu Netbook Edition. Incluye una barra de menú global. El indicador de fecha ahora es un calendario real” dice el.

Ubuntu Netbook Edition 10.10 Beta

También se han liberado las versiones Beta de Kubuntu, Xubuntu, Edubuntu, Ubuntu Studio, y Mythbuntu.

En Kubuntu, las imágenes de desktop y netbook han sido fusionadas en una, el web browser por defecto es ahora Rekonq, un browser basado en Webkit. El stack de Bluetooth por defecto es Bluedevil y Pulseaudio es el servidor de sonido por defecto.

Kubuntu 10.10 Maverick Meerkat Beta

Xubuntu 10.10 Beta incluye Xfce4 4.6.2, y nuevas aplicaciones por defecto como son Parole para Xfce4 Media Player, Xfburn como quemador de CD/DVD, y Xfce4-taskmanager para el manejo de procesos.

Edubuntu ahora incluye el control parental Gnome Nanny, como también un nuevo wallpaper y modo de instalar OEM.

Ubuntu Studio – que provee integración entre Pulse Audio y JACK – también provee a los administradores gnome-network-admin para configurar las conexiones de red.

Finalmente, La última iteración de Mythbuntu a sido actualizada a MythTV 0.23.1 y incluye una nueva herramienta de backup y restore.

Go to Top