10.5. Repositorios explorables web con repoview
repoview hace que el repositorio YUM sea explorable creando una serie de páginas estáticas HTML. Utiliza el motor de plantillas kid para crear las páginas así que es personalizable. Para instalar:
# yum install repoview
repoview requiere que el repositorio tenga los metadatos en archivos sqlite, si no es así, obtendrá un error como el siguiente.
# repoview /var/www/html/x86_64
Examining repository...Sorry, sqlite files not found in the repository.
Please rerun createrepo with a -d flag and try again.
Corrija y reconstruya el repositorio YUM utilizando --database
para que se generen los archivos sqlite.
# createrepo --verbose --database -g comps.xml /var/www/html/x86_64
1/14 - dhcp_probe-1.3.0-2.fc13.x86_64.rpm
2/14 - dhcp_probe-debuginfo-1.3.0-2.fc13.x86_64.rpm
3/14 - rubygem-pg-0.9.0-1.fc13.x86_64.rpm
4/14 - dhcp_probe-1.3.0-4.fc13.x86_64.rpm
5/14 - iptables-debuginfo-1.4.5-1.fc12.x86_64.rpm
6/14 - passenger-debuginfo-2.2.15-1.fc13.x86_64.rpm
7/14 - iptables-ipv6-1.4.5-1.fc12.x86_64.rpm
8/14 - dhcp_probe-debuginfo-1.3.0-4.fc13.x86_64.rpm
9/14 - iptables-devel-1.4.5-1.fc12.x86_64.rpm
10/14 - dhcp_probe-debuginfo-1.3.0-3.fc13.x86_64.rpm
11/14 - dhcp_probe-1.3.0-3.fc13.x86_64.rpm
12/14 - dhcp_probe-debuginfo-1.3.0-1.fc13.x86_64.rpm
13/14 - passenger-2.2.15-1.fc13.x86_64.rpm
14/14 - iptables-1.4.5-1.fc12.x86_64.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Starting other db creation: Sun Aug 15 07:52:45 2010
Ending other db creation: Sun Aug 15 07:52:46 2010
Starting filelists db creation: Sun Aug 15 07:52:46 2010
Ending filelists db creation: Sun Aug 15 07:52:46 2010
Starting primary db creation: Sun Aug 15 07:52:46 2010
Ending primary db creation: Sun Aug 15 07:52:48 2010
Sqlite DBs complete
Ahora es posible ejecutar el comando repoview
con éxito, abajo un ejemplo simple.
# repoview --title "rubyera repo for F13 x86_64" /var/www/html/x86_64
Examining repository...done
Opening primary database...done
Opening changelogs database...done
Parsing comps.xml...done
Examining state db...done
Collecting letters...done
Writing package dhcp_probe.html
Writing package passenger.html
Writing group rubyera.group.html
Writing package dhcp_probe-debuginfo.html
Writing package passenger-debuginfo.html
Writing group rubyera-debuginfo.group.html
Writing group letter_d.group.html
Writing package iptables.html
Writing package iptables-debuginfo.html
Writing package iptables-devel.html
Writing package iptables-ipv6.html
Writing group letter_i.group.html
Writing group letter_p.group.html
Writing package rubygem-pg.html
Writing group letter_r.group.html
Collecting latest packages...done
Writing index.html...done
# ls
comps.xml
dhcp_probe-1.3.0-2.fc13.x86_64.rpm
...
passenger-2.2.15-1.fc13.x86_64.rpm
repodata
repoview << directorio nuevo
rubygem-pg-0.9.0-1.fc13.x86_64.rpm
Apuntando un explorador web al archivo /var/www/httml/x86_64/repoview/index.html
podrá obtener un resultado visual similar al siguiente.