Skip to main content

Soubor DEBIAN/control

Režim jednoho balíčku

V režimu jednoho balíčku je veškerý obsah integrován do jediného balíčku deb:

Package: <appid>
Version: <version>
Architecture: amd64
Section: utils
Priority: optional
Maintainer: Developer Name <your.email@example.com>
Depends: libc6 (>= 2.34), systemd
Description: Brief description
Detailed description of the application's functionality.

Referenční příručka polí:

PolePovinnéPopis
Package✅ AnoNázev balíčku. Musí odpovídat poli package v config.ini.
Version✅ AnoVerze balíčku. Musí odpovídat poli version v config.ini.
Architecture✅ Anox86_64: amd64, aarch64: arm64.
SectionAnoKlasifikace balíčku (např. utils, web, net).
PriorityAnoObvykle optional.
Maintainer✅ AnoNázev vývojáře a e-mail.
DependsDoporučenoZávislosti běhového prostředí. Deklarujte všechny požadované systémové knihovny a balíčky.
Description✅ AnoPrvní řádek je stručný popis; další řádky jsou podrobným popisem. Viz pravidla formátu níže.

Referenční příručka pole Architecture:

Platforma TOSArchitecture v DEBIAN/controlCíl sestavení
x86_64 / amd64amd64x86_64-pc-linux-gnu
aarch64 / arm64arm64aarch64-linux-gnu

Časté chyby:

  • Použití x86_64 v DEBIAN/control → je nutné použít amd64
  • Poznámka: TOS 7 podporuje pouze 64bitové architektury (x86_64 a aarch64); 32bitové ARM (armhf/armel) není podporováno.

Formát pole Description:

  • Řádek 1: Stručný popis (max. 80 znaků, bez úvodních mezer)
  • Další řádky: Podrobný popis (každý řádek musí začínat jednou mezerou, max. 80 znaků na řádek)
  • Prázdné řádky v popisu musí obsahovat mezeru následovanou tečkou: .

Příklad:

Description: Short summary of the software package
This is the detailed description.
It can span multiple lines,
each beginning with a single space.
.
This is a new paragraph.

Režim dvojitého balíčku

Režim dvojitého balíčku je vhodný pro aplikace s existujícími obecnými standardními balíčky deb. Zdrojový balíček zůstává beze změny, přičemž je dodáván další datový balíček aplikace.

DEBIAN/control datového balíčku aplikace:

Package: <appid>
Version: <version>
Architecture: all
Section: utils
Priority: optional
Maintainer: Developer Name <your.email@example.com>
Depends: <package> (>= <version>)
Description: Application data package - <App Name>
TerraMaster App Center metadata package for <App Name>.

Poznámka k pojmenování: Název datového balíčku používá <appid> (doporučeno odpovídat config.ini.id), zatímco název zdrojového balíčku používá <package> (výchozí název balíčku původní aplikace). Datový balíček deklaruje svou závislost na zdrojovém balíčku prostřednictvím pole Depends.

Pravidla asociací polí v režimu dvojitého balíčku:

PoleDatový balíčekZdrojový balíčekPožadavek asociace
Package<appid><package>Název datového balíčku se doporučuje shodovat s config.ini.id
Version<version><version>Musí být přesně stejná
Architectureallamd64/arm64Datový balíček je obvykle all; zdrojový balíček má skutečnou architekturu

Asociace polí v config.ini:

PolePopis asociace
config.ini.packageMusí odpovídat metadatům package datového balíčku
config.ini.versionMusí odpovídat metadatům version datového balíčku
config.ini.system_idMusí odpovídat ID služby systemd zdrojového balíčku
config.ini.path (při externím otevření)Musí odpovídat trase konfiguračního souboru nginx, vedoucí na <listen_port> poskytovaný zdrojovým balíčkem

Vnitřní struktura souborů datového balíčku:

<appid>.deb
├── DEBIAN/
│ └── control
└── usr/
└── local/
└── <appid>/
├── config.ini
├── <appid>.lang
├── images/
│ └── icons/
│ └── <appid>.svg
└── nginx/ # Only needed for external open
└── <appid>.conf

Vnitřní struktura souborů zdrojového balíčku:

<package>.deb
├── DEBIAN/
│ ├── control
│ ├── preinst
│ ├── postinst
│ ├── prerm
│ └── postrm
└── usr/
└── local/
└── <appid>/
├── bin/
│ └── <binary_name>
└── init.d/
└── <system_id>.service