aab0c62208
This change fixes two bugs in the cross gcc package: Missing libmpc dependency libmpc is needed when running the cross gcc package. A Requires: libmpc dependency was added to the cross gcc spec file to make sure that it's installed when the cross gcc package is installed. Testing in a Mariner container: Verified by trying to install the cross gcc package without the libmpc package installed. The installation failed. I then installed the libmpc package and tried installing the cross gcc package. The installation passed and gcc was able to find libmpc. sysroot include headers not being found by cross gcc The cross gcc tools were unable to find the sysroot include headers when gcc was invoked. Using the -E -Wp,-v - flags when invoking gcc, I found the header include paths it was searching and saw that there was a missing symlink when comparing the output. The symlink is now created during the %post step of the cross gcc package. Testing in a Mariner container: Verified that headers under the sysroot/include path are now found when compiling a small C++ program. |
||
---|---|---|
.github | ||
LICENSES-AND-NOTICES | ||
SPECS | ||
SPECS-CROSS | ||
SPECS-SIGNED | ||
toolkit | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
cgmanifest.json |
README.md
CBL-Mariner
CBL-Mariner is an internal Linux distribution for Microsoft’s cloud infrastructure and edge products and services. CBL-Mariner is designed to provide a consistent platform for these devices and services and will enhance Microsoft’s ability to stay current on Linux updates. This initiative is part of Microsoft’s increasing investment in a wide range of Linux technologies, such as SONiC, Azure Sphere OS and Windows Subsystem for Linux (WSL). CBL-Mariner is being shared publicly as part of Microsoft’s commitment to Open Source and to contribute back to the Linux community. CBL-Mariner does not change our approach or commitment to any existing third-party Linux distribution offerings.
CBL-Mariner has been engineered with the notion that a small common core set of packages can address the universal needs of first party cloud and edge services while allowing individual teams to layer additional packages on top of the common core to produce images for their workloads. This is made possible by a simple build system that enables:
- Package Generation: This produces the desired set of RPM packages from SPEC files and source files.
- Image Generation: This produces the desired image artifacts like ISOs or VHDs from a given set of packages.
Whether deployed as a container or a container host, CBL-Mariner consumes limited disk and memory resources. The lightweight characteristics of CBL-Mariner also provides faster boot times and a minimal attack surface. By focusing the features in the core image to just what is needed for our internal cloud customers there are fewer services to load, and fewer attack vectors.
When security vulnerabilities arise, CBL-Mariner supports both a package-based update model and an image based update model. Leveraging the common RPM Package Manager system, CBL-Mariner makes the latest security patches and fixes available for download with the goal of fast turn-around times.
Getting Started with CBL-Mariner:
Instructions for building CBL-Mariner may be found here: Toolkit Documentation
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Acknowledgments
Any Linux distribution, including CBL-Mariner, benefits from contributions by the open software community. We gratefully acknowledge all contributions made from the broader open source community, in particular:
-
The Photon OS Project for SPEC files originating from the Photon distribution.
-
The Fedora Project for SPEC files, particularly with respect to QT, DNF and several of their dependencies.
-
GNU and the Free Software Foundation
-
Openmamba for SPEC files