openchronology-server

LOW
maintainer athanclark 0 votes scanned 2026-11-06 06:11:22.019786
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Copyright (c) 2026 Athan Clark. SPDX-License-Identifier: GPL-3.0-only
2# The OpenChronology server for Arch Linux (#331), published to the AUR by releases
3# (scripts/aur-packages.mjs renders this template). It builds och-convert and pgmp from the
4# release's platform archive, and lays the server out as the Debian package does, running on
5# Arch's Node.js and PostgreSQL.
6# Maintainer: Athan Clark <athan.clark@gmail.com>
7pkgname=openchronology-server
8pkgver=0.22.0
9pkgrel=1
10pkgdesc='Exact timelines, shared on your terms: the OpenChronology platform server'
11arch=('x86_64')
12url='https://github.com/openchronology/timeline-app'
13license=('GPL-3.0-only')
14depends=('nodejs>=24' 'postgresql' 'gmp' 'sqlite' 'util-linux' 'ca-certificates')
15makedepends=('cargo' 'cmake' 'pkgconf' 'python')
16# The platform's Node.js modules are built already; stripping or debug packages would only
17# touch och-convert and pgmp, which are small.
18options=('!strip' '!debug' '!lto')
19install=openchronology-server.install
20# The exact-rational type for PostgreSQL, pinned as the other packages pin it.
21_pgmp=1849585416f2bc3d070bf8cef6a659907687ec7f
22source=("openchronology-server-platform-$pkgver.tar.gz::https://github.com/openchronology/timeline-app/releases/download/v0.22.0/openchronology-server-platform.tar.gz"
23 "pgmp-$_pgmp.tar.gz::https://codeload.github.com/dvarrazzo/pgmp/tar.gz/$_pgmp"
24 'openchronology.service'
25 'openchronology-mail.service'
26 'openchronology-syslog.service'
27 'openchronology-journald.service'
28 'openchronology.env'
29 'syslog.env'
30 'journald.env'
31 'openchronology-migrate'
32 'openchronology-reset-admin-password'
33 'och-import-logs'
34 'openchronology-setup'
35 'openchronology-server.sysusers'
36 'openchronology-server.tmpfiles'
37 'README.Arch')
38noextract=("openchronology-server-platform-$pkgver.tar.gz")
39sha256sums=('b09e6fc3257c08e8e4fa0a6d2cf3fd87a3be89c76bb8611f1a07e97d365d894a'
40 'cf7d04d364cadde4304e4130fd314525a637037c4f20f1406a3aa27d47a1302f'
41 '7d794e7517f2686e0d714f01a4bba4fcb9abc59b6f68d70882e53f28bf5daea8'
42 '9bc5061f00c3049011e2124147b81eb02e50945a5b17f40430cfe91de662796c'
43 '0efe9d4fb85fa3eda01e4e0d569dcc6fe690f3841e0cd13996d56d065e32e255'
44 'e9757422cf67c2de9024ff749a8933683387e34a1b24d69c1681625e00f4b3f3'
45 'efa1e54f1aefd61e321dd20c703108097d8eb55a839e9aea83ca8a6a45dbdec4'
46 '283a6135fd3fe8c99e11abce054d44cbfb1bcb0cd08d36dac92bbead9bbf6f6b'
47 '624f78e4dae97437a173ea1bb3d62d1f4a9af3c62ce9b31ae55bdab52d05205a'
48 '197c993801448b311ba5d951c2c3b5a7c3a6bca2aefc8971ede0998efc68aca4'
49 'd98214c2530b3de542750b6974d445574a83c178fe313511aecdde6df94f4514'
50 '35cdb1780d80d6ca1f896afc969cb696c575e6986a8f8476320059c70093e73b'
51 '452bdb85fcbbd7a2a838dcdf41d0ecb81a428d0458d07359a6d509a60b7cb91a'
52 '0f58d2c4d54ba5107df36d82e6b3800744a57f9d2d4347aaea7cd6ce9323a7f6'
53 'c0b84b8772412a87a367e7d1350cb82e9f1696eb20c6c9d5131c4a0159683ffe'
54 '9a003fc29e2832868e6315f62070aba28f88e759eba1a5246541825dc609ff5d')
55
56prepare() {
57 # The archive has no top folder: into its own.
58 mkdir -p platform
59 bsdtar -xf "openchronology-server-platform-$pkgver.tar.gz" -C platform
60}
61
62build() {
63 # The SQLite converter, from the crates vendored in the platform archive.
64 cd "$srcdir/platform/native"
65 cargo build --manifest-path native-store/Cargo.toml --release --locked --offline \
66 --bin och-convert
67 # pgmp, for this system's PostgreSQL.
68 cd "$srcdir/pgmp-$_pgmp"
69 python tools/unmix.py < sql/pgmp.pysql > sql/pgmp--1.1.sql
70 python tools/sql2extension.py --extname pgmp sql/pgmp--1.1.sql > sql/pgmp--unpackaged--1.1.sql
71 make with_llvm=no
72}
73
74package() {
75 local app="$pkgdir/usr/lib/openchronology" doc="$pkgdir/usr/share/doc/openchronology-server"
76 # The platform (Next.js and the editor), laid out as the other packages lay it out, with
77 # this system's Node.js where theirs bundle it.
78 install -d "$app"
79 cp -a "$srcdir/platform/lib/openchronology/." "$app/"
80 install -Dm755 "$srcdir/platform/native/native-store/target/release/och-convert" \
81 "$app/bin/och-convert"
82 install -d "$app/node/bin"
83 ln -s /usr/bin/node "$app/node/bin/node"
84
85 make -C "$srcdir/pgmp-$_pgmp" with_llvm=no DESTDIR="$pkgdir" install
86 install -Dm644 "$srcdir/pgmp-$_pgmp/COPYING" "$doc/pgmp/COPYING"
87
88 # The Debian package's services, configuration templates and commands.
89 local unit
90 for unit in openchronology openchronology-mail openchronology-syslog openchronology-journald; do
91 sed 's|README.Debian|README.Arch|' "$srcdir/$unit.service" > "$srcdir/$unit.arch.service"
92 install -Dm644 "$srcdir/$unit.arch.service" "$pkgdir/usr/lib/systemd/system/$unit.service"
93 done
94 install -Dm644 "$srcdir/openchronology.env" "$pkgdir/usr/share/openchronology/openchronology.env.example"
95 install -Dm644 "$srcdir/syslog.env" "$pkgdir/usr/share/openchronology/syslog.env.example"
96 install -Dm644 "$srcdir/journald.env" "$pkgdir/usr/share/openchronology/journald.env.example"
97 install -Dm755 "$srcdir/openchronology-setup" "$pkgdir/usr/bin/openchronology-setup"
98 install -Dm755 "$srcdir/openchronology-migrate" "$pkgdir/usr/bin/openchronology-migrate"
99 install -Dm755 "$srcdir/openchronology-reset-admin-password" \
100 "$pkgdir/usr/bin/openchronology-reset-admin-password"
101 install -Dm755 "$srcdir/och-import-logs" "$pkgdir/usr/bin/och-import-logs"
102 install -Dm644 "$srcdir/openchronology-server.sysusers" "$pkgdir/usr/lib/sysusers.d/openchronology-server.conf"
103 install -Dm644 "$srcdir/openchronology-server.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/openchronology-server.conf"
104
105 # The documentation, the project's README over docs/README.md.
106 install -d "$doc"
107 cp -a "$srcdir/platform/doc/." "$doc/"
108 install -Dm644 "$srcdir/README.Arch" "$doc/README.Arch"
109 install -Dm644 "$srcdir/platform/doc/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
110}
111

Scan history

Scanned at (UTC)SeverityRules
2026-11-06 06:11:22 Low 1
2026-11-06 00:21:40 Clean 2
2026-11-06 00:11:05 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion