From a4b0256be239ecbbe83c108565baa615337d183f Mon Sep 17 00:00:00 2001 From: b-l-a-i-n-e Date: Wed, 8 Dec 2021 01:35:46 -0800 Subject: [PATCH 1/3] New package: 1password-8.4.1 --- srcpkgs/1password/INSTALL | 20 ++++++++++++++++++ srcpkgs/1password/REMOVE | 10 +++++++++ srcpkgs/1password/template | 42 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 srcpkgs/1password/INSTALL create mode 100644 srcpkgs/1password/REMOVE create mode 100644 srcpkgs/1password/template diff --git a/srcpkgs/1password/INSTALL b/srcpkgs/1password/INSTALL new file mode 100644 index 000000000000..269d27d84964 --- /dev/null +++ b/srcpkgs/1password/INSTALL @@ -0,0 +1,20 @@ +# INSTALL +case "${ACTION}" in +post) + install -Dm0644 opt/1Password/com.1password.1Password.policy -t /usr/share/polkit-1/actions/ + install -Dm0644 opt/1Password/resources/custom_allowed_browsers -t /usr/share/doc/1password/examples/ + + chmod 4755 opt/1Password/chrome-sandbox + + groupadd -f onepassword + + chown :onepassword opt/1Password/1Password-KeyringHelper + chmod u+s opt/1Password/1Password-KeyringHelper + chmod g+s opt/1Password/1Password-KeyringHelper + + chown :onepassword opt/1Password/1Password-BrowserSupport + chmod g+s opt/1Password/1Password-BrowserSupport + + ln -sf /opt/1Password/1password /usr/bin/1password + ;; +esac diff --git a/srcpkgs/1password/REMOVE b/srcpkgs/1password/REMOVE new file mode 100644 index 000000000000..f30e3442e35e --- /dev/null +++ b/srcpkgs/1password/REMOVE @@ -0,0 +1,10 @@ +# REMOVE +case "${ACTION}" in +post) + rm /usr/share/polkit-1/actions/com.1password.1Password.policy + # Remove docs + rm -rf /usr/share/doc/1password + # Cleanup symlink + rm /usr/bin/1password + ;; +esac diff --git a/srcpkgs/1password/template b/srcpkgs/1password/template new file mode 100644 index 000000000000..ad0ca10bfdfb --- /dev/null +++ b/srcpkgs/1password/template @@ -0,0 +1,42 @@ +# Template file for '1password' +pkgname=1password +version=8.4.1 +revision=1 +_filename="1password-latest.tar.gz" +_1passworddir="1password-${version}.x64" +archs="x86_64" +create_wrksrc=yes +build_style=fetch +hostmakedepends="curl w3m libcurl" +short_desc="Password manager" +maintainer="b-l-a-i-n-e " +license="custom:Proprietary" +homepage="https://www.1password.com" +distfiles="https://downloads.1password.com/linux/tar/stable/x86_64/${_filename}" +checksum=f5c2468127c363b3a3d2fa5857b6ff0979eeaf1485c1afb114b3929c1fc4a7df +_license_checksum=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +repository=nonfree +restricted=yes +nostrip=yes +noshlibprovides=yes + +post_extract() { + curl -Llhttps://1password.com/legal/terms-of-service/ | + w3m -dump -I utf-8 -T text/html | + sed -n '/Service Agreement for 1Password/,/We clarified what happens if we part ways./p' > EULA + + filesum="$(xbps-digest EULA)" + if [ "$filesum" != "$_license_checksum" ]; then + msg_error "SHA256 mismatch for EULA:\n$filesum\n" + fi +} + +do_build() { + bsdtar -xf "${_filename}" +} + +do_install() { + vmkdir opt/1Password + vcopy "${_1passworddir}/*" opt/1Password + vlicense EULA +} From 9c3af7fd957abca873ff6ad0ca0d31ce66dac266 Mon Sep 17 00:00:00 2001 From: b-l-a-i-n-e Date: Wed, 8 Dec 2021 14:10:09 -0800 Subject: [PATCH 2/3] Address PR comments - usr populated at build time instead of INSTALL - add group using system_groups - specify version instead of latest - drop build_style - also adds gpg verify --- srcpkgs/1password/INSTALL | 9 --------- srcpkgs/1password/REMOVE | 10 ---------- srcpkgs/1password/files/1password | 2 ++ srcpkgs/1password/template | 32 ++++++++++++++++++++++--------- 4 files changed, 25 insertions(+), 28 deletions(-) delete mode 100644 srcpkgs/1password/REMOVE create mode 100644 srcpkgs/1password/files/1password diff --git a/srcpkgs/1password/INSTALL b/srcpkgs/1password/INSTALL index 269d27d84964..c4ec5e9b3720 100644 --- a/srcpkgs/1password/INSTALL +++ b/srcpkgs/1password/INSTALL @@ -1,20 +1,11 @@ # INSTALL case "${ACTION}" in post) - install -Dm0644 opt/1Password/com.1password.1Password.policy -t /usr/share/polkit-1/actions/ - install -Dm0644 opt/1Password/resources/custom_allowed_browsers -t /usr/share/doc/1password/examples/ - chmod 4755 opt/1Password/chrome-sandbox - - groupadd -f onepassword - chown :onepassword opt/1Password/1Password-KeyringHelper chmod u+s opt/1Password/1Password-KeyringHelper chmod g+s opt/1Password/1Password-KeyringHelper - chown :onepassword opt/1Password/1Password-BrowserSupport chmod g+s opt/1Password/1Password-BrowserSupport - - ln -sf /opt/1Password/1password /usr/bin/1password ;; esac diff --git a/srcpkgs/1password/REMOVE b/srcpkgs/1password/REMOVE deleted file mode 100644 index f30e3442e35e..000000000000 --- a/srcpkgs/1password/REMOVE +++ /dev/null @@ -1,10 +0,0 @@ -# REMOVE -case "${ACTION}" in -post) - rm /usr/share/polkit-1/actions/com.1password.1Password.policy - # Remove docs - rm -rf /usr/share/doc/1password - # Cleanup symlink - rm /usr/bin/1password - ;; -esac diff --git a/srcpkgs/1password/files/1password b/srcpkgs/1password/files/1password new file mode 100644 index 000000000000..c1c521260437 --- /dev/null +++ b/srcpkgs/1password/files/1password @@ -0,0 +1,2 @@ +#!/bin/sh +exec /opt/1Password/1password "$@" diff --git a/srcpkgs/1password/template b/srcpkgs/1password/template index ad0ca10bfdfb..6bad3bd33a1e 100644 --- a/srcpkgs/1password/template +++ b/srcpkgs/1password/template @@ -2,41 +2,55 @@ pkgname=1password version=8.4.1 revision=1 -_filename="1password-latest.tar.gz" _1passworddir="1password-${version}.x64" +_filename="${_1passworddir}.tar.gz" archs="x86_64" create_wrksrc=yes -build_style=fetch -hostmakedepends="curl w3m libcurl" +hostmakedepends="curl w3m libcurl gnupg" +system_groups="onepassword" short_desc="Password manager" maintainer="b-l-a-i-n-e " license="custom:Proprietary" homepage="https://www.1password.com" distfiles="https://downloads.1password.com/linux/tar/stable/x86_64/${_filename}" checksum=f5c2468127c363b3a3d2fa5857b6ff0979eeaf1485c1afb114b3929c1fc4a7df -_license_checksum=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +_license_checksum=b8f6ff9297488416f3d8063a151109ed5e8a2df6fa546856a4beaa715cbc0fda +_gpg_key=3FEF9748469ADBE15DA7CA80AC2D62742012EA22 repository=nonfree restricted=yes nostrip=yes noshlibprovides=yes -post_extract() { - curl -Llhttps://1password.com/legal/terms-of-service/ | +post_fetch() { + # verify gpg key + curl -L "${distfiles}.sig" > "${_filename}.sig" + if ! gpg --recv-keys "${_gpg_key}"; then + msg_error "Incorrect gpg key: ${_gpg_key}\n" + fi + if ! gpg --verify "${_filename}.sig" "${_filename}"; then + msg_error "gpg verify failed\n" + fi + + # verify EULA + curl -L https://1password.com/legal/terms-of-service/ | w3m -dump -I utf-8 -T text/html | sed -n '/Service Agreement for 1Password/,/We clarified what happens if we part ways./p' > EULA - filesum="$(xbps-digest EULA)" if [ "$filesum" != "$_license_checksum" ]; then msg_error "SHA256 mismatch for EULA:\n$filesum\n" fi } -do_build() { - bsdtar -xf "${_filename}" +post_extract() { + # copy the verified EULA + cp "${XBPS_SRCDISTDIR}/${pkgname}-${version}/EULA" "${wrksrc}" } do_install() { vmkdir opt/1Password vcopy "${_1passworddir}/*" opt/1Password + vinstall "${_1passworddir}/com.1password.1Password.policy" 644 usr/share/polkit-1/actions/ + vinstall "${_1passworddir}/resources/custom_allowed_browsers" 644 usr/share/doc/1password/examples/ + vbin "${FILESDIR}/1password" vlicense EULA } From da635eef9ade31122ebc50dedf7be48e163c57eb Mon Sep 17 00:00:00 2001 From: b-l-a-i-n-e Date: Wed, 8 Dec 2021 14:18:39 -0800 Subject: [PATCH 3/3] Fix lint error --- srcpkgs/1password/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/1password/template b/srcpkgs/1password/template index 6bad3bd33a1e..2a3ea9570958 100644 --- a/srcpkgs/1password/template +++ b/srcpkgs/1password/template @@ -7,13 +7,13 @@ _filename="${_1passworddir}.tar.gz" archs="x86_64" create_wrksrc=yes hostmakedepends="curl w3m libcurl gnupg" -system_groups="onepassword" short_desc="Password manager" maintainer="b-l-a-i-n-e " license="custom:Proprietary" homepage="https://www.1password.com" distfiles="https://downloads.1password.com/linux/tar/stable/x86_64/${_filename}" checksum=f5c2468127c363b3a3d2fa5857b6ff0979eeaf1485c1afb114b3929c1fc4a7df +system_groups="onepassword" _license_checksum=b8f6ff9297488416f3d8063a151109ed5e8a2df6fa546856a4beaa715cbc0fda _gpg_key=3FEF9748469ADBE15DA7CA80AC2D62742012EA22 repository=nonfree