aboutsummaryrefslogtreecommitdiff
path: root/sysutils/password-store
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2016-05-31 16:24:27 +0000
committerRene Ladan <rene@FreeBSD.org>2016-05-31 16:24:27 +0000
commit2d1782438930f3e9d70ba17aed6ae1362a87f979 (patch)
tree192d535cc152060483fcc0d603a4906593b19227 /sysutils/password-store
parent39d18d9545015c7be050fef97619b8120323cb58 (diff)
downloadports-2d1782438930f3e9d70ba17aed6ae1362a87f979.tar.gz
ports-2d1782438930f3e9d70ba17aed6ae1362a87f979.zip
sysutils/password-store: update to version 1.6.5
- enable shell completions by default (bash, fish, zsh) [1] - do not remove XClip and GIT functionality [2] PR: 195951 [1] Submitted by: rs.os@t-online.de [1], milki [2] Reviewed by: milki [2], eadler [2] Differential Revision: https://reviews.freebsd.org/D4208 [2] (to 1.6.4)
Notes
Notes: svn path=/head/; revision=416209
Diffstat (limited to 'sysutils/password-store')
-rw-r--r--sysutils/password-store/Makefile26
-rw-r--r--sysutils/password-store/distinfo5
-rw-r--r--sysutils/password-store/files/git+xclip.patch634
-rw-r--r--sysutils/password-store/files/git.patch405
-rw-r--r--sysutils/password-store/files/xclip.patch303
-rw-r--r--sysutils/password-store/pkg-plist7
6 files changed, 20 insertions, 1360 deletions
diff --git a/sysutils/password-store/Makefile b/sysutils/password-store/Makefile
index 1bc152cac777..4077d23f3e29 100644
--- a/sysutils/password-store/Makefile
+++ b/sysutils/password-store/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= password-store
-PORTVERSION= 1.6.3
-PORTREVISION= 2
+PORTVERSION= 1.6.5
CATEGORIES= sysutils
MASTER_SITES= http://git.zx2c4.com/password-store/snapshot/
@@ -22,6 +21,7 @@ NO_ARCH= yes
NO_BUILD= yes
OPTIONS_DEFINE= GIT XCLIP CONTRIB DOCS EXAMPLES
+OPTIONS_DEFAULT= CONTRIB
OPTIONS_SUB= yes
GIT_DESC= Enable git storage
@@ -34,26 +34,24 @@ XCLIP_RUN_DEPENDS= base64>=0:converters/base64 \
.include <bsd.port.options.mk>
-.if ! ${PORT_OPTIONS:MGIT} && ! ${PORT_OPTIONS:MXCLIP}
-EXTRA_PATCHES= ${PATCHDIR}/git+xclip.patch:-p1
-.elif ! ${PORT_OPTIONS:MGIT}
-EXTRA_PATCHES= ${PATCHDIR}/git.patch:-p1
-.elif ! ${PORT_OPTIONS:MXCLIP}
-EXTRA_PATCHES= ${PATCHDIR}/xclip.patch:-p1
-.endif
-
post-patch:
@${REINPLACE_CMD} -Ee 's|GETOPT="getopt"|GETOPT="${LOCALBASE}/bin/getopt"|' ${WRKSRC}/src/password-store.sh
@${REINPLACE_CMD} -Ee 's|SHRED="shred -f -z"|SHRED="rm -P -f"|' ${WRKSRC}/src/password-store.sh
do-install:
- @${INSTALL_SCRIPT} ${WRKSRC}/src/password-store.sh ${STAGEDIR}${PREFIX}/libexec/pass
- @${LN} -s ${PREFIX}/libexec/pass ${STAGEDIR}${PREFIX}/bin/pass
+ ${INSTALL_SCRIPT} ${WRKSRC}/src/password-store.sh ${STAGEDIR}${PREFIX}/libexec/pass
+ ${LN} -s ${PREFIX}/libexec/pass ${STAGEDIR}${PREFIX}/bin/pass
do-install-CONTRIB-on:
@${MKDIR} ${STAGEDIR}${DATADIR}
- @(cd ${WRKSRC}/contrib && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
- @(cd ${WRKSRC}/src/completion && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
+ (cd ${WRKSRC}/contrib && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
+ (cd ${WRKSRC}/src/completion && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR})
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
+ ${INSTALL_DATA} ${STAGEDIR}${DATADIR}/pass.zsh-completion ${STAGEDIR}${PREFIX}/share/zsh/site-functions/_pass
+ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
+ ${INSTALL_DATA} ${STAGEDIR}${DATADIR}/pass.bash-completion ${STAGEDIR}${PREFIX}/etc/bash_completion.d/password-store
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/fish/completions
+ ${INSTALL_DATA} ${STAGEDIR}${DATADIR}/pass.fish-completion ${STAGEDIR}${PREFIX}/share/fish/completions/password-store.fish
do-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
diff --git a/sysutils/password-store/distinfo b/sysutils/password-store/distinfo
index ddb4ac17304f..2818000cb7a1 100644
--- a/sysutils/password-store/distinfo
+++ b/sysutils/password-store/distinfo
@@ -1,2 +1,3 @@
-SHA256 (password-store-1.6.3.tar.gz) = 1a9437fe07fdce5f562f8b6bd7e8492416f5ad298f32b87a02984c3908267148
-SIZE (password-store-1.6.3.tar.gz) = 59408
+TIMESTAMP = 1464706588
+SHA256 (password-store-1.6.5.tar.gz) = 0b70e27babed42209544acafbfdaddc222933977883b1dcd9db2acb142045608
+SIZE (password-store-1.6.5.tar.gz) = 61020
diff --git a/sysutils/password-store/files/git+xclip.patch b/sysutils/password-store/files/git+xclip.patch
deleted file mode 100644
index 2239e5efd077..000000000000
--- a/sysutils/password-store/files/git+xclip.patch
+++ /dev/null
@@ -1,634 +0,0 @@
-diff --git a/README b/README
-index 1cc01b9..f994aba 100644
---- a/README
-+++ b/README
-@@ -17,10 +17,6 @@ Depends on:
- http://www.gnu.org/software/bash/
- - GnuPG2
- http://www.gnupg.org/
--- git
-- http://www.git-scm.com/
--- xclip
-- http://sourceforge.net/projects/xclip/
- - pwgen
- http://sourceforge.net/projects/pwgen/
- - tree >= 1.7.0
-diff --git a/contrib/emacs/password-store.el b/contrib/emacs/password-store.el
-index cdecad4..052eda7 100644
---- a/contrib/emacs/password-store.el
-+++ b/contrib/emacs/password-store.el
-@@ -112,10 +112,6 @@ outputs error message on failure."
- entry
- new-entry))
-
--(defun password-store--run-git (&rest args)
-- (apply 'password-store--run "git"
-- args))
--
- (defun password-store--run-version ()
- (password-store--run "version"))
-
-diff --git a/man/pass.1 b/man/pass.1
-index 8ac8ecf..5024799 100644
---- a/man/pass.1
-+++ b/man/pass.1
-@@ -33,13 +33,6 @@ or
- depending on the type of specifier in ARGS. Otherwise COMMAND must be one of
- the valid commands listed below.
-
--Several of the commands below rely on or provide additional functionality if
--the password store directory is also a git repository. If the password store
--directory is a git repository, all password store modification commands will
--cause a corresponding git commit. See the \fIEXTENDED GIT EXAMPLE\fP section
--for a detailed description using \fBinit\fP and
--.BR git (1).
--
- The \fBinit\fP command must be run before other commands in order to initialize
- the password store with the correct gpg key id. Passwords are encrypting using
- the gpg key set with \fBinit\fP.
-@@ -86,12 +79,8 @@ List names of passwords inside the tree that match \fIpass-names\fP by using the
- .BR tree (1)
- program. This command is alternatively named \fBsearch\fP.
- .TP
--\fBshow\fP [ \fI--clip\fP, \fI-c\fP ] \fIpass-name\fP
--Decrypt and print a password named \fIpass-name\fP. If \fI--clip\fP or \fI-c\fP
--is specified, do not print the password but instead copy the first line to the
--clipboard using
--.BR xclip (1)
--and then restore the clipboard after 45 (or \fIPASSWORD_STORE_CLIP_TIME\fP) seconds.
-+\fBshow\fP \fIpass-name\fP
-+Decrypt and print a password named \fIpass-name\fP.
- .TP
- \fBinsert\fP [ \fI--echo\fP, \fI-e\fP | \fI--multiline\fP, \fI-m\fP ] [ \fI--force\fP, \fI-f\fP ] \fIpass-name\fP
- Insert a new password into the password store called \fIpass-name\fP. This will
-@@ -110,15 +99,11 @@ ensure that temporary files are created in \fI/dev/shm\fP in order to avoid writ
- difficult-to-erase disk sectors. If \fI/dev/shm\fP is not accessible, fallback to
- the ordinary \fITMPDIR\fP location, and print a warning.
- .TP
--\fBgenerate\fP [ \fI--no-symbols\fP, \fI-n\fP ] [ \fI--clip\fP, \fI-c\fP ] [ \fI--in-place\fP, \fI-i\fP | \fI--force\fP, \fI-f\fP ] \fIpass-name pass-length\fP
-+\fBgenerate\fP [ \fI--no-symbols\fP, \fI-n\fP ] [ \fI--in-place\fP, \fI-i\fP | \fI--force\fP, \fI-f\fP ] \fIpass-name pass-length\fP
- Generate a new password using
- .BR pwgen (1)
- of length \fIpass-length\fP and insert into \fIpass-name\fP. If \fI--no-symbols\fP or \fI-n\fP
- is specified, do not use any non-alphanumeric characters in the generated password.
--If \fI--clip\fP or \fI-c\fP is specified, do not print the password but instead copy
--it to the clipboard using
--.BR xclip (1)
--and then restore the clipboard after 45 (or \fIPASSWORD_STORE_CLIP_TIME\fP) seconds.
- Prompt before overwriting an existing password,
- unless \fI--force\fP or \fI-f\fP is specified. If \fI--in-place\fP or \fI-i\fP is
- specified, do not interactively prompt, and only replace the first line of the password
-@@ -144,16 +129,6 @@ silently overwrite \fInew-path\fP if it exists. If \fInew-path\fP ends in a
- trailing \fI/\fP, it is always treated as a directory. Passwords are selectively
- reencrypted to the corresponding keys of their new destination.
- .TP
--\fBgit\fP \fIgit-command-args\fP...
--If the password store is a git repository, pass \fIgit-command-args\fP as arguments to
--.BR git (1)
--using the password store as the git repository. If \fIgit-command-args\fP is \fBinit\fP,
--in addition to initializing the git repository, add the current contents of the password
--store to the repository in an initial commit. If the git config key \fIpass.signcommits\fP
--is set to \fItrue\fP, then all commits will be signed using \fIuser.signingkey\fP or the
--default git signing key. This config key may be turned on using:
--.B `pass git config --bool --add pass.signcommits true`
--.TP
- \fBhelp\fP
- Show usage message.
- .TP
-@@ -223,11 +198,6 @@ Show existing password
- .br
- sup3rh4x3rizmynam3
- .TP
--Copy existing password to clipboard
--.B zx2c4@laptop ~ $ pass -c Email/zx2c4.com
--.br
--Copied Email/jason@zx2c4.com to clipboard. Will clear in 45 seconds.
--.TP
- Add password to store
- .B zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory
- .br
-@@ -266,10 +236,8 @@ The generated password to Email/jasondonenfeld.com is:
- .br
- YqFsMkBeO6di
- .TP
--Generate new password and copy it to the clipboard
--.B zx2c4@laptop ~ $ pass generate -c Email/jasondonenfeld.com 19
--.br
--Copied Email/jasondonenfeld.com to clipboard. Will clear in 45 seconds.
-+Generate new password
-+.B zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 19
- .TP
- Remove password from store
- .B zx2c4@laptop ~ $ pass remove Business/cheese-whiz-factory
-@@ -278,99 +246,6 @@ rm: remove regular file \[u2018]/home/zx2c4/.password-store/Business/cheese-whiz
- .br
- removed \[u2018]/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg\[u2019]
-
--.SH EXTENDED GIT EXAMPLE
--Here, we initialize new password store, create a git repository, and then manipulate and sync passwords. Make note of the arguments to the first call of \fBpass git push\fP; consult
--.BR git-push (1)
--for more information.
--
--.B zx2c4@laptop ~ $ pass init Jason@zx2c4.com
--.br
--mkdir: created directory \[u2018]/home/zx2c4/.password-store\[u2019]
--.br
--Password store initialized for Jason@zx2c4.com.
--
--.B zx2c4@laptop ~ $ pass git init
--.br
--Initialized empty Git repository in /home/zx2c4/.password-store/.git/
--.br
--[master (root-commit) 998c8fd] Added current contents of password store.
--.br
-- 1 file changed, 1 insertion(+)
--.br
-- create mode 100644 .gpg-id
--
--.B zx2c4@laptop ~ $ pass git remote add origin kexec.com:pass-store
--
--.B zx2c4@laptop ~ $ pass generate Amazon/amazonemail@email.com 21
--.br
--mkdir: created directory \[u2018]/home/zx2c4/.password-store/Amazon\[u2019]
--.br
--[master 30fdc1e] Added generated password for Amazon/amazonemail@email.com to store.
--.br
--1 file changed, 0 insertions(+), 0 deletions(-)
--.br
--create mode 100644 Amazon/amazonemail@email.com.gpg
--.br
--The generated password to Amazon/amazonemail@email.com is:
--.br
--<5m,_BrZY`antNDxKN<0A
--
--.B zx2c4@laptop ~ $ pass git push -u --all
--.br
--Counting objects: 4, done.
--.br
--Delta compression using up to 2 threads.
--.br
--Compressing objects: 100% (3/3), done.
--.br
--Writing objects: 100% (4/4), 921 bytes, done.
--.br
--Total 4 (delta 0), reused 0 (delta 0)
--.br
--To kexec.com:pass-store
--.br
--* [new branch] master -> master
--.br
--Branch master set up to track remote branch master from origin.
--
--.B zx2c4@laptop ~ $ pass insert Amazon/otheraccount@email.com
--.br
--Enter password for Amazon/otheraccount@email.com: som3r3a11yb1gp4ssw0rd!!88**
--.br
--[master b9b6746] Added given password for Amazon/otheraccount@email.com to store.
--.br
--1 file changed, 0 insertions(+), 0 deletions(-)
--.br
--create mode 100644 Amazon/otheraccount@email.com.gpg
--
--.B zx2c4@laptop ~ $ pass rm Amazon/amazonemail@email.com
--.br
--rm: remove regular file \[u2018]/home/zx2c4/.password-store/Amazon/amazonemail@email.com.gpg\[u2019]? y
--.br
--removed \[u2018]/home/zx2c4/.password-store/Amazon/amazonemail@email.com.gpg\[u2019]
--.br
--rm 'Amazon/amazonemail@email.com.gpg'
--.br
--[master 288b379] Removed Amazon/amazonemail@email.com from store.
--.br
--1 file changed, 0 insertions(+), 0 deletions(-)
--.br
--delete mode 100644 Amazon/amazonemail@email.com.gpg
--
--.B zx2c4@laptop ~ $ pass git push
--.br
--Counting objects: 9, done.
--.br
--Delta compression using up to 2 threads.
--.br
--Compressing objects: 100% (5/5), done.
--.br
--Writing objects: 100% (7/7), 1.25 KiB, done.
--.br
--Total 7 (delta 0), reused 0 (delta 0)
--.br
--To kexec.com:pass-store
--
- .SH FILES
-
- .TP
-@@ -394,19 +269,6 @@ Overrides the default gpg key identification set by \fBinit\fP. Keys must not
- contain spaces and thus use of the hexidecimal key signature is recommended.
- Multiple keys may be specified separated by spaces.
- .TP
--.I PASSWORD_STORE_GIT
--Overrides the default root of the git repository, which is helpful if
--\fIPASSWORD_STORE_DIR\fP is temporarily set to a sub-directory of the default
--password store.
--.TP
--.I PASSWORD_STORE_X_SELECTION
--Overrides the selection passed to \fBxclip\fP, by default \fIclipboard\fP. See
--.BR xclip (1)
--for more info.
--.TP
--.I PASSWORD_STORE_CLIP_TIME
--Specifies the number of seconds to wait before restoring the clipboard, by default
--\fI45\fP seconds.
- .TP
- .I PASSWORD_STORE_UMASK
- Sets the umask of all files modified by pass, by default \fI077\fP.
-@@ -416,8 +278,6 @@ The location of the text editor used by \fBedit\fP.
- .SH SEE ALSO
- .BR gpg2 (1),
- .BR pwgen (1),
--.BR git (1),
--.BR xclip (1).
-
- .SH AUTHOR
- .B pass
-diff --git a/src/completion/pass.bash-completion b/src/completion/pass.bash-completion
-index ea31fbf..dbf39dc 100644
---- a/src/completion/pass.bash-completion
-+++ b/src/completion/pass.bash-completion
-@@ -62,7 +62,7 @@ _pass()
- {
- COMPREPLY=()
- local cur="${COMP_WORDS[COMP_CWORD]}"
-- local commands="init ls find grep show insert generate edit rm mv cp git help version"
-+ local commands="init ls find grep show insert generate edit rm mv cp help version"
- if [[ $COMP_CWORD -gt 1 ]]; then
- local lastarg="${COMP_WORDS[$COMP_CWORD-1]}"
- case "${COMP_WORDS[1]}" in
-@@ -78,7 +78,6 @@ _pass()
- _pass_complete_entries
- ;;
- show|-*)
-- COMPREPLY+=($(compgen -W "-c --clip" -- ${cur}))
- _pass_complete_entries 1
- ;;
- insert)
-@@ -86,7 +85,7 @@ _pass()
- _pass_complete_entries
- ;;
- generate)
-- COMPREPLY+=($(compgen -W "-n --no-symbols -c --clip -f --force -i --in-place" -- ${cur}))
-+ COMPREPLY+=($(compgen -W "-n --no-symbols -f --force -i --in-place" -- ${cur}))
- _pass_complete_entries
- ;;
- cp|copy|mv|rename)
-@@ -97,9 +96,6 @@ _pass()
- COMPREPLY+=($(compgen -W "-r --recursive -f --force" -- ${cur}))
- _pass_complete_entries
- ;;
-- git)
-- COMPREPLY+=($(compgen -W "init push pull config log reflog rebase" -- ${cur}))
-- ;;
- esac
- else
- COMPREPLY+=($(compgen -W "${commands}" -- ${cur}))
-diff --git a/src/completion/pass.fish-completion b/src/completion/pass.fish-completion
-index c32a42c..6920546 100644
---- a/src/completion/pass.fish-completion
-+++ b/src/completion/pass.fish-completion
-@@ -75,7 +75,6 @@ complete -c $PROG -f -A -n '__fish_pass_uses_command insert' -a "(__fish_pass_pr
-
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a generate -d 'Command: generate new password'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s n -l no-symbols -d 'Do not use special symbols'
--complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s c -l clip -d 'Put the password in clipboard'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s f -l force -d 'Do not prompt before overwritting'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s i -l in-place -d 'Replace only the first line with the generated password'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -a "(__fish_pass_print_entry_dirs)"
-@@ -97,22 +96,10 @@ complete -c $PROG -f -A -n '__fish_pass_needs_command' -a edit -d 'Command: edit
- complete -c $PROG -f -A -n '__fish_pass_uses_command edit' -a "(__fish_pass_print_entries)"
-
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a show -d 'Command: show existing password'
--complete -c $PROG -f -A -n '__fish_pass_uses_command show' -s c -l clip -d 'Put password in clipboard'
- complete -c $PROG -f -A -n '__fish_pass_uses_command show' -a "(__fish_pass_print_entries)"
- # When no command is given, `show` is defaulted.
--complete -c $PROG -f -A -n '__fish_pass_needs_command' -s c -l clip -d 'Put password in clipboard'
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a "(__fish_pass_print_entries)"
- complete -c $PROG -f -A -n '__fish_pass_uses_command -c' -a "(__fish_pass_print_entries)"
--complete -c $PROG -f -A -n '__fish_pass_uses_command --clip' -a "(__fish_pass_print_entries)"
--
--complete -c $PROG -f -A -n '__fish_pass_needs_command' -a git -d 'Command: execute a git command'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'init' -d 'Initialize git repository'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'status' -d 'Show status of the repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'add' -d 'Add changes to the index'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'commit' -d 'Commit changes to the repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'push' -d 'Push changes to remote repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'pull' -d 'Pull changes from remote repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'log' -d 'View changelog'
-
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a find -d 'Command: find a password file or directory matching pattern'
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a grep -d 'Command: search inside of decrypted password files for matching pattern'
-diff --git a/src/completion/pass.zsh-completion b/src/completion/pass.zsh-completion
-index b658398..0f5599f 100644
---- a/src/completion/pass.zsh-completion
-+++ b/src/completion/pass.zsh-completion
-@@ -41,8 +41,6 @@ _pass () {
- _arguments : \
- "-n[don't include symbols in password]" \
- "--no-symbols[don't include symbols in password]" \
-- "-c[copy password to the clipboard]" \
-- "--clip[copy password to the clipboard]" \
- "-f[force overwrite]" \
- "--force[force overwrite]" \
- "-i[replace first line]" \
-@@ -63,18 +61,6 @@ _pass () {
- "--recursive[recursively delete]"
- _pass_complete_entries_with_subdirs
- ;;
-- git)
-- local -a subcommands
-- subcommands=(
-- "init:Initialize git repository"
-- "push:Push to remote repository"
-- "pull:Pull from remote repository"
-- "config:Show git config"
-- "log:Show git log"
-- "reflog:Show git reflog"
-- )
-- _describe -t commands 'pass git' subcommands
-- ;;
- show|*)
- _pass_cmd_show
- ;;
-@@ -93,7 +79,6 @@ _pass () {
- "mv:Rename the password"
- "cp:Copy the password"
- "rm:Remove the password"
-- "git:Call git on the password store"
- "version:Output version information"
- "help:Output help message"
- )
-@@ -106,15 +91,12 @@ _pass () {
- }
-
- _pass_cmd_show () {
-- _arguments : \
-- "-c[put it on the clipboard]" \
-- "--clip[put it on the clipboard]"
- _pass_complete_entries
- }
- _pass_complete_entries_helper () {
- local IFS=$'\n'
- local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
-- _values -C 'passwords' $(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' | sort)
-+ _values -C 'passwords' $(find -L "$prefix" -name .gpg-id -prune -o $@ -print | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' | sort)
- }
-
- _pass_complete_entries_with_subdirs () {
-diff --git a/src/password-store.sh b/src/password-store.sh
-index cfc25cc..01fa1bc 100755
---- a/src/password-store.sh
-+++ b/src/password-store.sh
-@@ -12,28 +12,11 @@ which gpg2 &>/dev/null && GPG="gpg2"
- [[ -n $GPG_AGENT_INFO || $GPG == "gpg2" ]] && GPG_OPTS+=( "--batch" "--use-agent" )
-
- PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
--X_SELECTION="${PASSWORD_STORE_X_SELECTION:-clipboard}"
--CLIP_TIME="${PASSWORD_STORE_CLIP_TIME:-45}"
--
--export GIT_DIR="${PASSWORD_STORE_GIT:-$PREFIX}/.git"
--export GIT_WORK_TREE="${PASSWORD_STORE_GIT:-$PREFIX}"
-
- #
- # BEGIN helper functions
- #
-
--git_add_file() {
-- [[ -d $GIT_DIR ]] || return
-- git add "$1" || return
-- [[ -n $(git status --porcelain "$1") ]] || return
-- git_commit "$2"
--}
--git_commit() {
-- local sign=""
-- [[ -d $GIT_DIR ]] || return
-- [[ $(git config --bool --get pass.signcommits) == "true" ]] && sign="-S"
-- git commit $sign -m "$1"
--}
- yesno() {
- [[ -t 0 ]] || return 0
- local response
-@@ -135,33 +118,6 @@ check_sneaky_paths() {
- # BEGIN platform definable
- #
-
--clip() {
-- # This base64 business is because bash cannot store binary data in a shell
-- # variable. Specifically, it cannot store nulls nor (non-trivally) store
-- # trailing new lines.
--
-- local sleep_argv0="password store sleep on display $DISPLAY"
-- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
-- local before="$(xclip -o -selection "$X_SELECTION" | base64)"
-- echo -n "$1" | xclip -selection "$X_SELECTION"
-- (
-- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
-- local now="$(xclip -o -selection "$X_SELECTION" | base64)"
-- [[ $now != $(echo -n "$1" | base64) ]] && before="$now"
--
-- # It might be nice to programatically check to see if klipper exists,
-- # as well as checking for other common clipboard managers. But for now,
-- # this works fine -- if qdbus isn't there or if klipper isn't running,
-- # this essentially becomes a no-op.
-- #
-- # Clipboard managers frequently write their history out in plaintext,
-- # so we axe it here:
-- qdbus org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory &>/dev/null
--
-- echo "$before" | base64 -d | xclip -selection "$X_SELECTION"
-- ) 2>/dev/null & disown
-- echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds."
--}
- tmpdir() {
- [[ -n $SECURE_TMPDIR ]] && return
- local warn=1
-@@ -232,9 +188,8 @@ cmd_usage() {
- List passwords.
- $PROGRAM find pass-names...
- List passwords that match pass-names.
-- $PROGRAM [show] [--clip,-c] pass-name
-- Show existing password and optionally put it on the clipboard.
-- If put on the clipboard, it will be cleared in $CLIP_TIME seconds.
-+ $PROGRAM [show] pass-name
-+ Show existing password.
- $PROGRAM grep search-string
- Search for password files containing search-string when decrypted.
- $PROGRAM insert [--echo,-e | --multiline,-m] [--force,-f] pass-name
-@@ -243,9 +198,8 @@ cmd_usage() {
- overwriting existing password unless forced.
- $PROGRAM edit pass-name
- Insert a new password or edit an existing password using ${EDITOR:-vi}.
-- $PROGRAM generate [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name pass-length
-+ $PROGRAM generate [--no-symbols,-n] [--in-place,-i | --force,-f] pass-name pass-length
- Generate a new password of pass-length with optionally no symbols.
-- Optionally put it on the clipboard and clear board after 45 seconds.
- Prompt before overwriting existing password unless forced.
- Optionally replace only the first line of an existing file with a new password.
- $PROGRAM rm [--recursive,-r] [--force,-f] pass-name
-@@ -254,9 +208,6 @@ cmd_usage() {
- Renames or moves old-path to new-path, optionally forcefully, selectively reencrypting.
- $PROGRAM cp [--force,-f] old-path new-path
- Copies old-path to new-path, optionally forcefully, selectively reencrypting.
-- $PROGRAM git git-command-args...
-- If the password store is a git repository, execute a git command
-- specified by git-command-args.
- $PROGRAM help
- Show this text.
- $PROGRAM version
-@@ -285,47 +236,24 @@ cmd_init() {
- if [[ $# -eq 1 && -z $1 ]]; then
- [[ ! -f "$gpg_id" ]] && die "Error: $gpg_id does not exist and so cannot be removed."
- rm -v -f "$gpg_id" || exit 1
-- if [[ -d $GIT_DIR ]]; then
-- git rm -qr "$gpg_id"
-- git_commit "Deinitialize ${gpg_id}."
-- fi
- rmdir -p "${gpg_id%/*}" 2>/dev/null
- else
- mkdir -v -p "$PREFIX/$id_path"
- printf "%s\n" "$@" > "$gpg_id"
- local id_print="$(printf "%s, " "$@")"
- echo "Password store initialized for ${id_print%, }"
-- git_add_file "$gpg_id" "Set GPG id to ${id_print%, }."
- fi
-
- agent_check
- reencrypt_path "$PREFIX/$id_path"
-- git_add_file "$PREFIX/$id_path" "Reencrypt password store using new GPG id ${id_print%, }."
- }
-
- cmd_show() {
-- local opts clip=0
-- opts="$($GETOPT -o c -l clip -n "$PROGRAM" -- "$@")"
-- local err=$?
-- eval set -- "$opts"
-- while true; do case $1 in
-- -c|--clip) clip=1; shift ;;
-- --) shift; break ;;
-- esac done
--
-- [[ $err -ne 0 ]] && die "Usage: $PROGRAM $COMMAND [--clip,-c] [pass-name]"
--
- local path="$1"
- local passfile="$PREFIX/$path.gpg"
- check_sneaky_paths "$path"
- if [[ -f $passfile ]]; then
-- if [[ $clip -eq 0 ]]; then
- exec $GPG -d "${GPG_OPTS[@]}" "$passfile"
-- else
-- local pass="$($GPG -d "${GPG_OPTS[@]}" "$passfile" | head -n 1)"
-- [[ -n $pass ]] || exit 1
-- clip "$pass" "$path"
-- fi
- elif [[ -d $PREFIX/$path ]]; then
- if [[ -z $path ]]; then
- echo "Password Store"
-@@ -408,7 +336,6 @@ cmd_insert() {
- read -r -p "Enter password for $path: " -e password
- $GPG -e "${GPG_RECIPIENT_ARGS[@]}" -o "$passfile" "${GPG_OPTS[@]}" <<<"$password"
- fi
-- git_add_file "$passfile" "Add given password for $path to store."
- }
-
- cmd_edit() {
-@@ -434,23 +361,21 @@ cmd_edit() {
- while ! $GPG -e "${GPG_RECIPIENT_ARGS[@]}" -o "$passfile" "${GPG_OPTS[@]}" "$tmp_file"; do
- yesno "GPG encryption failed. Would you like to try again?"
- done
-- git_add_file "$passfile" "$action password for $path using ${EDITOR:-vi}."
- }
-
- cmd_generate() {
-- local opts clip=0 force=0 symbols="-y" inplace=0
-- opts="$($GETOPT -o ncif -l no-symbols,clip,in-place,force -n "$PROGRAM" -- "$@")"
-+ local opts force=0 symbols="-y" inplace=0
-+ opts="$($GETOPT -o nif -l no-symbols,in-place,force -n "$PROGRAM" -- "$@")"
- local err=$?
- eval set -- "$opts"
- while true; do case $1 in
- -n|--no-symbols) symbols=""; shift ;;
-- -c|--clip) clip=1; shift ;;
- -f|--force) force=1; shift ;;
- -i|--in-place) inplace=1; shift ;;
- --) shift; break ;;
- esac done
-
-- [[ $err -ne 0 || $# -ne 2 || ( $force -eq 1 && $inplace -eq 1 ) ]] && die "Usage: $PROGRAM $COMMAND [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name pass-length"
-+ [[ $err -ne 0 || $# -ne 2 || ( $force -eq 1 && $inplace -eq 1 ) ]] && die "Usage: $PROGRAM $COMMAND [--no-symbols,-n] [--in-place,-i | --force,-f] pass-name pass-length"
- local path="$1"
- local length="$2"
- check_sneaky_paths "$path"
-@@ -476,13 +401,8 @@ cmd_generate() {
- fi
- local verb="Add"
- [[ $inplace -eq 1 ]] && verb="Replace"
-- git_add_file "$passfile" "$verb generated password for ${path}."
-
-- if [[ $clip -eq 0 ]]; then
-- printf "\e[1m\e[37mThe generated password for \e[4m%s\e[24m is:\e[0m\n\e[1m\e[93m%s\e[0m\n" "$path" "$pass"
-- else
-- clip "$pass" "$path"
-- fi
-+ printf "\e[1m\e[37mThe generated password for \e[4m%s\e[24m is:\e[0m\n\e[1m\e[93m%s\e[0m\n" "$path" "$pass"
- }
-
- cmd_delete() {
-@@ -508,10 +428,6 @@ cmd_delete() {
- [[ $force -eq 1 ]] || yesno "Are you sure you would like to delete $path?"
-
- rm $recursive -f -v "$passfile"
-- if [[ -d $GIT_DIR && ! -e $passfile ]]; then
-- git rm -qr "$passfile"
-- git_commit "Remove $path from store."
-- fi
- rmdir -p "${passfile%/*}" 2>/dev/null
- }
-
-@@ -548,33 +464,10 @@ cmd_copy_move() {
- mv $interactive -v "$old_path" "$new_path" || exit 1
- [[ -e "$new_path" ]] && reencrypt_path "$new_path"
-
-- if [[ -d $GIT_DIR && ! -e $old_path ]]; then
-- git rm -qr "$old_path"
-- git_add_file "$new_path" "Rename ${1} to ${2}."
-- fi
- rmdir -p "$old_dir" 2>/dev/null
- else
- cp $interactive -r -v "$old_path" "$new_path" || exit 1
- [[ -e "$new_path" ]] && reencrypt_path "$new_path"
-- git_add_file "$new_path" "Copy ${1} to ${2}."
-- fi
--}
--
--cmd_git() {
-- if [[ $1 == "init" ]]; then
-- git "$@" || exit 1
-- git_add_file "$PREFIX" "Add current contents of password store."
--
-- echo '*.gpg diff=gpg' > "$PREFIX/.gitattributes"
-- git_add_file .gitattributes "Configure git repository for gpg file diff."
-- git config --local diff.gpg.binary true
-- git config --local diff.gpg.textconv "$GPG -d ${GPG_OPTS[*]}"
-- elif [[ -d $GIT_DIR ]]; then
-- tmpdir nowarn #Defines $SECURE_TMPDIR. We don't warn, because at most, this only copies encrypted files.
-- export TMPDIR="$SECURE_TMPDIR"
-- git "$@"
-- else
-- die "Error: the password store is not a git repository. Try \"$PROGRAM git init\"."
- fi
- }
-
-@@ -598,7 +491,6 @@ case "$1" in
- delete|rm|remove) shift; cmd_delete "$@" ;;
- rename|mv) shift; cmd_copy_move "move" "$@" ;;
- copy|cp) shift; cmd_copy_move "copy" "$@" ;;
-- git) shift; cmd_git "$@" ;;
- *) COMMAND="show"; cmd_show "$@" ;;
- esac
- exit 0
diff --git a/sysutils/password-store/files/git.patch b/sysutils/password-store/files/git.patch
deleted file mode 100644
index b7e9ae7cf2dd..000000000000
--- a/sysutils/password-store/files/git.patch
+++ /dev/null
@@ -1,405 +0,0 @@
-diff --git a/README b/README
-index 1cc01b9..1a7555b 100644
---- a/README
-+++ b/README
-@@ -17,8 +17,6 @@ Depends on:
- http://www.gnu.org/software/bash/
- - GnuPG2
- http://www.gnupg.org/
--- git
-- http://www.git-scm.com/
- - xclip
- http://sourceforge.net/projects/xclip/
- - pwgen
-diff --git a/contrib/emacs/password-store.el b/contrib/emacs/password-store.el
-index cdecad4..052eda7 100644
---- a/contrib/emacs/password-store.el
-+++ b/contrib/emacs/password-store.el
-@@ -112,10 +112,6 @@ outputs error message on failure."
- entry
- new-entry))
-
--(defun password-store--run-git (&rest args)
-- (apply 'password-store--run "git"
-- args))
--
- (defun password-store--run-version ()
- (password-store--run "version"))
-
-diff --git a/man/pass.1 b/man/pass.1
-index 8ac8ecf..b340a95 100644
---- a/man/pass.1
-+++ b/man/pass.1
-@@ -33,13 +33,6 @@ or
- depending on the type of specifier in ARGS. Otherwise COMMAND must be one of
- the valid commands listed below.
-
--Several of the commands below rely on or provide additional functionality if
--the password store directory is also a git repository. If the password store
--directory is a git repository, all password store modification commands will
--cause a corresponding git commit. See the \fIEXTENDED GIT EXAMPLE\fP section
--for a detailed description using \fBinit\fP and
--.BR git (1).
--
- The \fBinit\fP command must be run before other commands in order to initialize
- the password store with the correct gpg key id. Passwords are encrypting using
- the gpg key set with \fBinit\fP.
-@@ -144,16 +137,6 @@ silently overwrite \fInew-path\fP if it exists. If \fInew-path\fP ends in a
- trailing \fI/\fP, it is always treated as a directory. Passwords are selectively
- reencrypted to the corresponding keys of their new destination.
- .TP
--\fBgit\fP \fIgit-command-args\fP...
--If the password store is a git repository, pass \fIgit-command-args\fP as arguments to
--.BR git (1)
--using the password store as the git repository. If \fIgit-command-args\fP is \fBinit\fP,
--in addition to initializing the git repository, add the current contents of the password
--store to the repository in an initial commit. If the git config key \fIpass.signcommits\fP
--is set to \fItrue\fP, then all commits will be signed using \fIuser.signingkey\fP or the
--default git signing key. This config key may be turned on using:
--.B `pass git config --bool --add pass.signcommits true`
--.TP
- \fBhelp\fP
- Show usage message.
- .TP
-@@ -278,99 +261,6 @@ rm: remove regular file \[u2018]/home/zx2c4/.password-store/Business/cheese-whiz
- .br
- removed \[u2018]/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg\[u2019]
-
--.SH EXTENDED GIT EXAMPLE
--Here, we initialize new password store, create a git repository, and then manipulate and sync passwords. Make note of the arguments to the first call of \fBpass git push\fP; consult
--.BR git-push (1)
--for more information.
--
--.B zx2c4@laptop ~ $ pass init Jason@zx2c4.com
--.br
--mkdir: created directory \[u2018]/home/zx2c4/.password-store\[u2019]
--.br
--Password store initialized for Jason@zx2c4.com.
--
--.B zx2c4@laptop ~ $ pass git init
--.br
--Initialized empty Git repository in /home/zx2c4/.password-store/.git/
--.br
--[master (root-commit) 998c8fd] Added current contents of password store.
--.br
-- 1 file changed, 1 insertion(+)
--.br
-- create mode 100644 .gpg-id
--
--.B zx2c4@laptop ~ $ pass git remote add origin kexec.com:pass-store
--
--.B zx2c4@laptop ~ $ pass generate Amazon/amazonemail@email.com 21
--.br
--mkdir: created directory \[u2018]/home/zx2c4/.password-store/Amazon\[u2019]
--.br
--[master 30fdc1e] Added generated password for Amazon/amazonemail@email.com to store.
--.br
--1 file changed, 0 insertions(+), 0 deletions(-)
--.br
--create mode 100644 Amazon/amazonemail@email.com.gpg
--.br
--The generated password to Amazon/amazonemail@email.com is:
--.br
--<5m,_BrZY`antNDxKN<0A
--
--.B zx2c4@laptop ~ $ pass git push -u --all
--.br
--Counting objects: 4, done.
--.br
--Delta compression using up to 2 threads.
--.br
--Compressing objects: 100% (3/3), done.
--.br
--Writing objects: 100% (4/4), 921 bytes, done.
--.br
--Total 4 (delta 0), reused 0 (delta 0)
--.br
--To kexec.com:pass-store
--.br
--* [new branch] master -> master
--.br
--Branch master set up to track remote branch master from origin.
--
--.B zx2c4@laptop ~ $ pass insert Amazon/otheraccount@email.com
--.br
--Enter password for Amazon/otheraccount@email.com: som3r3a11yb1gp4ssw0rd!!88**
--.br
--[master b9b6746] Added given password for Amazon/otheraccount@email.com to store.
--.br
--1 file changed, 0 insertions(+), 0 deletions(-)
--.br
--create mode 100644 Amazon/otheraccount@email.com.gpg
--
--.B zx2c4@laptop ~ $ pass rm Amazon/amazonemail@email.com
--.br
--rm: remove regular file \[u2018]/home/zx2c4/.password-store/Amazon/amazonemail@email.com.gpg\[u2019]? y
--.br
--removed \[u2018]/home/zx2c4/.password-store/Amazon/amazonemail@email.com.gpg\[u2019]
--.br
--rm 'Amazon/amazonemail@email.com.gpg'
--.br
--[master 288b379] Removed Amazon/amazonemail@email.com from store.
--.br
--1 file changed, 0 insertions(+), 0 deletions(-)
--.br
--delete mode 100644 Amazon/amazonemail@email.com.gpg
--
--.B zx2c4@laptop ~ $ pass git push
--.br
--Counting objects: 9, done.
--.br
--Delta compression using up to 2 threads.
--.br
--Compressing objects: 100% (5/5), done.
--.br
--Writing objects: 100% (7/7), 1.25 KiB, done.
--.br
--Total 7 (delta 0), reused 0 (delta 0)
--.br
--To kexec.com:pass-store
--
- .SH FILES
-
- .TP
-@@ -394,11 +284,6 @@ Overrides the default gpg key identification set by \fBinit\fP. Keys must not
- contain spaces and thus use of the hexidecimal key signature is recommended.
- Multiple keys may be specified separated by spaces.
- .TP
--.I PASSWORD_STORE_GIT
--Overrides the default root of the git repository, which is helpful if
--\fIPASSWORD_STORE_DIR\fP is temporarily set to a sub-directory of the default
--password store.
--.TP
- .I PASSWORD_STORE_X_SELECTION
- Overrides the selection passed to \fBxclip\fP, by default \fIclipboard\fP. See
- .BR xclip (1)
-@@ -416,7 +301,6 @@ The location of the text editor used by \fBedit\fP.
- .SH SEE ALSO
- .BR gpg2 (1),
- .BR pwgen (1),
--.BR git (1),
- .BR xclip (1).
-
- .SH AUTHOR
-diff --git a/src/completion/pass.bash-completion b/src/completion/pass.bash-completion
-index ea31fbf..f7e207b 100644
---- a/src/completion/pass.bash-completion
-+++ b/src/completion/pass.bash-completion
-@@ -62,7 +62,7 @@ _pass()
- {
- COMPREPLY=()
- local cur="${COMP_WORDS[COMP_CWORD]}"
-- local commands="init ls find grep show insert generate edit rm mv cp git help version"
-+ local commands="init ls find grep show insert generate edit rm mv cp help version"
- if [[ $COMP_CWORD -gt 1 ]]; then
- local lastarg="${COMP_WORDS[$COMP_CWORD-1]}"
- case "${COMP_WORDS[1]}" in
-@@ -97,9 +97,6 @@ _pass()
- COMPREPLY+=($(compgen -W "-r --recursive -f --force" -- ${cur}))
- _pass_complete_entries
- ;;
-- git)
-- COMPREPLY+=($(compgen -W "init push pull config log reflog rebase" -- ${cur}))
-- ;;
- esac
- else
- COMPREPLY+=($(compgen -W "${commands}" -- ${cur}))
-diff --git a/src/completion/pass.fish-completion b/src/completion/pass.fish-completion
-index c32a42c..598b55e 100644
---- a/src/completion/pass.fish-completion
-+++ b/src/completion/pass.fish-completion
-@@ -105,14 +105,5 @@ complete -c $PROG -f -A -n '__fish_pass_needs_command' -a "(__fish_pass_print_en
- complete -c $PROG -f -A -n '__fish_pass_uses_command -c' -a "(__fish_pass_print_entries)"
- complete -c $PROG -f -A -n '__fish_pass_uses_command --clip' -a "(__fish_pass_print_entries)"
-
--complete -c $PROG -f -A -n '__fish_pass_needs_command' -a git -d 'Command: execute a git command'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'init' -d 'Initialize git repository'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'status' -d 'Show status of the repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'add' -d 'Add changes to the index'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'commit' -d 'Commit changes to the repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'push' -d 'Push changes to remote repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'pull' -d 'Pull changes from remote repo'
--complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'log' -d 'View changelog'
--
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a find -d 'Command: find a password file or directory matching pattern'
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a grep -d 'Command: search inside of decrypted password files for matching pattern'
-diff --git a/src/completion/pass.zsh-completion b/src/completion/pass.zsh-completion
-index b658398..b0695e6 100644
---- a/src/completion/pass.zsh-completion
-+++ b/src/completion/pass.zsh-completion
-@@ -63,18 +63,6 @@ _pass () {
- "--recursive[recursively delete]"
- _pass_complete_entries_with_subdirs
- ;;
-- git)
-- local -a subcommands
-- subcommands=(
-- "init:Initialize git repository"
-- "push:Push to remote repository"
-- "pull:Pull from remote repository"
-- "config:Show git config"
-- "log:Show git log"
-- "reflog:Show git reflog"
-- )
-- _describe -t commands 'pass git' subcommands
-- ;;
- show|*)
- _pass_cmd_show
- ;;
-@@ -93,7 +81,6 @@ _pass () {
- "mv:Rename the password"
- "cp:Copy the password"
- "rm:Remove the password"
-- "git:Call git on the password store"
- "version:Output version information"
- "help:Output help message"
- )
-@@ -114,7 +101,7 @@ _pass_cmd_show () {
- _pass_complete_entries_helper () {
- local IFS=$'\n'
- local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
-- _values -C 'passwords' $(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' | sort)
-+ _values -C 'passwords' $(find -L "$prefix" -name .gpg-id -prune -o $@ -print | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' | sort)
- }
-
- _pass_complete_entries_with_subdirs () {
-diff --git a/src/password-store.sh b/src/password-store.sh
-index cfc25cc..72a0ed6 100755
---- a/src/password-store.sh
-+++ b/src/password-store.sh
-@@ -15,25 +15,10 @@ PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
- X_SELECTION="${PASSWORD_STORE_X_SELECTION:-clipboard}"
- CLIP_TIME="${PASSWORD_STORE_CLIP_TIME:-45}"
-
--export GIT_DIR="${PASSWORD_STORE_GIT:-$PREFIX}/.git"
--export GIT_WORK_TREE="${PASSWORD_STORE_GIT:-$PREFIX}"
--
- #
- # BEGIN helper functions
- #
-
--git_add_file() {
-- [[ -d $GIT_DIR ]] || return
-- git add "$1" || return
-- [[ -n $(git status --porcelain "$1") ]] || return
-- git_commit "$2"
--}
--git_commit() {
-- local sign=""
-- [[ -d $GIT_DIR ]] || return
-- [[ $(git config --bool --get pass.signcommits) == "true" ]] && sign="-S"
-- git commit $sign -m "$1"
--}
- yesno() {
- [[ -t 0 ]] || return 0
- local response
-@@ -254,9 +239,6 @@ cmd_usage() {
- Renames or moves old-path to new-path, optionally forcefully, selectively reencrypting.
- $PROGRAM cp [--force,-f] old-path new-path
- Copies old-path to new-path, optionally forcefully, selectively reencrypting.
-- $PROGRAM git git-command-args...
-- If the password store is a git repository, execute a git command
-- specified by git-command-args.
- $PROGRAM help
- Show this text.
- $PROGRAM version
-@@ -285,22 +267,16 @@ cmd_init() {
- if [[ $# -eq 1 && -z $1 ]]; then
- [[ ! -f "$gpg_id" ]] && die "Error: $gpg_id does not exist and so cannot be removed."
- rm -v -f "$gpg_id" || exit 1
-- if [[ -d $GIT_DIR ]]; then
-- git rm -qr "$gpg_id"
-- git_commit "Deinitialize ${gpg_id}."
-- fi
- rmdir -p "${gpg_id%/*}" 2>/dev/null
- else
- mkdir -v -p "$PREFIX/$id_path"
- printf "%s\n" "$@" > "$gpg_id"
- local id_print="$(printf "%s, " "$@")"
- echo "Password store initialized for ${id_print%, }"
-- git_add_file "$gpg_id" "Set GPG id to ${id_print%, }."
- fi
-
- agent_check
- reencrypt_path "$PREFIX/$id_path"
-- git_add_file "$PREFIX/$id_path" "Reencrypt password store using new GPG id ${id_print%, }."
- }
-
- cmd_show() {
-@@ -408,7 +384,6 @@ cmd_insert() {
- read -r -p "Enter password for $path: " -e password
- $GPG -e "${GPG_RECIPIENT_ARGS[@]}" -o "$passfile" "${GPG_OPTS[@]}" <<<"$password"
- fi
-- git_add_file "$passfile" "Add given password for $path to store."
- }
-
- cmd_edit() {
-@@ -434,7 +409,6 @@ cmd_edit() {
- while ! $GPG -e "${GPG_RECIPIENT_ARGS[@]}" -o "$passfile" "${GPG_OPTS[@]}" "$tmp_file"; do
- yesno "GPG encryption failed. Would you like to try again?"
- done
-- git_add_file "$passfile" "$action password for $path using ${EDITOR:-vi}."
- }
-
- cmd_generate() {
-@@ -476,7 +450,6 @@ cmd_generate() {
- fi
- local verb="Add"
- [[ $inplace -eq 1 ]] && verb="Replace"
-- git_add_file "$passfile" "$verb generated password for ${path}."
-
- if [[ $clip -eq 0 ]]; then
- printf "\e[1m\e[37mThe generated password for \e[4m%s\e[24m is:\e[0m\n\e[1m\e[93m%s\e[0m\n" "$path" "$pass"
-@@ -508,10 +481,6 @@ cmd_delete() {
- [[ $force -eq 1 ]] || yesno "Are you sure you would like to delete $path?"
-
- rm $recursive -f -v "$passfile"
-- if [[ -d $GIT_DIR && ! -e $passfile ]]; then
-- git rm -qr "$passfile"
-- git_commit "Remove $path from store."
-- fi
- rmdir -p "${passfile%/*}" 2>/dev/null
- }
-
-@@ -548,33 +517,10 @@ cmd_copy_move() {
- mv $interactive -v "$old_path" "$new_path" || exit 1
- [[ -e "$new_path" ]] && reencrypt_path "$new_path"
-
-- if [[ -d $GIT_DIR && ! -e $old_path ]]; then
-- git rm -qr "$old_path"
-- git_add_file "$new_path" "Rename ${1} to ${2}."
-- fi
- rmdir -p "$old_dir" 2>/dev/null
- else
- cp $interactive -r -v "$old_path" "$new_path" || exit 1
- [[ -e "$new_path" ]] && reencrypt_path "$new_path"
-- git_add_file "$new_path" "Copy ${1} to ${2}."
-- fi
--}
--
--cmd_git() {
-- if [[ $1 == "init" ]]; then
-- git "$@" || exit 1
-- git_add_file "$PREFIX" "Add current contents of password store."
--
-- echo '*.gpg diff=gpg' > "$PREFIX/.gitattributes"
-- git_add_file .gitattributes "Configure git repository for gpg file diff."
-- git config --local diff.gpg.binary true
-- git config --local diff.gpg.textconv "$GPG -d ${GPG_OPTS[*]}"
-- elif [[ -d $GIT_DIR ]]; then
-- tmpdir nowarn #Defines $SECURE_TMPDIR. We don't warn, because at most, this only copies encrypted files.
-- export TMPDIR="$SECURE_TMPDIR"
-- git "$@"
-- else
-- die "Error: the password store is not a git repository. Try \"$PROGRAM git init\"."
- fi
- }
-
-@@ -598,7 +544,6 @@ case "$1" in
- delete|rm|remove) shift; cmd_delete "$@" ;;
- rename|mv) shift; cmd_copy_move "move" "$@" ;;
- copy|cp) shift; cmd_copy_move "copy" "$@" ;;
-- git) shift; cmd_git "$@" ;;
- *) COMMAND="show"; cmd_show "$@" ;;
- esac
- exit 0
diff --git a/sysutils/password-store/files/xclip.patch b/sysutils/password-store/files/xclip.patch
deleted file mode 100644
index bfc06724a152..000000000000
--- a/sysutils/password-store/files/xclip.patch
+++ /dev/null
@@ -1,303 +0,0 @@
-diff --git a/README b/README
-index 1cc01b9..10f841d 100644
---- a/README
-+++ b/README
-@@ -19,8 +19,6 @@ Depends on:
- http://www.gnupg.org/
- - git
- http://www.git-scm.com/
--- xclip
-- http://sourceforge.net/projects/xclip/
- - pwgen
- http://sourceforge.net/projects/pwgen/
- - tree >= 1.7.0
-diff --git a/man/pass.1 b/man/pass.1
-index 8ac8ecf..9301122 100644
---- a/man/pass.1
-+++ b/man/pass.1
-@@ -86,12 +86,8 @@ List names of passwords inside the tree that match \fIpass-names\fP by using the
- .BR tree (1)
- program. This command is alternatively named \fBsearch\fP.
- .TP
--\fBshow\fP [ \fI--clip\fP, \fI-c\fP ] \fIpass-name\fP
--Decrypt and print a password named \fIpass-name\fP. If \fI--clip\fP or \fI-c\fP
--is specified, do not print the password but instead copy the first line to the
--clipboard using
--.BR xclip (1)
--and then restore the clipboard after 45 (or \fIPASSWORD_STORE_CLIP_TIME\fP) seconds.
-+\fBshow\fP \fIpass-name\fP
-+Decrypt and print a password named \fIpass-name\fP.
- .TP
- \fBinsert\fP [ \fI--echo\fP, \fI-e\fP | \fI--multiline\fP, \fI-m\fP ] [ \fI--force\fP, \fI-f\fP ] \fIpass-name\fP
- Insert a new password into the password store called \fIpass-name\fP. This will
-@@ -110,15 +106,11 @@ ensure that temporary files are created in \fI/dev/shm\fP in order to avoid writ
- difficult-to-erase disk sectors. If \fI/dev/shm\fP is not accessible, fallback to
- the ordinary \fITMPDIR\fP location, and print a warning.
- .TP
--\fBgenerate\fP [ \fI--no-symbols\fP, \fI-n\fP ] [ \fI--clip\fP, \fI-c\fP ] [ \fI--in-place\fP, \fI-i\fP | \fI--force\fP, \fI-f\fP ] \fIpass-name pass-length\fP
-+\fBgenerate\fP [ \fI--no-symbols\fP, \fI-n\fP ] [ \fI--in-place\fP, \fI-i\fP | \fI--force\fP, \fI-f\fP ] \fIpass-name pass-length\fP
- Generate a new password using
- .BR pwgen (1)
- of length \fIpass-length\fP and insert into \fIpass-name\fP. If \fI--no-symbols\fP or \fI-n\fP
- is specified, do not use any non-alphanumeric characters in the generated password.
--If \fI--clip\fP or \fI-c\fP is specified, do not print the password but instead copy
--it to the clipboard using
--.BR xclip (1)
--and then restore the clipboard after 45 (or \fIPASSWORD_STORE_CLIP_TIME\fP) seconds.
- Prompt before overwriting an existing password,
- unless \fI--force\fP or \fI-f\fP is specified. If \fI--in-place\fP or \fI-i\fP is
- specified, do not interactively prompt, and only replace the first line of the password
-@@ -223,11 +215,6 @@ Show existing password
- .br
- sup3rh4x3rizmynam3
- .TP
--Copy existing password to clipboard
--.B zx2c4@laptop ~ $ pass -c Email/zx2c4.com
--.br
--Copied Email/jason@zx2c4.com to clipboard. Will clear in 45 seconds.
--.TP
- Add password to store
- .B zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory
- .br
-@@ -266,10 +253,8 @@ The generated password to Email/jasondonenfeld.com is:
- .br
- YqFsMkBeO6di
- .TP
--Generate new password and copy it to the clipboard
--.B zx2c4@laptop ~ $ pass generate -c Email/jasondonenfeld.com 19
--.br
--Copied Email/jasondonenfeld.com to clipboard. Will clear in 45 seconds.
-+Generate new password
-+.B zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 19
- .TP
- Remove password from store
- .B zx2c4@laptop ~ $ pass remove Business/cheese-whiz-factory
-@@ -399,15 +384,6 @@ Overrides the default root of the git repository, which is helpful if
- \fIPASSWORD_STORE_DIR\fP is temporarily set to a sub-directory of the default
- password store.
- .TP
--.I PASSWORD_STORE_X_SELECTION
--Overrides the selection passed to \fBxclip\fP, by default \fIclipboard\fP. See
--.BR xclip (1)
--for more info.
--.TP
--.I PASSWORD_STORE_CLIP_TIME
--Specifies the number of seconds to wait before restoring the clipboard, by default
--\fI45\fP seconds.
--.TP
- .I PASSWORD_STORE_UMASK
- Sets the umask of all files modified by pass, by default \fI077\fP.
- .TP
-@@ -417,7 +393,6 @@ The location of the text editor used by \fBedit\fP.
- .BR gpg2 (1),
- .BR pwgen (1),
- .BR git (1),
--.BR xclip (1).
-
- .SH AUTHOR
- .B pass
-diff --git a/src/completion/pass.bash-completion b/src/completion/pass.bash-completion
-index ea31fbf..86860cb 100644
---- a/src/completion/pass.bash-completion
-+++ b/src/completion/pass.bash-completion
-@@ -78,7 +78,6 @@ _pass()
- _pass_complete_entries
- ;;
- show|-*)
-- COMPREPLY+=($(compgen -W "-c --clip" -- ${cur}))
- _pass_complete_entries 1
- ;;
- insert)
-@@ -86,7 +85,7 @@ _pass()
- _pass_complete_entries
- ;;
- generate)
-- COMPREPLY+=($(compgen -W "-n --no-symbols -c --clip -f --force -i --in-place" -- ${cur}))
-+ COMPREPLY+=($(compgen -W "-n --no-symbols -f --force -i --in-place" -- ${cur}))
- _pass_complete_entries
- ;;
- cp|copy|mv|rename)
-diff --git a/src/completion/pass.fish-completion b/src/completion/pass.fish-completion
-index c32a42c..abcff4d 100644
---- a/src/completion/pass.fish-completion
-+++ b/src/completion/pass.fish-completion
-@@ -75,7 +75,6 @@ complete -c $PROG -f -A -n '__fish_pass_uses_command insert' -a "(__fish_pass_pr
-
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a generate -d 'Command: generate new password'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s n -l no-symbols -d 'Do not use special symbols'
--complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s c -l clip -d 'Put the password in clipboard'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s f -l force -d 'Do not prompt before overwritting'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -s i -l in-place -d 'Replace only the first line with the generated password'
- complete -c $PROG -f -A -n '__fish_pass_uses_command generate' -a "(__fish_pass_print_entry_dirs)"
-@@ -97,13 +96,10 @@ complete -c $PROG -f -A -n '__fish_pass_needs_command' -a edit -d 'Command: edit
- complete -c $PROG -f -A -n '__fish_pass_uses_command edit' -a "(__fish_pass_print_entries)"
-
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a show -d 'Command: show existing password'
--complete -c $PROG -f -A -n '__fish_pass_uses_command show' -s c -l clip -d 'Put password in clipboard'
- complete -c $PROG -f -A -n '__fish_pass_uses_command show' -a "(__fish_pass_print_entries)"
- # When no command is given, `show` is defaulted.
--complete -c $PROG -f -A -n '__fish_pass_needs_command' -s c -l clip -d 'Put password in clipboard'
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a "(__fish_pass_print_entries)"
- complete -c $PROG -f -A -n '__fish_pass_uses_command -c' -a "(__fish_pass_print_entries)"
--complete -c $PROG -f -A -n '__fish_pass_uses_command --clip' -a "(__fish_pass_print_entries)"
-
- complete -c $PROG -f -A -n '__fish_pass_needs_command' -a git -d 'Command: execute a git command'
- complete -c $PROG -f -A -n '__fish_pass_uses_command git' -a 'init' -d 'Initialize git repository'
-diff --git a/src/completion/pass.zsh-completion b/src/completion/pass.zsh-completion
-index b658398..0ab3e43 100644
---- a/src/completion/pass.zsh-completion
-+++ b/src/completion/pass.zsh-completion
-@@ -41,8 +41,6 @@ _pass () {
- _arguments : \
- "-n[don't include symbols in password]" \
- "--no-symbols[don't include symbols in password]" \
-- "-c[copy password to the clipboard]" \
-- "--clip[copy password to the clipboard]" \
- "-f[force overwrite]" \
- "--force[force overwrite]" \
- "-i[replace first line]" \
-@@ -106,9 +104,6 @@ _pass () {
- }
-
- _pass_cmd_show () {
-- _arguments : \
-- "-c[put it on the clipboard]" \
-- "--clip[put it on the clipboard]"
- _pass_complete_entries
- }
- _pass_complete_entries_helper () {
-diff --git a/src/password-store.sh b/src/password-store.sh
-index cfc25cc..06ddeb2 100755
---- a/src/password-store.sh
-+++ b/src/password-store.sh
-@@ -12,8 +12,6 @@ which gpg2 &>/dev/null && GPG="gpg2"
- [[ -n $GPG_AGENT_INFO || $GPG == "gpg2" ]] && GPG_OPTS+=( "--batch" "--use-agent" )
-
- PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
--X_SELECTION="${PASSWORD_STORE_X_SELECTION:-clipboard}"
--CLIP_TIME="${PASSWORD_STORE_CLIP_TIME:-45}"
-
- export GIT_DIR="${PASSWORD_STORE_GIT:-$PREFIX}/.git"
- export GIT_WORK_TREE="${PASSWORD_STORE_GIT:-$PREFIX}"
-@@ -135,33 +133,6 @@ check_sneaky_paths() {
- # BEGIN platform definable
- #
-
--clip() {
-- # This base64 business is because bash cannot store binary data in a shell
-- # variable. Specifically, it cannot store nulls nor (non-trivally) store
-- # trailing new lines.
--
-- local sleep_argv0="password store sleep on display $DISPLAY"
-- pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
-- local before="$(xclip -o -selection "$X_SELECTION" | base64)"
-- echo -n "$1" | xclip -selection "$X_SELECTION"
-- (
-- ( exec -a "$sleep_argv0" sleep "$CLIP_TIME" )
-- local now="$(xclip -o -selection "$X_SELECTION" | base64)"
-- [[ $now != $(echo -n "$1" | base64) ]] && before="$now"
--
-- # It might be nice to programatically check to see if klipper exists,
-- # as well as checking for other common clipboard managers. But for now,
-- # this works fine -- if qdbus isn't there or if klipper isn't running,
-- # this essentially becomes a no-op.
-- #
-- # Clipboard managers frequently write their history out in plaintext,
-- # so we axe it here:
-- qdbus org.kde.klipper /klipper org.kde.klipper.klipper.clearClipboardHistory &>/dev/null
--
-- echo "$before" | base64 -d | xclip -selection "$X_SELECTION"
-- ) 2>/dev/null & disown
-- echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds."
--}
- tmpdir() {
- [[ -n $SECURE_TMPDIR ]] && return
- local warn=1
-@@ -232,9 +203,8 @@ cmd_usage() {
- List passwords.
- $PROGRAM find pass-names...
- List passwords that match pass-names.
-- $PROGRAM [show] [--clip,-c] pass-name
-- Show existing password and optionally put it on the clipboard.
-- If put on the clipboard, it will be cleared in $CLIP_TIME seconds.
-+ $PROGRAM [show] pass-name
-+ Show existing password.
- $PROGRAM grep search-string
- Search for password files containing search-string when decrypted.
- $PROGRAM insert [--echo,-e | --multiline,-m] [--force,-f] pass-name
-@@ -243,9 +213,8 @@ cmd_usage() {
- overwriting existing password unless forced.
- $PROGRAM edit pass-name
- Insert a new password or edit an existing password using ${EDITOR:-vi}.
-- $PROGRAM generate [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name pass-length
-+ $PROGRAM generate [--no-symbols,-n] [--in-place,-i | --force,-f] pass-name pass-length
- Generate a new password of pass-length with optionally no symbols.
-- Optionally put it on the clipboard and clear board after 45 seconds.
- Prompt before overwriting existing password unless forced.
- Optionally replace only the first line of an existing file with a new password.
- $PROGRAM rm [--recursive,-r] [--force,-f] pass-name
-@@ -304,28 +273,11 @@ cmd_init() {
- }
-
- cmd_show() {
-- local opts clip=0
-- opts="$($GETOPT -o c -l clip -n "$PROGRAM" -- "$@")"
-- local err=$?
-- eval set -- "$opts"
-- while true; do case $1 in
-- -c|--clip) clip=1; shift ;;
-- --) shift; break ;;
-- esac done
--
-- [[ $err -ne 0 ]] && die "Usage: $PROGRAM $COMMAND [--clip,-c] [pass-name]"
--
- local path="$1"
- local passfile="$PREFIX/$path.gpg"
- check_sneaky_paths "$path"
- if [[ -f $passfile ]]; then
-- if [[ $clip -eq 0 ]]; then
- exec $GPG -d "${GPG_OPTS[@]}" "$passfile"
-- else
-- local pass="$($GPG -d "${GPG_OPTS[@]}" "$passfile" | head -n 1)"
-- [[ -n $pass ]] || exit 1
-- clip "$pass" "$path"
-- fi
- elif [[ -d $PREFIX/$path ]]; then
- if [[ -z $path ]]; then
- echo "Password Store"
-@@ -438,19 +390,18 @@ cmd_edit() {
- }
-
- cmd_generate() {
-- local opts clip=0 force=0 symbols="-y" inplace=0
-- opts="$($GETOPT -o ncif -l no-symbols,clip,in-place,force -n "$PROGRAM" -- "$@")"
-+ local opts force=0 symbols="-y" inplace=0
-+ opts="$($GETOPT -o nif -l no-symbols,in-place,force -n "$PROGRAM" -- "$@")"
- local err=$?
- eval set -- "$opts"
- while true; do case $1 in
- -n|--no-symbols) symbols=""; shift ;;
-- -c|--clip) clip=1; shift ;;
- -f|--force) force=1; shift ;;
- -i|--in-place) inplace=1; shift ;;
- --) shift; break ;;
- esac done
-
-- [[ $err -ne 0 || $# -ne 2 || ( $force -eq 1 && $inplace -eq 1 ) ]] && die "Usage: $PROGRAM $COMMAND [--no-symbols,-n] [--clip,-c] [--in-place,-i | --force,-f] pass-name pass-length"
-+ [[ $err -ne 0 || $# -ne 2 || ( $force -eq 1 && $inplace -eq 1 ) ]] && die "Usage: $PROGRAM $COMMAND [--no-symbols,-n] [--in-place,-i | --force,-f] pass-name pass-length"
- local path="$1"
- local length="$2"
- check_sneaky_paths "$path"
-@@ -478,11 +429,7 @@ cmd_generate() {
- [[ $inplace -eq 1 ]] && verb="Replace"
- git_add_file "$passfile" "$verb generated password for ${path}."
-
-- if [[ $clip -eq 0 ]]; then
-- printf "\e[1m\e[37mThe generated password for \e[4m%s\e[24m is:\e[0m\n\e[1m\e[93m%s\e[0m\n" "$path" "$pass"
-- else
-- clip "$pass" "$path"
-- fi
-+ printf "\e[1m\e[37mThe generated password for \e[4m%s\e[24m is:\e[0m\n\e[1m\e[93m%s\e[0m\n" "$path" "$pass"
- }
-
- cmd_delete() {
diff --git a/sysutils/password-store/pkg-plist b/sysutils/password-store/pkg-plist
index 4567fe6ffa8c..4a3f3e8b2ab4 100644
--- a/sysutils/password-store/pkg-plist
+++ b/sysutils/password-store/pkg-plist
@@ -1,6 +1,5 @@
%%CONTRIB%%%%DATADIR%%/dmenu/README.md
%%CONTRIB%%%%DATADIR%%/dmenu/passmenu
-%%CONTRIB%%%%DATADIR%%/emacs/.gitignore
%%CONTRIB%%%%DATADIR%%/emacs/Cask
%%CONTRIB%%%%DATADIR%%/emacs/README.md
%%CONTRIB%%%%DATADIR%%/emacs/password-store.el
@@ -18,7 +17,11 @@
%%CONTRIB%%%%DATADIR%%/pass.fish-completion
%%CONTRIB%%%%DATADIR%%/pass.zsh-completion
%%CONTRIB%%%%DATADIR%%/related-projects.txt
-%%PORTDOCS%%man/man1/pass.1.gz
+%%CONTRIB%%%%DATADIR%%/vim/noplaintext.vim
+%%CONTRIB%%etc/bash_completion.d/password-store
+%%CONTRIB%%share/fish/completions/password-store.fish
+%%CONTRIB%%share/zsh/site-functions/_pass
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-filter.sh
bin/pass
libexec/pass
+man/man1/pass.1.gz