From 6dbfc3fbfe4f22948c713081b21fe5e36e524339 Mon Sep 17 00:00:00 2001 From: "Dr.Blank" <64108942+Dr-Blank@users.noreply.github.com> Date: Fri, 23 May 2025 19:05:03 +0530 Subject: [PATCH] feat: add Linux build guide and enhance make_config.yaml with detailed description and features --- docs/linux_build_guide.md | 45 ++++++++++++++++++++++++++++ linux/packaging/deb/make_config.yaml | 19 ++++++++++-- 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 docs/linux_build_guide.md diff --git a/docs/linux_build_guide.md b/docs/linux_build_guide.md new file mode 100644 index 0000000..a1c729b --- /dev/null +++ b/docs/linux_build_guide.md @@ -0,0 +1,45 @@ +# Linux Build Guide + +## Determining Package Size +To determine the installed size for your Linux package configuration, you can use the following script: + +```bash +#!/bin/bash + +# Build the Linux app +flutter build linux + +# Get size in KB and add 17% buffer for runtime dependencies +SIZE_KB=$(du -sk build/linux/x64/release/bundle | cut -f1) +BUFFER_SIZE_KB=$(($SIZE_KB + ($SIZE_KB * 17 / 100))) + +echo "Actual bundle size: $SIZE_KB KB" +echo "Recommended installed_size (with 17% buffer): $BUFFER_SIZE_KB KB" +``` + +Save this as `get_package_size.sh` in your project root and make it executable: +```bash +chmod +x get_package_size.sh +``` + +### Usage +1. Run the script: + ```bash + ./get_package_size.sh + ``` +2. Use the output value for `installed_size` in your `linux/packaging/deb/make_config.yaml` file: + ```yaml + installed_size: 75700 # Replace with the value from the script + ``` + +### Why add a buffer? +The 17% buffer is added to account for: +- Runtime dependencies +- Future updates +- Potential additional assets +- Prevent installation issues on systems with limited space + +### Notes +- The installed size should be specified in kilobytes (KB) +- Always round up the buffer size to be safe +- Re-run this script after significant changes to your app (new assets, dependencies, etc.) \ No newline at end of file diff --git a/linux/packaging/deb/make_config.yaml b/linux/packaging/deb/make_config.yaml index dd65c52..5579be4 100644 --- a/linux/packaging/deb/make_config.yaml +++ b/linux/packaging/deb/make_config.yaml @@ -15,6 +15,20 @@ essential: false icon: assets/icon/logo.png +description: + short: Beautiful, Fast and Functional Audiobook Player for your Audiobookshelf server. + long: | + Vaani is a client for your (self-hosted) Audiobookshelf server. + + Features: + - Functional Player: Speed Control, Sleep Timer, Shake to Control Player + - Save data with Offline listening and caching + - Material Design + - Extensive Settings to customize every tiny detail + + Note: you need an Audiobookshelf server setup for this app to work. + Please see https://www.audiobookshelf.org/ on how to setup one if not already. + postuninstall_scripts: - echo "Sorry to see you go." @@ -26,8 +40,9 @@ keywords: generic_name: Audiobook Player categories: - - Media - - Utility + - AudioVideo + - Audio + - Player startup_notify: true