mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-02 01:18:08 +01:00
Update docs with new changes
This commit is contained in:
parent
e06a19f9e2
commit
ee77ef837d
3 changed files with 203 additions and 210 deletions
60
DEVEL.md
60
DEVEL.md
|
|
@ -14,31 +14,40 @@ and that a full build completes.
|
|||
|
||||
## Structure
|
||||
|
||||
Each system corresponds to a reboot of the live environment. There is only one
|
||||
appropriate structure as shown below (eg for sysa):
|
||||
|
||||
```
|
||||
sysa
|
||||
├── any-global-files.sh
|
||||
seed
|
||||
├── seed.kaem
|
||||
├── script-generator.c
|
||||
├── ...
|
||||
└── stage0-posix
|
||||
|
||||
steps
|
||||
├── manifest
|
||||
├── any-global-files
|
||||
├── jump
|
||||
│ └── linux.sh
|
||||
├── improve
|
||||
│ └── x.sh
|
||||
├── somepackage-version
|
||||
│ ├── somepackage-version.kaem (or .sh)
|
||||
│ ├── pass1.kaem
|
||||
│ ├── pass2.sh
|
||||
│ ├── files
|
||||
│ ├── simple-patches
|
||||
│ ├── mk
|
||||
│ └── patches
|
||||
└── tmp
|
||||
```
|
||||
|
||||
Global scripts that drive the entire system go directly under `sysx`. `tmp`
|
||||
contains the temporary system used for QEMU or a chroot.
|
||||
The `seed` directory contains everything required for `script-generator` to be
|
||||
run.
|
||||
|
||||
Then, each package is in its own specific directory, named `package-version`.
|
||||
It then diverges based upon which driver is being used:
|
||||
|
||||
- `kaem`: A file named `package-version.kaem` is called by the master script.
|
||||
- `bash`: The `build` function from helper.sh is called from the master script.
|
||||
There are default functions run which can be overridden by an optional script
|
||||
`package-version.sh` within the package-specific directory.
|
||||
In the `steps` directory, the bootstrap process is defined in `manifest`.
|
||||
Each package to be built is named `package-version`.
|
||||
Each subsequent build of a package is the nth pass. Scripts are named
|
||||
accordingly; eg, the first build would be called `pass1.sh`, the second would be
|
||||
`pass2.sh`, etc.
|
||||
Scripts run in kaem era should be denoted as such in their filename;
|
||||
`pass1.kaem`, for example. Pass numbers do not reset after kaem, ie, you cannot
|
||||
have both `pass1.kaem` and `pass1.sh`.
|
||||
|
||||
In this folder, there are other folders/files. `*.checksums` are
|
||||
required for early packages that are build with kaem, others are optional.
|
||||
|
|
@ -51,21 +60,16 @@ Permissible folders/files:
|
|||
- `simple-patches`: patches for the source that use the before/after convention of simple-patch.c
|
||||
- `*.checksums`: files containing the checksums for the resulting binaries and
|
||||
libraries that are compiled and installed.
|
||||
- Up to and including `coreutils-6.10`, `sha256sum` from `stage0-posix`
|
||||
is used for the checksumming. Later we switch to GNU version.
|
||||
- To extract checksums of the binaries, use of qemu mode is recommended
|
||||
(i.e. `./rootfs.py -q -qk $kernel --update-checksums`).
|
||||
- compilation script
|
||||
|
||||
The directory m2-functions is used for M2-Planet functions (currently).
|
||||
- Otherwise, the package's checksum is in SHA256SUMS.pkgs.
|
||||
- compilation script(s)
|
||||
|
||||
## Conventions
|
||||
|
||||
- **Patches:**
|
||||
- all patches are `-p0`
|
||||
- all patches begin with a patch header
|
||||
- **README:**
|
||||
- all stages are explained in README
|
||||
- **parts.rst:**
|
||||
- all packages are explained in `parts.rst`
|
||||
- **General:**
|
||||
- Where possible, all blocks of text should be limited to a length of 80
|
||||
characters.
|
||||
|
|
@ -79,9 +83,3 @@ The directory m2-functions is used for M2-Planet functions (currently).
|
|||
- Patches are licensed under the license of the project which they are
|
||||
patching.
|
||||
- All files (excluding files within submodules) must comply with REUSE v3.0.
|
||||
|
||||
## git
|
||||
|
||||
All changes must be submitted as PRs. Pushing to master is disallowed, even if
|
||||
push access is granted to a user. Only pushes to master should be merging of
|
||||
patches into master.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue