]> git.donarmstrong.com Git - dak.git/blobdiff - setup/README
Call dak admin s-c in example install instructions
[dak.git] / setup / README
index 08f5c14fddad26d67c33113711a8663058bda32d..32d007a7cd6262cc91e96d9355485351c2498109 100644 (file)
@@ -2,14 +2,14 @@ Initialising a dak database schema
 ==================================
 
 The following packages are needed for the database:
- * postgresql-9.0 postgresql-client-9.0 postgresql-plperl-9.0 postgresql-plpython-9.0 postgresql-9.0-debversion 
+ * postgresql-9.1 postgresql-client-9.1 postgresql-9.1-debversion
 and the following packages for dak itself:
  * python-psycopg2 python-sqlalchemy python-apt gnupg dpkg-dev lintian
    binutils-multiarch python-yaml less python-ldap python-pyrss2gen python-rrdtool
    symlinks python-debian
 
-(the schema assumes at least postgresql 9.0; ftpmaster in Debian currently uses
-the squeeze postgresql 9.0 backport)
+(the schema assumes at least postgresql 9.1; ftpmaster in Debian currently uses
+the squeeze postgresql 9.1 backport)
 
 The following roles are assumed to exist:
  * dak: database superuser: needs to be an actual user
@@ -19,10 +19,21 @@ The following roles are assumed to exist:
 
 For the purposes of this document, we'll be working in /srv/dak
 
-Set up the dak user on both the system and in postgres:
+Set up the dak user:
 # sudo addgroup --system ftpmaster
 # sudo adduser --system dak --ingroup ftpmaster --shell /bin/bash
-# sudo -u postgres createuser -s dak
+
+Create postgres roles and database:
+# sudo -u postgres psql
+  CREATE USER dak CREATEROLE;
+  CREATE ROLE ftpmaster WITH ROLE dak;
+  CREATE ROLE ftpteam WITH ROLE ftpmaster;
+  CREATE ROLE ftptrainee WITH ROLE ftpmaster, ftpteam;
+
+  CREATE DATABASE projectb WITH OWNER dak TEMPLATE template0 ENCODING 'SQL_ASCII';
+  \c projectb
+  CREATE EXTENSION IF NOT EXISTS plpgsql;
+  CREATE EXTENSION IF NOT EXISTS debversion;
 
 Set up the dak directory:
 # sudo mkdir /etc/dak
@@ -37,14 +48,6 @@ Create a symlink to /srv/dak/dak.conf in /etc/dak
 Become the dak user:
 # sudo -u dak -s -H
 
-Create the additional roles:
-# createuser -S -R -D ftpmaster
-# createuser -S -R -D ftpteam
-# createuser -S -R -D ftptrainee
-
-Create an empty database with SQL_ASCII encoding:
-# createdb -T template0 -E SQL_ASCII -O dak projectb
-
 Import the schema.  We redirect STDOUT to /dev/null as otherwise it's
 impossible to see if something fails.
 # psql -1 -f current_schema.sql -d projectb >/dev/null
@@ -97,6 +100,9 @@ Add a suite (origin=, label= and codename= are optional)
 signingkey= will ensure that Release files are signed
 # dak admin suite add-all-arches unstable x.y.z origin=MyDistro label=Master codename=sid signingkey=DDDDDDDD
 
+Add the components to the suite
+# dak admin s-c add unstable main contrib non-free
+
 Re-run dak init-dirs to add new suite directories to /srv/dak
 # dak init-dirs
 
@@ -170,35 +176,14 @@ Add overrides, Edit overrides, Check, Manual reject, Note edit, Prod, [S]kip, Qu
 ACCEPT
 -----------------------------------------------------------------------
 
-At this stage, the package has been ACCEPTed from NEW into NEWSTAGE.
-We now need to finally ACCEPT it into the pool:
+At this stage, the package has been marked as ACCEPTed from NEW.
+We now need to process the NEW policy queue:
 
-# cd /srv/dak/queue/newstage
-# dak process-upload *.changes
+# dak process-policy new
 
 -----------------------------------------------------------------------
-hello_2.6-1_amd64.changes
-ACCEPT
-
-
-hello_2.6-1.debian.tar.gz
-  to main/h/hello/hello_2.6-1.debian.tar.gz
-hello_2.6-1.dsc
-  to main/h/hello/hello_2.6-1.dsc
-hello_2.6-1_amd64.deb
-  to main/h/hello/hello_2.6-1_amd64.deb
-hello_2.6.orig.tar.gz
-  to main/h/hello/hello_2.6.orig.tar.gz
-
-
-Override entries for your package:
-hello_2.6-1.dsc - optional devel
-hello_2.6-1_amd64.deb - optional devel
-
-Announcing to debian-devel-changes@lists.debian.org
-[A]ccept, Skip, Quit ?A
-Installing.
-Installed 1 package set, 646 KB.
+Processing changes file: hello_2.6-1_amd64.changes
+  ACCEPT
 -----------------------------------------------------------------------
 
 We can now see that dak knows about the package: