source: main/trunk/package-kits/linux/ReadMe@ 29738

Last change on this file since 29738 was 29738, checked in by Jeremy Symon, 6 years ago

Updated ReadMe - overview of inputs and perllib

File size: 3.1 KB
Line 
1Generating:
2 Run './generate' to generate build scripts
3 (prints further usage instructions)
4
5Required Packages:
6 Packages required to build Greenstone are defined in the Greenstone package
7 build scripts, however you will also need the necessary packages for
8 building packages on your current distro.
9 These are:
10 Ubuntu: build-essential, debhelper
11 Arch: base-devel, <check this>
12 Fedora: <fill out>
13
14Building:
15 Generated packages are found in ./build/<distro>/<package>
16 To build a package, run 'make' in the package directory.
17 If building a package requires other packages to be installed, they may be
18 automatically installed, or if not they should be printed to the terminal.
19 To build all packages, cd into ./build/<distro>/, and run
20 for pkg in *; do test -d $pkg && pushd $pkg && make; popd; done
21 I recommend only doing this if you know all the packages will build
22 successfully.
23
24Patches:
25 To generate a patch:
26 diff -aur package.pristine package.new > package.patch
27 To apply a patch:
28 patch -p0 -i package.patch
29 where -p0 assumes the paths in the patch are valid in the current
30 directory
31
32 gs2build.patch
33 Contains patches for the gs2build build process
34 Disables building externals
35 perl-util.patch
36 Contains a patch to change the tmp folder for gs2build
37 This is necessary because the original location of the tmp folder was
38 in the gs2build folder, which contains executables, and as such should
39 be read-only.
40 Thus the tmp folder has been changed to /tmp/greenstone-build
41
42Scripts:
43 greenstone
44 Sets up the environment for running greenstone-tools
45 gli
46 Runs greenstone to set up the environment, then runs GLI
47 wvWare
48 Removes itself from $PATH, then runs wvWare (which will be the system
49 wvWare)
50
51Inputs (see existing inputs for examples):
52 distros
53 Defines Linux distributions that can be built for.
54 Sets the package manager, system paths, and the names of required
55 packages on that distro.
56
57 files
58 Contains files used for building Greenstone (patches, scripts, config)
59
60 managers
61 Defines package managers that can be built for.
62 Sets variables specific to the package manager, and any static files
63 for a package definition.
64
65 packages
66 Defines a package.
67
68 segments
69 Parts of Makefiles.
70 Concatenated together to form the Makefile for a package.
71
72perllib:
73 Contains perl modules for parsing inputs.
74 Package folder contains package-specific functionality
75 (for a package to work, it must be defined here as _<package>.pm)
76
77Gotchas:
78 derby.jar location
79 Must be in the tomcat lib folder instead of the greenstone lib folder
80 http://stackoverflow.com/questions/24963117/tomcat-realm-forms-login-always-fails
81
82Issues:
83 Debian package has lots of warnings
84 Pacman package has lots of file ownership warnings when updating
85 (because we chown the web directory)
86 Maybe chown it back to root in a pre-update script?
Note: See TracBrowser for help on using the repository browser.