From b0fdfbee88ccedbcbd60305419104edc6183c65b Mon Sep 17 00:00:00 2001 From: Göktürk Yüksek Date: Sun, 10 Dec 2017 19:52:35 -0500 Subject: 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 +- .../lastpass-binary-component-4.1.44.ebuild | 73 ------------- ...stpass-binary-component-4.1.44_p20171210.ebuild | 118 +++++++++++++++++++++ 3 files changed, 119 insertions(+), 74 deletions(-) delete mode 100644 app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44.ebuild create mode 100644 app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44_p20171210.ebuild (limited to 'app-admin/lastpass-binary-component') diff --git a/app-admin/lastpass-binary-component/Manifest b/app-admin/lastpass-binary-component/Manifest index 1cbcb8e814dc..3f6f4cab04a4 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.ebuild deleted file mode 100644 index c46f9987de0a..000000000000 --- a/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Binary component required by the LastPass Password Manager browser extension" -HOMEPAGE="https://helpdesk.lastpass.com/downloading-and-installing/#h5" -# sadly, upstream has no versioned distfiles -SRC_URI="https://lastpass.com/lplinux.tar.bz2 -> ${P}.tar.bz2" - -LICENSE="LastPass" -SLOT="0" -KEYWORDS="-* ~x86 ~amd64" -RESTRICT="strip mirror" # We can't mirror it, but we can fetch it - -RDEPEND=" - !!app-admin/lastpass -" - -LASTPASS_EXEDIR=/opt/lastpass/ - -QA_PREBUILT=" - ${LASTPASS_EXEDIR}nplastpass* -" - -S="${WORKDIR}/lplinux" - -src_install() { - # This is based on the upstream installer script that's in the tarball - bin=nplastpass - use amd64 && bin="${bin}64" - exeinto ${LASTPASS_EXEDIR} - doexe "${S}"/${bin} - - cat >"${T}"/lastpass_policy.json <<-EOF || die - { - "ExtensionInstallSources": [ - "https://lastpass.com/*", - "https://*.lastpass.com/*", - "https://d1jxck0p3rkj0.cloudfront.net/lastpass/*" - ] - } - EOF - 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://hnjalnkldgigidggphhmacmimbdlafdo/", - "chrome-extension://hgnkdfamjgnljokmokheijphenjjhkjc/" - ] - } - EOF - - 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 - -} - -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 "Opera: https://lastpass.com/dl/" -} diff --git a/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44_p20171210.ebuild b/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44_p20171210.ebuild new file mode 100644 index 000000000000..beff308bc57f --- /dev/null +++ b/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.44_p20171210.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="Binary component required by the LastPass Password Manager browser extension" +HOMEPAGE="https://helpdesk.lastpass.com/downloading-and-installing/#h5" +# sadly, upstream has no versioned distfiles +SRC_URI="https://lastpass.com/lplinux.tar.bz2 -> ${P}.tar.bz2" + +LICENSE="LastPass" +SLOT="0" +KEYWORDS="-* ~x86 ~amd64" +RESTRICT="strip mirror" # We can't mirror it, but we can fetch it + +RDEPEND=" + !!app-admin/lastpass +" + +LASTPASS_EXEDIR=/opt/lastpass/ + +QA_PREBUILT=" + ${LASTPASS_EXEDIR}nplastpass* +" + +S="${WORKDIR}" + +src_install() { + # This is based on the upstream installer script that's in the tarball + bin=nplastpass + use amd64 && bin="${bin}64" + exeinto ${LASTPASS_EXEDIR} + doexe "${S}"/${bin} + + # Generate the policy file for Chrome/Chromium/Opera + cat >"${T}"/lastpass_policy.json <<-EOF || die + { + "ExtensionInstallSources": [ + "https://lastpass.com/*", + "https://*.lastpass.com/*", + "https://d1jxck0p3rkj0.cloudfront.net/lastpass/*" + ] + } + 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", + "description": "LastPass", + "path": "${LASTPASS_EXEDIR}${bin}", + "type": "stdio", + "allowed_origins": [ + "chrome-extension://hdokiejnpimakedhajhdlcegeplioahd/", + "chrome-extension://debgaelkhoipmbjnhpoblmbacnmmgbeg/", + "chrome-extension://hnjalnkldgigidggphhmacmimbdlafdo/", + "chrome-extension://hgnkdfamjgnljokmokheijphenjjhkjc/" + ] + } + 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 + + # 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": [ + "support@lastpass.com" + ] + } + 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" +} -- cgit v1.2.3-65-gdbad