1 | ================================================================================
|
---|
2 | Web Server Setup:
|
---|
3 | ================================================================================
|
---|
4 | Any web server that can serve files should work fine.
|
---|
5 | No special security settings should be required, as the sync script will only
|
---|
6 | copy the necessary package files.
|
---|
7 | Symlinks must be enabled for the Pacman repository, because they are used to
|
---|
8 | keep the size down (noarch packages are symlinked into both x86_64 and i686)
|
---|
9 |
|
---|
10 | ================================================================================
|
---|
11 | General:
|
---|
12 | ================================================================================
|
---|
13 | Contains scripts for generating a greenstone package repository.
|
---|
14 |
|
---|
15 | ./repos/
|
---|
16 | The generated root directory for the package repository files.
|
---|
17 | Contains all the files, including any databases necessary to maintain the
|
---|
18 | repository.
|
---|
19 |
|
---|
20 | ./conf.sh
|
---|
21 | Contains config variables, and functions used by multiple scripts
|
---|
22 |
|
---|
23 | ./gpg
|
---|
24 | Generates a new GPG key if necessary, then copies the public GPG key to the
|
---|
25 | repos directory.
|
---|
26 | Also generates a gpg.key.id file, which allows other scripts to know the
|
---|
27 | GPG key-id without asking the user.
|
---|
28 |
|
---|
29 | ================================================================================
|
---|
30 | Package Manager Implementations:
|
---|
31 | ================================================================================
|
---|
32 | These scripts are used to set up the repositories for specific package-managers,
|
---|
33 | and to maintain the repositories for those package-managers (e.g. adding new
|
---|
34 | versions of packages)
|
---|
35 |
|
---|
36 | ./apt
|
---|
37 | Generates an apt package repository under ./repos/
|
---|
38 | reprepro is used to manage the repository, so this script just generates the
|
---|
39 | reprepro config, and wraps reprepro to automate some things.
|
---|
40 |
|
---|
41 | ./pacman
|
---|
42 | Generates a pacman package repository under ./repos/
|
---|
43 | repo-add is used to manage the repositories.
|
---|
44 | This script automates copying packages to their correct architecture folder,
|
---|
45 | signing them, and adding them to the relevant package database(s) using
|
---|
46 | repo-add.
|
---|
47 |
|
---|
48 | ================================================================================
|
---|
49 | Deployment:
|
---|
50 | ================================================================================
|
---|
51 | ./sync
|
---|
52 | Uses rsync to copy the packages somewhere (e.g. to a webserver for
|
---|
53 | distribution)
|
---|
54 | Excludes files based on ./sync-exclude.list
|
---|
55 |
|
---|
56 | ./sync-exclude.list
|
---|
57 | A list of paths (relative to ./repos/) to exclude when syncing
|
---|
58 | Used to stop internal database or config files from being viewable by users
|
---|
59 |
|
---|