pkgin (probably not weekly) news

Tags: , , , ,
1 Comment »

Foreword: this post will be written in english as many pkgin users don’t speak french. Sorry to my french readers then, and sorry also to my english readers as i’m not as fluent in english as i am in french :)

I subscribed to jmmv’s blog, The Julipedia, a while ago and found his idea of the “Kyua: Weekly status report” very inspiring, that’s a good way to keep your users informed on how the project is moving and keeps you focused on your TODO (although i hate TODO’s…). I doubt i’ll have the time to write a weekly report, but at last i’ll try to write a post whenever important updates are made to my beloved project.

So let’s begin !
As you, pkgin users, may be aware of, i’m working on the future 0.5 release, which includes massive internal changes plus some features that have been asked and i found interesting. So, in addition to the features i already listed in this mail sent to pkgsrc-users@, here are some hilights on recent changes:

  • pkgin now has a new logo !
  • it is now possible to export / import your keep-list, pretty much like dpkg‘s get/set-selection. The exported list is in pkg_chk‘s format. Thanks wiz@ for the idea
  • pkgin install can now take a “blob” as an argument, i.e. pkgin in 'mysql-server<5.5', thanks filip@ for the idea
  • pkgin now uses pkgsrc’s pkg_install for NetBSD also
  • added the -t modifier, mostly for debugging purposes, in order to trace the dependency tree and impact lists
  • pkg_install error logs are handled in a nicer way
  • enlisted pkgin’s code to ohloh (click on “i use this” !)
  • plus usual bugfixes

Yeah, these were fairly productive holidays :) Of course most of these changes are only available in CVS, see http://pkgin.net for details. Some of them have already made their way to pkgsrc-wip, i try not to insert big changes now, so wip and CVS should be sync’ed quite often.

Needs to be done:

  • make pkgin’s pkgsrc package depend on pkgsrc’s pkg_install
  • reproduce and fix 2 different bugs two users had
  • optimize the dependency loop regarding packages that exists in many versions (i.e. bash)
  • check if pkg_install is to be upgraded and then push it on top of ordered list
  • test Minix 3.2.0

Hope i’ll make it to pkgsrc 2011Q4 !

Un logo en carton

Tags: , , ,
2 Comments »

J’aime aussi les vacances parce qu’elles me donnent des idées, et ce matin, alors que j’attendais que la piscine se réchauffe, j’ai pondu ça:

pkgin 0.5, faster pussycat kill kill

Tags: ,
No Comments »

Avant de partir me dorer la pilule à la maison, je vous jette en pâture une toute nouvelle pre-release de pkgin, j’ai nommé 0.5.0.

Fruit des conseils avisés du sieur Bapt, fort de son experience avec son fâmeux pkgng, ainsi que des multiples feedbacks d’horizons très differents, le code de pkgin 0.5.0 est plus rapide, plus simple et embarque un certain nombre de features requests.

Dans l’ordre d’implémentation:

  • Migration silencieuse d’une base 0.4 vers 0.5
  • Fonction check_yesno() plus souple
  • “Yes” par defaut pour pkgin install / remove / upgrade
  • Une unique structure pour toutes les formes de listes de packages
  • Nettoyage de dizaines de calculs de listes inutiles (perfs x10)
  • Introduction du champs FULLPKGNAME, accélération des recherches
  • unique_pkg(): plus de “many versions of foo available”, le plus récent est toujours choisi
  • Import du progressmeter d’OpenSSH

Cette version restera en gestation dans wip le temps qu’elle soit correctement testée, les changements sont nombreux et profonds, je dois m’assurer que tout fonctionne comme il se doit.
Vous l’aurez compris, il faut tester, TESTER, TESTER !
Je vous invite à rapporter les problèmes potentiels sur la liste de developpement de pkgin, à pkgin-devel-at-lists-point-sourceforge-point-net.

pkgin upgrade

Leeeeeeeet the sun shiiiiiiiiiine

Tags: , , ,
No Comments »

En fevrier dernier, je vous parlais d’Illumos, incubateur libre permettant à OpenIndiana de garder l’haleine fraiche et le teint pétillant.

Les choses ont pas mal évolué depuis, en particulier, je me suis un chouillat impliqué dans le projet visant à intégrer parfaitement pkgsrc à Illumos.

De discussions en reflexions, j’en suis venu à me demander s’il ne serait pas judicieux de monter un repository de binaires pkgsrc pour OpenIndiana/Illumos/Solaris puisque cette plateforme est finalement parfaitement supportée depuis des lustres mais qu’aucun repo digne de ce nom n’a été maintenu plus de 2 mois. (et puis evidemment, il faut bien un package manager pour gêrer tous ces binaires hin hin hin…)
Ainsi, Mads Worsøe Duun, l’initiateur du projet pkgsrc pour Illumos, a demandé aux gentils administrateurs du projet OpenIndiana (ouais, faut suivre) de nous mettre à disposition une buildbox afin de proposer des packages à jour, et bien plus de logiciels que n’en proposent Blastwave ou les repos IPS/pkg d’OpenSolaris (*ricane* *ricane*).

Ce qui est réellement à notre disposition ici, c’est une Zone, or, dans la plupart des documentations sur ce sujet (pkgsrc et Solaris), la méthode préférée, c’est de justement créer une zone pour faire son bulk build, mais comme ne nous pouvons pas créer de zone dans une zone (YO DAWG), il faudra procéder autrement, et c’est la raison même de cet article.

