Skip to content

Commit

Permalink
(#14377) docs: update picking sources and unify with patching rules
Browse files Browse the repository at this point in the history
* docs: combined patch policy with picking sources

* docs: zap duplicate and improve language + links

* docs: fix sentence structure

* docs: fix links

* [docs] Regenerate tables of contents

Co-authored-by: prince-chrismc <[email protected]>

* docs: change heading level

* docs: picking a better link

* Apply suggestions from code review

Co-authored-by: Francisco Ramírez <[email protected]>
Co-authored-by: SSE4 <[email protected]>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: prince-chrismc <[email protected]>
Co-authored-by: Francisco Ramírez <[email protected]>
Co-authored-by: SSE4 <[email protected]>
  • Loading branch information
5 people authored Nov 25, 2022
1 parent d6b9501 commit 97b1986
Show file tree
Hide file tree
Showing 6 changed files with 193 additions and 134 deletions.
8 changes: 5 additions & 3 deletions docs/adding_packages/conandata_yml_format.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ file to provide declarative data for the recipe (which is imperative). This is a
In the context of ConanCenterIndex, this file is _mandatory_ and consists of two main sections that will be explained in the
next sections with more detail:

* `sources`: Library sources origin with their verification checksums. Freeform structure specific to a recipe.
* `patches`: Details about the different patches the library needs along with details for traceability.
* `sources`: Library sources origin with their verification checksums.
* `patches`: A list of patches to apply and supporting information. See the [Patching Policy](sources_and_patches.md#policy-about-patching) for the criteria.

<!-- toc -->
## Contents
Expand Down Expand Up @@ -39,6 +39,8 @@ next sections with more detail:

This is the entry that contains all the items that are downloaded from the internet and used in a recipe. This section contains one entry per version and each version should declare its own sources.

> **Note**: For deciding which source to pick, see [Picking Sources](sources_and_patches.md#picking-the-sources) guide.
This is a basic example of a regular library, it should satisfy most of the use cases:

```yml
Expand Down Expand Up @@ -132,7 +134,7 @@ Also, you may use [sha256sum](https://linux.die.net/man/1/sha256sum) command ([w
Sometimes sources provided by project require patching for various reasons. The `conandata.yml` file is the right place to indicate this information as well.

> **Note**: Under our mission to ensure quality, patches undergo extra scrutiny. **Make sure to review** our
> [Patching Policy](policy_patching.md) to understand the requirements before adding any.
> [Patching Policy](sources_and_patches.md#policy-about-patching) to understand the requirements before adding any.

This section follows the same pattern as the `sources` above - one entry per version with a list of patches to apply.

Expand Down
81 changes: 0 additions & 81 deletions docs/adding_packages/policy_patching.md

This file was deleted.

32 changes: 1 addition & 31 deletions docs/adding_packages/reviewing.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ The following policies are preferred during the review, but not mandatory:
* [CMake Configure Method](#cmake-configure-method)
* [Test Package](#test-package)
* [Minimalistic Source Code](#minimalistic-source-code)
* [CMake targets](#cmake-targets)
* [Supported Versions](#supported-versions)
* [Removing old versions](#removing-old-versions)
* [Adding old versions](#adding-old-versions)<!-- endToc -->
* [CMake targets](#cmake-targets)<!-- endToc -->

## Trailing white-spaces

Expand Down Expand Up @@ -162,30 +159,3 @@ target_link_libraries(${PROJECT_NAME} package::package)

We encourage contributors to check that not only the _global_ target works properly, but also the ones for the components. It can be
done creating and linking different libraries and/or executables.

## Supported Versions

In this repository we are building a subset of all the versions for a given library. This set of version changes over time as new versions
are released and old ones stop to be used.

We always welcome latest releases as soon as they are available, and from time to time we remove old versions mainly due to technical reasons:
the more versions we have, the more resources that are needed in the CI and the more time it takes to build each pull-request (also, the
more chances of failing because of unexpected errors).

### Removing old versions

When removing old versions, please follow these considerations:
- keep one version for every major release
- for the latest major release, at least three versions should be available (latest three minor versions)

Logic associated to removed revisions, and entries in `config.yml` and `conandata.yml` files should be removed as well. If anyone needs to
recover them in the future, Git contains the full history and changes can be recovered from it.

Please, note that even if those versions are removed from this repository, **the packages will always be accessible in ConanCenter remote**
associated to the recipe revision used to build them.

### Adding old versions

We usually don't add old versions unless there is a specific request for it. If you need some old version, please
share in the pull-request what is the motivation. Take into account that the version might be removed in future
pull-requests according to the statements above.
Loading

0 comments on commit 97b1986

Please sign in to comment.