Mot-clé - Linux

Fil des billets

mardi 31 janvier 2012

Comment exclure un module avec setuptools ?

Pour ceux ou celles, qui maintiennent (ou on l'intention de créer) des paquets Python pour leur distribution favorite, je vous livre une astuce si vous voulez exclure un, ou plusieurs modules.

Dans mon cas, je ne voulais pas installer le dossier tests/ (il dépend bien souvent de la bibliothèque nose), lors de la création de mon package.

Nous allons utiliser la fonction find_packages() du module setuptools.

Voici ce que nous dit la docstring :

[...]

FUNCTIONS

find_packages(where='.', exclude=()) Return a list all Python packages found within directory 'where'

'where' should be supplied as a "cross-platform" (i.e. URL-style) path; it will be converted to the appropriate local path syntax. 'exclude' is a sequence of package names to exclude; '*' can be used as a wildcard in the names, such that 'foo.*' will exclude all subpackages of 'foo' (but not 'foo' itself).

[...]

La documentation :

[...]

find_packages() takes a source directory, and a list of package names or patterns to exclude. If omitted, the source directory defaults to the same directory as the setup script.

Exclusion patterns are package names, optionally including wildcards.

[...]

Un exemple va nous aider à bien comprendre (on se place dans les « mêmes conditions », qu'au moment de la création d'un paquet) :

olivier@bornem:~ $ tar -xzf /usr/ports/distfiles/waitress-0.8.tar.gz
olivier@bornem:~ $ cd waitress-0.8/
olivier@bornem:~/waitress-0.8 $ python
Python 2.7.2 (default, Jul  4 2011, 20:20:01) 
[GCC 4.2.1 20070719  [FreeBSD]] on freebsd8
Type "help", "copyright", "credits" or "license" for more information.
>>> from setuptools import find_packages
>>> l = find_packages(where='.')
>>> l
['waitress', 'waitress.tests', 'waitress.tests.fixtureapps']
>>> 

on obient une liste, de tous les dossiers contenant un fichier __init__.py.

Si l'on ne souhaite pas installer le répertoire waitress/tests, il faut le mentionner :

>>> l = find_packages(where='.', exclude=['waitress.tests'])
>>> l
['waitress', 'waitress.tests.fixtureapps']
>>> 

waitress/tests/fixtureapps/ est toujours présent (la compilation échouera, car le module tests sera absent). Il faut également le préciser tous les sous-dossiers

>>> l = find_packages(where='.', exclude=['waitress.tests', 'waitress.tests.fixtureapps'])
>>> l
['waitress']
>>> 

On peut utiliser un joker (ou wildcard).

>>> l = find_packages(where='.', exclude=['waitress.test*'])
>>> l
['waitress']
>>> 

Le plus gros du travail est fait, il ne reste plus qu'à rechercher un fichier MANIFEST.in, ou SOURCES.txt, et de supprimer les lignes correspondantes à ce module (on crée alors un patch).

Une dernière chose, la fonction find_packages() se trouve dans le fichier setup.py, on va également le patcher.

lundi 23 janvier 2012

Déployer Mercurial (hg) « derrière » un serveur Web (Nginx) sous openSUSE

Logos

Dans un précédent billet, j'avais montré comment l'on pouvait exécuter une application Web écrite dans le langage Python sans faire intervenir de serveurs Web.

Aujourd'hui, nous allons voir le cas, où un serveur (en l'occurence Nginx) est déjà en place.

En fait, le but inavoué de cet article est de comprendre le système d'init, systemd utilisé par openSUSE en autre.

Lire la suite...

jeudi 5 janvier 2012

Résolution du problème connexion ethernet filaire ASUS Eee PC 1005PXD Athéros AR 8152 Ubuntu 10.04 LTS

