Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 26/01/2013, à 05:44

SFry

[Résolu] Créer répertoire dans Home à l'installation d'un paquet

Bonjour,

J'ai créé un logiciel à l'aide de la bibliothèque QT et je souhaiterais maintenant le déployer sous forme d'un paquet deb. Cependant, mon application utilise un dictionnaire, sous forme d'un fichier texte, que je ne sais pas trop où stocker.
Je m'explique: l'idéal serait de le mettre dans un répertoire ~/.monApplication pour que mon application puisse y avoir accès, comme le font beaucoup de logiciels. Mais je ne sais pas comment créer ce répertoire à l'installation du paquet. En effet, à la création de mon paquet, j'ai créé un script "postinst" qui permettrait de créer ce répertoire et de bouger le dictionnaire vers ce répertoire. Mais en installant le paquet à l'aide de la logithèque, il est impossible de savoir quel est le home de l'utilisateur.
J'arrive très bien à placer ce fichier dans /usr/share/monApplication, mais le fichier devant être modifié par l'application, il lui faudrait un accès root ce qui est complètement inutile...

Je ne sais donc pas comment s'y prennent les autres logiciels pour mettre les données de l'utilisateur dans un répertoire caché du home.
Quelqu'un aurait-il une idée sur la manière de s'y prendre proprement ?

Merci d'avance

Dernière modification par SFry (Le 26/01/2013, à 14:55)

Hors ligne

#2 Le 26/01/2013, à 08:27

tiramiseb

Re : [Résolu] Créer répertoire dans Home à l'installation d'un paquet

SFry a écrit :

Je ne sais donc pas comment s'y prennent les autres logiciels pour mettre les données de l'utilisateur dans un répertoire caché du home.
Quelqu'un aurait-il une idée sur la manière de s'y prendre proprement ?

Tu mets le fichier dans /usr/share/<application>.

Et dès que l'application a besoin de créer des données selon l'utilisateur, elle crée un fichier dans /home/<utilisateur>/.config/<application> (si c'est une configuration) ou /home/<utilisateur>/.local/share/<application> (pour une autre donnée).

L'idéal est que le fichier utilisateur et le fichier global soient complémentaires, comme ça s'il y a une mise à jour du fichier global l'utilisateur pourra en bénéficier.

Pour le répertoire ".config" ou ".local/share", peut-être que son chemin est stocké dans une variable d'environnement, si c'est le cas autant utiliser cette variable d'environnement. Tu devrais trouver des infos en cherchant du côté de Freedesktop.


En tout cas un paquet ne doit pas toucher aux données utilisateur,  car il y a trop d'incertitude : combien y en a-t-il ? Quels sont leurs noms ? Que faire si un utilisateur est créé ultérieurement ? Que faire si un utilisateur efface son fichier ? Etc.

Dernière modification par tiramiseb (Le 26/01/2013, à 08:29)


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXème siècle
Consultant informatique indépendant - http://www.smm-informatique.fr
Geek et tout plein d'autres choses - http://www.tiramiseb.fr

Hors ligne

#3 Le 26/01/2013, à 14:54

SFry

Re : [Résolu] Créer répertoire dans Home à l'installation d'un paquet

ok c'est donc mon application qui doit se charger de copier le fichier, et non pas des scripts du paquet.

Merci de ton aide tiramiseb !

Hors ligne

Haut de page ↑