├── .github └── ISSUE_TEMPLATE │ ├── package_update.md │ ├── enhancement_request.md │ ├── bug_report.md │ └── package_request.md ├── readme.md ├── security.md ├── README.md └── contributing.md /.github/ISSUE_TEMPLATE/package_update.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Package update 3 | about: Flag a package as out of date by suggesting an update to a newer version. 4 | title: '' 5 | labels: new, package-update 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/enhancement_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Enhancement request 3 | about: Suggest an idea for this project, something not a package or a version update. 4 | title: '' 5 | labels: enhancement, new 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Please describe the problem. If possible, include the Clear Linux version, 4 | the steps needed to reproduce, and the expected outcome. 5 | title: '' 6 | labels: bug, new 7 | assignees: '' 8 | 9 | --- 10 | 11 | 12 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | 2 | ## Clear Linux OS Distribution Project 3 | 4 | This project is currently only used to track generic non-package 5 | specific issues. We may close issues that are upstream package issues 6 | with the request that you file issues in that project. To file an 7 | issue, visit the [github project page and click on 'issues'](https://github.com/clearlinux/distribution/issues). 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/package_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Package request 3 | about: Suggest the addition of a new package. 4 | title: '' 5 | labels: new, package-request 6 | assignees: '' 7 | 8 | --- 9 | 10 | Official package name: 11 | 12 | License (must be an OSI approved Open Source license): 13 | 14 | Download URL of latest release: 15 | 16 | Latest release date (must be recent): 17 | 18 | Description: 19 | -------------------------------------------------------------------------------- /security.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation. 3 | 4 | ## Reporting a Vulnerability 5 | Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html). 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## DISCONTINUATION OF PROJECT. 2 | 3 | This project will no longer be maintained by Intel. 4 | 5 | Intel will not provide or guarantee development of or support for this project, including but not limited to, maintenance, bug fixes, new releases or updates. Patches to this project are no longer accepted by Intel. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the community, please create your own fork of the project. 6 | 7 | Contact: webadmin@linux.intel.com 8 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Clear Linux OS - Software Contribution Guide 4 | 5 | Clear Linux OS is composed of many different open source software projects and welcomes all contributors to improve the project. 6 | 7 | Before contributing, please review and abide by the [Code of Conduct](https://01.org/blogs/2018/intel-covenant-code). Ensure any contributions align with Clear Linux philosophies on [stateless](https://www.clearlinux.org/clear-linux-documentation/guides/clear/stateless.html) and [security](https://www.clearlinux.org/clear-linux-documentation/guides/clear/security.html#). 8 | 9 | - [Contributing software](#contributing-software) 10 | * [Contributing to an existing software package](#contributing-to-an-existing-software-package) 11 | * [Contributing a new software package](#contributing-a-new-software-package) 12 | * [Contributing to Clear Linux development tooling](#contributing-to-clear-linux-development-tooling) 13 | - [Patching source code](#patching-source-code) 14 | - [Reporting bugs and security concerns](#reporting-bugs-and-security-concerns) 15 | 16 | ## Contributing software 17 | 18 | ### Contributing to an existing software package 19 | 20 | Before you start, consider if it would be better to contribute upstream. 21 | Clear Linux will benefit from improvements to upstream software just 22 | like everyone else. 23 | 24 | Note: for the Linux kernel package specifically, please see the [kernel development](https://www.clearlinux.org/clear-linux-documentation/guides/kernel/kernel-development.html) documentation. 25 | 26 | #### Clone the package repository 27 | 1. [Setup a development environment on a Clear Linux OS system](https://www.clearlinux.org/clear-linux-documentation/guides/clear/autospec.html#setup-environment-to-build-source). 28 | 2. Identify and clone the repository corresponding to the software package by running `make clone_`. This will clone the repsoitory from https://github.com/clearlinux-pkgs which contain existing files and directories created by the [autospec](https://www.clearlinux.org/clear-linux-documentation/guides/clear/autospec.html#id4) tooling. 29 | 30 | #### Change compilation and packaging settings 31 | If required, separately submit changes to a package's autospec configuration before submitting any source code changes so the Clear Linux release pipeline gets updated as expected. 32 | 33 | 3. Modify the [autospec control files](https://github.com/clearlinux/autospec#control-files) to change compilation and packaging settings. 34 | 4. Create one or more patch files from the package's autospec directory using `git-format-patch` (see the [patching source code](#patching-source-code) section) 35 | 5. Submit patches through [Clear Linux Distribution issues on GitHub](https://github.com/clearlinux/distribution/issues) 36 | 37 | 38 | #### Change the source code 39 | 6. Modify the source code (see the [patching source code](#patching-source-code) section). 40 | 7. Run `make autospec` to regenerate the `.spec`file and build RPMs. 41 | 8. Test the newly packaged software on a Clear Linux OS system. 42 | 10. Submit patches through [Clear Linux Distribution issues on GitHub](https://github.com/clearlinux/distribution/issues). Be sure to include the package name in the issue subject and body. 43 | 44 | If accepted, the Clear Linux team will update the package in Clear Linux OS and make the patches available at: https://github.com/clearlinux-pkgs 45 | 46 | 47 | ### Contributing a new software package 48 | 49 | Make sure the licensing of the package you want to include allows Clear Linux to package and distribute it. Licensing should use a common identifier and format as found at https://spdx.org/licenses/ and ideally be a permissive license. 50 | 51 | 1. [Setup a development environment on a Clear Linux OS system](https://www.clearlinux.org/clear-linux-documentation/guides/clear/autospec.html#setup-environment-to-build-source). 52 | 2. Generate an autospec directory for the software package using the [autospec](https://www.clearlinux.org/clear-linux-documentation/guides/clear/autospec.html#id13) tooling on Clear Linux. 53 | 3. Create a new git repository in the folder containing the autospec package workspace. 54 | 4. Create a single patch file using [`git-format-patch`](https://git-scm.com/docs/git-format-patch).[1] 55 | 5. Submit the patch through [Clear Linux Distribution issues on GitHub](https://github.com/clearlinux/distribution/issues). 56 | 6. Include suggestions for which bundle(s) the package should be added to and any ideas for tests that would be relevant. 57 | 58 | If accepted, the Clear Linux team will add the package to Clear Linux OS and make the repository available at: https://github.com/clearlinux-pkgs 59 | 60 | 61 | ### Contributing to Clear Linux development tooling 62 | 63 | For projects under https://github.com/clearlinux, refer to the README and contribution guidelines in those repositories. 64 | 65 | 66 | ## Patching source code 67 | 68 | 69 | Source code from upstream software packages can be patched in different ways. As a developer, your choice to use one of these patching workflows depends on the existing methodology that is in use by the upstream project already, and the required change. 70 | 71 | ### Patching source using `git format-patch` 72 | 73 | Using the `git format-patch` is the strongly preferred as patching workflow and 74 | will increase the likelihood of patches being accepted. 75 | 76 | 1. Run `make sources` to download the upstream software source code. 77 | 2. Extract the software source code archive. (`tar -xvf .tar.xz`) 78 | 3. Create a new local git repository and initialize. (`git init && git add -A && git commit -m "Initial commit"`) 79 | 4. Apply any existing patches from the package's autospec repository. ( `git am ../*.patch`) 80 | 5. Make any desired code modifications and track them with `git`. (`git add -A && git commit`) 81 | 6. Create one or more patch files. ([`git-format-patch -`](https://git-scm.com/docs/git-format-patch))[1] 82 | 7. Copy the patch file(s) into the package's autospec directory from step #2. (`cp *.patch ../`) 83 | 8. Add the patch file names to `series` file in the package's autospec directory. (`echo "0001-example-fix--for-bug.patch" >> series`) 84 | 85 | 86 | ### Patching source using `diff` 87 | 88 | 1. Run `make sources` to download the upstream software source code. 89 | 2. Create a directory `a/`with the original source code. 90 | - Extract the software source code archive. (`tar -xvf .tar.xz`) 91 | - Apply any existing patches from the package's autospec repository. (`patch -p1 ../*.patch`) 92 | 3. Create a second directory `b/`with the new modifications. 93 | - Extract the software source code archive. (`tar -xvf .tar.xz`) 94 | - Make any desired code modifications. 95 | 4. Run a `diff` between the two directories and create a patch file. (`diff -Nru a/ b/ > 0001-example-fix--for-bug.patch`) 96 | 5. Add the patch file names to `series` file in the package's autospec directory. (`echo "0001-example-fix--for-bug.patch" >> series`) 97 | 98 | 99 | ### Patching source using `quilt` 100 | 101 | [`quilt`](http://savannah.nongnu.org/projects/quilt) is a patch management tool used by some software projects to manage many patches or patch sets. 102 | 103 | See the links below for more information on how `quilt` can be used: 104 | - http://www.shakthimaan.com/downloads/glv/quilt-tutorial/quilt-doc.pdf 105 | - https://wiki.debian.org/UsingQuilt 106 | 107 | 108 | ## Reporting bugs and security concerns 109 | 110 | Please submit any issues in upstream packages to their respective projects. 111 | Bugs or issues related to Clear Linux Distribution may be submitted here: https://github.com/clearlinux/distribution/issues 112 | 113 | Visit [Intel's Security Portal](https://www.intel.com/content/www/us/en/security-center/default.html) for best practices on reporting security issues. 114 | 115 | 116 | 117 | [1] Make sure your [git user.name](https://help.github.com/en/articles/setting-your-username-in-git) and [git user.email](https://help.github.com/en/articles/setting-your-commit-email-address-in-git) are set correctly as they may appear in public patch files. 118 | --------------------------------------------------------------------------------