openchronology-server
LOW
maintainer athanclark
0 votes
scanned 2026-11-06 06:11:22.019786
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>
7
pkgname=openchronology-server
8
pkgver=0.22.0
9
pkgrel=1
10
pkgdesc='Exact timelines, shared on your terms: the OpenChronology platform server'
11
arch=('x86_64')
12
url='https://github.com/openchronology/timeline-app'
13
license=('GPL-3.0-only')
14
depends=('nodejs>=24' 'postgresql' 'gmp' 'sqlite' 'util-linux' 'ca-certificates')
15
makedepends=('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.
18
options=('!strip' '!debug' '!lto')
19
install=openchronology-server.install
20
# The exact-rational type for PostgreSQL, pinned as the other packages pin it.
21
_pgmp=1849585416f2bc3d070bf8cef6a659907687ec7f
22
source=("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')
38
noextract=("openchronology-server-platform-$pkgver.tar.gz")
39
sha256sums=('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
56
prepare() {
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
62
build() {
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
74
package() {
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) | Severity | Rules |
|---|---|---|
| 2026-11-06 06:11:22 | Low | 1 |
| 2026-11-06 00:21:40 | Clean | 2 |
| 2026-11-06 00:11:05 | Low | 1 |