Afin de rendre effective la connexion de la carte réseau ethernet Athéros AR 8152 sous Ubuntu 10.04 LTS, il faut faire un upgrade du noyau 2.6.x-x à la version 3.0.0-14 dans le gestionnaire de paquets Synaptic.

  1. aller dans Synaptic (Système-> Administration) ;
  2. rechercher "linux-image-3.0.0-14-generic" ;
  3. cocher et choisir pour installation cette version du noyau ;
  4. appliquer les changements ;
  5. et redémarrer.

Enjoy ! ;-)

samedi 10 décembre 2011

Installer ALSA sous Frugalware PowerPC

Frugalware

Ce billet est la suite du précédent. Nous allons voir comment installer ALSA.

Il s'agit d'un iBook G4, (le modèle n'est pas récent).

olivierd@brigand:~ $ cat /proc/device-tree/model && echo ""
PowerBook6,5
olivierd@brigand:~ $ 

Installation du paquet

root@brigand:~ # pacman-g2 -S alsa-utils alsa-tools
[...]
root@brigand:~ # 

Configuration

Nous pouvons lancer la commande alsaconf, il va rechercher le driver correspondant à notre carte audio.

Dans mon cas il n'arrive pas à la détecter.

root@brigand:~ # cat /proc/asound/cards
 --- no soundcards ---
root@brigand:~ # 

Nous allons donc rechercher tous les modules installés sur la machine.

root@brigand:~ # find / -type f -name '*.ko' -print
[...]
/lib/modules/3.1-fw2/kernel/sound/usb/snd-usb-audio.ko
/lib/modules/3.1-fw2/kernel/sound/usb/snd-usbmidi-lib.ko
/lib/modules/3.1-fw2/kernel/sound/ppc/snd-powermac.ko
/lib/modules/3.1-fw2/kernel/sound/drivers/snd-dummy.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/codecs/snd-aoa-codec-toonie.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/codecs/snd-aoa-codec-tas.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/codecs/snd-aoa-codec-onyx.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/fabrics/snd-aoa-fabric-layout.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/soundbus/i2sbus/snd-aoa-i2sbus.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/soundbus/snd-aoa-soundbus.ko
/lib/modules/3.1-fw2/kernel/sound/aoa/core/snd-aoa.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-device.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-midi-event.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/oss/snd-seq-oss.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-dummy.ko
/lib/modules/3.1-fw2/kernel/sound/core/seq/snd-seq-midi.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-hwdep.ko
/lib/modules/3.1-fw2/kernel/sound/core/oss/snd-mixer-oss.ko
/lib/modules/3.1-fw2/kernel/sound/core/oss/snd-pcm-oss.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-rawmidi.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-pcm.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-page-alloc.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd.ko
/lib/modules/3.1-fw2/kernel/sound/core/snd-timer.ko
/lib/modules/3.1-fw2/kernel/sound/soundcore.ko

Il faut donc rechercher le bon module dans le dossier /lib/modules/3.1-fw2/kernel/sound/. Un seul va retenir mon intention, snd-powermac.ko. Je vais le charger.

root@brigand:~ # modprobe snd_powermac
root@brigand:~ # cat /proc/asound/cards
 0 [Snapper        ]: PMac Snapper - PowerMac Snapper
                      PowerMac Snapper (Dev 44) Sub-frame 0
root@brigand:~ # 

C'est effectivement le bon [1].

Maintenant, nous pouvons régler le volume avec alsamixer, et sauvegarder cette configuration avec la commande suivante :

root@brigand:~ # alsactl store

ALSA et Systemd ?

Depuis que Frugalware utilise Systemd, les modules additionnels qui doivent être chargés au démarrage, doivent être « listés » dans le dossier /etc/modules-load.d/.

J'ai donc créé le fichier sound.conf :

# Load snd-powermac.ko at boot
snd-powermac

Note

[1] Je vous recommande de lire ces pages Gentoo PPC Faq, et Apple Onboard Audio.

mercredi 30 novembre 2011

Installation (manuelle) d'une Frugalware PowerPC

Frugalware

Dans ce billet, je vais relater les différentes étapes pour installer la Frugalware (l'installateur est bugué, segfault aléatoirement) sur un ordinateur dont le processeur, est de type PowerPC. Il s'agit d'un iBook G4.

olivierd@brigand:~ $ cat /proc/cpuinfo 
processor       : 0
cpu             : 7447A, altivec supported
clock           : 1333.333000MHz
revision        : 1.2 (pvr 8003 0102)
bogomips        : 73.72
timebase        : 18432000
platform        : PowerMac
model           : PowerBook6,5
machine         : PowerBook6,5
motherboard     : PowerBook6,5 MacRISC3 Power Macintosh 
detected as     : 287 (iBook G4)
pmac flags      : 0000001b
L2 cache        : 512K unified
pmac-generation : NewWorld
Memory          : 1280 MB
olivierd@brigand:~ $ 

Lire la suite...

lundi 21 novembre 2011

Upgrade openSUSE

logo openSUSE

La dernière version de openSUSE est sortie le 16 novembre. C'est la distribution Linux que j'utilise actuellement sur mon ordinateur principal. J'ai profité de ce week-end pour faire la mise à jour.

Je suis reparti complètement de zéro car :

  • le partitionnement ne me convenait plus
  • j'étais sous GNOME2 (2.32)

Désormais, j'utilise KDE4, et je vais pouvoir me consacrer un peu plus à la création de paquets RPM.

Dans ce billet, je vais présenter, les principales modifications que j'ai apporté, afin d'avoir un système qui me convienne.

Lire la suite...

samedi 5 novembre 2011

Mercurial en tant qu'application WSGI

Logo Mercurial

Aujourd'hui, j'ai soumis un PR (pour FreeBSD), concernant une mise à jour majeur, du gestionnaire de version, Mercurial.

J'en ai profité pour le tester un peu plus en profondeur, notamment, je me suis intéressé au module, hgweb. Il permet d'afficher via une page Web, un dépôt Mercurial.

Lire la suite...

vendredi 28 octobre 2011

Conflits entre paquets dans Arch Linux

Arch Linux logo

Des conflits peuvent intervenir entre des paquets, au sein même, d'un dépôt officiel sous Arch Linux ppc.

Il faut savoir que Arch Linux (i686 et x86_64) est une distribution dite en rolling release, c'est à dire, mise à jour continuellement sans freeze pour la sortie d'une version stable.

Du côté de la version PowerPC, la fréquence des mises à jour, est nettement moins rapide [1]. Donc on pourrait s'attendre à une « cohérence » entre les différents paquets pré-compilés, et bien ce n'est pas forcément le cas, la preuve avec udisks.

Notes

[1] On peut très bien compiler ses propres paquets.

Lire la suite...

samedi 20 août 2011

Miroirs pour Arch Linux (ppc)

Arch Linux logo

Ce billet est plus un pense-bête qu'autre chose.

Voici une liste de miroirs (encore actifs), si l'on souhaite installer Arch Linux PPC en netinstall.

  • ftp://mirror1.mirror.garr.it/mirrors/archlinuxppc/
  • ftp://mirror.academica.fi/archlinuxppc/
  • ftp://ftp.rediris.es/mirror/archlinux-ppc/
  • http://www.sm.kernel.org/mirrors/archlinuxppc/

lundi 8 mars 2010

Apprivoiser Debian

Ce week end, j'ai décidé de rangé le tas de feuilles, qui commencé à s'accumuler sur mon bureau. Du coup je me suis dit, pourquoi ne pas tout mettre sur le wiki.

Toutes ces notes concernent le système d'exploitation, Debian. Système que je connais très peu, donc je m'excuse auprès des aficionados si certains termes ou commandes peuvent être faux.

L'ensemble est accessible à cette adresse.

J'en ai profité pour rajouter mes notes concernant le configuration d'une Debian PowerPC.

capture d'écran d'une Debian powerpc

N'hésitez pas à partager vos astuces.

page 2 de 2 -