summaryrefslogtreecommitdiff
path: root/net-misc/airouter
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/airouter')
-rw-r--r--net-misc/airouter/Manifest3
-rwxr-xr-xnet-misc/airouter/airouter-0.1.2-r5.ebuild6
-rw-r--r--net-misc/airouter/airouter-0.1.2-r6.ebuild119
3 files changed, 126 insertions, 2 deletions
diff --git a/net-misc/airouter/Manifest b/net-misc/airouter/Manifest
index c92ff9cb6094..3f8119cc4234 100644
--- a/net-misc/airouter/Manifest
+++ b/net-misc/airouter/Manifest
@@ -1,6 +1,7 @@
DIST airouter-0.1.2-r1.tar.zst 85425944 BLAKE2B f31bc203d9db5d16bfaac7a17431fa1b2f65e8de9c6e6240a4bc70a47ec3949dd01b361683a5b9ae5b5e005f542a94ceee7e39771ee8a8e3ec187a52da2c33b9 SHA512 237c90491641518056ff7a4309685acdf596cc1022fd37f1df6914b31b94c9c67c1a4ddd05aa0992e866f1f317ed65ee5ef0040c328c986ed307068acb6dca8e
DIST airouter-0.1.2-r2.tar.zst 87017898 BLAKE2B a6e8af5a79a33f12c2f681ca3cefc9d6e66a558705b301ccb1e3b9dfeea3dc0d100779765dfbd53367160c07241e680cba67cda9384ec94c128f4a446a6f4bb1 SHA512 7d8d15367f761c75a59952142ec5570ec7b3bb77150e8f8da14c637083beed46a19d56f60fcff0683b5e8284cec8e252fca69f849796c74691fe4e2222f7a976
DIST airouter-0.1.2-r3.tar.zst 86794645 BLAKE2B 00d5e90a8fa187d47e15535d50dd74269f36b77af819deb69b831b58f6d789a4921633ab2c7566ad14effbe76e42c10c7681a46f31e03ef7ef4a55a3e7292dc6 SHA512 ae72c824afd624a4cc563a8bb137cc6455367443a2b0da15bc81ea03978839456102c245d5c864147c631706cefbeab6467e4b3bbecdbe6cd786d0fb7b42bee7
-DIST llmbridge-0.1.2-20260919.tar.zst 116018 BLAKE2B a290d588687a0d37b14ba9845da0201b0c3b8f6a5495f39e9a0f96d89226c7f5907ff666a5de9b3e104bbb1479b5be913a1801b4324de1745a70209371e0da63 SHA512 28b3c1b27c179cef85871f5d2f7c1098cfe87d228abfa01118ac3bf44744d6bf866e92f1fd7738c9898380fdde217599a729ff68fe3fb3d471ed1cf3f0374ca7
DIST airouter-0.1.2-r4.tar.zst 86894368 BLAKE2B 784e633146138ba2012750c6bb03b6685fe55cd77818acb7d4ce630f3ae6a1fe7278e6cb2e99ba57beeabe01108d7b37d5c2d11ceab0cad18eda173f1fafa3e0 SHA512 1d02fb09ee7c16f9afc030368b4500d60c4a2552ccdc737ab3c32eeb57a7f14032b337027b3239500b054553af1a8a6f4d6f92d00446629d36de9a3b806f2330
DIST airouter-0.1.2-r5.tar.zst 86807460 BLAKE2B df86f434e7e6b20f6d75c3d5164a5dc8878cea2b9058f7f89d64c8cefa776affc223b85019723e9f1abf540d87d3ae6cf748491baa9745f8ccfbb4c534b2fbe6 SHA512 cc26ae5ac17b593c9be04379c9a202ab7432c02150608bb7f7a4a21a9dced511c0e5b1d3874a5123e164381c9567c7edc222ab93e04797f6c594b4bb271cdd89
+DIST airouter-0.1.2-r6.tar.zst 86807460 BLAKE2B df86f434e7e6b20f6d75c3d5164a5dc8878cea2b9058f7f89d64c8cefa776affc223b85019723e9f1abf540d87d3ae6cf748491baa9745f8ccfbb4c534b2fbe6 SHA512 cc26ae5ac17b593c9be04379c9a202ab7432c02150608bb7f7a4a21a9dced511c0e5b1d3874a5123e164381c9567c7edc222ab93e04797f6c594b4bb271cdd89
+DIST llmbridge-0.1.2-20260919.tar.zst 116018 BLAKE2B a290d588687a0d37b14ba9845da0201b0c3b8f6a5495f39e9a0f96d89226c7f5907ff666a5de9b3e104bbb1479b5be913a1801b4324de1745a70209371e0da63 SHA512 28b3c1b27c179cef85871f5d2f7c1098cfe87d228abfa01118ac3bf44744d6bf866e92f1fd7738c9898380fdde217599a729ff68fe3fb3d471ed1cf3f0374ca7
diff --git a/net-misc/airouter/airouter-0.1.2-r5.ebuild b/net-misc/airouter/airouter-0.1.2-r5.ebuild
index 429ad9989da6..1ebeaef43cb1 100755
--- a/net-misc/airouter/airouter-0.1.2-r5.ebuild
+++ b/net-misc/airouter/airouter-0.1.2-r5.ebuild
@@ -69,6 +69,11 @@ src_install() {
doexe packaging/scripts/airouter-framework-backup
doexe packaging/scripts/airouter-tools-launch
doexe target/release/airouter-desktop-worker
+ # The Workbench selector invokes this stable top-level helper directly.
+ # Keep it beside the AIRouter executables; catalog helpers belong below
+ # /usr/libexec/airouter/catalog.
+ exeinto /usr/libexec/airouter
+ newexe scripts/airouter-route.py airouter-route
exeinto /usr/libexec/airouter/catalog
doexe target/release/airouter-skills-catalog
doexe target/release/airouter-workspace-catalog
@@ -77,7 +82,6 @@ src_install() {
doexe target/release/airouter-learning-catalog
doexe target/release/airouter-host-catalog
doexe target/release/airouter-control-catalog
- newexe scripts/airouter-route.py airouter-route
exeinto /usr/libexec/airouter/qualification
doexe scripts/qualify-citadel-session.py
insinto /etc/cron.d
diff --git a/net-misc/airouter/airouter-0.1.2-r6.ebuild b/net-misc/airouter/airouter-0.1.2-r6.ebuild
new file mode 100644
index 000000000000..53d129f7e66c
--- /dev/null
+++ b/net-misc/airouter/airouter-0.1.2-r6.ebuild
@@ -0,0 +1,119 @@
+EAPI=8
+
+RUST_MIN_VER="1.88.0"
+inherit cargo
+
+DESCRIPTION="Metadata-only routing plane for owned and frontier AI compute"
+HOMEPAGE="https://trunkmasters.com/airouter"
+SRC_URI="https://distfiles.baldeagleos.com/airouter-0.1.2-r6.tar.zst https://distfiles.baldeagleos.com/llmbridge-0.1.2-20260919.tar.zst"
+S="${WORKDIR}/airouter"
+
+# The archive contains AIRouter, its pinned LLMBridge path dependency, and a
+# complete Cargo vendor tree. The package must build without /srv/airouter or
+# network access.
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+
+RDEPEND="
+ acct-group/airouter
+ acct-group/airouter-admin
+ acct-group/airouter-framework
+ acct-user/airouter
+ acct-user/airouter-agent
+ dev-db/postgresql
+ sys-auth/citadel
+ >=dev-lang/python-3.10
+ sys-apps/acl
+ sys-apps/bubblewrap
+ sys-apps/util-linux
+"
+BDEPEND="
+ net-misc/rsync
+ >=dev-lang/rust-1.88.0
+"
+
+src_unpack() {
+ # Portage on the target profile does not unpack .tar.zst through the
+ # generic helper; extract both immutable source inputs explicitly.
+ tar --zstd -xf "${DISTDIR}/airouter-0.1.2-r6.tar.zst" -C "${WORKDIR}" || die
+ tar --zstd -xf "${DISTDIR}/llmbridge-0.1.2-20260919.tar.zst" -C "${WORKDIR}" || die
+ mv "${WORKDIR}/llmbridge-0.1.2-20260919" "${WORKDIR}/llmbridge" || die
+}
+
+src_compile() {
+ cargo build --offline --release --workspace --locked \
+ --features "airouter-catalog/skills-tools,airouter-catalog/workspace-tools,\
+airouter-catalog/development-tools,airouter-catalog/release-tools,\
+airouter-catalog/learning-tools,airouter-catalog/host-tools,\
+airouter-catalog/control-tools" || die
+}
+
+src_install() {
+ dosbin target/release/airouterd
+ dosbin target/release/airouter-agentd
+ dosbin target/release/airouterctl
+ dosbin target/release/airouter-catalog
+ dosbin target/release/airouter-host
+ dosbin target/release/airouter-release
+ dosbin target/release/airouter-verify
+ dosbin target/release/airouter-permissions
+ dosbin target/release/airouter-toolsd
+ dobin target/release/airouter-smoke
+ dobin target/release/airouter-tool
+ exeinto /usr/libexec/airouter
+ doexe target/release/enroll-node
+ doexe packaging/scripts/airouter-renew-node-server
+ doexe packaging/scripts/airouter-capability-refresh
+ doexe packaging/scripts/airouter-framework-backup
+ doexe packaging/scripts/airouter-tools-launch
+ doexe target/release/airouter-desktop-worker
+ # The Workbench selector invokes this stable top-level helper directly.
+ # Keep it beside the AIRouter executables; catalog helpers belong below
+ # /usr/libexec/airouter/catalog.
+ exeinto /usr/libexec/airouter
+ newexe scripts/airouter-route.py airouter-route
+ exeinto /usr/libexec/airouter/catalog
+ doexe target/release/airouter-skills-catalog
+ doexe target/release/airouter-workspace-catalog
+ doexe target/release/airouter-development-catalog
+ doexe target/release/airouter-release-catalog
+ doexe target/release/airouter-learning-catalog
+ doexe target/release/airouter-host-catalog
+ doexe target/release/airouter-control-catalog
+ exeinto /usr/libexec/airouter/qualification
+ doexe scripts/qualify-citadel-session.py
+ insinto /etc/cron.d
+ doins packaging/cron/airouter-server-cert-renew
+ doins packaging/cron/airouter-capability-refresh
+ doins packaging/cron/airouter-framework-backup
+ insinto /etc/airouter
+ doins config/airouter.toml
+ newins config/framework.example.toml framework.toml
+ doins config/tools.example.toml config/tools-client.example.toml
+ newins config/routing.example.json routing.json
+ insinto /etc/airouter-capabilities
+ newins packaging/capabilities.sources.example.json sources.json
+ insinto /etc/airouter/qualification
+ doins packaging/qualification/native-codex-workbench.json
+ diropts -o airouter -g airouter -m 0700
+ keepdir /etc/airouter/secrets
+ newinitd packaging/openrc/airouterd airouterd
+ newinitd packaging/openrc/airouter-frameworkd airouter-frameworkd
+ newinitd packaging/openrc/airouter-catalog-refresh airouter-catalog-refresh
+ newinitd packaging/openrc/airouter-qualification airouter-qualification
+ newinitd packaging/openrc/airouter-toolsd airouter-toolsd
+ docinto tools
+ dodoc config/tools.example.toml config/tools-client.example.toml crates/airouter-tools/README.md crates/airouter-tools/DESKTOPS.md
+ docinto /
+ dodoc README.md schema/README.md
+ diropts -o airouter -g airouter -m 0750
+ keepdir /var/lib/airouter
+ keepdir /var/backups/airouter-framework
+}
+
+pkg_postinst() {
+ elog "Create the signing key with: airouterctl generate-signing-key"
+ elog "Apply migrations with the restricted airouter_migrate role before starting airouterd."
+}