Grosso Modo

To content | To menu | To search

Geeky things

Entries feed - Comments feed

Sunday 7 February 2010

Raiders of the lost (debian) package

Avez-vous déjà eu un dysfonctionnement d'un programme lié au fait qu'un paquet recommandé, que vous ne jugiez pas utile, avait été enlevé alors qu'il était, en fait, utile ?

Parce que les paquets recommandés sont maintenant installés par défaut en même temps que le paquet demandé, mais pas toujours (il y a une heuristique un peu spéciale pour ne pas tenter de réinstaller tout le temps le même paquet dont vous ne voulez vraiment pas ; pour autant que je le sache, il s'agit de ne pas installer un paquet recommandé s'il aurait dû l'être et qu'il ne l'est pas, tout simplement). Au bout d'un certain temps, ça peut être agréable (nécessaire ?) de faire un inventaire des paquets qui auraient pu être installés mais refusés à un moment donné. De plus, certaines manipulations brutales du gestionnaire de paquets peuvent mettre des paquets sur votre système et qu'il lui manque une vraie dépendance (Depends ou Pre-Depends). Même si aptitude est capable de lister les problèmes for la deuxième question (aptitude search ~i~b est grosso modo la réponse), le premier problème n'admet pas de solutions simples (les recherches avec aptitude ne permettent pas de faire la différence entre un dépendance de A ou B, et une dépendance de A et B).

J'ai donc écrit (toujours en python avec python-apt ≥ 0.7.93, donc dans unstable actuellement) un programme apt-missing.

Seules les dépendances positives ont été envisagées (Pre-Depends, Depends, Recommends, Suggests et aussi si on veut Enhances). Les dépendances négatives ne sont pas encore traitées mais là c'est la présence d'un paquet dépendant dans une clause qui doit déclencher une réaction, pas l'absence de tous les paquets de la clause.

Le programme est hébergé , et les paquets sont hébergés ici.

Exemples

Lancer apt-missing seul (comme apt-missing --recommends) :
# Package abiword has some Recommends missing:
abiword-docs
# Package defoma has some Recommends missing:
libfont-freetype-perl
# Package doc-debian-fr has some Recommends missing:
developers-reference-fr
maint-guide-fr
apt-howto-fr
# Package dwww has some Recommends missing:
swish++
[...]
# Package xchat has some Recommends missing:
tcl
## "Depends" broken in 0 packages
## "Pre-Depends" broken in 0 packages
## "Recommends" broken in 31 packages
D'ailleurs, j'ai pu ainsi localiser des modules noyaux installés qui recommandaient des noyaux absents, parce que tout simplement ils avaient disparus. J'ai donc pu les effacer. apt-missing -a cherche tous les types de dépendance positifs :
# Package a2ps has some Suggests missing:
html2ps
t1-cyrillic
# Package abiword has some Recommends missing:
abiword-docs
[...]
## "Depends" broken in 0 packages
## "Pre-Depends" broken in 0 packages
## "Recommends" broken in 31 packages
## "Suggests" broken in 377 packages

Options

-h|--help
Ce texte d'aide
-d|--depends
Depends ou Pre-Depends manquants
-r|--recommends
Recommends manquants (par défaut)
-s|--suggests
Suggests manquants
-a|--any
N'importe quelle dépendance positive (comme ci-dessus)
-t|--type=string
Dépendance quelconque (par ex. Enhances)
-p|--package=string
Liste de paquets à analyser séparés par un espace (on peut répéter l'option, et si aucune option -p n'est présente, tous les paquets sont analysés)

Wednesday 27 January 2010

Packages and origins

Des fois, je veux vérifier d'où viennent mes paquets. C'est déjà ce que fait apt-show-versions, mais en se concentrant uniquement sur l'aspect distribution (stable/testing/unstable) et non pas sur le site d'où vient le paquet. De plus, je voulais pouvoir préciser un ordre entre les distributions (quand un paquet est à la fois dans unstable et testing, je veux qu'il apparaisse comme venant de testing; quand il est dans un dépôt local que j'ai créé, je veux qu'il apparaisse comme venant de ce dépôt, même s'il est une copie de unstable ou d'experimental).

Du coup, j'ai écrit mon premier programme (sérieux) en Python. La documentation est en anglais.

package_origins [options]

-h|--help
This help text
-l|--list
Just list available distributions
-c|--count
Just display package count by origin
-t|--tabular
Use tabular output format for origin display
-C|--columns=integer
Set the number of columns of the output
-L|--lines=integer
Set the maximal number of packages that can be displayed
-o|--order=string
Set the order in which packages are in the distributions. This is a space-jointed string of stanzas like alias1=site1/archive1 where alias1 is the display name of a distribution of name archive1 at site1.

Le programme lit aussi les dénominations dans un fichier ~/.package_origins sous la même forme, mais avec une origine par ligne. De multiples options -o peuvent être utilisées (elles sont accolées).

Un exemple de fonctionnement:

./package_origins -o 'stable=ftp.fr.debian.org/stable testing=ftp.fr.debian.org/testing unstable=ftp.fr.debian.org/unstable experimental=ftp.fr.debian.org/experimental  multimedia=www.debian-multimedia.org/unstable' -L 20 --columns 40 
,--------------------------------------.
| stable |
`--------------------------------------'
Too many packages (189). Use --tabular or --lines=X (x>=189).
,--------------------------------------.
| testing |
`--------------------------------------'
Too many packages (1529). Use --tabular or --lines=X (x>=1529).
,--------------------------------------.
| unstable |
`--------------------------------------'
Too many packages (317). Use --tabular or --lines=X (x>=317).
,--------------------------------------.
| experimental |
`--------------------------------------'
calendar-google-provider
calendar-timezones enigmail
,--------------------------------------.
| multimedia |
`--------------------------------------'
Too many packages (33). Use --tabular or --lines=X (x>=33).
,--------------------------------------.
| other |
`--------------------------------------'
emacs-snapshot emacs-snapshot-bin-common
emacs-snapshot-common emacs-snapshot-nox
fixkeyboard lipn-archive-keyring
nvidia-kernel-2.6.26-2-amd64
nvidia-kernel-2.6.30-2-amd64
nvidia-kernel-2.6.31-1-amd64
pbuilder-utils rftg rftg-data
,--------------------------------------.
| installed |
`--------------------------------------'
Too many packages (55). Use --tabular or --lines=X (x>=55).

Wednesday 22 April 2009

My xorg.conf

Grand ménage de printemps dans mon fichier /etc/X11/xorg.conf, que je mets ici au complet :

Section "Device"
Identifier "nVidia Corporation NVIDIA Default Card"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "RandRRotation" "on"
EndSection

S'il n'est pas vide, c'est que j'ai une carte Nvidia (mauvaise utilisation de la 3D par les pilotes libres). Sinon, il serait vide. Pour un paramétrage complet de mon interface graphique, il faut aussi /etc/default/console-setup :

...
XKBMODEL="logielite"
XKBLAYOUT="fr"
XKBVARIANT="complete"
XKBOPTIONS="compose:menu,fixinet:logielite"

La configuration automatique fait vraiment des progrès !

xserver-xorg:  Installé : 1:7.4+1
nvidia-glx: Installé : 180.44-2
console-setup: Installé : 1.32

Monday 20 April 2009

Logitech Elite Keyboard and evdev support

Il y a eu pas mal de bruit récemment à propos d'evdev depuis son intégration par défaut dans Debian unstable (par exemple et et et ). Je suis le propriétaire (heureux ?) d'un clavier Logitech Elite (à ne pas confondre avec le Logitech Media Elite ou le Logitech Cordless Elite) (en jaune, les keycodes manquants, en rouge, les problèmes avec evdev):

Logitech Elite Keyboard

Ce clavier fonctionne (assez) correctement sans configuration, mais utiliser l'intégralité de ses touches spéciales a été un cauchemar depuis son achat, il y a quelques années. J'aimerais expliquer comment j'ai pu ajouter le support complet pour ce clavier dans la console, dans l'interface graphique X en utilisant evdev, console-setup et quelques bricolages à moi.

Continue reading...

Thursday 26 March 2009

Blocage de site pour HADOPI

D'après une interview de la Fédération française des télécoms (FFT):

Il n’est pas question ici de blocage ? Non, ça c’est pour les sites hébergés en France, pour lesquels des mesures existent déjà. Le blocage ne concerne que les sites hébergés à l’étranger. Une information serait communiquée aux opérateurs — dont on ignore encore la forme et la fréquence — qui devraient bloquer ces sites à travers l’identification des DNS.

Mais oui. Comme si le DNS était nécessaire pour atteindre un site.

Je ne raconte pas grand chose sur les projets de loi actuels en matière de censurerégulation de l'internet, d'abord parce que je n'ai pas grand chose à dire d'innovant sur des tas d'autres sites qui font de la veille d'actualité bien mieux que moi, ensuite parce que c'est tellement conidiot qu'il n'y a rien à en dire de plus. Toutefois, les bribes techniques qui arrivent dans les nouvelles de temps à autre sont pire que tout. Et bien sûr, les techniciens auront toujours des solutions pour contourner la loi (celle-ci est payante, mais je ne doute pas que des services encore moins chers voire gratuits apparaissent d'ici peu).

Wednesday 28 January 2009

A native 64bit java plugin java from Sun

L'un des bugs les plus longs à résoudre et les plus commentés de java aura sans doute été celui qui concerne l'absence de plugin permettant l'intégration de java dans les navigateurs web en 64 bits.

Continue reading...

Sunday 7 December 2008

German pictures under a free license

Depuis peu, Wikimedia Commons (un site cousin de Wikipedia) a reçu en don de la part des Archives fédérales allemandes un lot de 100 000 photos libres et réutilisables. Après la mise à disposition (mais ici, seulement consultables, et non pas libres) de la collection photo de LIFE par Google (celle-ci, par exemple), et en attendant la suite de la collection allemande, c'est un véritable trésor photographique qui est à la portée des doigts de l'internaute. C'est également une source extrêmement précieuse pour les adeptes du droit au remixage (et à la retouche, pour les photos) : on peut les faire apparaître dans des montages et des compositions.

J'insiste sur l'importance de la réutilisabilité : c'est ce qui me permet de vous faire profiter directement sur mon site de cette jolie photo, qui représente une photo (de 1962) d'une rue de Berlin (Est, à l'époque) qui a été remplie par de nombreux volontaires de briques pour être nettoyée. Cette photographie est sous licence CC-BY-SA.

Aufbauprogrammn, Berlin

Monday 1 December 2008

Why do I prefer Acrobat Reader to other free PDF readers?

I could answer this question saying that it's better, stronger, easier: that would be false. The real reason is that there exists some PDF that use advanced graphics feature of PDF that are simply not correctly implemented in other free readers.acroread-m.png

Continue reading...

Tuesday 13 May 2008

Openssl bug specific to Debian.

Suite au problème de sécurité sur openssl/openssh spécifique à Debian (visiblement, un manque d'aléatoire dans la génération des clés pour toute la bibliothèque OpenSSL), il est temps de régénérer vos clés SSH (un peu de ménage) et vos certificats SSL. Pourquoi ne pas en profiter pour faire des certificats qui permettent de répondre à plusieurs noms différents (avec un seul certificat et une seule adresse IP), comme expliqué ici ? En tout cas, cette affaire ne va pas aider la progression de mon patch d'openssh (qui n'a pas beaucoup avancé depuis qu'il a été soumis aux concepteurs...) :-(

Je ne veux pas donner trop d'autres informations, elles courent la blogosphère ; mais en une ligne pour openssh-server il suffit de faire sudo rm /etc/ssh/ssh_host*key*;dpkg-reconfigure -plow openssh-server. Mais surtout, n'oubliez pas de faire la mise à jour avant (0.9.8g-9 pour sid, 0.9.8c-4etch3 pour stable).

[MàJ] Un lien en anglais que je trouve intéressant sur l'affaire.

Friday 2 May 2008

Taxes declaration under Debian: utter failure

Comme chaque année, il faut déclarer ses impôts sur le revenu. Les années précédentes, j'avais réussi à le faire sans trop de problèmes. Cette année, ma machine étant passée en amd64, je soupçonnais des problèmes et j'avais raison : en une heure, je n'ai pas réussi à faire ma déclaration d'impôts, et j'ai mis moins de trois minutes sous MacOS X.

Continue reading...

Sunday 20 April 2008

John Howe expose son travail

John Howe est l'un des deux illustrateurs qui ont acquis une renommée internationale lors de la sortie de la trilogie du Seigneur des Anneaux (il était bien sûr connu avant, au point que comme Alan Lee il a été invité par Peter Jackson à participer au film, plutôt que simplement engagé).

Il commence une exposition de son travail (notamment sur le livre d'illustrations Fantasy Art) à la galerie Arludik (au bout de l'île Saint-Louis) et à l'occasion la Fnac Montparnasse organisait une petite rencontre avec les amateurs (moi, par exemple).

Continue reading...

Wednesday 26 March 2008

Installing a Roundcube webmail in less than 30 minutes

Depuis la réinstallation de ma machine (depuis zéro), je n'avais pas remis en place de webmail. Avant, j'utilisais horde, bien connu des premiers utilisateurs de Free par exemple. C'est sûrement très puissant, mais j'utilise le webmail de façon extrêmement ponctuelle, quand je suis en déplacement dans un endroit qui ne laisse pas passer les connexions ssh. Il est aussi assez complexe à installer.

Mercredi, il y a deux semaines, je me suis retrouvé dans un tel endroit. Si j'ai un webmail fourni par mon travail, là, je voulais consulter une boîte à lettres spécifique de mon serveur ; ça n'allait plus du tout. J'ai rongé mon frein toute la journée, puis je suis revenu sur le problème ce matin. J'ai réussi à tout faire en moins de 30 minutes, tout compris, et sans avoir d'idée au préalable de ce qu'il fallait faire (je n'avais jamais lu la documentation du logiciel, à peine regardé les captures d'écran sur le site en question). Félicitations à Roundcube !

Continue reading...

Thursday 28 February 2008

Bicentenaire d'Eylau

Il m'arrive régulièrement de faire du wargame. C'est un de mes loisirs, comme d'autre vont à la pêche ou faire du sport. Aucun soldat n'a été blessé au cours de l'élaboration de ce billet — je ne veux pas dire qu'aucun soldat n'a été blessé nul part dans le monde, juste ceux qui ont participé à l'élaboration. Le wargame (ou jeu de simulation historique), c'est avec des pions, du papier, des cartes colorées et des dés, pas déguisé et dans la boue.

Frédéric Bey et quelques acolytes organisent depuis plusieurs années le trophée du Bicentenaire, qui reconstitue 200 ans après quelques batailles napoléoniennes — cette année, Friedland et Eylau. Cela faisait plusieurs années que Pierre m'incitait à passer voir, et cette année, j'ai réussi à trouver le temps (c'est toujours mi-janvier, et je ne sais pas pourquoi, ce n'est jamais le bon moment).

Continue reading...

Friday 18 January 2008

Old time-style beep with pulseaudio

J'ai enfin réussi à comprendre comment paramétrer complètement son bip système avec pulseaudio. Je ne dis pas que c'était compliqué, mais bon.

Continue reading...

Tuesday 13 November 2007

Self-signed certificate with aliases for the canonical name

Avec le développement des lignes ADSL à haut débit, il est de plus en plus facile de gérer chez soi son serveur. Même si ce n'est pour distribuer que peu de choses, comme des statistiques de surveillance ou autre, il y a des choses qu'on n'a pas envie de confier à un fournisseur externe (par exemple, les photographies personnelles, un agenda privé, etc.). Si les problèmes de débits ne sont pas un obstacle, il y a parfois des difficultés techniques liées purement aux protocoles utilisés.

C'est le cas qui se présente lorsque l'on veut faire un hébergement sécurisé (https) par exemple dès qu'on installe un service qui va demander un mot de passe. Par construction, il est difficile de faire cohabiter plusieurs services derrière un https avec un nom de domaine différent pour chacun.

Je vais expliquer comment j'arrive à générer des certificats auto-signés qui permettent d'identifier plusieurs noms de domaines comme étant valides pour une seule machine.

Continue reading...

Tuesday 30 October 2007

Lightning 0.7 for Icedove

Une nouvelle version de Lightning, qui corrige plein de bugs, qui fait suite à d'autres articles dans ce blog. La version 0.7 remplace la version 0.5 précédente. J'ai recompilé rapidement l'extension sur une installation toute propre de Icedove 2.0.0.6. J'ai mis un peu de temps à trouver les sources qui ont bougé par rapport à la version 0.5. À noter que la mise à jour de Google Provider for Sunbird/Lightning nécessite la mise à jour. Comme d'habitude, il faut recompiler cette extension pour Icedove (Thunderbird™ pour Debian).

Continue reading...

Monday 24 September 2007

Enfin un aquarium à baleines chez moi...

L'un des premiers économiseurs d'écrans que j'ai eu était une sorte d'aquarium virtuel. Bon, des poissons plats passaient de gauche à droite et de droite à gauche devant l'écran.

Continue reading...

Saturday 15 September 2007

Emacs with xft support for Debian

J'utilise Emacs pour un certain nombre d'activités (principalement quand je tape en LaTeX, en Perl et en Postscript).

Une nouvelle avait attiré mon attention il y a quelque temps. Emacs est donc maintenant capable d'utiliser toutes les polices du système, à n'importe quelle taille. À la suite de la requête d'un collègue, j'en ai profité pour le tester... et l'adopter.

Emacs-snapshot (emacs-unicode-2 branch)

Continue reading...

Tuesday 17 July 2007

Adobe on amd64 without a chroot: Acrobat and Flash

Je viens de commencer à installer sérieusement des machines de bureau en 64 bits à mon travail, et ça me donne l'occasion de me heurter aux principaux problèmes de la transition en 64 bits: les applications commerciales prévues uniquement pour fonctionner en 32 bits.

Je vais m'attaquer ici aux interfaces fournies par Adobe pour lire le PDF (Acrobat Reader) et le Flash (Plugin flash). Toutefois, cernons un peu le cadre: ces applications fonctionnent sans trop de soucis sur une machine 32 bits, et un des conseils traditionnels est d'installer un chroot en 32 bits, c'est-à-dire une réplique (miniature) d'un système en 32 bits. Si vous choisissez cette méthode, des tas de descriptifs existent ailleurs. Mais je ne voulais pas cette solution, qui souffre de nombreux inconvénients. J'ai donc installé les logiciels sus-cités en biarch, c'est-à-dire avec des bibliothèques systèmes en 32 bits (à côté des bibliothèques systèmes en 64 bits) et l'utilisation d'un mode spécial du processeur (qui accepte les instructions 32 bits comme 64 bits).

Continue reading...

Tuesday 3 July 2007

Lightning 0.5 for icedove

J'ai déjà parlé de Lightning dans ce blog. La version 0.5 remplace la version 0.3.1 précédente. J'ai recompilé rapidement l'extension sur une installation toute propre de Icedove 2.0.0.4.dfsg1 (mais ça marche sur des versions légèrement antérieures, puisque j'ai encore la 2.0.0.3 quelque part et qu'il n'y a pas de bug évident). Je le recompile car plusieurs personnes m'ont signalé que Icedove est encore incompatible avec l'extension qu'on trouve partout pour i386.

[Mise à jour 16/07/2007] J'ai ajouté un paragraphe correspondant à la fabrication d'un paquet qui contient les données permettant de traduire l'interface de Lightning.

Continue reading...

- page 1 of 2