summaryrefslogtreecommitdiff
path: root/README.md
blob: 58e3bc08a286e0117e0eeeb4adc72215f3c94ad5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
This repository contains 4 things:

 1. Information about Parabola contributors
 2. `Makefile` and `bin/`: tools for working with that information
 3. `misc/git-shell-commands`: for use with git-shell
 4. `misc/git-hooks`: git hooks

Honestly, the latter two probably don't belong, but they've always
been in this repository, so I didn't want to just delete them.  If you
remove git-shell-hooks in the future, be warned that
/srv/git/git-shell-commands is currently a symlink to there; you'll
want to change that.

Adding users
============

Users ("hackers") are added by creating a file in the `users/`
directory.  The file should be named `users/${UID}.yml` where UID is
the numeric POSIX user ID for that user.  See
`bin/meta-normalize-stdio` for a listing of all the properties you can
put in the users file; or look at the existing files as examples.

To add a profile image of a user, add it to the `dev-imgs/` folder.

Images in `dev-imgs/`:
 - MUST be named `${username}.png`
 - SHOULD be 125x125 px
 - SHOULD be run through pngcrush

The files in `bin/` are configured with `cfg_*` variables at the top
of each file.

Using the tools (make)
======================

There are 4 `make` targets of interest: `pacman-keyring`, `dist`,
`upload` and `postfix-virtual-map`. `make [all]` makes `pacman-keyring`
and`postfix-virtual-map`. The output goes in
`output/{pacman-keyring,postfix-virtual-map}` respectively.

`pacman-keyring` makes the Pacman keyring that we package up as the
`parabola-keyring` package.

`dist` makes the `parabola-keyring` tarball.

`upload` makes the uploading of `parabola-keyring` tarball to the server.

`postfix-virtual-map` makes a map for postfix email aliases we provide
to our developers.

Using the tools (scripts)
=========================

Most of the scripts assume that the current directory is the root of
this repository.

The most important 3 scripts are:

 - `meta-check`: sanity-check the user data
 - `meta-normalize-stdio`: normalize a user YAML file
 - `ssh-list-authorized-keys`: configure sshd to use this for
   AuthorizedKeysCommand to have it get SSH keys directly from the
   user data here

The others are all used by `make`.