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 pullThen, 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" productionOnce 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.debrepository_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_nameModify commit-build script to retrieve git commit messages and generate Debian changelog with git-dch command.