f55856e35caa2707c49a887a739267c456deb52f
[deb/packages.git] / README
1 README
2 ======
3
4 This README provides an overview over the source code.
5 For installation instructions see INSTALL.
6
7 Request
8 -------
9
10 What code gets executed for a request and in which order?
11 Perl modules referenced can be found under lib/
12
13        HTTP request
14              |
15              |
16       Apache rewrites       --        serves static files
17  (conf/apache.conf.sed.in)         (generated by cron script,
18              |                      or installed from static)
19              |
20      CGI/mod_perl wrapper
21     (cgi-bin/dispatcher.pl)
22              |
23              |
24       Request parsing
25     (Packages::Dispatcher)
26              |
27              |
28       Execute Action
29     (Packages::Do*::do_*,
30     uses data from files/)
31              |
32              |
33       generate Output
34      (Packages::Template,
35   uses templates under templates/<format>/)
36
37 Cron
38 ----
39
40 ./bin/daily executes scripts from cron.d/ with run-parts:
41 (these are mostly just wrappers for scripts from bin/)
42
43 010git                     -- pull changes from git
44 050checkinst               -- check if all needed packages are installed
45 100syncarchive             -- retrieve data from main Debian archive
46 100syncarchive_amd64       -- retrieve data from sarge amd64 archive
47 100syncarchive_backports   -- retrieve data from backports.org
48 100syncarchive_gnuab       -- retrieve data from gnuab (kfreebsd-*, armel)
49 100syncarchive_installer   -- retrieve d-i data
50 100syncarchive_m68k        -- retrieve data for etch-m68k
51 100syncarchive_maintainers -- retrieve maintainer index
52 100syncarchive_volatile    -- retrieve data from volatile.d.o
53 110debtags                 -- retrieve debtags vocabular
54 120synctrans               -- retrieve DDTP translations
55 200process_archive         -- convert all retrieved data to databases
56                               (see BACKEND)
57 300maintainerdb            -- create data for @packages.d.o aliases
58 400changelogs_map          -- create changelogs map (for changelog: shortcut)
59 500update_mo               -- update .pot and .po files and generate .gmo
60 600index_pages             -- create static index pages
61                               <suite>/, <suite>/<subsection>, and
62                               allpackages
63 600prepare_newpkg          -- prepare data for newpkg sites
64 700install_static          -- install data from static/ to www/
65
66 After that ./bin/daily runs ./bin/extract_changelogs to update
67 the changelogs in www/changelogs.
68
69 logs can be found in files/logs/{cron,changelogs,git}.log