mirror of
https://github.com/YunoHost/vinaigrette.git
synced 2024-09-03 20:06:11 +02:00
Update README.md
This commit is contained in:
parent
a60b6342bf
commit
7c185d6e03
1 changed files with 20 additions and 15 deletions
35
README.md
35
README.md
|
@ -3,30 +3,32 @@ Vinaigrette
|
||||||
|
|
||||||
Build those damn .deb's
|
Build those damn .deb's
|
||||||
|
|
||||||
## Todo
|
Todo
|
||||||
|
-----
|
||||||
|
|
||||||
- [ ] Understand how the whole arch shit works
|
- [ ] 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 ?)
|
- 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 does it actually works (debootstrap stuff ?)
|
||||||
- How do we manage extra archs like armel, arm64 ...?
|
- How do we manage extra archs like armel, arm64 ...?
|
||||||
|
|
||||||
- [ ] Test repo in practice
|
- [ ] Test repo in practice
|
||||||
- Dummy tests when using vinaigrette.yunohost.org in sources.list
|
- Dummy tests when using vinaigrette.yunohost.org in sources.list
|
||||||
- Test metronome on arm ?
|
- Test metronome on arm ?
|
||||||
- Test stretch builds
|
- Test stretch builds
|
||||||
|
|
||||||
- [ ] Moar cleaning of scripts (e.g. specific arch argument in `build_deb` ?)
|
- [ ] 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.
|
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
|
- `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 ...)
|
- `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)
|
- `pbuilder` build the packages (using `dpkg-buildpackage` I believe)
|
||||||
- `rebuildd` handles 'build jobs' (gets notified by
|
- `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
|
- `nginx` to serve the repo
|
||||||
- (not yet repaired?) a custom service to handle hooks from github
|
- (not yet repaired?) a custom service to handle hooks from github
|
||||||
|
|
||||||
### Services
|
#### Services
|
||||||
|
|
||||||
These services should be running for everything to work properly
|
These services should be running for everything to work properly
|
||||||
- `rebuildd`
|
- `rebuildd`
|
||||||
- `rebuildd-httpd` (and `nginx`) to have "nice" interface to monitor and read build logs
|
- `rebuildd-httpd` (and `nginx`) to have "nice" interface to monitor and read build logs
|
||||||
- (not yet repaired?) the github webhook handling service
|
- (not yet repaired?) the github webhook handling service
|
||||||
|
|
||||||
## Useful commands
|
Useful commands
|
||||||
|
---------------
|
||||||
|
|
||||||
- `rebuildd-job list` to list jobs
|
- `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` 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 :/
|
- `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`
|
- 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
|
- 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)
|
- (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
|
- 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
|
- `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/
|
- Go to a git clone of https://github.com/yunohost/metronome/
|
||||||
- Inside the git clone, call `/path/to/build_deb -c jessie -d unstable .`
|
- 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.
|
- To build stuff, pbuilder needs to chroot in environnement.
|
||||||
- These are contained in `images/$arch/$dist.tgz`
|
- These are contained in `images/$arch/$dist.tgz`
|
||||||
|
|
Loading…
Reference in a new issue