Differences between revisions 80 and 81
Revision 80 as of 2007-11-22 12:25:04
Size: 10448
Editor: HolgerLevsen
Revision 81 as of 2007-11-22 12:37:45
Size: 10253
Editor: HolgerLevsen
Comment: proper formatting while waiting for dinstall to finish :)
Deletions are marked like this. Additions are marked like this.
Line 53: Line 53:
'''this needs to be formatted properly...'''
<white> h01ger: basically, i always deactivate the cronjobs

in /etc/cron.d/dak

<white> h01ger: then copy the katie.conf file away
<white> s/away/away as in safe it/

/opt/dak/katie/katie.conf that is

<white> h01ger: then remove the "Untouchable" line for the etch suite in katie.conf

then move the package as usual

<white> h01ger: and then run dinstall (before that, i do all the steps you have done)


<white> h01ger: afterwards, i copy the old katie.conf back (with the untouchable line) and activate the cronjobs again, after i ran a dinstall and several checks on the archive
<h01ger> right, "untouchable"... there was something...
<h01ger> white, can you please update http://wiki.debian.org/DebianEdu/HowTo/Ftpmaster and describe howto do it right?! ;)
<white> and then i check and make sure that i did not break anything (not that there is any danger, but it is still touching the stable pool)
 1. deactivate the cronjobs, {{{vi /etc/cron.d/dak}}}
 1. then copy the katie.conf file away: {{{cp /opt/dak/katie/katie.conf /opt/dak/katie/katie.conf.bak}}}
 1. then remove the "Untouchable" line for the etch suite in katie.conf, {{{vi /opt/dak/katie/katie.conf}}}
 1. then move the package as usual (after checking, etc.)
 1. then run dinstall: {{{/opt/dak/cron/dinstall}}}
 1. then copy the old katie.conf back (with the untouchable line), {{{mv /opt/dak/katie/katie.conf.bak /opt/dak/katie/katie.conf}}}
 1. run several checks on the archive, like how (FIXME)? {{{madison $package}}}
 1. and activate the cronjobs again, {{{vi /etc/cron.d/dak}}}
 1. and then i check and make sure that i did not break anything (not that there is any danger, but it is still touching the stable pool) - how? FIXME


The dak system is located on administrator.skolelinux.no - see the [http://ftp.skolelinux.org/skolelinux/needs_love.html current status] here, and the [http://ftp.skolelinux.org/skolelinux/new.html new queue] there.

After you logged in on a.s.n. you have to become the katie user. If you are a ftpmaster you can use the command "sudo -u katie bash" Now you are the debadmin user and have access to the archive system.


If it is neccessary to change a config file or a script under bin, cron or katie you have to change them first and then call "cvs diff" and "cvs commit".

NEW Handling:

One of the most important jobs of the ftpmaster is to handle the NEW queue. The NEW queue are packages which are signed by a Debian-Edu Developer and passed the key check. So you don't need to check if the signature is valid or not.

The ftpmaster's task is to check the package if it is ready for Debian-Edu or not. To get a checklist you can use the Debian-Edu Archive Policy and check if it passes all points.

First change into the directory /org/ftp.skolelinux.org/queue/new/ There you find the packages. After you have checked the package you have to run "../../katie/bin/lisa package_xxx-x_arch.changes"

Then you can type "c" and check some important points of the packages again. After you made your decision you can either accept or reject the package.

To accept it as it is (means no changes to maintainers suggestion for override) just type "e" and change the "Section" into "local/section" where "section" is the old one, e.g. admin, debian-installer, misc, ... . Then go back and you will see the Accept opportunity and you can type "a" . Then the override file is changed. If you disagree to the maintainer and e.g. want to change the section field you can run "e". Then make your changes and the package is accepted.

If you want to reject the package type "m". Then you get a text editor (vim) and can describe the reason there. In case of rejection please use the following template form:

Hi Maintainer, ...

... reason ...
rejected for now.

At the end of the rejection message lisa will automatically insert the text from the template which can be found under "/org/ftp.skolelinux.org/katie/templates/katie.rejected" Please do not edit the template.

If you accidently rejected a package, you can just move all files (except *.reason) from ./reject to ./unchecked.

Moving packages to other distributions

Packages should be uploaded to etch-test for now. After they have been there for a while, and the maintainer and/or ftpmaster deceided to move it to etch, the ftpmasters need to move them by hand. This is to make sure only stable and good packages end up in etch. The command to be executed is as follows

/org/ftp.skolelinux.org/bin/katha -s etch-test package-name

Don't wory about packages that are uploaded with distribution etch in their changelog, they will end up in etch-test first. :-)

package-name is the name of the source package. katha then moves all binary packages built from this source package.

when $suite is untouchable

  1. deactivate the cronjobs, vi /etc/cron.d/dak

  2. then copy the katie.conf file away: cp /opt/dak/katie/katie.conf /opt/dak/katie/katie.conf.bak

  3. then remove the "Untouchable" line for the etch suite in katie.conf, vi /opt/dak/katie/katie.conf

  4. then move the package as usual (after checking, etc.)
  5. then run dinstall: /opt/dak/cron/dinstall

  6. then copy the old katie.conf back (with the untouchable line), mv /opt/dak/katie/katie.conf.bak /opt/dak/katie/katie.conf

  7. run several checks on the archive, like how (FIXME)? madison $package

  8. and activate the cronjobs again, vi /etc/cron.d/dak

  9. and then i check and make sure that i did not break anything (not that there is any danger, but it is still touching the stable pool) - how? FIXME

removing packages

to remove packages from the archive: melanie -C $recipient_email -R -s etch-test $sourcepackage (or "dak rm $package" once we switched)

about the -R and -s $suite options: read the manpage :)

