From cde02288d1af7d4a33e09ea2ad3071515596881c Mon Sep 17 00:00:00 2001 From: Yves Bertot Date: Fri, 21 Jan 2022 15:28:43 +0100 Subject: [PATCH 1/3] documenting the process of creating a new distribution --- DISTRIBUTION.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 DISTRIBUTION.md diff --git a/DISTRIBUTION.md b/DISTRIBUTION.md new file mode 100644 index 000000000..82b83f746 --- /dev/null +++ b/DISTRIBUTION.md @@ -0,0 +1,65 @@ +## Indications for the preparation of successive releases + +The branch `coq-master` is monitored by Coq continuous integration, so that +the Coq developers help making sure that the code of this Coq plugin is +compatible with the master branch of the Coq development. + +Every Coq release, it is necessary to produce a tagged version of this package +so that this version can then be distributed with coq-platform. + +There are only few operations to perform, thanks to the coq-community templates. + + - First create a branch for this new release. For instance, for version 8.14 + of Coq, the branch `coq-v8.14` was created. + + - Edit file `meta.yml` To know what modifications should be performed, the + best is to compare versions of `meta.yml` for branch `coq-master` and the + latest branch for a coq release. + + - Edit file `configure.ac` Here again, the modifications should be + similar to modification from branch `coq-master` to the latest + branch for a coq release. + + - run the following commands: + ```bash + autoconf + ./configure + make distrib +``` + + This creates a tar-gz arthive with the right naming. + + - on github, create a new release for this version. The name is + usually composed of two parts. The first part is the revision for + coq-dpdgraph (as used in the `coq-master` version of + `configure.ac`), then the + sign, then the targeted revision of coq. + + The archive that was generated by `make distrib` should be added to + that release (as an asset). + + - The next step is to add an opam file for this revision in + `opam-coq-archive`. + + - Clone the `opam-coq-archive` repository, create a working branch + stemming from `master`, and then add the new opam file at the + relevant place. + + - If the targeted revision of Coq is already + official, then this opam file can be added directly in the + `released` directory. The name of the directory for this file + should be the similar to the name of the tag + (`v` being replace by `coq-dpdgraph.`). The opam file should be + inspired from the opam file for the previous revision except that + the url src and checksum should be adapted to the new name and its + checksum (obtained using `sha512sum + + - If you want to test that you new `opam` file is correct, a first + step is to call `opam lint` on this file. The second step is to + test an installation. Here is a way to do it quickly: + +```bash + opam repo add .../opam-coq-archive/released + opam install coq-dpdgraph +``` + + \ No newline at end of file From b3e9a48449a11c6be0f3e4d7c906631b09d8db8d Mon Sep 17 00:00:00 2001 From: Yves Bertot Date: Fri, 21 Jan 2022 16:15:25 +0100 Subject: [PATCH 2/3] corrects a few typos and inconsistencies --- DISTRIBUTION.md | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/DISTRIBUTION.md b/DISTRIBUTION.md index 82b83f746..fe8b793a6 100644 --- a/DISTRIBUTION.md +++ b/DISTRIBUTION.md @@ -16,10 +16,18 @@ There are only few operations to perform, thanks to the coq-community templates. best is to compare versions of `meta.yml` for branch `coq-master` and the latest branch for a coq release. + - To make sure the modifications of `meta.yml` are taken into + account, the command `generate.sh` from `coq-community/templates` + should be run. + - Edit file `configure.ac` Here again, the modifications should be similar to modification from branch `coq-master` to the latest branch for a coq release. + - The new version of `meta.yml`, `configure.ac` and the files + generated by `generate.sh` that are under version control should + then be committed on this branch. This branch should be pushed on github. + - run the following commands: ```bash autoconf @@ -27,12 +35,13 @@ There are only few operations to perform, thanks to the coq-community templates. make distrib ``` - This creates a tar-gz arthive with the right naming. + This creates a tar-gz archive with the right naming. - on github, create a new release for this version. The name is usually composed of two parts. The first part is the revision for coq-dpdgraph (as used in the `coq-master` version of - `configure.ac`), then the + sign, then the targeted revision of coq. + `configure.ac`), then the + sign, then the targeted revision of + coq. The contents of this release are given by the branch you created. The archive that was generated by `make distrib` should be added to that release (as an asset). @@ -51,15 +60,16 @@ There are only few operations to perform, thanks to the coq-community templates. (`v` being replace by `coq-dpdgraph.`). The opam file should be inspired from the opam file for the previous revision except that the url src and checksum should be adapted to the new name and its - checksum (obtained using `sha512sum + checksum (obtained using `sha512sum`. - - If you want to test that you new `opam` file is correct, a first + - If you want to test that your new `opam` file is correct, a first step is to call `opam lint` on this file. The second step is to test an installation. Here is a way to do it quickly: ```bash - opam repo add .../opam-coq-archive/released + opam repo add tmp-coq-released .../opam-coq-archive/released opam install coq-dpdgraph ``` - - \ No newline at end of file + + Do not forget to perform an `opam update` after every modification + to any file in the opam archive. From 43dda90d0c38339e7e14e562021b91d0bcaafbed Mon Sep 17 00:00:00 2001 From: Yves Bertot Date: Fri, 21 Jan 2022 16:44:24 +0100 Subject: [PATCH 3/3] typo --- DISTRIBUTION.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DISTRIBUTION.md b/DISTRIBUTION.md index fe8b793a6..7603c3b95 100644 --- a/DISTRIBUTION.md +++ b/DISTRIBUTION.md @@ -57,7 +57,7 @@ There are only few operations to perform, thanks to the coq-community templates. official, then this opam file can be added directly in the `released` directory. The name of the directory for this file should be the similar to the name of the tag - (`v` being replace by `coq-dpdgraph.`). The opam file should be + (`v` being replaced by `coq-dpdgraph.`). The opam file should be inspired from the opam file for the previous revision except that the url src and checksum should be adapted to the new name and its checksum (obtained using `sha512sum`.