247 lines
7.3 KiB
JSON
247 lines
7.3 KiB
JSON
{
|
|
"module": "betterbird",
|
|
"version": "1",
|
|
"upgrade": {
|
|
"policy": "record",
|
|
"why": "a new build may remove the community package betterbird-bin and replaces the installation in /opt/betterbird, which a running Betterbird has open: the switch on each node and every upgrade wait for the operator, who quits Betterbird first and then pushes (novox/hq ADR 0316 §4, §5)"
|
|
},
|
|
"requires": [
|
|
"x11-display"
|
|
],
|
|
"invokes": [
|
|
"seat:mesh-controller.settings",
|
|
"seat:mesh-controller.nodes",
|
|
"seat:mesh-controller.node",
|
|
"betterbird.betterbird_derive"
|
|
],
|
|
"tools": [
|
|
"betterbird_status",
|
|
"betterbird_prefs",
|
|
"betterbird_config",
|
|
"betterbird_config_apply",
|
|
"betterbird_user_js",
|
|
"betterbird_log",
|
|
"betterbird_restart",
|
|
"betterbird_check",
|
|
"betterbird_accounts",
|
|
"betterbird_identities",
|
|
"betterbird_calendars",
|
|
"betterbird_address_books",
|
|
"betterbird_filters",
|
|
"betterbird_tags",
|
|
"betterbird_derive",
|
|
"betterbird_drift",
|
|
"betterbird_reminder_test"
|
|
],
|
|
"config": {
|
|
"prefs": {
|
|
"type": "object",
|
|
"description": "Betterbird's preferences the operator sets, by their own names (mailnews.*, calendar.* and the like), laid into prefs.json; an account's, a server's and a tag's are refused, as accounts, the four kinds and tags own them (novox/hq ADR 0329 §6).",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"accounts": {
|
|
"type": "object",
|
|
"description": "The mail accounts Betterbird is set up with, each by a name of the operator's: its address, its sender's name and its incoming and outgoing servers; no password, token or cookie (novox/hq ADR 0329 §2).",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"identities": {
|
|
"type": "object",
|
|
"description": "The identities beside an account's own, each by a name of the operator's: the address and name it sends as, its signature as a list of lines, and the profile's key to adopt on a node.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"calendars": {
|
|
"type": "object",
|
|
"description": "The calendars Betterbird shows, each by a name of the operator's: where it is and how it is reached, and the profile's key to adopt on a node.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"address-books": {
|
|
"type": "object",
|
|
"description": "The address books Betterbird uses, each by a name of the operator's: where it is and how it is reached, and the profile's key to adopt on a node.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"filters": {
|
|
"type": "object",
|
|
"description": "The message filters of each account, by account: what each matches and what it does with the mail.",
|
|
"trusted": true,
|
|
"default": {}
|
|
},
|
|
"tags": {
|
|
"type": "object",
|
|
"description": "The tags Betterbird offers, each by its own key: its name, colour and order; trusted since issue 751, so a change to it is the operator's to approve.",
|
|
"trusted": true,
|
|
"default": {}
|
|
}
|
|
},
|
|
"resources": [
|
|
{
|
|
"id": "configuration-dir",
|
|
"type": "directory",
|
|
"path": "${machine:account-home}/.config/betterbird",
|
|
"owner": "${machine:account}",
|
|
"mode": "0755"
|
|
},
|
|
{
|
|
"id": "prefs",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/betterbird/prefs.json",
|
|
"owner": "${machine:account}",
|
|
"mode": "0644",
|
|
"merge": "json",
|
|
"takes-config": [
|
|
"prefs"
|
|
],
|
|
"template": "files/prefs.json",
|
|
"trusted": true
|
|
},
|
|
{
|
|
"id": "accounts",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/betterbird/accounts.json",
|
|
"owner": "${machine:account}",
|
|
"mode": "0600",
|
|
"merge": "json",
|
|
"takes-config": [
|
|
"accounts"
|
|
],
|
|
"template": "files/accounts.json",
|
|
"trusted": true
|
|
},
|
|
{
|
|
"id": "configuration",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/betterbird/configuration.json",
|
|
"owner": "${machine:account}",
|
|
"mode": "0600",
|
|
"merge": "json",
|
|
"takes-config": [
|
|
"identities",
|
|
"calendars",
|
|
"address-books",
|
|
"filters"
|
|
],
|
|
"template": "files/configuration.json",
|
|
"trusted": true
|
|
},
|
|
{
|
|
"id": "tags",
|
|
"type": "file",
|
|
"path": "${machine:account-home}/.config/betterbird/tags.json",
|
|
"owner": "${machine:account}",
|
|
"mode": "0644",
|
|
"merge": "json",
|
|
"takes-config": [
|
|
"tags"
|
|
],
|
|
"template": "files/tags.json",
|
|
"trusted": true
|
|
},
|
|
{
|
|
"id": "community-package",
|
|
"type": "package",
|
|
"package": "betterbird-bin",
|
|
"absent": true
|
|
},
|
|
{
|
|
"id": "installation",
|
|
"type": "archive",
|
|
"path": "/opt/betterbird",
|
|
"artifact": "archive"
|
|
},
|
|
{
|
|
"id": "owl",
|
|
"type": "archive",
|
|
"path": "/opt/betterbird/owl",
|
|
"artifact": "owl"
|
|
},
|
|
{
|
|
"id": "policies",
|
|
"type": "archive",
|
|
"path": "/opt/betterbird/distribution",
|
|
"artifact": "distribution"
|
|
},
|
|
{
|
|
"id": "spelling",
|
|
"type": "archive",
|
|
"path": "/opt/betterbird/defaults/pref",
|
|
"artifact": "defaults"
|
|
},
|
|
{
|
|
"id": "preparation",
|
|
"type": "archive",
|
|
"path": "/usr/local/lib/mesh-betterbird",
|
|
"artifact": "tools"
|
|
},
|
|
{
|
|
"id": "start",
|
|
"type": "file",
|
|
"path": "/usr/local/bin/betterbird",
|
|
"mode": "0755",
|
|
"template": "files/betterbird"
|
|
},
|
|
{
|
|
"id": "launcher",
|
|
"type": "file",
|
|
"path": "/usr/local/share/applications/eu.betterbird.Betterbird.desktop",
|
|
"mode": "0644",
|
|
"template": "files/eu.betterbird.Betterbird.desktop"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/betterbird-tools",
|
|
"binary": "betterbird-tools",
|
|
"loads": [
|
|
"betterbird-tools"
|
|
]
|
|
},
|
|
{
|
|
"name": "archive",
|
|
"kind": "archive",
|
|
"url": "https://www.betterbird.eu/downloads/LinuxArchive/betterbird-153.4.0esr-bb10.en-US.linux-x86_64.tar.xz",
|
|
"sha256": "38dd24890a66b4cf9a45bc24e15192e00c26b929e1bb8df7974c16a4539129e2",
|
|
"version": "153.4.0esr-bb10",
|
|
"within": "betterbird",
|
|
"names-on-purpose": {
|
|
"www.betterbird.eu": "Betterbird's project publishes its Linux release there; the build seat fetches it once, by its pinned sha256 (novox/hq ADR 0316 §2)"
|
|
}
|
|
},
|
|
{
|
|
"name": "owl",
|
|
"kind": "archive",
|
|
"url": "https://www.beonex.com/owl/owl.xpi",
|
|
"sha256": "a54cc3d52113b34f97942ee19190947dee23561e2217f18db3d80ac023991221",
|
|
"version": "1.5.6.1",
|
|
"file": "owl.xpi",
|
|
"names-on-purpose": {
|
|
"www.beonex.com": "Owl's vendor publishes its xpi there; the build seat fetches it once, by its pinned sha256 (novox/hq ADR 0316 §6)"
|
|
}
|
|
},
|
|
{
|
|
"name": "distribution",
|
|
"kind": "archive",
|
|
"from": "install/distribution"
|
|
},
|
|
{
|
|
"name": "defaults",
|
|
"kind": "archive",
|
|
"from": "install/defaults-pref"
|
|
},
|
|
{
|
|
"name": "files",
|
|
"kind": "archive",
|
|
"from": "files"
|
|
}
|
|
]
|
|
}
|
|
}
|