diff options
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | .gitlab-ci.yml | 3 | ||||
-rwxr-xr-x | 1password.install | 58 | ||||
-rw-r--r-- | CODEOWNERS | 2 | ||||
-rw-r--r-- | PKGBUILD | 47 |
5 files changed, 128 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..8ed99c2deb8b --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,18 @@ +pkgbase = 1password-beta + pkgdesc = Password manager and secure wallet + pkgver = 8.1.0_60.BETA + pkgrel = 60 + url = https://1password.com + install = 1password.install + arch = x86_64 + license = LicenseRef-1Password-Proprietary + depends = hicolor-icon-theme + options = !strip + source = https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.1.0-60.BETA.x64.tar.gz + source = https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.1.0-60.BETA.x64.tar.gz.sig + validpgpkeys = 3FEF9748469ADBE15DA7CA80AC2D62742012EA22 + sha256sums = 48559360d8c641ee3919dbb2f90bf42d2392a764777e7ed5cd720184df8bc1b1 + sha256sums = 51eea4fd59e78737f40af60e5bb476efb1c06709567d3ebbb8130474c65c504e + +pkgname = 1password-beta + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000000..431c6154f98a --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,3 @@ +include: + - project: 'dev/core/1password-archlinux-aur-ci' + file: '/ci.yml' diff --git a/1password.install b/1password.install new file mode 100755 index 000000000000..0449d8769b4b --- /dev/null +++ b/1password.install @@ -0,0 +1,58 @@ +# Do not add your user, or any others, to this group. +GROUP_NAME="onepassword" + +app_group_exists() { + if [ $(getent group "${GROUP_NAME}") ]; then + true + else + false + fi +} + +set_chromesandbox_permissions() { + # chrome-sandbox requires the setuid bit to be specifically set. + # See https://github.com/electron/electron/issues/17972 + chmod 4755 /opt/1Password/chrome-sandbox +} + +setup_browser_helper() { + # Setup the Core App Integration helper binary with the correct permissions and group + HELPER_PATH="/opt/1Password/1Password-KeyringHelper" + + chgrp "${GROUP_NAME}" $HELPER_PATH + # The binary requires setuid so it may interact with the Kernel keyring facilities + chmod u+s $HELPER_PATH + chmod g+s $HELPER_PATH +} + +pre_install() { + if app_group_exists; then + : # Do nothing + else + groupadd "${GROUP_NAME}" + fi +} + +pre_upgrade() { + if app_group_exists; then + : # Do nothing + else + groupadd "${GROUP_NAME}" + fi +} + +post_install() { + set_chromesandbox_permissions + setup_browser_helper +} + +post_upgrade() { + set_chromesandbox_permissions + setup_browser_helper +} + +post_remove() { + if app_group_exists; then + groupdel "${GROUP_NAME}" + fi +} diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000000..3d1980617ded --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,2 @@ +.gitlab-ci.yml @people/ops-team +CODEOWNERS @people/ops-team diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..169ac90a3384 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,47 @@ +pkgname=1password-beta + +_tarver=8.1.0-60.BETA +_tar="1password-${_tarver}.x64.tar.gz" +pkgver=${_tarver//-/_} +pkgrel=60 +pkgdesc="Password manager and secure wallet" +arch=('x86_64') +url='https://1password.com' +license=('LicenseRef-1Password-Proprietary') +depends=('hicolor-icon-theme') +options=(!strip) +install="1password.install" +source=(https://downloads.1password.com/linux/tar/beta/x86_64/${_tar}{,.sig}) +sha256sums=('48559360d8c641ee3919dbb2f90bf42d2392a764777e7ed5cd720184df8bc1b1' + '51eea4fd59e78737f40af60e5bb476efb1c06709567d3ebbb8130474c65c504e' +) +validpgpkeys=('3FEF9748469ADBE15DA7CA80AC2D62742012EA22') + +package() { + # Go to source directory + cd "1password-${_tarver}.x64" + + # Install icons + resolutions=(32x32 64x64 256x256 512x512) + for resolution in "${resolutions[@]}" + do + install -Dm0644 "resources/icons/hicolor/${resolution}/apps/1password.png" \ + "${pkgdir}/usr/share/icons/hicolor/${resolution}/apps/1password.png" + done + # Install desktop file + install -Dm0644 resources/1password.desktop -t "${pkgdir}"/usr/share/applications/ + # Install system unlock PolKit policy file + install -Dm0644 com.1password.1Password.policy -t "${pkgdir}"/usr/share/polkit-1/actions/ + + # Install examples + install -Dm0644 resources/custom_allowed_browsers -t "${pkgdir}"/usr/share/doc/1password/examples/ + + # Move package contents to /opt/1Password + cd "${srcdir}" + install -dm0755 "${pkgdir}"/opt + mv "1password-${_tarver}.x64" "${pkgdir}/opt/1Password" + + # Symlink /usr/bin executable to opt + install -dm0755 "${pkgdir}"/usr/bin + ln -s /opt/1Password/1password "${pkgdir}"/usr/bin/1password +} |