to remove packages from queue/unchecked (for example, because they were rejected, because the key is not in the keyring): just rm them!

If you want/need to use rene, dont use rene in path but the one in /org/ftp.skolelinux.org/katie/bin/

Steffen also told us on IRC that we should remove the appropriate .changes file from the done-directory, then run a dinstall and then probably remove the files manually after removing a package with the dak commands. And in the end we of course should check everything :)

http://folk.uio.no/werner/ftpmaster_remove_slbackup-php.html has a transcript of a complete removal session.

New Accounts:

Please note that only drift@skolelinux.org decides to give someone account rights! [http://wiki.debian.org/DebianEdu/NewContributor New contributors] should read this first. If drift writes a mail to ftpmasters and tells them that a new Uploader needs an account for upload rights the ftpmaster need the gpg-key from the new Uploader. For that purpose please write the new Uploader direclty and ask after a mail or get the key id and fingerprint from drift@skolelinux.org.

If the ftpmasters are instructed to create an account they can follow this procedure:

After login on administrator.skolelinux.no they have to become katie user ("sudo -u katie bash"). After that they should set the environment variable HOME by typing "export HOME=/var/lib/dak" . Then they can use the command: "/org/ftp.skolelinux.org/bin/sabine -k keyid"

Now you have to whitelist the uploaders email-address: checkout dak-config via cvs from /org/ftp.skolelinux.org/cvsroot and edit mail-whitelist and commit it with "cvs ci mail-whitelist". Now cd to /org/ftp.skolelinux.org/katie/ and do "cvs up". Please make sure that you use an up to date cvs working copy before editing the file, to prevent conflicts at commit.

After that the new account is ready to be used and the new Uploader will get a mail which informs about it and explains some configuration steps for dput/dupload. Please add the name of the Uploader to the Uploaders-list which can be found under: http://wiki.debian.org/DebianEdu/Uploaders

What does each script do


  • Katie is just de username under which these scripts run, also see /org/ftp.sk.../cron/
  • melanie: removes packages
  • madison - shows which suites/archs a package is in
  • heidi - list packages in suite and moves/copies packages between suites (requires complicated madison-format syntax..)
  • katha - easy frontend for heidi / madison
  • Sabine Specific to Debian-edu
    • adds user to keyring and thus gives upload rights for edu-DDs
      • Replaces Emilie in this setup Restricted access (peter and bana) Usage:

        set the $HOME variable to /var/lib/dak, then sabina -k keyid -> sends email with info on upload rights and conf

  • Jennifer run by /cron/unchecked, does the checks for ../unchecked
  • Helena reports by email what's in new or helena -n  gives html output of new (similar to the NEW normal debian thingy) - helena is also run by katies cronjobs

  • lisa is doing new processing and needs to be run manually (after helena mails)
    • (cd $new ; lisa *.changes)
  • kelly - installs packages into the pool
  • jenna - generates lists of files in suites which are then fed to apt-ftparchive
  • ziyi - creates Release files
  • rhona + shania (ignore for now, cleanup stuff)
  • rene: sometimes needs to be run manually to check for obsolete packages (run daily via cron)
  • pgdump (backup the database)
  • Rose - Directory creation
    • reads katie.conf and apt.conf used to add more suits
  • Neve - Database creation
    • only at installation, it drops dtabase (postgresql) super user privileges (from stdin to databases)
  • Billy (not yet needed)
  • Emilie (not used in Debian-edu)
    • GPG signatures checking and put the in the DB (use restricted)
  • Britney is for testing transition in Debian archive (not used in Debian-edu)

(We will upgrade to the new dak version without those scripts after the etch release.)

dak directory layout

  • /org/ftp.skole..../queue
    • /unchecked -> public incoming dir, cronjob

      • (/cron/unchecked) looks at the changes file -> to new, accepted, rejected...


      /accepeted -> REPORT -> dinstall report /rejected /done -> after dinstall runs, changes files are here, the ret of the package goes to the pool

      -> REPORT -> file with logs on what happened


dinstall is run every 15min., looks for changes for in /accepted or (the manually to be created file /org/ftp.skolelinux.org/RUN-DINSTALL), then it creates a lockfile

you can't touch etch

After a release, suites are marked as "untouchable". In order to mark a suite untouchable, one of the ftpmasters adds the line "Untouchable "1";" to the end of the suite configuration in /org/ftp.skolelinux.org/katie/katie.conf . This tells dinstall to avoid touching the suite. If there is a need for a newer package, just uncomment the line from katie.conf and let the dinstall run.

TODO-List for ftpmasters:

  1. needs_love now compares our packages against those on security.debian.org, should it send a mail in case something is newer there?
  2. run make_summary from a svn checkout
  3. we need to implement the changes into katha so that also a specific package version can be choosen
  4. document execution-stay-off-time
  5. document installation/configuration on a.s.n
  6. pere asks: why is the email about the etch update listing one of the binary packages and not the source package? For example education-astronomy - can we change this with reasonable effort?
  7. upgrade to latest dak after etch release
    • we manually fixed /usr/bin/melanie in line 165 (python syntax bug)
  8. sign the md5sum files of the cd/dvd images