summaryrefslogtreecommitdiff
path: root/app-crypt/monkeysphere
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/monkeysphere')
-rw-r--r--app-crypt/monkeysphere/Manifest26
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.36_default_shell.patch12
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.36_hd_od.patch14
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.36_non_default_port.patch14
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.36_openpgp2ssh_sanity_check.patch34
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.36_tests_gnupg2.patch50
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.36_userid_empty_line.patch12
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.37_default_shell.patch12
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.37_hd_od.patch14
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.38-asprintf.patch45
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.38-revert-executable-patch.patch98
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.38-syssharedir-whitespace.patch53
-rw-r--r--app-crypt/monkeysphere/files/monkeysphere-0.39-make-tests-work-with-gnupg-2.1.15.patch45
-rw-r--r--app-crypt/monkeysphere/metadata.xml8
-rw-r--r--app-crypt/monkeysphere/monkeysphere-0.36-r1.ebuild57
-rw-r--r--app-crypt/monkeysphere/monkeysphere-0.36-r2.ebuild67
-rw-r--r--app-crypt/monkeysphere/monkeysphere-0.37.ebuild57
-rw-r--r--app-crypt/monkeysphere/monkeysphere-0.38.ebuild60
-rw-r--r--app-crypt/monkeysphere/monkeysphere-0.39.ebuild56
-rw-r--r--app-crypt/monkeysphere/monkeysphere-0.41.ebuild54
20 files changed, 788 insertions, 0 deletions
diff --git a/app-crypt/monkeysphere/Manifest b/app-crypt/monkeysphere/Manifest
new file mode 100644
index 000000000000..64f98e7229a1
--- /dev/null
+++ b/app-crypt/monkeysphere/Manifest
@@ -0,0 +1,26 @@
+AUX monkeysphere-0.36_default_shell.patch 466 SHA256 637f4cf6e83ea01e5a981f940618127512ca1171498b0d03a7779d2b50e80124 SHA512 c77042e07372ae2b7434c03529a10afd5d13f99af025cecf53bd433341a3c70ada4cedd904de67090f36cd3dcd7f77f7a46b739116b1248b432803fc137fa7e8 WHIRLPOOL 295bc1d61f26f214020f1ac753a002911e2d775a6d7e46e847b091980d385245be12961b79949d77826ead3852e5058c45b512f28a44a36f20afd3a8f98538d0
+AUX monkeysphere-0.36_hd_od.patch 528 SHA256 f09320e4e69b12e8756e927f5965a59a7b437be6aa22f7ab22a3d6dc449313ab SHA512 412656731fced9ca5e7b1c253e8cacfc47bf45ce7ff28da9e1db1582aa84fa75f098cdd098dc6d33198eedbc87ea397569ebf0045b6291106481e7a11fb04e55 WHIRLPOOL 6fe6a702b8e21b05f6fc1aa8e0b46ea0c90ab66dc488c0792815750d85958dbbd31d2a1994e92b89e827bc562b0450594a3553d15466d4141e56b15e2894ddfe
+AUX monkeysphere-0.36_non_default_port.patch 418 SHA256 7d20a74a0ec3d49b93d1d881d22d5d13316b4c16c709cfab23782cd0ed03b41c SHA512 2a173500e0b659a79a7274e042e49a282f708cda0f6a78ce8fa126013e35c4f6f117e606b90ce31da5158e58ab52a236038a913cc98c5ae1fc8e04a5dcbf816e WHIRLPOOL 825bfa045f03444bdd301cac503a6932d0f75c52bfa72fa8f07e79a1ba359600c8f15e7a930d349bb8c2afa4aedc5f3a6e4f22436fccbf4f60a22060a66c8c4c
+AUX monkeysphere-0.36_openpgp2ssh_sanity_check.patch 1194 SHA256 e179ae2226f04f87bb0f64c3722a299ae628a0cce4eecb3e8a6fedb82ce2ddb6 SHA512 b14c421e5880407b3acb845b235c89c5338a1fc1285b514679de09371db38e42aa3371ef2916c57d5ab10f08bc19f5c864762ff7eaf0a054d2817bc6bcaab488 WHIRLPOOL f5e7b7ce0f8c8a10786d61563763113c6d8d6a67b662a23a5911a1e8f036bbcd578510217f17b2b531098881d5682dac0dbb432785f9072b8a7597b9059f7036
+AUX monkeysphere-0.36_tests_gnupg2.patch 2272 SHA256 381c351000d940e8b1e1a429265276266e590b5dc02c865e30780f723fa9fb9c SHA512 e75f82793419dd2e99aa95765e9d954437d0e78294ed4188a9e7fa246b85ddbcd755eb566a1e9a9c20f2f2634150d65caa0715993863f59f9146f5cc95457975 WHIRLPOOL 36ffb05c4362fb3b193187b3637263b95aef95b85ed70d6bb51a36bf8e8dba392b2363b401b8902b0a9ef7f91ddba304c8982d32815d273c9b009652d482e334
+AUX monkeysphere-0.36_userid_empty_line.patch 292 SHA256 bf3eefe21edd72ad813888bcd91a9c6cef8a90d0e5f8272f847cb278750ab787 SHA512 15b8e8ff71537e79d069d0f298326cc6705931c58ff1cf2f16c5486e587fe69f610dc1e0ebd0006e0bdef12f936685a0594dc3f9dbdadb928fba25a8e2982eb7 WHIRLPOOL bf27a00f18407a616e22340d10d15837fca21b659ab57fbd603718c49fb15533734d660ee061bc544cb281c6d4bb073aabff6c85d3f4b232b0872da512ae8964
+AUX monkeysphere-0.37_default_shell.patch 466 SHA256 637f4cf6e83ea01e5a981f940618127512ca1171498b0d03a7779d2b50e80124 SHA512 c77042e07372ae2b7434c03529a10afd5d13f99af025cecf53bd433341a3c70ada4cedd904de67090f36cd3dcd7f77f7a46b739116b1248b432803fc137fa7e8 WHIRLPOOL 295bc1d61f26f214020f1ac753a002911e2d775a6d7e46e847b091980d385245be12961b79949d77826ead3852e5058c45b512f28a44a36f20afd3a8f98538d0
+AUX monkeysphere-0.37_hd_od.patch 528 SHA256 f09320e4e69b12e8756e927f5965a59a7b437be6aa22f7ab22a3d6dc449313ab SHA512 412656731fced9ca5e7b1c253e8cacfc47bf45ce7ff28da9e1db1582aa84fa75f098cdd098dc6d33198eedbc87ea397569ebf0045b6291106481e7a11fb04e55 WHIRLPOOL 6fe6a702b8e21b05f6fc1aa8e0b46ea0c90ab66dc488c0792815750d85958dbbd31d2a1994e92b89e827bc562b0450594a3553d15466d4141e56b15e2894ddfe
+AUX monkeysphere-0.38-asprintf.patch 1569 SHA256 fec5a2ccbc3c7a38b2de5b29ba5b4b8da65fe3e2480bb539573a01ab9243145c SHA512 d750a948a9149c6110ca513743403588b4d861fbbe5c661401f4e0406d4ecbf03d9ca02e4eaf4f469aaa23925f2bc8dde4c155d72fadf26c02291e76571a6c70 WHIRLPOOL caf81e2e06c8f44275e3acd08a13e25ccccdb35d0600acc87994cf76dc51356ce062f5d9ea74d06ecdb40602a8ac9132d64fdb132f58a67824f70dd41cea2548
+AUX monkeysphere-0.38-revert-executable-patch.patch 4379 SHA256 4f6d4172836f6ed834f035580c3c1b056d39978c431a7db5b1b5bd2933460061 SHA512 21c38c63200de7250ce90724f3dd51ee39fc2110f52b0815a592d4c49e7c32e08b3aa56b17b5a680e77727793768bed04938e7d3e85a15308ef894fbe2593f8b WHIRLPOOL ed1c99a9e81ec8ad3995e33dd550613640c235ea394c24eacf57730853764937bc571f33a6529b4cd798a5f0ee3178f148a8da00762dd9932fda2c60b1b06d50
+AUX monkeysphere-0.38-syssharedir-whitespace.patch 2408 SHA256 d954384292719e04c47f34b50bc7fd1f84e99a34b9dbe79ae64a65ba42ab2856 SHA512 7287ddcead490b188265c7bd001072125e5abe25431303853ba7bd512330d8bef9197b563745211dbde358a4107880915bd8489164be1dce72e46d9d790d2620 WHIRLPOOL e4194afcbbf09b1054385d9d047cc8b6d89b671cb566cd8d6492175de8dddd47d67fa7145aa4987430ce7f75923d588ee46402241e05fbf3fd4f2e30469797ee
+AUX monkeysphere-0.39-make-tests-work-with-gnupg-2.1.15.patch 1700 SHA256 ea2652b9ad44a026f5ba5e4a86409a3e1700b04b6855d3af9fbc5436b9dee57c SHA512 1a23a1f02e98c86f45701105819ea1ff78f87132d7195ac2aebb0fda8c867b360e12ab8701c9579625af6d54851db30a93647c351ecbb3d99c5963b039628cbb WHIRLPOOL 837421719107ace0452e1095fa3144c454af0eb528d657ca20dabf1236197c7f42840bbce86f2a7e906bbe1e6dc8c00b5956b26d990954c29d9535ab90fcba34
+DIST monkeysphere_0.36.orig.tar.gz 98876 SHA256 6ae4edeff2cc29b6913346e15b61500ea7cc06d761a9f42e67de83b7d2607be7 SHA512 eb6776bd9996db8a5d6a1d16b5b06e6733069cbb3cb35f4e3965508575e084c6f08576f31c71429432daf93910d145804ecf155c3d7550a0f4550a056cb4f0c8 WHIRLPOOL c163d0be77d3c6d838f752c8f53d967b17aeafd798e4fca694a31bf55628fb57d18b6a4664ca9552bd3daf3b89b6f86452d430529985ca0a31c3c4aa48470bc0
+DIST monkeysphere_0.37.orig.tar.gz 99557 SHA256 b510b8a414fb400356e80f1f882488785df72ac54078410b54d4c50a84686e59 SHA512 ebf636caaa0985a2495314375a9d78d131173ccedc116993e02b7bbc0ddc8c43c718dc65cb725619ecf7e72e0b7e11b941f3eb342d7c23d17ca0507b2ab28512 WHIRLPOOL d27a3712ce4cd529986c4ac0af7398f8d69d66c1b5aed9842d3b21f417bab5d2b3afc7be9e069ce0e9f307b17ad33ef9e8d49d7624ec0d7d2aab60949982b9c1
+DIST monkeysphere_0.38.orig.tar.gz 107546 SHA256 6951821d11ad646e6e7651d677bfab8f800fbc52703a0ab9942d03cd13959073 SHA512 fd87460fe16b0133fd507ff93926a5dea6419343b45c3ba33e6e981333646f4fa840c127bb1f3e7750bc3ede66c5e07f4155557a8354cf38d89159422dca390f WHIRLPOOL 26f96f1d845ce1178337cc23e50140576a785536f656e73ceaba4d64192106b2462bb046328758c2771b48de64abe1a3d866cfc2fadc7ac0d0e2341778cd9105
+DIST monkeysphere_0.39.orig.tar.gz 107735 SHA256 73331e2df361b22e1dc6445a7d2b0b2c5a124daa4d850c2ecce721579592c29f SHA512 069acbc3e4f1409a130d4efc95875c72b9e4c55af6ff211fb954a90ff26605ecf9cdbbe7d7f7849de479cafaab7957a33fccefd5f2d54a2317f18bc5454190c2 WHIRLPOOL 3b0b260e002e5bbc4f894f468da77c9b3eb0c020316ceed920663f66e0db525c2baea4d9be7a36e82544c02bc3ece3bb0bbfa455c47d8f89896de08e4ff7211f
+DIST monkeysphere_0.41.orig.tar.gz 109040 SHA256 911a2f1622ddb81151b0f41cf569ccf2154d10a09b2f446dbe98fac7279fe74b SHA512 fcc3dd6c191635ed7ef27a8219d4c9d7043629dc8a02de947fcc4dfc8e612ec767f68d4e4c41252a0c0fc80e4184018e53991d85fcde50cb5def75b925341962 WHIRLPOOL 3a71264e78a8b2fa5cde35167df219d6becb082d87dfd8dd22902e0091bbf5397c380c1b5609e79d8743219d948a4ee89b354907cc5aab95275bd805b6ebc223
+EBUILD monkeysphere-0.36-r1.ebuild 1187 SHA256 4bf909b5a78dfd13929709d2df8a5c41eb05ce5e03188053546567840242e1fd SHA512 380cd2eb925360506c6a3237d642131c9a6e257e219d19d5b6902034b056f6984296f9f1621d81c012f75456658eb57487fa609a0748df7aa11397fc0d5b89bc WHIRLPOOL 475001e7cbe2d968011d08eefb9cce3e8ae146640d9e6284b6c09bfc654efad0d88df078ba4b45fe9d5935ff56053b3ae49b81052422303ee996bdf16ebe9445
+EBUILD monkeysphere-0.36-r2.ebuild 1781 SHA256 5ac4b16eac6fc390f3b5d5a09fd1726e09bc5f03ea72888ae05a6cf6f7cd9bf8 SHA512 f6da7b96ffce5bc0e6eb4fa83df65f47b12882b65fe44f3c8e45b2d38387cc82de9185262ad6fe93a9cddb61929ea3651c7a30979a572dc9ac5a1d24550255f8 WHIRLPOOL 8537f02164a8ff84a694e87609c7f524bedbaaa916440da9420e6cdddb819ec617b454861d8613ea2dc4aef4dc265b903fdb76447a64e4900597cc4206dadbcc
+EBUILD monkeysphere-0.37.ebuild 1459 SHA256 77d51e95f81416e6d8d5fbdf815fef6e7f70959dec72004dc230ec222efad750 SHA512 5181dc7b06a7a5910bafe37438c152f54d4c0f6949cc6fc8a8e203324d16c345e18475c7a854709c722ff3d4d72c66b121a653c6f86d3a33a24ad16b0097f0c3 WHIRLPOOL ff1c6bde11f5083268918e58e16d6e583796ecba34faa30672182d306208634b5478de8015b779872dcd87073db99aab87d03fdfc8ca1b03ae4ec51b98be7592
+EBUILD monkeysphere-0.38.ebuild 1635 SHA256 b534abafa64aeb4aa72dcebea0ef295200262a12be7583150384571c80c1c837 SHA512 6dd69c21f73158cc68e4df4c4ba9a3e15387d20effadf8bb3566955acd8b62d9c5e59c8b47d98d3470dc5cfaa9e28e343ac8cec43aed5642b1568352150c3041 WHIRLPOOL af8478ef12cd867dc081a6bd3937e82ae0e7d7214b05d562e929e5b9de1f12633560eeca71052a9a8196697f1e0c35afcf258e5af37e766d2eb39039457db6e7
+EBUILD monkeysphere-0.39.ebuild 1441 SHA256 e5690c8aadae858eafcbbc0fd0d4f5f833eb75f236e71f177ea8c27df06c2958 SHA512 1eac7528acd605c46e1b0c869afc43e6e603b4f191650568b5ca9c478f22efdd0b41c31d09daf341309d8a31cdac8f2bc1ac29408f48315709a9923589f46b1a WHIRLPOOL 6279baaf8df793f0060b7ab68068ed7ac5f6fc07acd890119edc3d870ae4b6f411b8ba9270283e111f5e80f61912ac4d7caf7e7e91b51fcdb9c563b1213d1ce5
+EBUILD monkeysphere-0.41.ebuild 1374 SHA256 57a671d4ae28c7eba72fe80d8e096af50f6eff928437a77d757895d72891af2e SHA512 d163997b672964a3788203c4cedef6510704475c8e285a947f34a06cd428fc7a46a5a1fdd4fe8eaa0fefdf976778317c771d5b04f119d459006d7b75a0a20025 WHIRLPOOL 206b5a21a75ebea0f6d3d1b98d0f5c27335f45ab05757218921137b64194fad8f1fe5a575b9befd9a9b526d0a04d978fa3580533d6a2cb0361f700bc8264d79e
+MISC ChangeLog 3745 SHA256 5b6b225bed016b4b58b556795996cd943ab8c1cc20c3e94c259cbbfd4664b422 SHA512 b7a443d552edfd460c77cf09a4b2c70f7703c1a9ffb7387051dc96eecb44c2a57f2e63c702720dcb2b479b6c6619d09da21fc50e432f8d0b3b964455311f5477 WHIRLPOOL cb3e642af879ae32f652a3a979713f0787a484370b60733c995aeacdc287c82b6fbd92361412353594f28e2997e0acc0f634f1ba6fb6577c6a168abf0feab16a
+MISC ChangeLog-2015 1984 SHA256 8efdfa68e46c5c5162ee9c398bb94cae4ec6f5f3fb4aa40879ce6e35bcade543 SHA512 892bc9fc70ed99cdd64c450c543ec9b561956d9fd934b8e293b8f610fb4f2a298632b4227bd32163beb7015a41f8d0df92109103149dddf7e0534da21879cdec WHIRLPOOL 31894bc83cc97e61515498ebd932270875506b99cf69fdd26022040b3f38722106be332095da474352bd6eec4d222a49d37307cf561ee9fee3d40e7dc74ef0c5
+MISC metadata.xml 251 SHA256 66d741cb041462a1b2c366c3a5c5f7c6d04490659f6082997971fffca955b5b7 SHA512 10bbd614739518c3b33fc05f34caa511ad71c599e2df0cb58514f05186b9c4ef73e00e3c78018c38581376a90a7968a01c35620fca32fdc5a91a762233a8c5fd WHIRLPOOL f46e8d77ccedd8078b4c5c3c48f4724ff604a3c9071c844a7014a97e61594da3c8750db5d3263c17c97d439c5cbcae378dc10cadd425ed43169223d61a1a8bf5
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.36_default_shell.patch b/app-crypt/monkeysphere/files/monkeysphere-0.36_default_shell.patch
new file mode 100644
index 000000000000..f979114181d1
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.36_default_shell.patch
@@ -0,0 +1,12 @@
+diff -r d0c02fe6a949 src/share/common
+--- a/src/share/common Sun Oct 06 19:21:18 2013 +0200
++++ b/src/share/common Sun Oct 06 19:21:49 2013 +0200
+@@ -108,7 +108,7 @@
+ # if root, su command as monkeysphere user
+ 'root')
+ # requote arguments using bash builtin feature (see "help printf"):
+- su "$MONKEYSPHERE_USER" -c "$(printf "%q " "$@")"
++ su -s /bin/bash "$MONKEYSPHERE_USER" -c "$(printf "%q " "$@")"
+ ;;
+
+ # otherwise, fail
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.36_hd_od.patch b/app-crypt/monkeysphere/files/monkeysphere-0.36_hd_od.patch
new file mode 100644
index 000000000000..7cdaa74b5735
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.36_hd_od.patch
@@ -0,0 +1,14 @@
+diff -r 6150774ec7f4 tests/keytrans
+--- a/tests/keytrans Sun Feb 16 20:11:02 2014 +0100
++++ b/tests/keytrans Sun Feb 16 20:11:40 2014 +0100
+@@ -104,8 +104,8 @@
+ <(gpg --list-packets < "$TEMPDIR"/converted.secret.key)
+
+ diff -u \
+- <(hd "$TEMPDIR"/secret.key) \
+- <(hd "$TEMPDIR"/converted.secret.key)
++ <(od -xc "$TEMPDIR"/secret.key) \
++ <(od -xc "$TEMPDIR"/converted.secret.key)
+
+ KEYFPR=$(gpg --fingerprint --with-colons --list-keys | grep ^fpr | cut -f10 -d:)
+ KEYID=$(printf "%s" "$KEYFPR" | cut -b25-40)
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.36_non_default_port.patch b/app-crypt/monkeysphere/files/monkeysphere-0.36_non_default_port.patch
new file mode 100644
index 000000000000..f14550280fcf
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.36_non_default_port.patch
@@ -0,0 +1,14 @@
+diff -r 5f7ee764ec1f src/share/common
+--- a/src/share/common Mon Oct 07 19:22:36 2013 +0200
++++ b/src/share/common Mon Oct 07 19:22:58 2013 +0200
+@@ -863,6 +863,10 @@
+ ;;
+ ('known_hosts')
+ host=${userID#ssh://}
++ if [[ "${host}" == *:* ]]; then
++ IFS=':' read -a ARR <<< "${host}"
++ host="[${ARR[0]}]:${ARR[1]}"
++ fi
+ remove_line "$keyFile" "$host" "$sshKey"
+ ;;
+ esac
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.36_openpgp2ssh_sanity_check.patch b/app-crypt/monkeysphere/files/monkeysphere-0.36_openpgp2ssh_sanity_check.patch
new file mode 100644
index 000000000000..aec90eb07661
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.36_openpgp2ssh_sanity_check.patch
@@ -0,0 +1,34 @@
+diff --git a/src/monkeysphere-authentication b/src/monkeysphere-authentication
+index edc7995..2711ff2 100755
+--- a/src/monkeysphere-authentication
++++ b/src/monkeysphere-authentication
+@@ -84,6 +84,13 @@ gpg_sphere() {
+ su_monkeysphere_user gpg --fixed-list-mode --no-greeting --quiet --no-tty "$@"
+ }
+
++check_openpgp2ssh_sanity() {
++ if [[ `su_monkeysphere_user openpgp2ssh ABC &>/dev/null || echo $?` != "255" ]]; then
++ echo "openpgp2ssh command gives unexpected return code. This can lead to a scenario where no authorized keys are populated, even though they are otherwise valid. Aborting!"
++ exit 1
++ fi;
++}
++
+ # output to stdout the core fingerprint from the gpg core secret
+ # keyring
+ core_fingerprint() {
+@@ -163,6 +170,7 @@ case $COMMAND in
+ 'update-users'|'update-user'|'update'|'u')
+ source "${MASHAREDIR}/setup"
+ setup
++ check_openpgp2ssh_sanity
+ source "${MASHAREDIR}/update_users"
+ OUTPUT_STDOUT= update_users "$@"
+ ;;
+@@ -171,6 +179,7 @@ case $COMMAND in
+ (( $# > 0 )) || failure "Must specify user."
+ source "${MASHAREDIR}/setup"
+ setup
++ check_openpgp2ssh_sanity
+ source "${MASHAREDIR}/update_users"
+ OUTPUT_STDOUT=true update_users "$1"
+ ;;
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.36_tests_gnupg2.patch b/app-crypt/monkeysphere/files/monkeysphere-0.36_tests_gnupg2.patch
new file mode 100644
index 000000000000..712734459054
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.36_tests_gnupg2.patch
@@ -0,0 +1,50 @@
+diff -r c13f4b11061e tests/keytrans
+--- a/tests/keytrans Sun Feb 16 19:24:08 2014 +0100
++++ b/tests/keytrans Sun Feb 16 19:27:42 2014 +0100
+@@ -131,9 +131,9 @@
+ cat >"$TEMPDIR"/expectedout <<EOF
+ pub:u:1024:1:$KEYID:$timestamp:::u:::scSC:
+ uid:u::::$timestamp::E90EC72E68C6C2A0751DADC70F54F60D27B88C3D::monkeymonkey:
+-sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:
++sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8:
+ uid:u::::$timestamp::8200BD0425CC70C7D698DF3FE412044EAAB83F94::testtest:
+-sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:
++sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8:
+ EOF
+
+ diff -u "$TEMPDIR"/expectedout <(gpg --check-sigs --with-colons | grep -v ^tru)
+@@ -159,10 +159,10 @@
+ cat >"$TEMPDIR"/expectedout <<EOF
+ pub:u:1024:1:$KEYID:$timestamp:::u:::scSC:
+ uid:u::::$timestamp::E90EC72E68C6C2A0751DADC70F54F60D27B88C3D::monkeymonkey:
+-sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:
++sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8:
+ uid:r::::::8200BD0425CC70C7D698DF3FE412044EAAB83F94::testtest:
+-sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:
+-rev:!::1:$KEYID:$revtime::::monkeymonkey:30x:
++sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8:
++rev:!::1:$KEYID:$revtime::::monkeymonkey:30x:::::8:
+ EOF
+
+
+@@ -190,15 +190,15 @@
+ cat >"$TEMPDIR"/expectedout <<EOF
+ pub:u:1024:1:$KEYID:$timestamp:::u:::scSC:
+ uid:u::::$timestamp::E90EC72E68C6C2A0751DADC70F54F60D27B88C3D::monkeymonkey:
+-sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:
++sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8:
+ uid:r::::::8200BD0425CC70C7D698DF3FE412044EAAB83F94::testtest:
+-sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:
+-rev:!::1:$KEYID:$revtime::::monkeymonkey:30x:
++sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8:
++rev:!::1:$KEYID:$revtime::::monkeymonkey:30x:::::8:
+ uid:u::::$timestamp::EDDC32D783E7F4C7B6982D9AE5DC4A61000648BA::baz:
+-sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:
++sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8:
+ pub:-:1024:1:$NEWKEYID:$(($timestamp + 1)):::-:::caCA:
+ uid:-::::$(($timestamp + 1))::A0D708F51CC257DEFC01AEDE1E0A5F329DFD8F16::fubar:
+-sig:!::1:$NEWKEYID:$(($timestamp + 1))::::fubar:13x:
++sig:!::1:$NEWKEYID:$(($timestamp + 1))::::fubar:13x:::::8:
+ EOF
+
+ echo "test: diff expected gpg list output"
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.36_userid_empty_line.patch b/app-crypt/monkeysphere/files/monkeysphere-0.36_userid_empty_line.patch
new file mode 100644
index 000000000000..70c7cffe7dc4
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.36_userid_empty_line.patch
@@ -0,0 +1,12 @@
+diff -r 2315bb7781c6 src/share/common
+--- a/src/share/common Thu Oct 10 19:25:10 2013 +0200
++++ b/src/share/common Thu Oct 10 19:25:50 2013 +0200
+@@ -917,7 +917,7 @@
+ IFS=$'\n'
+ while read line ; do
+ case "$line" in
+- ("#"*)
++ ("#"*|"")
+ continue
+ ;;
+ (" "*|$'\t'*)
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.37_default_shell.patch b/app-crypt/monkeysphere/files/monkeysphere-0.37_default_shell.patch
new file mode 100644
index 000000000000..f979114181d1
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.37_default_shell.patch
@@ -0,0 +1,12 @@
+diff -r d0c02fe6a949 src/share/common
+--- a/src/share/common Sun Oct 06 19:21:18 2013 +0200
++++ b/src/share/common Sun Oct 06 19:21:49 2013 +0200
+@@ -108,7 +108,7 @@
+ # if root, su command as monkeysphere user
+ 'root')
+ # requote arguments using bash builtin feature (see "help printf"):
+- su "$MONKEYSPHERE_USER" -c "$(printf "%q " "$@")"
++ su -s /bin/bash "$MONKEYSPHERE_USER" -c "$(printf "%q " "$@")"
+ ;;
+
+ # otherwise, fail
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.37_hd_od.patch b/app-crypt/monkeysphere/files/monkeysphere-0.37_hd_od.patch
new file mode 100644
index 000000000000..7cdaa74b5735
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.37_hd_od.patch
@@ -0,0 +1,14 @@
+diff -r 6150774ec7f4 tests/keytrans
+--- a/tests/keytrans Sun Feb 16 20:11:02 2014 +0100
++++ b/tests/keytrans Sun Feb 16 20:11:40 2014 +0100
+@@ -104,8 +104,8 @@
+ <(gpg --list-packets < "$TEMPDIR"/converted.secret.key)
+
+ diff -u \
+- <(hd "$TEMPDIR"/secret.key) \
+- <(hd "$TEMPDIR"/converted.secret.key)
++ <(od -xc "$TEMPDIR"/secret.key) \
++ <(od -xc "$TEMPDIR"/converted.secret.key)
+
+ KEYFPR=$(gpg --fingerprint --with-colons --list-keys | grep ^fpr | cut -f10 -d:)
+ KEYID=$(printf "%s" "$KEYFPR" | cut -b25-40)
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.38-asprintf.patch b/app-crypt/monkeysphere/files/monkeysphere-0.38-asprintf.patch
new file mode 100644
index 000000000000..dbf9d5f590ca
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.38-asprintf.patch
@@ -0,0 +1,45 @@
+From b756fd2e58ab013b5c9bfc2658ed9ad48868067c Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Sun, 7 Aug 2016 18:24:47 -0400
+Subject: [PATCH] avoid warning about unused asprintf return value
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+some versions of gcc produce this warning, which is treated as an
+error due to our conservative defaults in Makefile:
+
+src/agent-transfer/main.c: In function ‘main’:
+src/agent-transfer/main.c:676:5: error: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Werror=unused-result]
+ asprintf (&alt_comment, "GnuPG keygrip %s", args.keygrip);
+ ^
+cc1: all warnings being treated as errors
+
+this patch avoids the warning.
+---
+ src/agent-transfer/main.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/agent-transfer/main.c b/src/agent-transfer/main.c
+index 406aaa3..3038f5c 100644
+--- a/src/agent-transfer/main.c
++++ b/src/agent-transfer/main.c
+@@ -672,8 +672,13 @@ int main (int argc, const char* argv[]) {
+ return 1;
+ }
+
+- if (!args.comment)
+- asprintf (&alt_comment, "GnuPG keygrip %s", args.keygrip);
++ if (!args.comment) {
++ err = asprintf (&alt_comment, "GnuPG keygrip %s", args.keygrip);
++ if (err < 0) {
++ fprintf (stderr, "failed to generate key comment\n");
++ return 1;
++ }
++ }
+
+ err = send_to_ssh_agent (&e, ssh_sock_fd, args.seconds, args.confirm,
+ args.comment ? args.comment : alt_comment);
+--
+2.7.3
+
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.38-revert-executable-patch.patch b/app-crypt/monkeysphere/files/monkeysphere-0.38-revert-executable-patch.patch
new file mode 100644
index 000000000000..4d98c0a7cf5b
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.38-revert-executable-patch.patch
@@ -0,0 +1,98 @@
+From c75c7553a88e387013e2b4310f4c4956adfd8a98 Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Mon, 8 Aug 2016 20:45:07 -0400
+Subject: [PATCH 1/2] avoid treating src/share/common as an executable
+
+having src/share/common treated as an executable (commit
+ed10318d3760b56e57d5e1bef04ab57761ab8bd1) was actually a terrible
+idea.
+
+In addition to causing "monkeysphere version" to print the version
+number twice, it meant that any invocation of a monkeysphere command
+that sourced src/share/common and had a first argument that happened
+to be a function name would accidentally invoke that function.
+
+This commit reverts that idea.
+---
+ Makefile | 2 +-
+ src/share/common | 5 -----
+ src/share/ma/add_certifier | 2 +-
+ src/share/ma/update_users | 2 +-
+ src/share/mh/add_revoker | 2 +-
+ 5 files changed, 4 insertions(+), 9 deletions(-)
+ mode change 100755 => 100644 src/share/common
+
+diff --git a/Makefile b/Makefile
+index 608a317..768564a 100755
+--- a/Makefile
++++ b/Makefile
+@@ -55,7 +55,7 @@ install: all installman
+ install src/monkeysphere-authentication $(DESTDIR)$(PREFIX)/sbin
+ sed -i 's:__SYSSHAREDIR_PREFIX__:$(PREFIX):' $(DESTDIR)$(PREFIX)/sbin/monkeysphere-authentication
+ install src/monkeysphere-authentication-keys-for-user $(DESTDIR)$(PREFIX)/share/monkeysphere
+- install -m 0755 src/share/common $(DESTDIR)$(PREFIX)/share/monkeysphere
++ install -m 0644 src/share/common $(DESTDIR)$(PREFIX)/share/monkeysphere
+ install -m 0644 src/share/defaultenv $(DESTDIR)$(PREFIX)/share/monkeysphere
+ sed -i 's:__SYSCONFDIR_PREFIX__:$(ETCPREFIX):' $(DESTDIR)$(PREFIX)/share/monkeysphere/defaultenv
+ sed -i 's:__SYSDATADIR_PREFIX__:$(LOCALSTATEDIR):' $(DESTDIR)$(PREFIX)/share/monkeysphere/defaultenv
+diff --git a/src/share/common b/src/share/common
+old mode 100755
+new mode 100644
+index 66181a3..b10a040
+--- a/src/share/common
++++ b/src/share/common
+@@ -1,4 +1,3 @@
+-#!/usr/bin/env bash
+ # -*-shell-script-*-
+ # This should be sourced by bash (though we welcome changes to make it POSIX sh compliant)
+
+@@ -1022,7 +1021,3 @@ report_cruft() {
+ printf "The directories above are backups left over from a monkeysphere transition.\nThey may contain copies of sensitive data (host keys, certifier lists), but\nthey are no longer needed by monkeysphere.\nYou may remove them at any time.\n\n" | log info
+ fi
+ }
+-
+-if [ -n "$1" ] && [ "$(type -t "$1" || true)" = "function" ]; then
+- "$@"
+-fi
+diff --git a/src/share/ma/add_certifier b/src/share/ma/add_certifier
+index 1d450e7..5416aa9 100644
+--- a/src/share/ma/add_certifier
++++ b/src/share/ma/add_certifier
+@@ -101,7 +101,7 @@ if [ -f "$keyID" -o "$keyID" = '-' ] ; then
+ # check the key is ok as monkeysphere user before loading
+ log debug "checking keys in file..."
+ fingerprint=$(su_monkeysphere_user \
+- "${SYSSHAREDIR}/common" list_primary_fingerprints < "$keyID")
++ bash -c ". ${SYSSHAREDIR}/common && list_primary_fingerprints" < "$keyID")
+
+ if [ $(printf "%s" "$fingerprint" | egrep -c '^[A-F0-9]{40}$') -ne 1 ] ; then
+ failure "There was not exactly one gpg key in the file."
+diff --git a/src/share/ma/update_users b/src/share/ma/update_users
+index d23c125..4f83e0c 100644
+--- a/src/share/ma/update_users
++++ b/src/share/ma/update_users
+@@ -79,7 +79,7 @@ for uname in $unames ; do
+
+ # process authorized_user_ids file, as monkeysphere user
+ su_monkeysphere_user \
+- /usr/bin/env "STRICT_MODES=$STRICT_MODES" "${SYSSHAREDIR}/common" process_authorized_user_ids - \
++ /usr/bin/env "STRICT_MODES=$STRICT_MODES" bash -c ". ${SYSSHAREDIR}/common && process_authorized_user_ids -" \
+ < "$authorizedUserIDs" \
+ > "$tmpAuthorizedKeys"
+
+diff --git a/src/share/mh/add_revoker b/src/share/mh/add_revoker
+index 28b11ac..e00ac4e 100644
+--- a/src/share/mh/add_revoker
++++ b/src/share/mh/add_revoker
+@@ -52,7 +52,7 @@ if [ -f "$revokerKeyID" -o "$revokerKeyID" = '-' ] ; then
+ # check the key is ok as monkeysphere user before loading
+ log debug "checking keys in file..."
+ fingerprint=$(su_monkeysphere_user \
+- "${SYSSHAREDIR}/common" list_primary_fingerprints < "$revokerKeyID")
++ bash -c ". ${SYSSHAREDIR}/common && list_primary_fingerprints" < "$revokerKeyID")
+
+ if [ $(printf "%s" "$fingerprint" | egrep -c '^[A-F0-9]{40}$') -ne 1 ] ; then
+ failure "There was not exactly one gpg key in the file."
+--
+2.7.3
+
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.38-syssharedir-whitespace.patch b/app-crypt/monkeysphere/files/monkeysphere-0.38-syssharedir-whitespace.patch
new file mode 100644
index 000000000000..65d3ba6a95aa
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.38-syssharedir-whitespace.patch
@@ -0,0 +1,53 @@
+From 0e339de4772b6de1849dc55790821c3dd5943be3 Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Tue, 9 Aug 2016 09:39:45 -0400
+Subject: [PATCH 2/2] ensure that this works even if SYSSHAREDIR has whitespace
+
+---
+ src/share/ma/add_certifier | 2 +-
+ src/share/ma/update_users | 2 +-
+ src/share/mh/add_revoker | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/share/ma/add_certifier b/src/share/ma/add_certifier
+index 5416aa9..9488806 100644
+--- a/src/share/ma/add_certifier
++++ b/src/share/ma/add_certifier
+@@ -101,7 +101,7 @@ if [ -f "$keyID" -o "$keyID" = '-' ] ; then
+ # check the key is ok as monkeysphere user before loading
+ log debug "checking keys in file..."
+ fingerprint=$(su_monkeysphere_user \
+- bash -c ". ${SYSSHAREDIR}/common && list_primary_fingerprints" < "$keyID")
++ bash -c "$(printf ". %q && list_primary_fingerprints" "${SYSSHAREDIR}/common")" < "$keyID")
+
+ if [ $(printf "%s" "$fingerprint" | egrep -c '^[A-F0-9]{40}$') -ne 1 ] ; then
+ failure "There was not exactly one gpg key in the file."
+diff --git a/src/share/ma/update_users b/src/share/ma/update_users
+index 4f83e0c..a0ec21b 100644
+--- a/src/share/ma/update_users
++++ b/src/share/ma/update_users
+@@ -79,7 +79,7 @@ for uname in $unames ; do
+
+ # process authorized_user_ids file, as monkeysphere user
+ su_monkeysphere_user \
+- /usr/bin/env "STRICT_MODES=$STRICT_MODES" bash -c ". ${SYSSHAREDIR}/common && process_authorized_user_ids -" \
++ /usr/bin/env "STRICT_MODES=$STRICT_MODES" bash -c "$(printf ". %q && process_authorized_user_ids -" "${SYSSHAREDIR}/common")"\
+ < "$authorizedUserIDs" \
+ > "$tmpAuthorizedKeys"
+
+diff --git a/src/share/mh/add_revoker b/src/share/mh/add_revoker
+index e00ac4e..de08961 100644
+--- a/src/share/mh/add_revoker
++++ b/src/share/mh/add_revoker
+@@ -52,7 +52,7 @@ if [ -f "$revokerKeyID" -o "$revokerKeyID" = '-' ] ; then
+ # check the key is ok as monkeysphere user before loading
+ log debug "checking keys in file..."
+ fingerprint=$(su_monkeysphere_user \
+- bash -c ". ${SYSSHAREDIR}/common && list_primary_fingerprints" < "$revokerKeyID")
++ bash -c "$(printf ". %q && list_primary_fingerprints" "${SYSSHAREDIR}/common")" < "$revokerKeyID")
+
+ if [ $(printf "%s" "$fingerprint" | egrep -c '^[A-F0-9]{40}$') -ne 1 ] ; then
+ failure "There was not exactly one gpg key in the file."
+--
+2.7.3
+
diff --git a/app-crypt/monkeysphere/files/monkeysphere-0.39-make-tests-work-with-gnupg-2.1.15.patch b/app-crypt/monkeysphere/files/monkeysphere-0.39-make-tests-work-with-gnupg-2.1.15.patch
new file mode 100644
index 000000000000..776e633b3d73
--- /dev/null
+++ b/app-crypt/monkeysphere/files/monkeysphere-0.39-make-tests-work-with-gnupg-2.1.15.patch
@@ -0,0 +1,45 @@
+From b1dd8fb1b84c6eea25523c3ea746852b3dce6034 Mon Sep 17 00:00:00 2001
+From: Valo <valo@autoproduzioni.net>
+Date: Wed, 31 Aug 2016 14:00:05 -0400
+Subject: [PATCH] Make tests pass with GnuPG 2.1.15
+
+2.1.15 appears to always emit the fingerprint lines in these cases,
+while 2.1.14 did not.
+---
+ tests/keytrans | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/keytrans b/tests/keytrans
+index 3076e3f..5c7d2c8 100755
+--- a/tests/keytrans
++++ b/tests/keytrans
+@@ -140,7 +140,7 @@ uid:u::::$timestamp::8200BD0425CC70C7D698DF3FE412044EAAB83F94::testtest
+ sig:!::1:$KEYID:$timestamp::::monkeymonkey:13x:::::8
+ EOF
+
+-diff -u "$TEMPDIR"/expectedout <(gpg --check-sigs --with-colons | grep -v ^tru | sed 's/:*$//')
++diff -u "$TEMPDIR"/expectedout <(gpg --check-sigs --with-colons | grep -vE '^(tru|fpr):' | sed 's/:*$//')
+
+ echo "##################################################"
+ echo "### sleeping to avoid test suite breakage on fast"
+@@ -170,7 +170,7 @@ rev:!::1:$KEYID:$revtime::::monkeymonkey:30x:::::8
+ EOF
+
+
+-diff -u "$TEMPDIR"/expectedout <(gpg --check-sigs --with-colons | grep -v ^tru | sed 's/:*$//')
++diff -u "$TEMPDIR"/expectedout <(gpg --check-sigs --with-colons | grep -vE '^(tru|fpr):' | sed 's/:*$//')
+
+
+ echo "##################################################"
+@@ -206,7 +206,7 @@ sig:!::1:$NEWKEYID:$(($timestamp + 1))::::fubar:13x:::::8
+ EOF
+
+ echo "test: diff expected gpg list output"
+-diff -u "$TEMPDIR"/expectedout <(gpg --check-sigs --with-colons | grep -v ^tru | sed 's/:*$//')
++diff -u "$TEMPDIR"/expectedout <(gpg --check-sigs --with-colons | grep -vE '^(tru|fpr):' | sed 's/:*$//')
+
+ sort >"$TEMPDIR"/expectedout <<EOF
+ $KEYFPR
+--
+2.7.3
+
diff --git a/app-crypt/monkeysphere/metadata.xml b/app-crypt/monkeysphere/metadata.xml
new file mode 100644
index 000000000000..91439c59951d
--- /dev/null
+++ b/app-crypt/monkeysphere/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>k_f@gentoo.org</email>
+ <name>Kristian Fiskerstrand</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-crypt/monkeysphere/monkeysphere-0.36-r1.ebuild b/app-crypt/monkeysphere/monkeysphere-0.36-r1.ebuild
new file mode 100644
index 000000000000..953836fdace6
--- /dev/null
+++ b/app-crypt/monkeysphere/monkeysphere-0.36-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils user
+
+DESCRIPTION="Leverage the OpenPGP web of trust for OpenSSH and Web authentication"
+HOMEPAGE="http://web.monkeysphere.info/"
+SRC_URI="http://archive.${PN}.info/debian/pool/${PN}/${PN::1}/${PN}/${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="test"
+
+# Tests do weird things with network and fail OOTB.
+RESTRICT="test"
+
+RDEPEND="
+ app-crypt/gnupg
+ app-misc/lockfile-progs
+ dev-perl/Crypt-OpenSSL-RSA
+ dev-perl/Digest-SHA1
+ || ( net-analyzer/netcat net-misc/socat )"
+DEPEND="${RDEPEND}
+ test? ( net-misc/socat )"
+
+pkg_setup()
+{
+ einfo "Creating named group and user"
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
+}
+
+src_prepare()
+{
+ epatch "${FILESDIR}/${P}_default_shell.patch" \
+ "${FILESDIR}/${P}_non_default_port.patch" \
+ "${FILESDIR}/${P}_userid_empty_line.patch"
+
+ sed -i "s#share/doc/${PN}#share/doc/${PF}#" Makefile || die
+}
+
+src_install()
+{
+ default
+
+ dodir /var/lib/${PN}
+ fowners root:${PN} /var/lib/${PN}
+ fperms 751 /var/lib/${PN}
+}
+
+pkg_postinst()
+{
+ ${PN}-authentication setup || die
+}
diff --git a/app-crypt/monkeysphere/monkeysphere-0.36-r2.ebuild b/app-crypt/monkeysphere/monkeysphere-0.36-r2.ebuild
new file mode 100644
index 000000000000..63a671e3e588
--- /dev/null
+++ b/app-crypt/monkeysphere/monkeysphere-0.36-r2.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Leverage the OpenPGP web of trust for OpenSSH and Web authentication"
+HOMEPAGE="http://web.monkeysphere.info/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE=""
+SRC_URI="mirror://debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz"
+KEYWORDS="~amd64 ~arm ~x86"
+
+DOCS=( README Changelog )
+
+# Tests fail upstream for SSH connection. Issue has been reported.
+RESTRICT="test"
+
+DEPEND="app-crypt/gnupg
+ net-misc/socat
+ dev-perl/Crypt-OpenSSL-RSA
+ dev-perl/Digest-SHA1
+ app-misc/lockfile-progs"
+
+RDEPEND="${DEPEND}"
+
+pkg_setup()
+{
+ einfo "Creating named group and user"
+ enewgroup monkeysphere
+ enewuser monkeysphere -1 -1 /var/lib/monkeysphere monkeysphere
+ # Using fperms and fowner in src_install leave unusable config with error
+ # Authentication refused: bad ownership or modes for directory /var/lib/monkeysphere
+ chown root:monkeysphere /var/lib/monkeysphere
+ chmod 751 /var/lib/monkeysphere
+}
+
+src_prepare()
+{
+ epatch "${FILESDIR}/${P}_default_shell.patch"\
+ "${FILESDIR}/${P}_non_default_port.patch"\
+ "${FILESDIR}/${P}_userid_empty_line.patch"\
+ "${FILESDIR}/${P}_openpgp2ssh_sanity_check.patch"\
+ "${FILESDIR}/${P}_hd_od.patch"
+
+ sed -i "s#share/doc/monkeysphere#share/doc/${PF}#" Makefile || die
+
+ # Output format of gpg --check-sigs differ between 1.4 and 2.0 so test
+ # needs to be updated if 2.0 is used
+ if has_version '>=app-crypt/gnupg-2.0.0:0'; then
+ epatch "${FILESDIR}/${P}_tests_gnupg2.patch"
+ fi;
+}
+
+src_install()
+{
+ default
+ dodir /var/lib/monkeysphere
+}
+
+pkg_postinst()
+{
+ #This function is idempotent, make sure it is run at least once.
+ monkeysphere-authentication setup || die
+}
diff --git a/app-crypt/monkeysphere/monkeysphere-0.37.ebuild b/app-crypt/monkeysphere/monkeysphere-0.37.ebuild
new file mode 100644
index 000000000000..7276dff3dadb
--- /dev/null
+++ b/app-crypt/monkeysphere/monkeysphere-0.37.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Leverage the OpenPGP web of trust for OpenSSH and Web authentication"
+HOMEPAGE="http://web.monkeysphere.info/"
+
+LICENSE="GPL-3"
+SLOT="0/0"
+IUSE=""
+SRC_URI="mirror://debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz"
+KEYWORDS="amd64 ~arm x86"
+
+DOCS=( README Changelog )
+
+# Tests fail upstream for SSH connection. Issue has been reported.
+RESTRICT="test"
+
+DEPEND="app-crypt/gnupg:0=
+ net-misc/socat:0=
+ dev-perl/Crypt-OpenSSL-RSA:0=
+ dev-perl/Digest-SHA1:0=
+ app-misc/lockfile-progs:0="
+
+RDEPEND="${DEPEND}"
+
+pkg_setup()
+{
+ einfo "Creating named group and user"
+ enewgroup monkeysphere
+ enewuser monkeysphere -1 -1 /var/lib/monkeysphere monkeysphere
+ # Using fperms and fowner in src_install leave unusable config with error
+ # Authentication refused: bad ownership or modes for directory /var/lib/monkeysphere
+ chown root:monkeysphere /var/lib/monkeysphere
+ chmod 751 /var/lib/monkeysphere
+}
+
+src_prepare()
+{
+ epatch "${FILESDIR}/${P}_default_shell.patch"\
+ "${FILESDIR}/${P}_hd_od.patch"
+
+ sed -i "s#share/doc/monkeysphere#share/doc/${PF}#" Makefile || die
+}
+
+src_install()
+{
+ default
+ dodir /var/lib/monkeysphere
+}
+
+pkg_postinst()
+{
+ monkeysphere-authentication setup || die
+}
diff --git a/app-crypt/monkeysphere/monkeysphere-0.38.ebuild b/app-crypt/monkeysphere/monkeysphere-0.38.ebuild
new file mode 100644
index 000000000000..2d718ae60cdc
--- /dev/null
+++ b/app-crypt/monkeysphere/monkeysphere-0.38.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Leverage the OpenPGP web of trust for OpenSSH and Web authentication"
+HOMEPAGE="http://web.monkeysphere.info/"
+
+LICENSE="GPL-3"
+SLOT="0/0"
+IUSE=""
+SRC_URI="mirror://debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz"
+KEYWORDS="~amd64 ~arm ~x86"
+
+DOCS=( README Changelog )
+
+# Tests fail upstream for SSH connection. Issue has been reported.
+RESTRICT="test"
+
+DEPEND="app-crypt/gnupg:0=
+ net-misc/socat:0=
+ dev-perl/Crypt-OpenSSL-RSA:0=
+ dev-perl/Digest-SHA1:0=
+ app-misc/lockfile-progs:0="
+
+RDEPEND="${DEPEND}"
+
+pkg_setup()
+{
+ einfo "Creating named group and user"
+ enewgroup monkeysphere
+ enewuser monkeysphere -1 -1 /var/lib/monkeysphere monkeysphere
+ # Using fperms and fowner in src_install leave unusable config with error
+ # Authentication refused: bad ownership or modes for directory /var/lib/monkeysphere
+ chown root:monkeysphere /var/lib/monkeysphere
+ chmod 751 /var/lib/monkeysphere
+}
+
+src_prepare()
+{
+ epatch "${FILESDIR}/${P}-asprintf.patch" \
+ "${FILESDIR}/${P}-revert-executable-patch.patch"\
+ "${FILESDIR}/${P}-syssharedir-whitespace.patch"\
+ "${FILESDIR}/${PN}-0.37_default_shell.patch"\
+ "${FILESDIR}/${PN}-0.37_hd_od.patch"
+
+ sed -i "s#share/doc/monkeysphere#share/doc/${PF}#" Makefile || die
+}
+
+src_install()
+{
+ default
+ dodir /var/lib/monkeysphere
+}
+
+pkg_postinst()
+{
+ monkeysphere-authentication setup || die
+}
diff --git a/app-crypt/monkeysphere/monkeysphere-0.39.ebuild b/app-crypt/monkeysphere/monkeysphere-0.39.ebuild
new file mode 100644
index 000000000000..a7f0efd409b1
--- /dev/null
+++ b/app-crypt/monkeysphere/monkeysphere-0.39.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Leverage the OpenPGP web of trust for OpenSSH and Web authentication"
+HOMEPAGE="http://web.monkeysphere.info/"
+
+LICENSE="GPL-3"
+SLOT="0/0"
+IUSE=""
+SRC_URI="mirror://debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz"
+KEYWORDS="~amd64 ~arm ~x86"
+
+DOCS=( README Changelog )
+
+# Tests fail upstream for SSH connection. Issue has been reported.
+RESTRICT="test"
+
+DEPEND="app-crypt/gnupg:0=
+ net-misc/socat:0=
+ dev-perl/Crypt-OpenSSL-RSA:0=
+ dev-perl/Digest-SHA1:0=
+ app-misc/lockfile-progs:0="
+
+RDEPEND="${DEPEND}"
+
+pkg_setup()
+{
+ einfo "Creating named group and user"
+ enewgroup monkeysphere
+ enewuser monkeysphere -1 -1 /var/lib/monkeysphere monkeysphere
+ # Using fperms and fowner in src_install leave unusable config with error
+ # Authentication refused: bad ownership or modes for directory /var/lib/monkeysphere
+ chown root:monkeysphere /var/lib/monkeysphere
+ chmod 751 /var/lib/monkeysphere
+}
+
+src_prepare()
+{
+ epatch "${FILESDIR}/${P}-make-tests-work-with-gnupg-2.1.15.patch"
+
+ sed -i "s#share/doc/monkeysphere#share/doc/${PF}#" Makefile || die
+}
+
+src_install()
+{
+ default
+ dodir /var/lib/monkeysphere
+}
+
+pkg_postinst()
+{
+ monkeysphere-authentication setup || die
+}
diff --git a/app-crypt/monkeysphere/monkeysphere-0.41.ebuild b/app-crypt/monkeysphere/monkeysphere-0.41.ebuild
new file mode 100644
index 000000000000..6c792e154275
--- /dev/null
+++ b/app-crypt/monkeysphere/monkeysphere-0.41.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils user
+
+DESCRIPTION="Leverage the OpenPGP web of trust for OpenSSH and Web authentication"
+HOMEPAGE="http://web.monkeysphere.info/"
+
+LICENSE="GPL-3"
+SLOT="0/0"
+IUSE=""
+SRC_URI="mirror://debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${PV}.orig.tar.gz"
+KEYWORDS="~amd64 ~arm ~x86"
+
+DOCS=( README Changelog )
+
+## Tests fail upstream for SSH connection. Issue has been reported.
+RESTRICT="test"
+
+DEPEND="app-crypt/gnupg:0=
+ net-misc/socat:0=
+ dev-perl/Crypt-OpenSSL-RSA:0=
+ dev-perl/Digest-SHA1:0=
+ app-misc/lockfile-progs:0="
+
+RDEPEND="${DEPEND}"
+
+pkg_setup()
+{
+ einfo "Creating named group and user"
+ enewgroup monkeysphere
+ enewuser monkeysphere -1 -1 /var/lib/monkeysphere monkeysphere
+ # Using fperms and fowner in src_install leave unusable config with error
+ # Authentication refused: bad ownership or modes for directory /var/lib/monkeysphere
+ chown root:monkeysphere /var/lib/monkeysphere
+ chmod 751 /var/lib/monkeysphere
+}
+
+src_prepare()
+{
+ sed -i "s#share/doc/monkeysphere#share/doc/${PF}#" Makefile || die
+}
+
+src_install()
+{
+ default
+ dodir /var/lib/monkeysphere
+}
+
+pkg_postinst()
+{
+ monkeysphere-authentication setup || die
+}