Skip to main content

Balení a ověření

Konvence pojmenování souborů balíčků Deb:

  • Režim jednoho balíčku: <appid>_<version>_<arch>.deb
    • Příklad: myapp_1.0.0_amd64.deb
  • Datový balíček: <appid>_<version>_all.deb
    • Příklad: myapp_1.0.0_all.deb
  • Archiv: <appid>_<platform>.tar.gz (režim dvojitého balíčku obsahuje dva soubory .deb)
    • Příklad: weather_x86_64.tar.gz (tj. AppID_Platform.tar.gz)
    • Pravidlo pojmenování: config.ini.id_config.ini.platform.tar.gz

Požadavky na ověření nástrojem Lintian:

  • Před podáním musí být opraveny všechny problémy úrovně Error (E)
  • Problémy úrovně Warning (W) by měly být přezkoumány; kritické pro platformu varování musí být opraveny
  • Problémy úrovně Info (I) jsou informativní, lze je volitelně řešit
  • lintian --suppress-tags=<tag> používejte pouze pro zdokumentované, záměrné odchylky

Struktura archivu režimu dvojitého balíčku: Archiv .tar.gz musí mít následující strukturu:

<appid>_<platform>.tar.gz
├── <appid>.deb # Application data package (recommended to match config.ini.id)
└── <package>.deb # Deb source package (use the default name, no modification needed)

Kořen archivu nesmí obsahovat podadresáře — soubory .deb musí být v kořenové úrovni archivu.

Popis:

  • <appid>.deb: Datový balíček deb, používaný pro zobrazení a operace v App Center
  • <package>.deb: Zdrojový balíček deb, používaný k zajištění funkčnosti služby deb

Metoda 1: Režim jednoho balíčku

Krok 1: Sestavte balíček Deb

dpkg-deb --build ./<AppRootDir> ./<appid>_<version>_amd64.deb

Krok 2: Ověřte balíček

dpkg-deb -c <appid>_<version>_amd64.deb
dpkg-deb -I <appid>_<version>_amd64.deb
lintian <appid>_<version>_amd64.deb # If lintian is available

Krok 3: Vygenerujte kontrolní součet

sha256sum <appid>_<version>_amd64.deb > <appid>_<version>_amd64.deb.sha256

Krok 4: Otestujte instalaci

sudo dpkg -i <appid>_<version>_amd64.deb
sudo systemctl status <system_id>
sudo dpkg --purge <appid> # Uninstall

Metoda 2: Režim dvojitého balíčku

Krok 1: Sestavte zdrojový balíček Deb

dpkg-deb --build ./<AppRootDir> ./<package>.deb

Krok 2: Sestavte datový balíček Deb

mkdir -p /tmp/<appid>/DEBIAN
mkdir -p /tmp/<appid>/usr/local/<appid>

# Copy TOS 7.0 configuration files to the data package
cp config.ini /tmp/<appid>/usr/local/<appid>/
cp <appid>.lang /tmp/<appid>/usr/local/<appid>/
cp -r images /tmp/<appid>/usr/local/<appid>/
# If external open, also copy nginx configuration
cp -r nginx /tmp/<appid>/usr/local/<appid>/ 2>/dev/null || true

# Create DEBIAN/control (see 8.13.2)
# ...

# Build the data package
dpkg-deb --build /tmp/<appid> ./<appid>.deb

Krok 3: Zabalte podávací archiv

tar -czf <appid>_<platform>.tar.gz <appid>.deb <package>.deb

Krok 4: Ověřte, vygenerujte kontrolní součet a otestujte instalaci

# Verify
dpkg-deb -c <package>.deb && dpkg-deb -I <package>.deb
dpkg-deb -c <appid>.deb && dpkg-deb -I <appid>.deb

# Checksum
sha256sum <appid>_<platform>.tar.gz > <appid>_<platform>.tar.gz.sha256

# Test Installation
sudo dpkg -i <package>.deb
sudo dpkg -i <appid>.deb
sudo systemctl status <system_id>