Linux OS for Azure 1P services and edge appliances
Перейти к файлу
Tobias Brick 9dc4183cf8
fix tmux crashing bug (#6766)
Co-authored-by: Henry Beberman <henry.beberman@microsoft.com>

Fixes issue #6598 which is a crash on selection in tmux. The fix requires an update to ncurses and a patch to tmux. From the patch comments:

```
ncurses-6.4-20230408 change tparm to require cur_term, which broke tmux usage of it.

ncurses-6.4-20230423 then added tiparm_s that allows usage without cur_term.

tmux change 39d41d0810 uses tiparm_s if it exists, but cannot be cleanly applied to tmux tag 3.2a.

That change uses a config setting to created #defines to determine which version of tparm it should use, and only conditionally uses tiparm_s, because it needs to be backwards compatible with previous versions of ncurses.

But to use that, we would need to get the actual source as it appears in github, rather than the released version (they are different downloads: see https://github.com/tmux/tmux/releases).

Fortunately, we have the luxery of forcing tmux to use a version of ncurses that has the function we want (see above).

Given all this, this patch takes the change to use tiparm_s, removes the conditional compilation portion so it always uses tiparm_s and applies it to the code as it exists in 3.2a.

It has both a build-time and run-time dependency on ncurses-6.4-20230423 or later.
```
2023-11-16 11:49:58 -08:00
.config Added CredScan exception for doc and test sample secrets. (#6696) 2023-11-08 14:38:21 -08:00
.github Cherry Pick bug and feature template updates to main (#6674) 2023-11-06 11:57:08 -05:00
.pipelines [AUTO-CHERRYPICK] Rerun toolchain package check sections for fast track builds. - branch main (#6748) 2023-11-13 16:18:07 -08:00
LICENSES-AND-NOTICES Update licenses for the new specs 2020-08-19 01:48:59 +00:00
SPECS fix tmux crashing bug (#6766) 2023-11-16 11:49:58 -08:00
SPECS-EXTENDED Update change logs to sync up with the ones in PMC (#6750) 2023-11-14 17:01:14 -08:00
SPECS-SIGNED Add kernel-mos with AMDGPU drivers (#6714) 2023-11-14 08:55:00 -08:00
toolkit fix tmux crashing bug (#6766) 2023-11-16 11:49:58 -08:00
.gitattributes Add .gitattributes file for GitHub linguist attributes (#4510) 2023-01-24 09:33:13 -08:00
.gitignore Ignored `ccache` directory. (#4912) 2023-02-23 16:18:26 -08:00
CODE_OF_CONDUCT.md Initial CODE_OF_CONDUCT.md commit 2020-07-22 12:27:23 -07:00
CONTRIBUTING.md Update contribution guide to include more detailed instructions (#5169) 2023-03-31 15:06:55 -07:00
LICENSE Initial LICENSE commit 2020-07-22 12:27:24 -07:00
README.md Update README.md (#5833) 2023-07-14 10:51:25 -07:00
SECURITY.md Initial SECURITY.md commit 2020-07-22 12:27:25 -07:00
SUPPORT.md packages.microsoft.com repo structure info (#4597) 2023-01-24 15:30:45 -08:00
cgmanifest.json fix tmux crashing bug (#6766) 2023-11-16 11:49:58 -08:00

README.md

CBL-Mariner

CBL-Mariner is an internal Linux distribution for Microsofts cloud infrastructure and edge products and services. CBL-Mariner is designed to provide a consistent platform for these devices and services and will enhance Microsofts ability to stay current on Linux updates. This initiative is part of Microsofts increasing investment in a wide range of Linux technologies, such as SONiC and Windows Subsystem for Linux (WSL). CBL-Mariner is being shared publicly as part of Microsofts 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

Build

Instructions for building CBL-Mariner may be found here: Toolkit Documentation.

ISO

You can try CBL-Mariner with the following ISO images:

Before using a downloaded ISO, verify the checksum and signature of the image.

After downloading the ISO, use the quickstart instructions to install and use the image in a Hyper-V VM.

Note: Support for the ISO is community based. Before filing a new bug or feature request, please search the list of Github Issues. If you are unable to find a matching issue, please report new bugs by clicking here or create a new feature request by clicking here. For additional information refer to the support.md file.

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:

  1. The Photon OS Project for SPEC files originating from the Photon distribution.

  2. The Fedora Project for SPEC files, particularly with respect to Qt, DNF and content in the SPECS-EXTENDED folder.

  3. GNU and the Free Software Foundation

  4. Linux from Scratch

  5. Openmamba for SPEC files