Onder Ubuntu is het mij gelukt mijn eigen repository te installeren. Het is behoorlijk technisch dus vandaar een samenvatting van de stappen.
Installeer reprepro:
sudo apt-get install reprepro
Maak de bijbehorende directories aan:
sudo mkdir /var/packages
sudo mkdir /var/packages/ubuntu
sudo mkdir /var/packages/ubuntu/conf
Belangrijk. Indien er nog geen gpg key aanwezig is of is aangemaakt moet dit worden gedaan met het volgende commando:
gpg --gen-key
In de volgende volgorde kies:
default (Enter), default (Enter), default (Enter), y, enter name, enter e-mail, enter comments, blank password, generate.
Controleer of de key juist is geinstalleerd:
gpg --list-secret-keys
gpg: key 9694CB5E marked as ultimately trusted
Maak het distributions bestand aan. Hieronder mijn voorbeeld voor zowel jaunty als karmic:
sudo pico /var/packages/ubuntu/conf/distributions
Inhoud:
Origin: XBMCFreak
Label: Piethein Strengholt's Debs
Suite: jaunty
Codename: jaunty
Version: 9.04
Architectures: i386 source
Components: main
Description: Ubuntu XBMC Packages
SignWith: 9694CB5E
DebOverride: ../indices/override.jaunty.main
UDebOverride: ../indices/override.jaunty.main.debian-installer
DscOverride: ../indices/override.jaunty.main.src
DebIndices: Packages Release . .gz .bz2
UDebIndices: Packages . .gz .bz2
DscIndices: Sources Release .gz .bz2
Contents: . .gz .bz2
Log: packages.xbmcfreak.log
Origin: XBMCFreak
Label: Piethein Strengholt's Debs
Suite: karmic
Codename: karmic
Version: 9.10
Architectures: i386 source
Components: main
Description: Ubuntu XBMC Packages
SignWith: 9694CB5E
DebOverride: ../indices/override.karmic.main
UDebOverride: ../indices/override.karmic.main.debian-installer
DscOverride: ../indices/override.karmic.main.src
DebIndices: Packages Release . .gz .bz2
UDebIndices: Packages . .gz .bz2
DscIndices: Sources Release .gz .bz2
Contents: . .gz .bz2
Log: packages.xbmcfreak.log
Maak nu het options bestand aan:
sudo pico /var/packages/ubuntu/conf/options
Inhoud:
verbose
ask-passphrase
basedir .
Maak nu het uploaders bestand aan:
sudo pico /var/packages/ubuntu/conf/uploaders
Inhoud:
allow * by unsigned
Maak nu het incoming bestand aan:
sudo pico /var/packages/ubuntu/conf/incoming
Inhoud:
Name: default
IncomingDir: incoming
TempDir: tmp
Allow: jaunty karmic
Cleanup: on_deny on_error
Maak nu de override directory aan:
sudo mkdir /var/packages/ubuntu/override
En de indices directory en bijbehorende bestanden:
sudo mkdir /var/packages/ubuntu/indices
sudo touch /var/packages/ubuntu/indices/override.jaunty.main
sudo touch /var/packages/ubuntu/indices/override.jaunty.main.debian-installer
sudo touch /var/packages/ubuntu/indices/override.jaunty.main.src
sudo touch /var/packages/ubuntu/indices/override.karmic.main
sudo touch /var/packages/ubuntu/indices/override.karmic.main.debian-installer
sudo touch /var/packages/ubuntu/indices/override.karmic.main.src
Maak nu de incoming directory aan:
sudo mkdir /var/packages/ubuntu/incoming
Test of de repository naar behoren werkt:
sudo reprepro -Vb /var/packages/ubuntu export
De volgende output moet in beeld komen:
root@:~# sudo reprepro -Vb /var/packages/ubuntu export
Exporting jaunty...
exporting 'jaunty|main|i386'...
replacing '/var/packages/ubuntu/dists/jaunty/main/binary-i386/Packages' (uncompressed,gzipped,bzip2ed)
exporting 'jaunty|main|source'...
creating '/var/packages/ubuntu/dists/jaunty/main/source/Sources' (gzipped,bzip2ed)
generating Contents-i386...
Successfully created '/var/packages/ubuntu/dists/jaunty/Release.gpg.new'
root@:~#
We kunnen nu de repository vullen. In het onderstaande voorbeeld vul ik de repository met xbmc packages:
sudo cp /home/buildd/pbuilder/result/* /var/packages/ubuntu/incoming
Importeer nu alle incoming bestanden met:
sudo reprepro -Vb /var/packages/ubuntu processincoming default
Om een enkel bestand te importeren is de volgende regel van toepassing:
reprepro includedeb jaunty /home/buildd/pbuilder/result/xbmc_24925-jaunty1_i386.deb
Als we Apache willen gebruiken voor het vrijgeven van de bestanden moeten we een bestand met de onderstaande inhoud in de conf.d directory zetten:
Alias /apt /var/packages
<Directory "/var/packages">
Options Indexes FollowSymLinks MultiViews
DirectoryIndex index.html
AllowOverride Options
Order allow,deny
allow from all
</Directory>
# Hide the conf/ directory for all repositories
<Directory "/var/packages/*/conf">
Order allow,deny
Deny from all
Satisfy all
</Directory>
# Hide the db/ directory for all repositories
<Directory "/var/packages/*/db">
Order allow,deny
Deny from all
Satisfy all
</Directory>
Om gebruik te maken van de onderstaande repository:
sudo pico /etc/apt/sources.list.d/ownrepository.list
## repository
deb http://localhost/apt/ubuntu jaunty main
deb-src http://localhost/apt/ubuntu jaunty main
Om een overzich te krijgen van wat zich in de repository bevindt:
sudo reprepro -Vb /var/packages/ubuntu -A i386 list jaunty
sudo reprepro -Vb /var/packages/ubuntu -A source list jaunty
sudo reprepro -Vb /var/packages/ubuntu -A i386 list karmic
sudo reprepro -Vb /var/packages/ubuntu -A source list karmic
Om iets te verwijderen uit de repository:
sudo reprepro -Vb /var/packages/ubuntu -A i386 remove jaunty xbmc
sudo reprepro -Vb /var/packages/ubuntu -A source remove jaunty xbmc
sudo reprepro -Vb /var/packages/ubuntu -A i386 remove karmic xbmc
Bij een sudo apt-get update krijg je waarschijnlijk een foutmelding. Dit kan je oplossen door de key te importeren. Doe het volgende
Om de keys te bekijken die geinstalleerd staan:
sudo apt-key list
Om de aangemaakte keys te bekijken:
sudo gpg --fingerprint
Exporteer de key die ook in de distributions configuratie bestand staat met:
sudo gpg --armor --export 9694CB5E > xbmcfreak.gpg
Importeer de key met:
sudo apt-key add xbmcfreak.gpg
[...] http://www.xbmcfreak.nl/wikixbmc/linux/eigen-ubuntu-repository/ [...]