bc9fa36646
Week 10 - Plugin System (FR-19): - Plugin traits: Plugin, OriginPlugin, MetadataPlugin, FormatPlugin - NativePluginHost with libloading for dynamic loading - WasmPluginHost (feature-gated) with wasmtime runtime - PluginManager coordinating both hosts with version checks - OriginInstance::watch() with WatchHandle, WatchEvent for live updates - FormatPlugin::synthesize_header() for metadata overlay Week 11 - Control API & Production (FR-17, FR-18, NFR-6, NFR-10): - gRPC server with full MusicFS service (status, cache, origins, events) - Proto extended: MountState enum, TierStats, full StatusResponse/CacheStats - WebhookHandler with HMAC-SHA256 signing and exponential retry - Metrics with latency histograms (p50/p95/p99) and origin health gauges - CLI with mount, status, cache, search, origin, events, shutdown commands - E2E player compatibility tests (mpv, VLC, file manager) - systemd service, PKGBUILD, RPM spec for packaging Plans added for Weeks 10-14 covering P1 features. All 154 tests passing.
24 lines
639 B
Bash
24 lines
639 B
Bash
pkgname=musicfs
|
|
pkgver=0.1.0
|
|
pkgrel=1
|
|
pkgdesc="Metadata-Organized Music Filesystem"
|
|
arch=('x86_64')
|
|
url="https://github.com/yourusername/musicfs"
|
|
license=('MIT')
|
|
depends=('fuse3')
|
|
makedepends=('rust' 'cargo')
|
|
source=("$pkgname-$pkgver.tar.gz")
|
|
sha256sums=('SKIP')
|
|
|
|
build() {
|
|
cd "$srcdir/$pkgname-$pkgver"
|
|
cargo build --release --locked
|
|
}
|
|
|
|
package() {
|
|
cd "$srcdir/$pkgname-$pkgver"
|
|
install -Dm755 "target/release/musicfs" "$pkgdir/usr/bin/musicfs"
|
|
install -Dm644 "dist/musicfs.service" "$pkgdir/usr/lib/systemd/system/musicfs.service"
|
|
install -Dm644 "config.example.toml" "$pkgdir/etc/musicfs/config.example.toml"
|
|
}
|