Melas v0.11.0 release
Melas is an uncomplicated build and packaging tool used to compile software and create installable package files. Melas can be used to reliably reproduce builds and perform dependency tracking. Cross-compilation is supported through integration with Sbox2.
Melas v0.11.0, as released today, adds numerous small and large features. Most notably, the build system autodetection and autoconfiguration has been greatly improved (and Melas can now build most standard software packages without any further configuration). Detailed list of notable changes follows:
- Renamed the main command mls-build to mls
- Ability to provide MLS_SPECPATH to look for .mls files in several locations
- Ability to guess version number based on package url
- Ability to guess package name based on package url
- Ability to build URLs without mls spec (fully autodetected build)
- More flexible mls-prepare to replace mls-extract
- Greatly enhanced automatic configuration of builds (based on source package contents, try to automatically build it in a suitable way) - automated build support for standard Makefile, GNU autotools and python -type packages.
- Automatically detect if -dev, -doc, and -locale-* files exist and create appropriate deb packages
- Ability to automatically create separate locale packages per locale
- Ability to embed build.mls file in a source tarball and automatically use it for build configuration
- Removed GCC dependency in Melas
- “List all” and “Build all” features added (to list/build all available packages)
- Added numerous hooks to override in mls files to provide greater flexibility
- Re-designed dependency handling that works much faster especially on a very large number of dependent packages
- Full integration of Scratchbox2 within Melas
- “Vacuum builds” for cross-builds that generate a target root filesystem on the fly based on package dependencies, prior to executing the build (allows to compile against a set of pre-compiled packages).
In this version, Melas now becomes quite a powerful tool. Although Melas is heavily used to build the Igelle operating system, it is in no way tied to Igelle, but provides powerful compilation features for other Linux distributions as well. Perhaps one of the most exciting features comes as a result of the autodetection features above, which allows one to build source tarballs into deb files automatically. For example, to downlod, build and package the latest (as of this writing) version of wine:
mls --url=http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.1.8.tar.bz2 rebuild
And you should get a nice wine_1.1.8_i386.deb (with -dev and -doc packages as well) that you can then install with your favourite deb-based package manager.
Or to compile and make a deb package of Python3:
mls --set-name=python3 --set-MLS_CONFIG_PREFIX=/opt/python3 \ --url=http://www.python.org/ftp/python/3.0/Python-3.0rc2.tar.bz2 rebuild
..and you will end up with a nice python3_3.0rc2_i386.deb that you can then install.
(NOTE: Obviously this assumes that you already have the necessary development tools installed, like gcc, make, etc., as well as any necessary development headers and libraries suited for your system.)
Melas v0.11.0 is available for download at the Melas project page. All comments, suggestions and bug reports are most highly welcomed.
Best regards to all and happy compiling




Leave a Comment