From 2a2c405d333e17648c90d62e1c5540ed11032328 Mon Sep 17 00:00:00 2001
From: Vincent Le Gallic <legallic@crans.org>
Date: Sun, 28 Jul 2013 16:14:19 +0200
Subject: [PATCH] Makefile pour installer le bazar dans ~ pour le client.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Le côté serveur viendra dans un prochain commit.

C'était pour make rename et make rerename qu'il était
nettement plus pratique d'avoir des guillemets simples.
---
 Makefile                | 37 +++++++++++++++++++++++++++++++++++++
 README                  | 12 +++++-------
 client.py               |  1 +
 clientconfig.example.py |  2 +-
 4 files changed, 44 insertions(+), 8 deletions(-)
 create mode 100644 Makefile

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..a221c27
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,37 @@
+# Nom de commande originel. Ne surtout pas changer cette variable
+cmd_original_name=cranspasswords
+
+# Nom de la commande, par défaut cranspasswords
+# Vous pouvez la modifier
+cmd_name=bdepasswords
+
+# Expression régulière et son remplacement, pour le renommage
+before=cmd_name = '${cmd_original_name}'
+after=cmd_name = '${cmd_name}'
+before2=cmd_name=${cmd_original_name}
+after2=cmd_name=${cmd_name}
+
+build:
+	@echo "Pour installer ${cmd_name} :"
+	@echo "Exécutez make install pour installer le client pour vous."
+	@echo "Exécutez sudo make install-server pour installer le serveur sur la machine."
+
+rename:
+	@echo "Modification des variables pour renommer '${cmd_original_name}' en '${cmd_name}'"
+	@sed -i "s/^${before}$$/${after}/" serverconfig.example.py clientconfig.example.py
+	@sed -i "s/^${before2}$$/${after2}/" server
+
+rerename:
+	@echo "Remise en place des variables passées à '${cmd_name}' en leur valeur de départ '${cmd_original_name}'"
+	@sed -i "s/^${after}$$/${before}/" serverconfig.example.py clientconfig.example.py
+	@sed -i "s/^${after2}$$/${before2}/" server
+
+install:
+	@if [ "${cmd_name}" != "${cmd_original_name}" ]; then make --quiet rename; fi
+	install -d ~/bin
+	install client.py ~/bin/${cmd_name}
+	install -d ~/.config/${cmd_name}
+	install clientconfig.py ~/.config/${cmd_name}
+	@if [ "${cmd_name}" != "${cmd_original_name}" ]; then make --quiet rerename; fi
+
+install-server:
diff --git a/README b/README
index ba37644..7097b9e 100644
--- a/README
+++ b/README
@@ -4,19 +4,17 @@ ordinateur) et le serveur.
 
 == Nom de la commande ==
 Si vous voulez appeler votre commande autrement que "cranspasswords",
-c'est possible. Il faut pour cela changer la variable cmd_name dans :
- * serverconfig(.example)?.py
- * clientconfig(.example)?.py
- * server
+c'est possible. Il faut pour cela changer la variable cmd_name dans le Makefile
+avant de lancer make install.
 
 == Installation et configuration du client ==
  * Copier le dépôt git sur votre machine :
     $ git clone git://git.crans.org/git/cranspasswords.git 
- * Copier clientconfig.example.py en clientconfig.py et adapter
-   à vos besoins
  * Installer le package python-gnupg
  * Si ce n'est déjà fait, indiquer votre clé publique sur gest_crans
- * ???
+ * Lancez make install
+ * Assurez-vous d'avoir ~/bin dans votre $PATH
+ * Exécutez cranspasswords test pour voir si vous arrivez à récupérer le mot de passe de test
 
 == Complétion ==
  * Pour avoir la bash-complétion, dans votre .bashrc :
diff --git a/client.py b/client.py
index 6dcb4e2..90edb51 100755
--- a/client.py
+++ b/client.py
@@ -25,6 +25,7 @@ except ImportError:
     if sys.stderr.isatty() and not any([opt in sys.argv for opt in ["-q", "--quiet"]]):
         sys.stderr.write(u"Package python-gnupg introuvable, vous ne pourrez pas vérifiez les clés.\n".encode("utf-8"))
 try:
+    sys.path.append("~/.config/%s/" % (config.cmd_name,))
     import clientconfig as config
 except ImportError:
     if sys.stderr.isatty() and not any([opt in sys.argv for opt in ["-q", "--quiet"]]):
diff --git a/clientconfig.example.py b/clientconfig.example.py
index 54f19ea..495905a 100755
--- a/clientconfig.example.py
+++ b/clientconfig.example.py
@@ -12,7 +12,7 @@ cmd_name = 'cranspasswords'
 ssh_path = '/usr/bin/ssh'
 
 #: Path du script ``cmd_name``-server sur le serveur
-server_path = '/root/%s/server' % (cmd_name,)
+server_path = '/usr/local/bin/%s-server' % (cmd_name,)
 
 #: Username utilisé pour se loguer sur le serveur.
 #: Par défaut, prend la valeur de l'username sur le client,
-- 
GitLab