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