]> git.decadent.org.uk Git - dak.git/blob - docs/README.first
daklib/policy.py: also import Suite from daklib.dbconn
[dak.git] / docs / README.first
1                                 Notes
2                                 =====
3
4 o Please be careful: dak sends out lots of emails and if not
5   configured properly will happily send them to lots of people who
6   probably didn't want those emails.
7
8 o Don't use the debian dak.conf, apt.conf, cron.* etc. as starting
9   points for your own configuration files, they're highly Debian
10   specific.  Start from scratch and refer to the security.debian.org
11   config files (-security) as they're a better example for a private
12   archive.
13
14                     What do all these scripts do?
15                     =============================
16
17 Generic and generally useful
18 ----------------------------
19
20 o To process queue/:
21
22   * dak process-unchecked - processes queue/unchecked
23   * dak process-accepted - move files from queue/accepted into the pool (and database)
24   * dak process-new - allows ftp administrator to processes queue/new and queue/byhand
25
26 o To generate indices files:
27
28   * dak dominate          - removes obsolete packages from suites
29   * dak generate-filelist - generates file lists for apt-ftparchive
30   * dak generate-releases - generates Release
31
32 o To clean things up:
33
34   * dak clean-suites - to remove obsolete files from the pool
35   * dak clean-queues - to remove obsolete/stray files from the queue
36   * dak rm - to remove package(s) from suite(s)
37   * dak override - to change individual override entries
38
39 o Information display:
40
41   * dak ls - shows information about package(s)
42   * dak queue-report - shows information about package(s) in queue/
43   * dak override - can show you individual override entries
44   * dak graph - creates some pretty graphs of queue sizes over time
45
46 Generic and useful, but only for those with existing archives
47 -------------------------------------------------------------
48
49 o dak init-archive - initializes a projectb database from an exisiting archive
50
51 Generic but not overly useful (in normal use)
52 ---------------------------------------------
53
54 o dak dot-dak-decode - dumps info in .dak files
55 o dak import-users-from-passwd - sync PostgreSQL users with system users
56 o dak cruft-report - check for obsolete or duplicated packages
57 o dak init-dirs - directory creation in the initial setup of an archive
58 o dak check-archive - various sanity checks of the database and archive
59 o dak control-overrides - manpiulates/list override entries
60 o dak control-suite - removes/adds/lists package(s) from/to/for a suite
61 o dak stats - produces various statistics
62 o dak find-null-maintainers - checks for users with no packages in the archive
63
64 Semi-generic
65 ------------
66
67 To generate less-used indices files:
68
69 o dak make-maintainers - generates Maintainers file used by, e.g. debbugs
70 o dak make-overrides  - generates override.<foo> files
71
72 Mostly Debian(.org) specific
73 ----------------------------
74
75 o dak security-install - wrapper for Debian security team
76 o dak import-ldap-fingerprints - syncs fingerprint and uid information with a debian.org LDAP DB
77
78 Very Incomplete or otherwise not generally useful
79 -------------------------------------------------
80
81 o dak init-db - currently only initializes a DB from a dak.conf config file
82 o dak compare-suites - looks for version descrepancies that shouldn't exist in many
83                        archives
84 o dak check-overrides - override cruft checker that doesn't work well with New Incoming
85
86 Scripts invoked by other scripts
87 --------------------------------
88
89 o dak examine-package - invoked by 'dak process-new' to "check" NEW packages
90
91                         How do I get started?
92                         =====================
93
94 [Very incomplete - FIXME]
95
96 o Write your own dak.conf and apt.conf files.  dak looks for those
97   config files in /etc/dak/.  /etc/dak/dak.conf can define
98   alternative configuration files with Config::host::DakConfig and
99   Config::host::AptConfig (where "host" is the fully qualified domain
100   name of your machine).
101 o Create a PostgreSQL database on the host given in dak.conf's DB::Host
102   with the name specified in DB::Name.
103 o Run 'dak init-dirs': this will create all directories which are specified in
104   dak.conf and apt.conf.
105 o If you have an existing archive:
106    * Run 'dak init-archive'
107   otherwise:
108    * Create the table structure.  init_pool.sql contains all SQL statements
109      which are needed for this.  After changing all occurences of "projectb"
110      to the name of your database (as defined in DB::Name) you can run:
111          psql <DB::Name> < init_pool.sql
112    * Create the following groups in postgres: ftpmaster ftpteam ftptrainee
113    * Run 'dak update-db' to upgrade the database schema.
114    * Run 'dak init-db': it will populate your database with the values from
115      dak.conf and apt.conf.
116    * Run 'psql <DB::Name> < add_constraints.sql'.
117 o Copy all templates from the "templates" directory to to the directory
118   specified in Dir::Templates, and adapt them to your distribution.
119