Comme l’explique la documentation officielle, il serait parfaitement inconscient de réaliser son bulk build sur une arborescence opérationnelle, en effet, sur les 10000 packages disponibles, une quantité non négligeable d’entre eux vont ajouter des utilisateurs, des groupes, des repertoires, des logs, des modules, des librairies etc etc etc. Il vous faut une sandbox. Fort heureusement, la “création” d’une sandbox Solaris est d’une grande simplicité.

Je vous livre ici les differentes étapes que vous pourrez bien entendu concaténer dans un joli petit script.

On déclare tout d’abord la localisation du bac à sable sur le filesystem, puis on s’y rend :

SANDBOX="/export/home/pkgsrc/sandbox"
cd ${SANDBOX}

Là, nous créons tous les répertoires nécessaires au bon fonctionnement du chroot, /tmp possède evidemment des droits particuliers :

mkdir -p bin sbin usr lib etc tmp dev opt var/run proc
chmod 777 tmp; chmod +t tmp

On peuple un peu /etc de fichiers indispensables :

cp /etc/passwd etc/
cp /etc/group etc/
cp /etc/shadow etc/
cp /etc/nsswitch.conf etc/
cp /etc/vfstab etc/
cp /etc/resolv.conf etc/
cp /etc/hosts etc/
cp /etc/netconfig etc/
cp /etc/datemsk etc/
cp /etc/user_attr etc/
cp /etc/auto_home etc/
cp /etc/project etc/
cp -r /etc/skel /etc/

chmod 400 etc/shadow

Enfin, point de copie de fichiers inutiles, nous mountons en loopback les repertoires /dev et /proc en lecture et écriture, puis bin sbin usr lib en lecture seule afin de ne pas faire de bêtises.

for rwfs in proc dev
do
        mount -F lofs /${rwfs} ${SANDBOX}/${rwfs}
done

for rofs in bin sbin usr lib
do
        mount -F lofs -o ro /${rofs} ${SANDBOX}/${rofs}
done

C’est prêt !

imil@pkgsrc:~$ pfexec chroot pkgsrc/sandbox /usr/bin/bash
bash-4.0#

Afin de pouvoir correctement compiler l’ensemble des paquets de pkgsrc, vous aurez également besoin d’installer les logiciels suivants à l’aide de la commande pkg install : SUNWgcc, gnu-patch, gnu-tar, system/xopen/xcu4, gnu-grep, developer/object-file.

Enfin, voici les particularités de mon mk.conf, à ajouter aux directives du mk.conf chrooté grace au bootstrap et son drapeau --mk-fragment :

PKGSRC_COMPILER=                ccache gcc

ACCEPTABLE_LICENSES+=           vim-license
ACCEPTABLE_LICENSES+=           sendmail-license

FAILOVER_FETCH=                 yes
ALLOW_VULNERABLE_PACKAGES=      yes
PKG_DEVELOPER=                  yes

MAKE_JOBS=              16

PASSIVE_FETCH=          1

X11_TYPE=               native
X11BASE=                /usr/X11

Ainsi que la commande complète de bootstrap :

./bootstrap --workdir=/tmp/pkgsrc --prefix=/opt/ipp/pkg --abi=32 --mk-fragment=mk-fragment.conf

Happy building.

sysutils/shelldap dans les bacs

Tags: , ,
2 Comments »

Connaissez-vous shelldap ? Cet outil absolument indispendable est L’Outil que j’attendais depuis des années. Saoulé que j’étais de la machine-à-coredumps gq et de l’usine à gaz lat, j’implorais les Dieux du code de faire apparaître quelque part sur l’internet convivial un outil pratique pour éditer des bases LDAP, possiblement en console, fou optimiste que je suis.

Et bien cet outil existe. Et il est énorme. Comme son nom l’indique, il s’agit effectivement d’un shell-like destiné à la consultation et l’administration de bases LDAP, avec la completion s’il vous plait.

Constatant avec effroi que ce formidable logiciel n’était pas encore présent dans pkgsrc, je me suis fendu d’un nouveau package, et shelldap est donc désormais disponible sous sysutils/shelldap.

C’est cadeau, ça m’fait plaisir.

pkgsrc/net/nagstamon… ça arrive (commited)

Tags: , ,
No Comments »

Il y a quelques jours, nico me faisait découvrir nagstamon. Ce fabuleux petit outil est le pendant du plugin Nagios Checker pour Firefox pour votre bureau UNIX/Linux.

Nagstamon est disponible dans le repository unstable de Debian, mais devinez quoi, pas dans pkgsrc. Ntt.. ntt.. ntt… je ne pouvais pas laisser ce vide perdurer.

Pkgsrc est actuellement en status freeze afin de préparer la sortie de pkgsrc-2010Q1, aussi, nous ne sommes autorisés à commiter que des correctifs mineurs ou impactant la sécurité. Ainsi, pour l’impatient qui souhaite essayer sur le champs ce package, j’ai mis en ligne un .shar du futur package ici même, à déployer dans /usr/pkgsrc/net/nagstamon.

update

À vos CVS :)

WP Theme & Icons based on GlossyBlue by N.Design Studio
Banner from www.trynthlas.com
Entries RSS Comments RSS Log in
Performance Optimization WordPress Plugins by W3 EDGE