diff --git a/README.md b/README.md index 225505f..d5595f2 100644 --- a/README.md +++ b/README.md @@ -3,30 +3,32 @@ Vinaigrette Build those damn .deb's -## Todo +Todo +----- - [ ] Understand how the whole arch shit works - When do we need a specific arch (e.g. armhf) build ? (e.g. for pure python stuff we don't care, but probably for C/C++ we do ?) - - How does it actually works (debootstrap stuff ?) - - How do we manage extra archs like armel, arm64 ...? + - How does it actually works (debootstrap stuff ?) + - How do we manage extra archs like armel, arm64 ...? - [ ] Test repo in practice - Dummy tests when using vinaigrette.yunohost.org in sources.list - - Test metronome on arm ? - - Test stretch builds + - Test metronome on arm ? + - Test stretch builds - [ ] Moar cleaning of scripts (e.g. specific arch argument in `build_deb` ?) -## Content +Content +------- The script `init.sh` is here to be able to easily redeploy the whole ecosystem on a new machine. -### Scripts to handle common tasks +#### Scripts to handle common tasks - `ynh-build`, to build a new version of Yunohost packages from the git repositories - `build_deb` (in `/scripts/`, which is used by `ynh-build` but can also be used to manually build stuff like metronome ...) -### Tools used +#### Tools used - `pbuilder` build the packages (using `dpkg-buildpackage` I believe) - `rebuildd` handles 'build jobs' (gets notified by @@ -34,21 +36,23 @@ The script `init.sh` is here to be able to easily redeploy the whole ecosystem o - `nginx` to serve the repo - (not yet repaired?) a custom service to handle hooks from github -### Services +#### Services These services should be running for everything to work properly - `rebuildd` - `rebuildd-httpd` (and `nginx`) to have "nice" interface to monitor and read build logs - (not yet repaired?) the github webhook handling service -## Useful commands +Useful commands +--------------- - `rebuildd-job list` to list jobs - `rebuildd` starts the rebuildd server/daemon - for now I have to start it manually and `disown` it. The service should be working but there's some weird stuff about lxc making it crashed ? - `rebuildd-httpd 127.0.0.1:9998` starts the monitoring/log web interface - same as `rebuildd`, gotta start it manually for now :/ - in `/var/www/repo/debian`, you can list available packages with `reprepro list jessie` -## How this shit works +How this shit works +------------------- - Let's say you run `ynh-build` because of a new version of yunohost - (Warning : make sure that you have a new entry in debian/changelog, and a tag debian/x.y.z - otherwise it won't be happy if the version already exists) @@ -57,15 +61,16 @@ These services should be running for everything to work properly - With some magic involved (?), `rebuildd` understands that there's something new to build - `rebuildd` picks up the job. It gets the sources (`get-sources`) and starts building the binaries (`build-binaries`). After that, it uploads the binaries to reprepro (`upload-binaries`) and sends an XMPP notification -## If you need to rebuild custom packages +Misc notes +---------- -For instance, metronome. +#### If you need to rebuild custom packages (for instance, metronome ?) - Go to a git clone of https://github.com/yunohost/metronome/ - Inside the git clone, call `/path/to/build_deb -c jessie -d unstable .` -- This will build the source and add a `rebuildd job. +- This will build the source and add a rebuildd job. -## Chroot images (?) +#### Chroot images - To build stuff, pbuilder needs to chroot in environnement. - These are contained in `images/$arch/$dist.tgz`