source: main/trunk/package-kits/linux/repos/ReadMe@ 31871

Last change on this file since 31871 was 29704, checked in by Jeremy Symon, 9 years ago

Updated pacman repo script to no longer symlink noarch packages into 32- and 64-bit repos. This change results in wasted space (as the files are now duplicated), however it also makes the repo easier to manage, and allows it to be served from a webserver (or filesystem) that doesn't support symlinks

File size: 3.1 KB
Line 
1================================================================================
2Web Server Setup:
3================================================================================
4Any web server that can serve files should work fine.
5No special security settings should be required, as the sync script will only
6copy the necessary package files.
7Symlinks must be enabled for the Pacman repository, because they are used to
8keep the size down (noarch packages are symlinked into both x86_64 and i686)
9
10================================================================================
11 General:
12================================================================================
13Contains 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================================================================================
32These scripts are used to set up the repositories for specific package-managers,
33and to maintain the repositories for those package-managers (e.g. adding new
34versions of packages)
35Usage:
36 setup - creates the package manager's repo, and any config / readme files
37 add <pkg> [...] - adds any number of packages to the repo
38
39./apt
40 Depends on: reprepro gnupg
41 Generates an apt package repository under ./repos/
42 reprepro is used to manage the repository, so this script just generates the
43 reprepro config, and wraps reprepro to automate some things.
44
45./pacman
46 Depends on: repo-add gnupg xdelta3
47 Generates a pacman package repository under ./repos/
48 repo-add is used to manage the repositories.
49 This script automates copying packages to their correct architecture folder,
50 signing them, and adding them to the relevant package database(s) using
51 repo-add.
52
53./rpm
54 Depends on: createrepo rpmsign gnupg
55 Generates a rpm package repository under ./repos/
56 createrepo is used to manage the repositories.
57 rpmsign is used to sign the packages.
58 This script automates copying packages to their correct architecture folder,
59 signing them with rpmsign, and adding them to the relevant package
60 database(s) using createrepo --update.
61
62================================================================================
63 Deployment:
64================================================================================
65./sync
66 Uses rsync to copy the packages somewhere (e.g. to a webserver for
67 distribution)
68 Excludes files based on ./sync-exclude.list
69
70./sync-exclude.list
71 A list of paths (relative to ./repos/) to exclude when syncing
72 Used to stop internal database or config files from being viewable by users
73
Note: See TracBrowser for help on using the repository browser.