m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2014-04-19 23:29:33 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2014-04-19 23:29:33 +0200
commit78098bab96c0228d700978492152ba3c2a872d2b (patch)
treea36a4fafc22b3af76205882ea224b540a6d82637
parente4d479a3fd695ced2cf7f1e9bdf6f8c3a4ad51ed (diff)
platform: Allow custom platform file before install
The new environment variable, PASSWORD_STORE_PLATFORM_FILE is now used for loading custom platform files while pass lives as src/password-store.sh. After it is installed using 'make install', this environment variable is no longer used, and either no platform file is loaded (if the default platform is acceptable), or a hardcoded also-installed platform file is referenced. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--Makefile6
-rwxr-xr-xsrc/password-store.sh2
2 files changed, 5 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index bee69e1..ed81e82 100644
--- a/Makefile
+++ b/Makefile
@@ -26,11 +26,13 @@ ifneq ($(strip $(wildcard $(PLATFORMFILE))),)
install: install-common
@install -m 0644 -v "$(PLATFORMFILE)" "$(DESTDIR)$(LIBDIR)/password-store.platform.sh"
@mkdir -p -v "$(DESTDIR)$(BINDIR)/"
- sed 's:.*platform-defined-functions.*:source $(DESTDIR)$(LIBDIR)/password-store.platform.sh:' src/password-store.sh > "$(DESTDIR)$(BINDIR)/pass"
+ sed 's:.*PASSWORD_STORE_PLATFORM_FILE.*:source "$(DESTDIR)$(LIBDIR)/password-store.platform.sh":' src/password-store.sh > "$(DESTDIR)$(BINDIR)/pass"
@chmod 0755 "$(DESTDIR)$(BINDIR)/pass"
else
install: install-common
- @install -m 0755 -v src/password-store.sh "$(DESTDIR)$(BINDIR)/pass"
+ @mkdir -p -v "$(DESTDIR)$(BINDIR)/"
+ sed '/PASSWORD_STORE_PLATFORM_FILE/d' src/password-store.sh > "$(DESTDIR)$(BINDIR)/pass"
+ @chmod 0755 "$(DESTDIR)$(BINDIR)/pass"
endif
uninstall:
diff --git a/src/password-store.sh b/src/password-store.sh
index eb98fad..e350c46 100755
--- a/src/password-store.sh
+++ b/src/password-store.sh
@@ -177,7 +177,7 @@ tmpdir() {
GETOPT="getopt"
SHRED="shred -f -z"
-# source /path/to/platform-defined-functions
+source "$PASSWORD_STORE_PLATFORM_FILE" 2>/dev/null
#
# END platform definable