]> git.decadent.org.uk Git - dak.git/blob - docs/README.first
Merge commit 'lamby/master' into merge
[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 make-suite-file-list - generates file lists for apt-ftparchive
29                                and removes obsolete packages from
30                                suites 
31   * dak generate-releases - generates Release
32
33 o To clean things up:
34
35   * dak clean-suites - to remove obsolete files from the pool
36   * dak clean-queues - to remove obsolete/stray files from the queue
37   * dak rm - to remove package(s) from suite(s)
38   * dak override - to change individual override entries
39
40 o Information display:
41
42   * dak ls - shows information about package(s)
43   * dak queue-report - shows information about package(s) in queue/
44   * dak override - can show you individual override entries
45
46 Generic and useful, but only for those with existing archives
47 -------------------------------------------------------------
48
49 o dak poolize - migrates packages from legacy locations to the pool
50 o dak init-archive - initializes a projectb database from an exisiting archive
51
52 Generic but not overly useful (in normal use)
53 ---------------------------------------------
54
55 o dak dot-dak-decode - dumps info in .dak files
56 o dak import-users-from-passwd - sync PostgreSQL users with system users
57 o dak cruft-report - check for obsolete or duplicated packages
58 o dak init-dirs - directory creation in the initial setup of an archive
59 o dak check-archive - various sanity checks of the database and archive
60 o dak control-overrides - manpiulates/list override entries
61 o dak control-suite - removes/adds/lists package(s) from/to/for a suite
62 o dak stats - produces various statistics
63 o dak find-null-maintainers - checks for users with no packages in the archive
64
65 Semi-generic
66 ------------
67
68 To generate less-used indices files:
69
70 o dak make-maintainers - generates Maintainers file used by, e.g. debbugs
71 o dak make-overrides  - generates override.<foo> files
72
73 Mostly Debian(.org) specific
74 ----------------------------
75
76 o dak security-install - wrapper for Debian security team
77 o dak clean-proposed-updates - removes obsolete .changes files from proposed-updates
78 o dak check-proposed-updates - basic dependency checking for proposed-updates
79 o dak reject-proposed-updates - manually reject packages from proposed-updates
80 o dak import-ldap-fingerprints - syncs fingerprint and uid information with a debian.org LDAP DB
81
82 Very Incomplete or otherwise not generally useful
83 -------------------------------------------------
84
85 o dak init-db - currently only initializes a DB from a dak.conf config file
86 o dak compare-suites - looks for version descrepancies that shouldn't exist in many
87                        archives
88 o dak check-overrides - override cruft checker that doesn't work well with New Incoming
89
90 Scripts invoked by other scripts
91 --------------------------------
92
93 o dak examine-package - invoked by 'dak process-new' to "check" NEW packages
94 o dak symlink-dists - invoked by 'dak poolize' to determine packages still in legacy locations
95
96                         How do I get started?
97                         =====================
98
99 [Very incomplete - FIXME]
100
101 o Write your own dak.conf and apt.conf files.  dak looks for those
102   config files in /etc/dak/.  /etc/dak/dak.conf can define
103   alternative configuration files with Config::host::DakConfig and
104   Config::host::AptConfig (where "host" is the fully qualified domain
105   name of your machine).
106 o Create a PostgreSQL database on the host given in dak.conf's DB::Host
107   with the name specified in DB::Name.
108 o Run 'dak init-dirs': this will create all directories which are specified in
109   dak.conf and apt.conf.
110 o If you have an existing archive:
111    * Run 'dak init-archive'
112   otherwise:
113    * Create the table structure.  init_pool.sql contains all SQL statements
114      which are needed for this.  After changing all occurences of "projectb"
115      to the name of your database (as defined in DB::Name) you can run:
116          psql <DB::Name> < init_pool.sql
117    * Create the following groups in postgres: ftpmaster ftpteam ftptrainee
118    * Run 'dak update-db' to upgrade the database schema.
119    * Run 'dak init-db': it will populate your database with the values from
120      dak.conf and apt.conf.
121    * Run 'psql <DB::Name> < add_constraints.sql'.
122 o Copy all templates from the "templates" directory to to the directory
123   specified in Dir::Templates, and adapt them to your distribution.
124