YunoHost packages are located on the yunohost.org workstation, in the /home/yunohost/packages.git
folder.
Build system is based on debuild and pbuilder. It will generate a chroot, embedding every dependencies and Debian build tools.
Configuration is defined in the /etc/pbuilder/megusta-amd64
file and allows to make packages without any specific architecture.
Packages based on GitHub sources (moulinette, moulinette-yunohost, ssowat, et yunohost-admin) require the latest modifications:
[yunohost@yunohost] ~/packages.git/moulinette $ cd src
[yunohost@yunohost] ~/packages.git/moulinette/src $ git pull
Then, start package build (caution: you need to be located in the package root folder):
[yunohost@yunohost] ~/packages.git/moulinette/src $ cd ..
[yunohost@yunohost] ~/packages.git/moulinette $ commit-and-build "Message de commit"
To update a yunohost-config-* package, move to the root folder, make your changes (for example: change a debian/postinst
script), and type in the same command as for packages with sources:
[yunohost@yunohost] ~/packages.git/yunohost-config-nginx $ commit-and-build "Commit message"
The build command will update the Debian changelog (debian/changelog
) and start the package creation. Once created, it will automatically added in the repository test`.
To add a package in the megusta
(stable) (debian/changelog
):
[yunohost@yunohost] ~/packages.git/monpaquet $ commit-and-build "Commit message" production
Once modifications are applied, you may execute git push
to send your modifications to GitHub.
You can add Debian packages into the repository. NodeJS package is an example.
sudo reprepro -Vb /var/www/repo.yunohost.org/ includedeb repository_name package_name.deb
repository_name
may be test
or megusta
.
Delete a Debian package from a repository in order to empty the test repository for example:
sudo reprepro -Vb /var/www/repo.yunohost.org/ includedeb repository_name package_name
Modify commit-build script to retrieve git commit messages and generate Debian changelog with git-dch
command.