The app, the tray and the search prompt route every user-visible string through GNU gettext in the `pdfs` text domain, with named placeholders and plural forms. po/ holds the template, update and build scripts, and catalogs for de, en_GB, es, fr, it, nl, pl and pt_BR. Preferences gains a Language row that overrides the system language from the next start (config `language`). Packages compile the catalogs into /usr/share/locale and the desktop files carry translated descriptions and keywords. docs/TRANSLATING.md describes the workflow.
AUR packages
Source of truth for the three AUR packages of this project. Each subdirectory is
the full content of one AUR git repository (pkgbase = directory name):
| Directory | What it does | AUR repository |
|---|---|---|
proton-drive-for-linux |
Builds the latest tagged release from source | ssh://aur@aur.archlinux.org/proton-drive-for-linux.git |
proton-drive-for-linux-git |
Builds main from git |
ssh://aur@aur.archlinux.org/proton-drive-for-linux-git.git |
proton-drive-for-linux-bin |
Installs the binaries from the GitHub release | ssh://aur@aur.archlinux.org/proton-drive-for-linux-bin.git |
The three packages conflict with each other and with the in-tree
packaging/PKGBUILD package (proton-drive-linux), and every one of them
provides proton-drive-for-linux, proton-drive-linux, and pdfs.
Each directory tracks only PKGBUILD, .SRCINFO, .gitignore, and LICENSE
(the 0BSD license of the packaging sources, per
RFC40); the
.gitignore ignores everything else so downloaded sources, src/, pkg/, and
built packages never reach the AUR.
Releasing a new version
- Tag and publish the upstream release, so the source tarball and the
proton-drive-linux-<version>-x86_64.tar.gzrelease asset exist. - Run
./update.sh <version>— it rewritespkgver, resetspkgrel=1, refreshes the checksums of the release-based packages, and regenerates every.SRCINFO. - Build and inspect the packages in a clean chroot:
cd proton-drive-for-linux && pkgctl build --clean(needsdevtools). - Commit here, then publish with
./push.sh(or./push.sh proton-drive-for-linux-binfor a single package).
proton-drive-for-linux-git carries a pkgver() function, so its pkgver is
computed at build time; do not push a commit that only bumps it.
Requirements for pushing
An SSH key registered with the AUR account and an entry in ~/.ssh/config:
Host aur.archlinux.org
IdentityFile ~/.ssh/aur
User aur
push.sh creates a scratch clone of the AUR repository, copies the tracked
files over it, commits, and pushes to master.