Add offline installation support with repo folder and updated dependencies

Features:
- Create repo/ folder structure for offline packages
  - python-wheels/ for Python packages (.whl files)
  - system-packages/ for APT packages and .deb files
- Add download_offline_packages.sh to populate Python wheels
- Add download_deb_packages.sh to download system .deb packages
- Update install.sh with smart online/offline detection
  - Auto-detects repo folder and uses offline packages
  - Falls back to online installation if repo is empty
  - Supports --offline flag for explicit offline mode
- Update requirements.txt with async dependencies:
  - aiohttp==3.9.1 for async HTTP client
  - asyncio==3.4.3 for async I/O framework
- Add OFFLINE_INSTALLATION.md with complete guide
- Add .gitignore to exclude downloaded packages from repo
- Document all system dependencies in apt-packages.txt

Downloaded packages:
- 18 Python wheels with all dependencies
- Total size: ~50 MB for Python packages
- Ready for offline deployment
This commit is contained in:
Kivy Signage Player
2025-11-03 16:29:03 +02:00
parent 342331f9dd
commit 4ce41b7ccc
29 changed files with 545 additions and 13 deletions

6
repo/.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
# Ignore downloaded packages but keep directory structure
repo/python-wheels/*.whl
repo/python-wheels/*.tar.gz
repo/system-packages/debs/
!repo/python-wheels/.gitkeep
!repo/system-packages/.gitkeep

34
repo/README.md Normal file
View File

@@ -0,0 +1,34 @@
# Offline Installation Repository
This folder contains all necessary packages for offline installation of the Kivy Signage Player.
## Structure
- `python-wheels/` - Python packages (.whl files) for pip installation
- `system-packages/` - System package information and .deb files
## Usage
The installer script (`install.sh`) will automatically use this repo folder if available.
### To populate this folder for offline installation:
Run the download script from the project root:
```bash
bash download_offline_packages.sh
```
This will download all necessary Python wheels and document system packages.
## Contents
### Python Packages
- kivy==2.1.0
- requests==2.32.4
- bcrypt==4.2.1
- aiohttp==3.9.1
- asyncio==3.4.3
- All dependencies
### System Packages (APT)
See `system-packages/apt-packages.txt` for the complete list.

View File

@@ -0,0 +1 @@
# Keep this directory in git

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
# Keep this directory in git

View File

@@ -0,0 +1,39 @@
# System packages required for Kivy Signage Player
# Install with: sudo apt install -y $(cat apt-packages.txt)
# Python and build tools
python3-pip
python3-setuptools
python3-dev
# SDL2 libraries for Kivy
libsdl2-dev
libsdl2-image-dev
libsdl2-mixer-dev
libsdl2-ttf-dev
# Multimedia libraries
libportmidi-dev
libswscale-dev
libavformat-dev
libavcodec-dev
# Compression
zlib1g-dev
# Video playback
ffmpeg
libavcodec-extra
# Audio support
gstreamer1.0-plugins-base
gstreamer1.0-plugins-good
gstreamer1.0-plugins-bad
gstreamer1.0-alsa
# Network tools
wget
curl
# Additional video codecs
libx264-dev