Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 20 additions & 4 deletions core/native_nfpm.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,19 @@ def read_subpackage_map(path: Path | None = None) -> dict[str, str]:
return {str(k): str(v) for k, v in raw.items()}


def project_version(pyproject: Path | None = None) -> str:
def _project_table(pyproject: Path | None = None) -> dict[str, Any]:
path = pyproject or (repo_root() / "pyproject.toml")
with path.open("rb") as handle:
data = tomllib.load(handle)
return str(data["project"]["version"])
return dict(data["project"])


def project_version(pyproject: Path | None = None) -> str:
return str(_project_table(pyproject)["version"])


def project_license(pyproject: Path | None = None) -> str:
return str(_project_table(pyproject)["license"])


def _dump_yaml(doc: dict[str, Any]) -> str:
Expand Down Expand Up @@ -122,7 +130,7 @@ def build_core_nfpm_doc(*, version: str) -> dict[str, Any]:
),
"vendor": "Data Boar",
"homepage": "https://github.com/DataBoar/data-boar",
"license": "AGPL-3.0-or-later",
"license": project_license(),
# No Depends: python3 — interpreter is embedded (ADR-0084 channel a).
"depends": [],
"contents": [
Expand All @@ -140,6 +148,14 @@ def build_core_nfpm_doc(*, version: str) -> dict[str, Any]:
"dst": "/etc/data-boar/config.example.yaml",
"type": "config|noreplace",
},
{
"src": "../../docs/data_boar.1",
"dst": "/usr/share/man/man1/data-boar.1",
},
{
"src": "../../docs/data_boar.5",
"dst": "/usr/share/man/man5/data-boar.5",
},
],
"overrides": {
packager: {"depends": list(deps)}
Expand Down Expand Up @@ -174,7 +190,7 @@ def build_subpackage_nfpm_doc(
),
"vendor": "Data Boar",
"homepage": "https://github.com/DataBoar/data-boar",
"license": "AGPL-3.0-or-later",
"license": project_license(),
# Exact-version pin so subpackage cannot float against a different core ABI.
"depends": [f"{CORE_PACKAGE} (= {version}-1)"],
"contents": [
Expand Down
25 changes: 24 additions & 1 deletion core/void_xbps.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import json
import re
import shutil
from pathlib import Path
from typing import Any

Expand All @@ -18,6 +19,7 @@
)
from core.native_nfpm import (
CORE_PACKAGE,
project_license,
project_version,
read_subpackage_map,
repo_root,
Expand Down Expand Up @@ -154,7 +156,7 @@ def render_template(
f"nocross=yes\n"
f'short_desc="{_SHORT_DESC}"\n'
f'maintainer="Data Boar maintainers <contact@databoar.com.br>"\n'
f'license="AGPL-3.0-or-later"\n'
f'license="{project_license()}"\n'
f'homepage="https://github.com/DataBoar/data-boar"\n'
f'depends="{depends} runit"\n'
f'subpackages="{subpackages_line}"\n'
Expand All @@ -174,6 +176,8 @@ def render_template(
f'\tif [ -f "${{FILESDIR}}/staging/etc/data-boar/config.example.yaml" ]; then\n'
f'\t\tvinstall "${{FILESDIR}}/staging/etc/data-boar/config.example.yaml" 644 etc/data-boar\n'
f"\tfi\n"
f'\tvman "${{FILESDIR}}/data-boar.1"\n'
f'\tvman "${{FILESDIR}}/data-boar.5"\n'
f"\tvsv data-boar\n"
f"}}\n"
f"\n"
Expand Down Expand Up @@ -252,6 +256,15 @@ def write_generated_void(
run_path.write_text(render_runit_run(), encoding="utf-8")
run_path.chmod(run_path.stat().st_mode | 0o111)

files_root = srcpkg / "files"
files_root.mkdir(parents=True, exist_ok=True)
man1_src = repo_root() / "docs" / "data_boar.1"
man5_src = repo_root() / "docs" / "data_boar.5"
man1_dest = files_root / "data-boar.1"
man5_dest = files_root / "data-boar.5"
shutil.copy2(man1_src, man1_dest)
shutil.copy2(man5_src, man5_dest)

meta_path = dest_root / "PACKAGES.meta.json"
meta_path.write_text(
json.dumps(
Expand All @@ -272,6 +285,8 @@ def write_generated_void(
"runit_run": run_path,
"meta": meta_path,
"links": links_path,
"man1": man1_dest,
"man5": man5_dest,
}


Expand All @@ -290,6 +305,8 @@ def expected_generated_text(
)
+ "\n",
"links": "\n".join(sorted(read_subpackage_map())) + "\n",
"man1": (repo_root() / "docs" / "data_boar.1").read_text(encoding="utf-8"),
"man5": (repo_root() / "docs" / "data_boar.5").read_text(encoding="utf-8"),
}


Expand All @@ -312,6 +329,12 @@ def assert_generated_in_sync(
"links": (root / "srcpkgs" / "SUBPACKAGE_LINKS.txt").read_text(
encoding="utf-8"
),
"man1": (root / "srcpkgs" / CORE_PACKAGE / "files" / "data-boar.1").read_text(
encoding="utf-8"
),
"man5": (root / "srcpkgs" / CORE_PACKAGE / "files" / "data-boar.5").read_text(
encoding="utf-8"
),
}
drifted = [name for name in expected if on_disk[name] != expected[name]]
if drifted:
Expand Down
2 changes: 1 addition & 1 deletion packaging/nfpm/generated/data-boar-compressed.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: 'Data Boar connector extra [compressed] (packages: py7zr>=1.1.3).
ADR-0084: embedded cp314t does NOT unlock Enterprise. Entitlement remains worker caps (#551) + pro_prefilter_accel.'
vendor: Data Boar
homepage: https://github.com/DataBoar/data-boar
license: AGPL-3.0-or-later
license: BSD-3-Clause
depends:
- data-boar (= 1.8.0-1)
contents:
Expand Down
2 changes: 1 addition & 1 deletion packaging/nfpm/generated/data-boar-dataformats.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: 'Data Boar connector extra [dataformats] (packages: pyarrow>=14.0.0
ADR-0084: embedded cp314t does NOT unlock Enterprise. Entitlement remains worker caps (#551) + pro_prefilter_accel.'
vendor: Data Boar
homepage: https://github.com/DataBoar/data-boar
license: AGPL-3.0-or-later
license: BSD-3-Clause
depends:
- data-boar (= 1.8.0-1)
contents:
Expand Down
2 changes: 1 addition & 1 deletion packaging/nfpm/generated/data-boar-mssql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: 'Data Boar connector extra [mssql] (packages: pymssql>=2.3.0).
ADR-0084: embedded cp314t does NOT unlock Enterprise. Entitlement remains worker caps (#551) + pro_prefilter_accel.'
vendor: Data Boar
homepage: https://github.com/DataBoar/data-boar
license: AGPL-3.0-or-later
license: BSD-3-Clause
depends:
- data-boar (= 1.8.0-1)
contents:
Expand Down
2 changes: 1 addition & 1 deletion packaging/nfpm/generated/data-boar-nosql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: 'Data Boar connector extra [nosql] (packages: pymongo>=4.0, redis>=
ADR-0084: embedded cp314t does NOT unlock Enterprise. Entitlement remains worker caps (#551) + pro_prefilter_accel.'
vendor: Data Boar
homepage: https://github.com/DataBoar/data-boar
license: AGPL-3.0-or-later
license: BSD-3-Clause
depends:
- data-boar (= 1.8.0-1)
contents:
Expand Down
2 changes: 1 addition & 1 deletion packaging/nfpm/generated/data-boar-richmedia.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: 'Data Boar connector extra [richmedia] (packages: mutagen>=1.47.0,
ADR-0084: embedded cp314t does NOT unlock Enterprise. Entitlement remains worker caps (#551) + pro_prefilter_accel.'
vendor: Data Boar
homepage: https://github.com/DataBoar/data-boar
license: AGPL-3.0-or-later
license: BSD-3-Clause
depends:
- data-boar (= 1.8.0-1)
contents:
Expand Down
2 changes: 1 addition & 1 deletion packaging/nfpm/generated/data-boar-shares.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: 'Data Boar connector extra [shares] (packages: smbprotocol>=1.2.0,
ADR-0084: embedded cp314t does NOT unlock Enterprise. Entitlement remains worker caps (#551) + pro_prefilter_accel.'
vendor: Data Boar
homepage: https://github.com/DataBoar/data-boar
license: AGPL-3.0-or-later
license: BSD-3-Clause
depends:
- data-boar (= 1.8.0-1)
contents:
Expand Down
6 changes: 5 additions & 1 deletion packaging/nfpm/generated/data-boar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ description: 'Data Boar — sensitive-data discovery (native Enterprise channel)
ADR-0084: embedded cp314t does NOT unlock Enterprise. Entitlement remains worker caps (#551) + pro_prefilter_accel.'
vendor: Data Boar
homepage: https://github.com/DataBoar/data-boar
license: AGPL-3.0-or-later
license: BSD-3-Clause
depends: []
contents:
- src: staging/usr/lib/data-boar/
Expand All @@ -23,6 +23,10 @@ contents:
- src: staging/etc/data-boar/config.example.yaml
dst: /etc/data-boar/config.example.yaml
type: config|noreplace
- src: ../../docs/data_boar.1
dst: /usr/share/man/man1/data-boar.1
- src: ../../docs/data_boar.5
dst: /usr/share/man/man5/data-boar.5
overrides:
deb:
depends:
Expand Down
Loading
Loading