2009-06-25 6 views
1

Je reconditionne un logiciel (qui a son propre programme d'installation) pour un usage privé sous un système Debian. Ce logiciel est déjà compilé (pas de source), donc je lance l'installateur dans l'arborescence $DESTDIR.Debian: créer un utilisateur pendant l'empaquetage

Malheureusement, le programme d'installation requiert qu'un nom d'utilisateur système et un nom de groupe soient créés précédemment. Maintenant, je sais que c'est une simple question de le faire "à la main" avant de construire (et d'installer) le paquet Debian. Mais je me demande s'il est possible d'ordonner à debuild de "simuler la création d'un utilisateur" (tout en s'exécutant en tant que root avec fakeroot). L'édition des fichiers debian/preinst.ex et debian/postrm.ex fonctionne pour effectuer ces opérations, mais cela concerne également l'étape build, où ces utilisateurs deviennent inutiles après la génération. Donc, en gros, cela permet à Debian de construire des outils (et des outils qui s'exécutent dans la construction) pour "croire" qu'un certain utilisateur existe déjà. À court d'exécution dans un environnement chroot-ed (tel que pbuilder), comment puis-je faire cela?

+0

Des idées? ... :-( – jbatista

Répondre

2

Un peu en retard, mais ma meilleure estimation serait un LD_PRELOAD, ce qui nécessite la construction d'un fichier C séparé compilé à une bibliothèque dynamique qui peut remplacer par ex. getpwnam() qui est probablement ce que le programme d'installation utilise pour vérifier l'utilisateur.

Mais d'abord, je voudrais vraiment de voir si le "installateur" ne peut pas être forcé en mode de décompression. De nombreux installateurs peuvent, en utilisant des options cachées.

Questions connexes