diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-26 16:38:00 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-26 16:38:00 -0400 |
| commit | 97d5c458cfa039d857301e1ca7d5af3beb37131d (patch) | |
| tree | b460cd850d0537eb71806ba30358840377b27688 /static/unix-v10/man8/asd.8 | |
| parent | b89dc2331a50c63f8b33272a5c4c61ab98abdaa3 (diff) | |
build: Better Build System
Diffstat (limited to 'static/unix-v10/man8/asd.8')
| -rw-r--r-- | static/unix-v10/man8/asd.8 | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/static/unix-v10/man8/asd.8 b/static/unix-v10/man8/asd.8 new file mode 100644 index 00000000..1bf1ff51 --- /dev/null +++ b/static/unix-v10/man8/asd.8 @@ -0,0 +1,174 @@ +.TH ASD 8 +.CT 1 sa_auto +.SH NAME +asd \- automatic software distribution +.SH SYNOPSIS +.B /usr/lib/asd/cdaemon +.br +.B /usr/lib/asd/dkinstall +.br +.B /usr/lib/asd/mkspool +.br +.B /usr/lib/asd/rmlocks +.br +.B /usr/lib/asd/udaemon +.SH DESCRIPTION +These programs constitute the innards of the +automatic software distribution system +invoked by +.IR ship (8). +.PP +.I Mkspool +creates an +.SM ASD +spool directory for its invoker (if necessary), +puts a file named +.F dummy +in the directory to prevent +.I cdaemon +from deleting it, +and prints the directory's name. +.PP +.I Udaemon +examines its invoker's +.SM ASD +spool directory in lexical order +for things to do. +To forestall multiple daemons, it first makes an empty file named +.BI L. pid +in the spool directory +and tries to link to it a file +.FR lock . +If the link fails, +.BI L. pid +is removed and +.I udaemon +exits. +.PP +Shipping instructions +appear in pairs of files with +.B .s +and +.B .d +suffixes. +.I Udaemon +examines each status +.RB ( .s ) +file for destination names and +places a network call +to send the corresponding data +.RB ( .d ) +file to +.I dkinstall +at each destination. +.I Dkinstall +verifies the data +and gives it to +.IR inspkg , +see +.IR mkpkg (8). +.PP +A status file contains +zero or more entries, +each of which has one or more lines. +The first line of an entry is a +network address, +with default network +.B dk +and default service +.BR asd , +possibly followed by a blank and a failure report. +An entry with destination +.L # +is a comment and is ignored. +Lines after the first begin with +a tab, +and contain output generated by the entry. +If an entry has output, +it is considered complete +and will be processed no further. +.PP +.I Udaemon +scans each status file once, +and attempts to send the corresponding data file to the destination +for each incomplete entry. +If the attempt fails, +a failure report is appended to the entry, +and it remains incomplete. +If the attempt succeeds, +or the failure is severe, +an error message +or output from +.I dkinstall +is appended to the entry, +which makes the entry complete. +If an entry is completed successfully +but there are no output lines, +the entry is deleted. +.PP +Each instance of +.I udaemon +remembers which network addresses failed with non-severe errors; +entries with the same address in later status files +are given failure status `deferred for sequence.' +.PP +If at least one additional entry was completed, +.I udaemon +sends the new status file to the owner by +.IR mail (1) +after the whole file has been scanned. +If no incomplete entries remain, +both status and data files are removed. +.PP +.I Cdaemon +examines every subdirectory of +.FR /usr/spool/asd , +deletes empty directories and, impersonating the owner, +invokes +.I udaemon +for nonempty directories. +.I Cdaemon +should be run regularly by +.IR cron (8) +with super-user permissions. +.PP +.IR Rmlocks +removes all lock files in +subdirectories of +.FR /usr/spool/asd . +It should be called from +.IR rc (8). +.PP +Entries in an +.SM ASD +spool directory may be made without regard to locks +provided that everything is done in the right +sequence: +(1) call +.IR mkspool ; +(2) create the data file; +(3) create the status file under a temporary name; +(4) rename the status file to end with +.BR .s ; +(5) remove the +.F dummy +file, if present; and +(6) call +.IR udaemon . +.PP +Because +.I mail +will not send an empty file, +a status file must have a comment entry if +acknowledgment is desired after a +successful +.I udaemon +run. +.SH FILES +.BI /usr/spool/asd/ "userid " +user's +.SM ASD +spool directory +.SH SEE ALSO +.IR mkpkg (8), +.IR ship (8) |
