From cda99633a9afa2e5866daeefbfd3276cc3c931b5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=B6kt=C3=BCrk=20Y=C3=BCksek?= Date: Mon, 4 Apr 2016 03:24:00 -0400 Subject: [PATCH] app-admin/lastpass-binary-component: new package #571280 This is a split off from app-admin/lastpass and only installs the binary component required by the browser extension, as opposed to installing the extension too. Beginning with lastpass-4, the upstream only installs the binary component. Also, add this package as a blocker for app-admin/lastpass. These two packages cannot be installed at the same time as that would introduce file collisions. Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=571280 Package-Manager: portage-2.2.26 (cherry picked from commit 6c8d1cd984fe45857ff9fac95ace41fddb1532b0) Signed-off-by: Robin H. Johnson --- app-admin/lastpass-binary-component/Manifest | 1 + .../lastpass-binary-component-4.1.2.ebuild | 74 +++++++++++++++++++ .../lastpass-binary-component/metadata.xml | 20 +++++ app-admin/lastpass/lastpass-3.2.16.ebuild | 3 +- 4 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 app-admin/lastpass-binary-component/Manifest create mode 100644 app-admin/lastpass-binary-component/lastpass-binary-component-4.1.2.ebuild create mode 100644 app-admin/lastpass-binary-component/metadata.xml diff --git a/app-admin/lastpass-binary-component/Manifest b/app-admin/lastpass-binary-component/Manifest new file mode 100644 index 000000000000..a76d7fc76747 --- /dev/null +++ b/app-admin/lastpass-binary-component/Manifest @@ -0,0 +1 @@ +DIST lastpass-binary-component-4.1.2.tar.bz2 1623477 SHA256 adb0e91f8d212d34dbb85db0b11738fe36db1a741ad5674d7070c4019a9fc75e SHA512 6fd518fa19f7206a1007376460c61e5a5c8d868126a767b3978309f0cc7ccd069e743cb12364e6841d8d3cb29452d058122b95f42bcfd2bd4deb4b8c77dc5f75 WHIRLPOOL c50bde0ee3f82abe56803beb2bda09786f7806b5e480eb8401fe0302ee984465f2682af66243095f3ea83744d59d6d3548806c423b69a8603abed9fc3ba3d00c diff --git a/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.2.ebuild b/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.2.ebuild new file mode 100644 index 000000000000..31e9ef42ebe4 --- /dev/null +++ b/app-admin/lastpass-binary-component/lastpass-binary-component-4.1.2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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/metadata.xml b/app-admin/lastpass-binary-component/metadata.xml new file mode 100644 index 000000000000..221747f3c3a5 --- /dev/null +++ b/app-admin/lastpass-binary-component/metadata.xml @@ -0,0 +1,20 @@ + + + + + gokturk@binghamton.edu + Göktürk Yüksek + + + robbat2@gentoo.org + Robin H. Johnson + + + The binary features for Lastpass include faster encryption/decryption, + clipboard integration, smart card authentication and more for + www-client/google-chrome, www-client/chromium, + and www-client/opera web browsers. For + www-client/firefox this package is not required as the + extension bundles the binary components already. + + diff --git a/app-admin/lastpass/lastpass-3.2.16.ebuild b/app-admin/lastpass/lastpass-3.2.16.ebuild index 98e32455a92c..aa3028777e19 100644 --- a/app-admin/lastpass/lastpass-3.2.16.ebuild +++ b/app-admin/lastpass/lastpass-3.2.16.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -24,6 +24,7 @@ RESTRICT="strip mirror" # We can't mirror it, but we can fetch it DEPEND="app-arch/unzip" RDEPEND=" + !!app-admin/lastpass-binary-component chrome? ( || ( www-client/google-chrome www-client/google-chrome-beta -- 2.26.2