Translation(s): English - Italiano
UDD (Ultimate Debian Database, Database Debian Definitivo) raccoglie molti dati su vari aspetti di Debian in un unico database SQL; permette agli utenti di accedere facilmente a questi dati e di combinarli.
I dati attualmente importati includono: file Packages e Sources, da Debian e Ubuntu; bug dal BTS Debian; dati dal Popularity contest; cronologia dei pacchetti caricati; cronologia dei pacchetti migrati in testing; Lintian; pacchetti diventati orfani; Carnivore; DebTag; bug da Ubuntu (da Launchpad); pacchetti nella coda dei NUOVI pacchetti; traduzioni del DDTP.
Alcune interrogazioni d'esempio sono fornite in forma di script CGI, per rendere facile a chiunque la loro esecuzione. È possibile scorrerle o vedere il codice sorgente.
Schema del database: http://udd.debian.org/schema/
Codice sorgente: disponibile nel repository git del progetto collab-qa su http://anonscm.debian.org/gitweb/?p=collab-qa/udd.git;a=summary
Server di database: viene eseguito su postgres con plperl e postgresql-debversion.
- Servizi basati su UDD:
Ricerca di bug: motore di ricerca in base a più criteri per i bug
Usertag dei bug: ricerca etichette utente nei bug
Statistiche Sponsor: dà alcune statistiche riguardo a chi sta facendo da sponsor per i caricamenti in Debian
Bapase: permette di cercare pacchetti "interessanti" usando vari criteri
Per maggiori informazioni prendere contatti su #debian-qa o in debian-qa@lists.debian.org (mailing-list iscrizione ed archivi).
Connettersi a UDD e usarlo
udd.debian.org gira su ullmann.debian.org. Accetta connessioni dirette con SSL da quantz (qa) e moszumanska (alioth).
- riga di comando:
psql service=udd
oppure: psql -U guest -h udd.debian.org -p 5452 udd
Python:
import psycopg2 conn = psycopg2.connect("service=udd") cursor = conn.cursor() cursor.execute("SELECT count(*) from sources where release='sid'") print cursor.fetchall()[0][0]
Ruby (DBI): require 'dbi' ; dbh = DBI::connect('DBI:Pg:dbname=udd;port=5452;host=udd.debian.org', 'guest')
Ruby (PG): require 'pg'; conn = PG.connect({:host => 'udd.debian.org', :port => 5452, :user => 'guest', :dbname => 'udd'})
Se si vuole sapere precisamente quando viene aggiornata una specifica fonte di dati, si può guardare il file crontab. La tabella delle marcature orarie può dire quando è stata l'ultima volta che è stata aggiornata una fonte di dati.
Migliorare l'UDD
Se si desidera aiutare a migliorare l'UDD, si può configurare una propria istanza come descritto in UltimateDebianDatabase/Hacking. Si possono segnalare bug relativi al pseudo-pacchetto qa.debian.org, usando l'etichetta utente udd e utente qa.debian.org@packages.debian.org. (elenco dei bug)
Riconoscimenti
UDD è nato come progetto Google Summer of Code di Christian von Essen (Neronus), con il mentoring di Lucas Nussbaum, Stefano Zacchiroli e Marc 'HE' Brockschmidt. È ora mantenuto principalmente da Lucas Nussbaum, con l'aiuto di altri.
Altre risorse
Diapositive da una presentazione in inglese su UDD a Debconf9
Dump completo del database generato ogni due giorni. (780 MB e in continua crescita)
Vedere anche:
Riferimenti
Anche se il suo scopo principale non era quello di essere uno strumento di ricerca scientifica, UDD è stato già inserito in due pubblicazioni:
Lucas Nussbaum e Stefano Zacchiroli. The Ultimate Debian Database: Consolidating Bazaar Metadata for Quality Assurance and Data Mining. 7th IEEE Working Conference on Mining Software Repositories (MSR'2010) Articolo - Diapositive - HAL
Julius Davies, Hanyu Zhang, Lucas Nussbaum e Daniel M. German.Perspectives on Bugs in the Debian Bug Tracking System 7th IEEE Working Conference on Mining Software Repositories (MSR'2010): Mining Challenge Articolo - Diapositive- HAL
Sotto-pagine