December 6, 2019

Open Source Dependence Build Automation Tool for Cisco Talos

This week, Cisco Talos released a new method to promote the development of complex applications with long consistency chains.

The Cross-Platform, general purpose automation tool Called Mussels, enables software developers to download, build and assemble app dependencies easily.

The creator of the software is Micah Snyder, a researcher and Cisco Talos developer at ClamAV, an open source antivirus toolkit for Cisco. The software was first developed with an emphasis on building ClamAV dependencies on Windows.

Mussels aims at eliminating the need for all new project files from CMake, Meson, Bazel, XCode or Visual Studio. Alternatively, it allows users to use the original build systems designed by the writers of existing library dependencies to write and share their “recipes.”

Such recipes are YAML files that provide information about how a specific library or program can be constructed. Information on where the code source archive is stored, other recipes the program depends on, the resources needed for software construction and the commands to execute while building.

Developers can describe YAML tools and can upload both the recipes and tools into Git repository known as the “cookbooks” which can be private or public or local folders containing YAML files.

Recipes require running tools and if the necessary tools are missing, an error message is displayed. Therefore, developers can download the tool to create the recipe.

Mussels includes support for macOS, Linux / Unix and Windows operating systems in the GitHub repository of Cisco Talos. It has been designed to support the creation of C-based code libraries, but can be expanded to build and assemble any software package, explains its developer.

Must be added to the environment variable PATH, Python 3.6 or newer and Git is available. It requires an Internet connection to use Mussel’s public cookbooks, and to access the source archives from the URLs specified in every recipe.

Leave a Reply

Your email address will not be published. Required fields are marked *