Michal Čihař - Návod na repository pro Debian

Návod na repository pro Debian

Strukturu jsem zvolil podobnou jako mají oficiální repository - balíčky jsou v adresáři pool, seznamy pro jednotlivé distribuce v dist. Tomu odpovídá konfigurace apt-ftparchive:

Dir {
   ArchiveDir "/home/debbuild/packages";
   CacheDir "/home/debbuild/ftparchive/";
};

Default {
   Packages::Compress ". gzip bzip2";
   Sources::Compress ". gzip bzip2";
   Contents::Compress ". gzip bzip2";
};

TreeDefault {
   BinCacheDB "packages-$(SECTION)-$(ARCH).db";
   Directory "pool/$(SECTION)";
   Packages "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages";
   SrcDirectory "pool/$(SECTION)";
   Sources "$(DIST)/$(SECTION)/source/Sources";
   Contents "$(DIST)/Contents-$(ARCH)";
};

Tree "dists/unstable" {
    Sections "mc gammu slovnik";
    Architectures "i386 source";
}

Teď již můžeme vygenerovat seznamy balíčků a jejich obsahy (pro vyhledávání pomocí apt-file):

apt-ftparchive generate configuration_file

Protože archív chci mít podepsaný, tak nezbývá než ještě vytvořit soubor Release, který budeme podepisovat. K tomu nám opět pomůže apt-ftparchive. Je vhodné do tohoto souboru uvést některé informace o tom co distribuujeme, takže je zadáme do konfiguračního souboru:

APT::FTPArchive::Release::Codename "sid";
APT::FTPArchive::Release::Origin "Michal Čihař";
APT::FTPArchive::Release::Components "mc slovnik gammu";
APT::FTPArchive::Release::Label "Unofficial packages";
APT::FTPArchive::Release::Architectures "i386 all";
APT::FTPArchive::Release::Suite "unstable";

A pak již jen vygenerovat Release, obsah tohoto souboru získáme pomocí příkazu:

apt-ftparchive -c configuration_for_release release /home/debbuild/packages/dists/unstable & \
     /home/debbuild/packages/dists/unstable/Release

Záverečným krokem je podepsat tento soubor, aby si uživatelé APT 0.6 a novějšího mohli ověřit původ balíčků:

gpg --output Release.gpg -ba Release