commit:     b0fdfbee88ccedbcbd60305419104edc6183c65b
Author:     Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 11 00:52:35 2017 +0000
Commit:     Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Tue Dec 12 02:55:43 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0fdfbee

app-admin/lastpass-binary-component: bump (!) and fix the fetch failure #640506

"Let's extend LastPass support to Firefox using Native
Messaging. While doing so, let's modify our closed binary and change
who-knows-what too. And yeah, let's release it under the same version
4.1.44 because version bumps are sissies and only losers release
versioned tarballs."

Also separate the app manifest files for Chrome and Chromium because
allowed-origins are not the same. Add more comments to clarify the
file system locations for various installed files.

Update the postinst message to reflect that for some browsers users
have to enable the binary component manually after installing the
extension.

Closes: https://bugs.gentoo.org/640506
Package-Manager: Portage-2.3.8, Repoman-2.3.2

 app-admin/lastpass-binary-component/Manifest       |  2 +-
 ...tpass-binary-component-4.1.44_p20171210.ebuild} | 59 +++++++++++++++++++---
 2 files changed, 53 insertions(+), 8 deletions(-)

diff --git a/app-admin/lastpass-binary-component/Manifest 
b/app-admin/lastpass-binary-component/Manifest
index 1cbcb8e814d..3f6f4cab04a 100644
--- a/app-admin/lastpass-binary-component/Manifest
+++ b/app-admin/lastpass-binary-component/Manifest
@@ -1 +1 @@
-DIST lastpass-binary-component-4.1.44.tar.bz2 1623477 SHA256 
adb0e91f8d212d34dbb85db0b11738fe36db1a741ad5674d7070c4019a9fc75e SHA512 
6fd518fa19f7206a1007376460c61e5a5c8d868126a767b3978309f0cc7ccd069e743cb12364e6841d8d3cb29452d058122b95f42bcfd2bd4deb4b8c77dc5f75
 WHIRLPOOL 
c50bde0ee3f82abe56803beb2bda09786f7806b5e480eb8401fe0302ee984465f2682af66243095f3ea83744d59d6d3548806c423b69a8603abed9fc3ba3d00c
+DIST lastpass-binary-component-4.1.44_p20171210.tar.bz2 1625075 BLAKE2B 
90812cfae90c90ab7f91ac293e501e9b8c6d0b4fca9e1f05e88865eb85042286308d2ce6eb90d306583aa9481de7588746a3402c3b4b9f29e2e540e4a4c2b287
 SHA512 
16ceebd054fe807975f838305044bf5e75ccbba2c592f7bf08af18d1209067c7e8b0e00457092242c3869de2ec5c59bfdfdb3ff06f801dbb2108b7dac1a7adbf

diff --git 
a/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44.ebuild 
b/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44_p20171210.ebuild
similarity index 51%
rename from 
app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44.ebuild
rename to 
app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44_p20171210.ebuild
index c46f9987de0..beff308bc57 100644
--- 
a/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44.ebuild
+++ 
b/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44_p20171210.ebuild
@@ -23,7 +23,7 @@ QA_PREBUILT="
        ${LASTPASS_EXEDIR}nplastpass*
 "
 
-S="${WORKDIR}/lplinux"
+S="${WORKDIR}"
 
 src_install() {
        # This is based on the upstream installer script that's in the tarball
@@ -32,6 +32,7 @@ src_install() {
        exeinto ${LASTPASS_EXEDIR}
        doexe "${S}"/${bin}
 
+       # Generate the policy file for Chrome/Chromium/Opera
        cat >"${T}"/lastpass_policy.json <<-EOF || die
        {
                "ExtensionInstallSources": [
@@ -41,6 +42,13 @@ src_install() {
                ]
        }
        EOF
+       # Install the policy file for Chrome/Chromium/Opera
+       for d in /etc/chromium /etc/opt/chrome; do
+               insinto ${d}/policies/managed
+               doins "${T}"/lastpass_policy.json
+       done
+
+       # Generate the app manifest for Chrome/Opera
        cat >"${T}"/com.lastpass.nplastpass.json <<-EOF || die
        {
                "name": "com.lastpass.nplastpass",
@@ -55,19 +63,56 @@ src_install() {
                ]
        }
        EOF
+       # Install the app manifest for Chrome/Opera
+       # https://developer.chrome.com/apps/nativeMessaging
+       # https://dev.opera.com/extensions/message-passing/
+       insinto /etc/opt/chrome/native-messaging-hosts
+       doins "${T}"/com.lastpass.nplastpass.json
 
-       for d in /etc/chromium /etc/opt/chrome; do
-               insinto ${d}/policies/managed
-               doins "${T}"/lastpass_policy.json
-               insinto ${d}/native-messaging-hosts
-               doins "${T}"/com.lastpass.nplastpass.json
-       done
+       # Generate the app manifest for Chromium
+       cat >"${T}"/com.lastpass.nplastpass.json <<-EOF || die
+       {
+               "name": "com.lastpass.nplastpass",
+               "description": "LastPass",
+               "path": "${LASTPASS_EXEDIR}${bin}",
+               "type": "stdio",
+               "allowed_origins": [
+                       "chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/",
+                       "chrome-extension://debgaelkhoipmbjnhpoblmbacnmmgbeg/",
+                       "chrome-extension://hgnkdfamjgnljokmokheijphenjjhkjc/"
+               ]
+       }
+       EOF
+       # Install the app manifest for Chromium
+       # https://developer.chrome.com/apps/nativeMessaging
+       insinto /etc/chromium/native-messaging-hosts/
+       doins "${T}"/com.lastpass.nplastpass.json
 
+       # Generate the app manifest for Firefox
+       cat >"${T}"/com.lastpass.nplastpass.json <<-EOF || die
+       {
+               "name": "com.lastpass.nplastpass",
+               "description": "LastPass",
+               "path": "${LASTPASS_EXEDIR}${bin}",
+               "type": "stdio",
+               "allowed_extensions": [
+                       "[email protected]"
+               ]
+       }
+       EOF
+       # Install the app manifest for Firefox
+       # 
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_manifests#Manifest_location
+       insinto /usr/lib/mozilla/native-messaging-hosts/
+       doins "${T}"/com.lastpass.nplastpass.json
 }
 
 pkg_postinst() {
        einfo "This package only installs the components required by the 
browser extension."
        einfo "Visit the links below for your browser to install the extension 
itself:"
        einfo "Chrome/Chromium: https://lastpass.com/dl/inline/?full=1";
+       einfo "Firefox: https://lastpass.com/lastpassffx/";
        einfo "Opera: https://lastpass.com/dl/";
+       einfo
+       einfo "Chrome, Chromium and Opera users need to manually enable the 
binary component."
+       einfo "For more info, visit: 
https://lastpass.com/support.php?cmd=showfaq&id=5576";
 }

Reply via email to