Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien 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 XXe siècle
Domotego : boutique dédiée à la domotique DIY - https://www.domotego.com
Consultant informatique indépendant - Geek et tout plein d'autres choses

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