Archives 12/2009

28/12/2009 Upgrader ses packages FreeBSD

J'ai un problème depuis longtemps avec les ports FreeBSD. Dans un premier temps je compilais tout, puis à la longue c'est assez lassant parce que ça prend du temps, des ressources et sur une machine peu puissante c'est pas franchement conseillé. Donc dans la plupart des cas j'utilise maintenant des paquet binaires compilés et distribués par le projet FreeBSD.

Je ne vais pas m'attarder à peser le pour et le contre puisqu'en réalité j'utilise aussi bien les ports que les paquets binaires suivant les dépendances du logiciel et le temps de compilation.

Environnement : FreeBSD 8.0-RELEASE i386 (à vous de changer suivant votre version et votre CPU)

Déjà une bonne chose à savoir :

$ ftp ftp://ftp.fr.freebsd.org/pub/FreeBSD/ports/i386/
....
250-descriptions of each subdirectory.
...
250-packages-*-release directories are built from the ports collection
250-shipped with the release, and are not updated thereafter.
250-
250-packages-*-stable and packages-*-current are updated roughly once a
250-week.
....

Les paquets qui nous intéressent sont donc dans packages-8-stable.

Pour installer un soft, il suffit d'un

# export PACKAGESITE="ftp://ftp.fr.freebsd.org/pub/FreeBSD/ports/i386/packages-8-stable/Latest/"
# pkg_add -r firefox3

Pour mettre à jours c'est nettement moins marrant, surtout si vous utilisez conjointement un arbre des ports à jours dans /usr/ports. Les outils comme portmaster et portupgrade sont assez dur à utiliser pour mettre à jours en se basant non pas sur l'INDEX de /usr/ports mais sur celui du ftp.

D'ailleurs si quelqu'un à déjà réussi à faire proprement la manip je veux bien son /usr/local/etc/pkgtools.conf en commentaire de ce billet.

bapt est en train de porter pkgin sur FreeBSD, mais il n'est pas encore tout à fait prêt (il le sera bientôt j'espère, je ferrai un billet pour l'occasion).

Il y a une solution que j'ai trouvé sympatique en attendant pkgin, c'est les bsdadminscripts avec l'outil pkg_upgrade. C'est du shell, pas très rapide donc, mais au moins ça marche et c'est facile.

# make -C /usr/ports/sysutils/bsdadminscripts install clean

Ensuite c'est enfantin, pour tout mettre à jours et en mode verbeux :

# setenv PACKAGEROOT ftp://ftp.fr.freebsd.org
# setenv BRANCH 8-stable
# pkg_upgrade -av

Et ça marche ! Il se base sur le md5 du fichier INDEX du ftp pour savoir s'il faut mettre à jours sa base de donnée sur les ports puis compare les version installés avec les versions disponibles.

La page de man de pkg_upgrade vous donnera beaucoup d'information sur la manière dont il fonctionne.

21/12/2009 Pblog une release qui s'annonce

Comme vous savez, j'utilise maintenant un blog que j'ai codé avec mes petites mains et avec celles de Bender.

Ce blog était assez pauvre et buggé, jusqu'il y a quelques jours où nous avons décidés de faire une release sans trop de bugs et avec un peu plus de fonctionnalité. Ce blog tourne toujours tout en python, avec webpy, makotemplates, markdown, pygments, et une base de donnée SQL.

Voilà rapidement ce qui à changé :

  • MySQL était la seule DB utilisable, maintenant pblog tourne aussi avec sqlite3 (pour Postgresql les patchs seront grandement appréciés)

  • Nuage de tags (a votre droite)

  • Archives (aussi à votre droite)
  • liens (toujours et encore à votre droite)
  • Les <title> de pages sont plus explicites
  • les commentaires gèrent les erreurs
  • captcha (merci à rhaamo)
  • Le design (entièrement géré par Bender) est super classe, il évolue en fonction de pblog.
  • Une barre de recherche (en haut à droite)
  • Des pages quand il y a trop de résultats

links

  • Liens vers billet suivant et précédent

precsuiv

  • Niveau édition (post et commentaires), on peut maintenant faire des aperçus, c'est en javascript + XMLHttpRequest. Mais je vous rassure, le site est toujours testé sans javascript pour éviter qu'une fonction 'vitale' ne soit plus possible sans javascript. D'une manière générale on utilise javascript uniquement quand ça semble plus pertinent au niveau du code.

preview

Le code est pour l'instant en 1.0-rc3, on a fait en sorte que les images soient libre de droit, donc c'est tout libre (faut qu'on mette rapidement une licence d'ailleurs, mais ce sera sans doute une BSD).

Bref, ça sent la release pour bientôt, donc si vous avez un peu de temps trouvez des bugs (si si c'est facile je vous assure), envoyez vos patchs, demandes de features, "ce serait pas mieux si ...." etc.

Il n'y a pas assez de doc (seulement un petit README et des commentaires dans le fichier de conf), mais ça tourne sur du lighttpd/nginx/apache assez facilement.

Pour ceux qui chercheraient un blog super léger tout en C et surtout sans base de données je ne saurais trop vous conseiller Cblog.

17/12/2009 Faire sauter les pubs de Canal Plus

Si vous êtes adeptes du zapping / petit journal actu de Canal Plus et que vous n'avez pas la TV et que les scripts shell qui chopent directement les vidéos ne marchent plus au bout d'une semaine, il vous faut alors aller sur leur beau site tout en flash et manger la pub d'une minute avant chaque vidéo.

Sauf que, en fouillant dans le code source des pages on trouve assez facilement d'où viennent les vidéos de pubs, ils suffit alors de bloquer le domaine en question qui est smartadserver.com. Les videos de canal plus sont dans www3.smartadserver.com/call/pubi/ , mais libre à vous de bloquer completement smartadserver.com.

Donc mettez la bonne ligne qu'il faut dans votre Adblockplus / proxy. Moi j'ai un privoxy transparent qui filtre tout le réseau local et la syntaxe est la suivante (dans la conf, le fichier user.action)

{ +block{Nasty ads.} }
www3.smartadserver.com/call/pubi*

Un jours je trouverais un moyen simple (module firefox ?) pour mettre à jours les règles privoxy plus facilement, et je partagerais ma config promis :-).