Forum Programmation.autre Comment installer/distribuer proprement un petit projet

Posté par  . Licence CC By‑SA.
Étiquettes :
1
30
sept.
2016

Bonjour

Il y a quelque temps, j'ai commencé un petit projet de conversion automatique de fichier reposant sur awk et sh (bash ?(1))

Le projet utilise aussi deux fichiers annexes : un programme perl et sa bibliothèque.

Pour résumer, mon projet est composé des cinq fichiers suivants :

  • le fichier .sh qui sera directement appelé pour effectuer conversion,
  • deux fichiers .awk,
  • la bibliothèque perl,
  • le programme perl.

Pour l'instant, pour me simplifier la vie, le fichier .sh impose que les fichiers .awk soient dans le même répertoire que lui et que le programme perl soit dans le PATH.

Pour la distribution, je vois plusieurs approches :

  • copier tous les fichiers dans un répertoire du PATH, genre /usr/bin ou /usr/local/bin
  • créer un répertoire où je colle tout que j'ajoute au PATH (question subsidiaire, comment faire, pour un utilisateur, pour tous ?)
  • modifier le script pour qu'il aille chercher les fichiers qui vont bien dans un répertoire dédié (.../share/...)

Quelle pourrait-être la bonne approche ?

Merci

PS:

  • C'est un projet sans grande ambition qui transforme des fichiers .FIT (créés par une montre garmin) en fichier .svg qui trace le chemin parcouru sur une carte OSM.
  • La principale motivation pour moi était l'apprentissage la découverte des scripts sh et awk.
  • Je vais aussi en profiter pour me mettre à git (via framagit), pareil, pour apprentissage.

1 - Je mets bash entre parenthèses car au moment où j'écris, je n'ai pas encore vérifié sur le script se contentait de sh ou pas, mon #! le pointe, mais je n'ai pas vérifié qu'il n'y avait pas un lien symbolique dans mon système…

  • # Pas de .sh

    Posté par  (site web personnel) . Évalué à 4. Dernière modification le 30 septembre 2016 à 11:58.

    Le script principal ne doit pas avoir de .sh On ne met pas d'extension sur les programmes utilisateurs sous UNIX ;-)

    Sinon, je mettrais tout le reste dans un dossier ../lib/monproj/bin et je rajoute en début du script un truc du genre :

    distribpath=$(dirname $(which $0))
    export PATH "${distribpath}/../lib/monproj/bin:$PATH"
    Voile une piste ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.