Molior - Debian Build System
Debian Build System
Molior is based on aptly for managing Debian package repositories and sbuild for building Debian packages for multiple distributions and architectures.
Molior allows the following via WebUI, REST API or commandline tools:
See INSTALL.md.
The molior Debian Build System consists of the following components:
Point your browser to the URL of the molior server, login with admin and the password defined in /etc/molior/molior/yml.
The following will mirror Debian/stretch for amd64 and arm64. It will take approx. 73GB of disk space.
Depending on the network and disk performance, this might take a 2-3 hours.
Note: if you are mirroring Debian/buster use these keys: 04EE7237B7D453EC 648ACFD622F3D138 DCC9EFBF77E11517)
Molior can create mirror of APT repositories, for example mono:
Name: mono
Version: 5.2
Dist: stretch
Archs: amd64
Source: http://download.mono-project.com/repo/debian
Keys: 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Key Server: hkp://keyserver.ubuntu.com:80
or Docker:
Name: docker
Version: 17.09
Dist: stretch
Archs: amd64
Mirror source packages: no
Base mirror: no
Components: stable
Source: https://download.docker.com/linux/debian
Key URL: https://download.docker.com/linux/debian/gpg
In GitLab:
Molior can trigger a REST API when build states change.
POST https://remoteserver/api/{{build.commit|urlencode}}
{
"key":"molior-{{platform.distrelease}}-{{platform.version}}-{{platform.architecture}}-{{project.name}}-{{project.version}}",
"name":"Molior {{platform.architecture}} / {{platform.version}} / {{platform.distrelease}} Build for {{build.commit}}",
{% if build.status == "building" %}
"state":"INPROGRESS",
{% elif build.status == "successful" %}
"state":"SUCCESSFUL",
{% else %}
"state":"FAILED",
{% endif %}
"description":"{{build.status}}",
"url":"{{build.url}}"
}
You are welcome to contribute to the project !
The following chapters describe how to setup a development environment. For building Debian packages in molior, the creation of a Debian mirror is required. This needs approximately 80GB of free disk space.
The following source respositories are needed:
# molior
git clone https://github.com/molior-dbs/molior.git
git clone https://github.com/molior-dbs/molior-web.git
# aptly
git clone --recursive https://github.com/molior-dbs/aptlydeb.git
# optionally:
git clone https://github.com/neolynx/launchy.git
git clone https://github.com/neolynx/cirrina.git
git clone https://github.com/neolynx/aiohttp_jrpc.git
git clone https://github.com/neolynx/aiohttp-session.git
git clone https://github.com/neolynx/aiohttp-swagger.git
git clone https://github.com/molior-dbs/aiofile.git
git clone https://github.com/molior-dbs/async-cron.git
git clone https://github.com/molior-dbs/git-url-parse.git
All git repositories are debianized. Build dependencies can be installed by running the following in a git repo:
apt-get build-dep .
Debian packages can be build with:
debuild -us -uc -b