X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=setup%2FREADME;h=32d007a7cd6262cc91e96d9355485351c2498109;hb=c7c33ad0b0b5cb1a52fb13c491d59ac7c97cd9ef;hp=08f5c14fddad26d67c33113711a8663058bda32d;hpb=652eeb75bda2f7b2436e7e1333ddc61cf2b00c52;p=dak.git diff --git a/setup/README b/setup/README index 08f5c14f..32d007a7 100644 --- a/setup/README +++ b/setup/README @@ -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: