2008/02/20

Paquets finaux sur archlinux le retour

Suite au passage à pacman 3.1, le format de la base des paquets à changé légèrement, il n'y a plus de required dans le fichier depends, mon précédent script ne fonctionne donc plus. En revanche, j'avais un bout de C utilisant la libalpm (bout de code fournit pas mimas ici ). Bien sûr entre temps la libalpm a évoluée depuis et ce code ne passe pas tel quel, en revanche quelques petite modifications plus tard et tout refonctionne.

#include <stdio.h>
#include <stdlib.h>

#include <alpm.h>
#include <alpm_list.h>

int main(int argc, char** argv)
{
alpm_list_t *i;
pmpkg_t *pkg = NULL;
pmdb_t *db_local = NULL;

if (alpm_initialize() == -1)
{
    puts ("Erreur: alpm_initialize()");
    return 1;
}
alpm_option_set_root("/");
alpm_option_set_dbpath("/var/lib/pacman");

db_local = alpm_db_register_local();
if (db_local == NULL)
{
    puts ("Erreur: alpm_db_register");
    alpm_release();
    return 1;
}

for (i = alpm_db_getpkgcache(db_local); i ; i = alpm_list_next(i))
{
    pkg = alpm_list_getdata(i);
    if ( alpm_list_count(alpm_pkg_compute_requiredby(pkg)) == 0 )
    {
        printf("%s\n", alpm_pkg_get_name(pkg));
    }
}
alpm_release();
return 0;
}

2007/12/18

Port de ftwin sous FreeBSD

ftwin est un logiciel permettant de découvrir les fichiers en doublons, y compris les images identiques mais de formats différents et les fichiers contenus dans des archives.

Après avoir fait des packages pour Archlinux de ftwin et de sa dépendance libpuzzle (disponible sur mon aur), je me suis attaqué à en faire une version FreeBSD qui est mon OS principal.

Premier problème ftwin utilise fgetgrent une fonction qui n'existe pas sous FreeBSD, François Pesce le développeur de ftwin a rapidement modifier son code afin de le rendre plus portable.

Second problème les autotools, un problème dans la manière dont sont utilisés les autotools dans ftwin fait que celui-ci ne trouve pas les bibliothèques et les header dans /usr/local. Après avoir patcher acinclude.m4 et bien galérer à comprendre comment fonctionne les autotools, et donc comment réaliser au mieux le port FreeBSD correspondant, le résultat est enfin là.

Voici donc les port de ftwin et de libpuzzle sous FreeBSD :

2007/11/28

Lister les paquets "finaux" sous archlinux

Un petit script zsh pour les cochons qui comme moi n'utilisent installent les dépendance avec un simple pacman -S de temps en temps et qui du coup font grossir inutilement le nombre de packages installés.

#!/bin/zsh
for rep in /var/lib/pacman/local/*(/);do
    [ -z ${(M)${(f)"$(<$rep/depends)"}:#*REQUIRED*} ] && print ${${rep/\/var\/lib\/pacman\/local\//}%-*-*}
done

Ceci vous affichera les packages installés qui ne dépendent d'aucun autres packages, normalement, ils devrait tous vous être utiles, si ce n'est pas le cas, ils peuvent être supprimer sans trop de risques.

**UPDATE : ** obsolète car incompatible avec la nouvelle version de la base de package fournit avec pacman 3.1

2007/11/28

Du thé glacé sous Linux

J'avais besoin de java sur mon amd64 (avec le plugin). Bon jusqu'à maintenant c'était pas gagné, mais heureusement Sun a libéré une Bonne partie de Java (OpenJDK) et les petits de gars de GNU classpath la complète avec leur propre implémentation, la mixture ainsi obtenu est icedtea, qui a le bon goût de venir avec un plugin officiel pour amd64 ce qui n'est pas le cas de la VM de SUN.
J'en ai donc fait un PKGBUILD qui compile parfaitement sous mon archlinux, et j'ai ainsi un java fonctionnel et libre.

Voila pour plus d'informations : le PKGBUILD a tester : icedtea.tar.gz
Je n'ai tester que sur amd64 mais il devrait fonctionner sur x86.
Il sera disponible sur mon AUR dès qu'il aura été tester et valider sur x86

PS: 2h30 de compilation et plus de 3G de consommés quand même, beau bébé.

EDIT : Résultat

java version "1.7.0"
IcedTea Runtime Environment (build 1.7.0-root_28_nov_2007_12_45-b00)
IcedTea 64-Bit Server VM (build 11.0-b05, mixed mode)

Pages : 1