]> git.decadent.org.uk Git - dak.git/blob - docs/README.first
Merge branch 'dbtests' of ftp-master.debian.org:public_html/dak into dbtests
[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
45 Generic and useful, but only for those with existing archives
46 -------------------------------------------------------------
47
48 o dak poolize - migrates packages from legacy locations to the pool
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 clean-proposed-updates - removes obsolete .changes files from proposed-updates
77 o dak check-proposed-updates - basic dependency checking for proposed-updates
78 o dak reject-proposed-updates - manually reject packages from proposed-updates
79 o dak import-ldap-fingerprints - syncs fingerprint and uid information with a debian.org LDAP DB
80
81 Very Incomplete or otherwise not generally useful
82 -------------------------------------------------
83
84 o dak init-db - currently only initializes a DB from a dak.conf config file
85 o dak compare-suites - looks for version descrepancies that shouldn't exist in many
86                        archives
87 o dak check-overrides - override cruft checker that doesn't work well with New Incoming
88
89 Scripts invoked by other scripts
90 --------------------------------
91
92 o dak examine-package - invoked by 'dak process-new' to "check" NEW packages
93 o dak symlink-dists - invoked by 'dak poolize' to determine packages still in legacy locations
94
95                         How do I get started?
96                         =====================
97
98 [Very incomplete - FIXME]
99
100 o Write your own dak.conf and apt.conf files.  dak looks for those
101   config files in /etc/dak/.  /etc/dak/dak.conf can define
102   alternative configuration files with Config::host::DakConfig and
103   Config::host::AptConfig (where "host" is the fully qualified domain
104   name of your machine).
105 o Create a PostgreSQL database on the host given in dak.conf's DB::Host
106   with the name specified in DB::Name.
107 o Run 'dak init-dirs': this will create all directories which are specified in
108   dak.conf and apt.conf.
109 o If you have an existing archive:
110    * Run 'dak init-archive'
111   otherwise:
112    * Create the table structure.  init_pool.sql contains all SQL statements
113      which are needed for this.  After changing all occurences of "projectb"
114      to the name of your database (as defined in DB::Name) you can run:
115          psql <DB::Name> < init_pool.sql
116    * Create the following groups in postgres: ftpmaster ftpteam ftptrainee
117    * Run 'dak update-db' to upgrade the database schema.
118    * Run 'dak init-db': it will populate your database with the values from
119      dak.conf and apt.conf.
120    * Run 'psql <DB::Name> < add_constraints.sql'.
121 o Copy all templates from the "templates" directory to to the directory
122   specified in Dir::Templates, and adapt them to your distribution.
123