about summary refs log tree commit diff stats
path: root/docs/packaging.txt
blob: 0a40749ca803616b740a43252df31218244c4138 (plain) (blame)
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
My personal recommended way to package DSCIP is to do the following:

Install all the scripts except setup.sh into /usr/share/charadon/dscip.
Next, install setup.sh to /usr/bin/setup-dscip.
Optionally, you can remove update.sh, if you wish for the user *not* to be
able to update dscip on their own outside of the packaging system.
And install the docs to your system's recommended documentation directory.
(Usually /usr/share/doc, or /usr/doc)

If it's installed this way, instead of grabbing DSCIP from the remote git
repo, the setup script will copy the files from /usr/share/charadon/dscip.

It requires no additional dependencies if I did things right, as it's written
in complete POSIX shell. Though, on illumos, it'll probably need GNU Coreutils
for realpath support.

This is roughly what a package tree should look like. This is based on my
SlackBuild for Slackware.

usr
├── bin
│   └── setup-dscip (setup.sh)
├── doc
│   └── dscip-0.9
│       ├── LICENSE
│       ├── dscip.SlackBuild
│       ├── packaging.txt
│       ├── publishing.txt
│       ├── setup.sh.txt
│       ├── templates.txt
│       ├── using.txt
│       └── variables.txt
└── share
    └── charadon
        └── dscip
            ├── build.sh
            ├── config.sh
            ├── dscip
            ├── failed.sh
            ├── post.sh
            └── pre.sh