README.md 3.19 KB
Newer Older
David Seaward's avatar
David Seaward committed
1 2
# Shipwright

David Seaward's avatar
David Seaward committed
3
[project] | [code] | [tracker] | [wiki]
David Seaward's avatar
David Seaward committed
4

5 6 7 8 9 10 11 12 13 14 15 16 17 18
*Shipwright* is a toolkit for developers assembling a Liberty Deckplan
Host (LDH). These tools are not suitable for production use.

## Install from source

Shipwright tools are intended to be run from source via the
`shipwright` command, which can be installed as follows:

```
git clone https://source.puri.sm/liberty/ldh_developer.git
cd ldh_developer
./bootstrap
```

19 20
You should now be able to call `shipwright list` from the command
prompt. If not, see **Troubleshooting**.
David Seaward's avatar
David Seaward committed
21 22 23

## Instructions

24 25 26 27
To see available tools, call `shipwright list`

To get help on a particular tool, call `shipwright help TOOL`.
For example, `shipwright help shipyard`.
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 66

Instructions for other tools are found on the Shipwright [wiki].

## Creating a new tool

Every new tool should be made up of:

* its own folder, including a `README.md` file
* at least one entry in the `bin` folder

## Troubleshooting

If you can't call `shipwright` from the command line, follow these
steps and report a bug at the step that you encounter a failure.

1. Check that the file `~/.local/bin/shipwright` exists. It should be
   a working symlink to `ldh_developer/shipwright` in the folder where
   you cloned the Git repository. If you have moved that folder,
   simply run `./bootstrap` again to recreate the symlink.

2. Check your $PATH. If you invoke `echo $PATH` the result should
   include `~/.local/bin` (in expanded form). If it doesn't...

3. Restart your session, it may not have existed at the beginning of
   your sesssion. If it still doesn't appear...

4. Check `~/.profile`, add a clause like the one below, and restart
   your session...

        # set PATH so it includes user's private bin if it exists
        if [ -d "$HOME/.local/bin" ] ; then
            PATH="$HOME/.local/bin:$PATH"
        fi

5. If you still can't call `shipwright`, make a note of your distro
   version and shell version and report an upstream query, asking
   how to add `~/.local/bin/` to your $PATH. If upstream cannot help,
   create an issue in the Shipwright [tracker] and reference the
   upstream query.
David Seaward's avatar
David Seaward committed
67

68 69 70
If you can call `shipwright` from the command line and encounter a
problem while doing so, please create an issue in the Shipwright
[tracker].
David Seaward's avatar
David Seaward committed
71

David Seaward's avatar
David Seaward committed
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
## Sharing and contributions

Shipwright (LDH developer)  
<https://source.puri.sm/liberty/ldh_developer>  
Copyright 2018 Purism SPC  
SPDX-License-Identifier: AGPL-3.0-or-later  

Shared under AGPL-3.0-or-later. We adhere to the Community Covenant
1.0 without modification, and certify origin per DCO 1.1 with a
signed-off-by line. Contributions under the same terms are welcome.

For details see:

* [COPYING.AGPL.md], full license text
* [CODE_OF_CONDUCT.md], full conduct text
* [CONTRIBUTING.DCO.md], full origin text

<!-- Links -->

[project]: https://source.puri.sm/liberty/ldh_developer
[code]: https://source.puri.sm/liberty/ldh_developer/tree/master
[tracker]: https://source.puri.sm/liberty/ldh_developer/issues
David Seaward's avatar
David Seaward committed
94
[wiki]: https://source.puri.sm/liberty/ldh_developer/wikis/home
David Seaward's avatar
David Seaward committed
95 96 97 98 99 100
[SETUP.md]: SETUP.md
[COPYING.AGPL.md]: COPYING.AGPL.md
[CODE_OF_CONDUCT.md]: CODE_OF_CONDUCT.md
[CONTRIBUTING.DCO.md]: CONTRIBUTING.DCO.md
[COPYING.md]: COPYING.md
[CONTRIBUTING.md]: CONTRIBUTING.md