name: ainfovac
description: AinfoVac is a comprehensive Enterprise Resource Planning (ERP) system developed in Gambas 3, specifically designed for the technical and economic management of livestock and agricultural farms.
snapcraft: PRIVATE (Local build)
upstream: http://www.ainfogra.com (Private repository)
upstream-relation: I am the upstream developer and author of the project.
supported-category: Hardware interaction/device synchronization (ADB/USB) and legacy data management.
reasoning: We are requesting classic confinement due to critical architectural and functional constraints that make adapting to strict confinement unfeasible without completely rewriting the software:
-
Mobile synchronization via USB and ADB (Android Debug Bridge): AinfoVac works in tandem with an Android mobile app used by farmers in the field. To synchronize local SQLite databases without relying on internet connectivity (often unavailable on farms), the desktop application connects directly to mobile devices via USB using ADB.
Strictconfinement blocks arbitrary access to USB ports and communication with the host system’s ADB server, completely breaking the tool’s core synchronization feature. -
Manual backups and data portability (
~/.ainfovac): Our user base in the primary sector is accustomed to performing backups and migrating to other machines simply by copying the~/.ainfovacdirectory located in their real home folder. Understrictconfinement, this data is hidden and isolated within the virtualized Snap structure (~/snap/ainfovac/current/...), preventing users from performing their traditional workflows and severely increasing the risk of data loss. Additionally, the application requires access to static system paths like/usr/share/ainfovacfor its initial database deployment. -
Native security restrictions of the Gambas 3 interpreter (gbr3): The Gambas 3 runtime performs hardcoded security checks on the ownership and permissions of its temporary execution directories (
/tmp/gambas.$UID). When running inside an isolated Snap instrictmode, the discrepancy between the virtualized user and the host system causes the interpreter to block execution for security reasons (throwing the error “Do you try to hijack Gambas?”).
Rewriting the mobile sync architecture, the database persistence logic, and bypassing the interpreter’s native security checks is technically unfeasible for this consolidated software.
I understand that strict confinement is generally preferred over classic.
I’ve tried the existing interfaces to make the snap to work under strict confinement.