Create shared / fast track for certain packages

This commit is contained in:
Ryan Hughes
2026-01-10 20:18:35 -05:00
parent 1dfa83863d
commit 45a356eb70
253 changed files with 566 additions and 458 deletions
-22
View File
@@ -1,22 +0,0 @@
pkgbase = 1password-beta
pkgdesc = Password manager and secure wallet
pkgver = 8.11.22_26.BETA
pkgrel = 26
url = https://1password.com
install = 1password.install
arch = x86_64
license = LicenseRef-1Password-Proprietary
conflicts = 1password
conflicts = 1password-beta-bin
options = !strip
source = https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.11.22-26.BETA.x64.tar.gz
source = https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.11.22-26.BETA.x64.tar.gz.sig
validpgpkeys = 3FEF9748469ADBE15DA7CA80AC2D62742012EA22
sha256sums = 964432a41aabd555fffbccb3e4f85450b286f59a6e5e3792fd934b2f543375cb
sha256sums = f236c79bb3b5ea8498df7a80a80b07ad9691ca0d30e8d956b734d39ba9845dac
pkgname = 1password-beta
depends = hicolor-icon-theme
depends = libgtk-3.so=0
depends = nss
depends = xdg-utils
-3
View File
@@ -1,3 +0,0 @@
include:
- project: 'dev/core/1password-archlinux-aur-ci'
file: '/ci.yml'
@@ -1,48 +0,0 @@
# 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
}
setup_browser_helper() {
# Setup the Core App Integration helper binary with the correct permissions and group
BROWSER_SUPPORT_PATH="/opt/1Password/1Password-BrowserSupport"
chgrp "${GROUP_NAME}" $BROWSER_SUPPORT_PATH
chmod g+s $BROWSER_SUPPORT_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() {
setup_browser_helper
}
post_upgrade() {
setup_browser_helper
}
post_remove() {
if app_group_exists; then
groupdel "${GROUP_NAME}"
fi
}
-2
View File
@@ -1,2 +0,0 @@
.gitlab-ci.yml @people/ops-team
CODEOWNERS @people/ops-team
-98
View File
@@ -1,98 +0,0 @@
# 1Password Beta aarch64 Support - Patch Summary
## Changes Made
Updated the 1Password Beta PKGBUILD to support both x86_64 and aarch64 architectures.
### Key Modifications
1. **Architecture Support**: Added `'aarch64'` to the `arch` array
2. **Dynamic Source URLs**: Removed hardcoded `.x64` filename, made it architecture-dependent
3. **Architecture-specific Variables**:
- `_tar`: Tarball filename (`.x64.tar.gz` or `.arm64.tar.gz`)
- `_archdir`: Directory name inside tarball (`x64` or `arm64`)
4. **Split Checksums**: Changed from single `sha256sums` to arch-specific arrays
5. **Updated Directory References**: Changed hardcoded `.x64` to `${_archdir}` variable
### Patch Location
- **File**: `patches/add-aarch64-support.patch`
- **Documentation**: `patches/README.md`
### Checksums Verified
Downloaded and verified SHA256 checksums for aarch64 files:
- **Tarball**: `661a45bb57f8b6e184d7b7603221cf938774aec674a357672d6cc1d4387fab40`
- **Signature**: `5cec37c65607760df4cc1734a51154b70ff660b5147160323905178aee23b7e2`
## Testing
### ✅ Build Results
**Successfully built for aarch64!**
```
Package: 1password-beta-8.11.16_30.BETA-30-aarch64.pkg.tar.xz
Size: 139MB
Location: build-output/aarch64/
Built: 2025-10-27
```
The package was successfully:
- Downloaded from 1Password's aarch64 repository
- Verified with SHA256 checksums
- GPG signature verified
- Extracted and packaged for aarch64
### Syntax Validation
```bash
# Test x86_64 configuration
CARCH=x86_64 source PKGBUILD && echo "Source: ${source_x86_64[0]}"
# Test aarch64 configuration
CARCH=aarch64 source PKGBUILD && echo "Source: ${source_aarch64[0]}"
```
### Expected Behavior
**x86_64**:
- Downloads from: `https://downloads.1password.com/linux/tar/beta/x86_64/`
- Tarball: `1password-8.11.16-30.BETA.x64.tar.gz`
- Extracts to: `1password-8.11.16-30.BETA.x64/`
**aarch64**:
- Downloads from: `https://downloads.1password.com/linux/tar/beta/aarch64/`
- Tarball: `1password-8.11.16-30.BETA.arm64.tar.gz`
- Extracts to: `1password-8.11.16-30.BETA.arm64/`
## Building
```bash
# Build for x86_64
bin/repo build --arch x86_64 --package 1password-beta
# Build for aarch64
bin/repo build --arch aarch64 --package 1password-beta
```
## Patch Stats
- **Lines changed**: 19
- **Lines added**: 29
- **Lines removed**: 10
- **Net change**: +19 lines
## Upstream Source
1Password officially supports ARM64 Linux:
- Stable: https://downloads.1password.com/linux/tar/stable/aarch64/
- Beta: https://downloads.1password.com/linux/tar/beta/aarch64/
## Notes
- GPG signature verification works for both architectures
- Same signing key is used: `3FEF9748469ADBE15DA7CA80AC2D62742012EA22`
- Package structure is identical between architectures
- This patch can be auto-applied by `bin/sync-aur` if placed in `patches/` directory
-66
View File
@@ -1,66 +0,0 @@
pkgname=1password-beta
_tarver=8.11.22-26.BETA
_tar="1password-${_tarver}.x64.tar.gz"
pkgver=${_tarver//-/_}
pkgrel=26
conflicts=('1password' '1password-beta-bin')
pkgdesc="Password manager and secure wallet"
arch=('x86_64')
url='https://1password.com'
license=('LicenseRef-1Password-Proprietary')
options=(!strip)
install="1password.install"
source=(https://downloads.1password.com/linux/tar/beta/${CARCH}/${_tar}{,.sig})
sha256sums=('964432a41aabd555fffbccb3e4f85450b286f59a6e5e3792fd934b2f543375cb'
'f236c79bb3b5ea8498df7a80a80b07ad9691ca0d30e8d956b734d39ba9845dac'
)
validpgpkeys=('3FEF9748469ADBE15DA7CA80AC2D62742012EA22')
package() {
depends=('hicolor-icon-theme' 'libgtk-3.so=0' 'nss' 'xdg-utils')
# 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/
# Fill in policy kit file with a list of (the first 10) human users of the system.
export POLICY_OWNERS
POLICY_OWNERS="$(cut -d: -f1,3 /etc/passwd | grep -E ':[0-9]{4}$' | cut -d: -f1 | head -n 10 | sed 's/^/unix-user:/' | tr '\n' ' ')"
eval "cat <<EOF
$(cat ./com.1password.1Password.policy.tpl)
EOF" > ./com.1password.1Password.policy
# 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"
# Cleanup un-needed files
rm "${pkgdir}"/opt/1Password/com.1password.1Password.policy "${pkgdir}"/opt/1Password/com.1password.1Password.policy.tpl "${pkgdir}"/opt/1Password/install_biometrics_policy.sh
rm -r "${pkgdir}"/opt/1Password/resources/icons/
rm "${pkgdir}"/opt/1Password/resources/1password.desktop "${pkgdir}"/opt/1Password/resources/custom_allowed_browsers
# Symlink /usr/bin executable to opt
install -dm0755 "${pkgdir}"/usr/bin
ln -s /opt/1Password/1password "${pkgdir}"/usr/bin/1password
# chrome-sandbox requires the setuid bit to be specifically set.
# See https://github.com/electron/electron/issues/17972
chmod 4755 "${pkgdir}"/opt/1Password/chrome-sandbox
}
-2
View File
@@ -1,2 +0,0 @@
SSH_PRIVATE_KEY_B64 = "op://cgl-build-release-archlinux-aur-prod/AUR_SSH_PRIVATE_KEY_B64/credential"
SSH_PASSPHRASE_B64 = "op://cgl-build-release-archlinux-aur-prod/AUR_SSH_PASSPHRASE_B64/credential"
@@ -1,76 +0,0 @@
# 1Password Beta - aarch64 Support Patch
## Overview
This patch adds aarch64 (ARM64) architecture support to the 1Password Beta PKGBUILD.
## Background
1Password officially provides ARM64 builds for Linux:
- https://downloads.1password.com/linux/tar/beta/aarch64/
- https://downloads.1password.com/linux/tar/stable/aarch64/
The original PKGBUILD only supported x86_64, but the source URLs use `${CARCH}` which should work for both architectures.
## Changes Made
1. **Added aarch64 to arch array**: `arch=('x86_64' 'aarch64')`
2. **Architecture-specific variables**:
- x86_64: Uses `.x64.tar.gz` files and `x64` directory
- aarch64: Uses `.arm64.tar.gz` files and `arm64` directory
3. **Architecture-specific checksums**:
- `sha256sums_x86_64=()` - Kept original checksums
- `sha256sums_aarch64=()` - Downloaded and verified real checksums
4. **Dynamic directory names**: Changed hardcoded `.x64` to `${_archdir}`
## Testing
To test on aarch64:
```bash
# Build for aarch64
bin/repo build --arch aarch64 --package 1password-beta
# The package should download from:
# https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.11.16-30.BETA.arm64.tar.gz
```
## Applying the Patch
If syncing from AUR in the future, apply this patch:
```bash
cd pkgbuilds/1password-beta
patch -p0 < patches/add-aarch64-support.patch
```
Or if the patch is in the patches/ directory, it will be auto-applied by the sync script.
## Checksums
The aarch64 checksums were obtained by downloading directly from 1Password:
```bash
# Tarball
curl -sSL https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.11.16-30.BETA.arm64.tar.gz | sha256sum
# 661a45bb57f8b6e184d7b7603221cf938774aec674a357672d6cc1d4387fab40
# Signature
curl -sSL https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.11.16-30.BETA.arm64.tar.gz.sig | sha256sum
# 5cec37c65607760df4cc1734a51154b70ff660b5147160323905178aee23b7e2
```
## TODO
- [ ] Test installation on actual aarch64 hardware (Asahi Linux)
- [ ] Consider upstreaming to AUR (if maintainer is interested)
- [ ] Update checksums when 1Password beta version changes
## Notes
- The 1Password desktop app is proprietary and distributed as binary
- GPG signature verification works for both architectures using the same key
- The package structure is identical between x86_64 and aarch64 versions
@@ -1,56 +0,0 @@
--- PKGBUILD.orig 2025-10-27 16:49:24.211786922 -0400
+++ PKGBUILD 2025-10-27 16:53:01.902479709 -0400
@@ -1,27 +1,37 @@
pkgname=1password-beta
_tarver=8.11.16-30.BETA
-_tar="1password-${_tarver}.x64.tar.gz"
pkgver=${_tarver//-/_}
pkgrel=30
conflicts=('1password' '1password-beta-bin')
pkgdesc="Password manager and secure wallet"
-arch=('x86_64')
+arch=('x86_64' 'aarch64')
url='https://1password.com'
license=('LicenseRef-1Password-Proprietary')
options=(!strip)
install="1password.install"
-source=(https://downloads.1password.com/linux/tar/beta/${CARCH}/${_tar}{,.sig})
-sha256sums=('21f127aa3b879ec353df20e0b0eec1572f17d44e529ac19870a21586670bc0d1'
- 'c04d8bf6b7059eec4279436199324547689a7cc4453e6c57a5637384d6210ba6'
-)
+
+# Architecture-specific variables
+if [ "$CARCH" = "x86_64" ]; then
+ _archdir="x64"
+elif [ "$CARCH" = "aarch64" ]; then
+ _archdir="arm64"
+fi
+
+source_x86_64=(https://downloads.1password.com/linux/tar/beta/x86_64/1password-${_tarver}.x64.tar.gz{,.sig})
+source_aarch64=(https://downloads.1password.com/linux/tar/beta/aarch64/1password-${_tarver}.arm64.tar.gz{,.sig})
+
+sha256sums_x86_64=('21f127aa3b879ec353df20e0b0eec1572f17d44e529ac19870a21586670bc0d1'
+ 'c04d8bf6b7059eec4279436199324547689a7cc4453e6c57a5637384d6210ba6')
+sha256sums_aarch64=('661a45bb57f8b6e184d7b7603221cf938774aec674a357672d6cc1d4387fab40'
+ '5cec37c65607760df4cc1734a51154b70ff660b5147160323905178aee23b7e2')
validpgpkeys=('3FEF9748469ADBE15DA7CA80AC2D62742012EA22')
package() {
depends=('hicolor-icon-theme' 'libgtk-3.so=0' 'nss' 'xdg-utils')
# Go to source directory
- cd "1password-${_tarver}.x64"
+ cd "1password-${_tarver}.${_archdir}"
# Install icons
resolutions=(32x32 64x64 256x256 512x512)
@@ -49,7 +59,7 @@
# Move package contents to /opt/1Password
cd "${srcdir}"
install -dm0755 "${pkgdir}"/opt
- mv "1password-${_tarver}.x64" "${pkgdir}/opt/1Password"
+ mv "1password-${_tarver}.${_archdir}" "${pkgdir}/opt/1Password"
# Cleanup un-needed files
rm "${pkgdir}"/opt/1Password/com.1password.1Password.policy "${pkgdir}"/opt/1Password/com.1password.1Password.policy.tpl "${pkgdir}"/opt/1Password/install_biometrics_policy.sh