Skip to content

Commit

Permalink
Merge pull request #5724 from kit-ty-kate/release-2.2.0-alpha3
Browse files Browse the repository at this point in the history
Release 2.2.0~alpha3
  • Loading branch information
rjbou authored Nov 13, 2023
2 parents 73583fc + bf08948 commit f36c638
Show file tree
Hide file tree
Showing 13 changed files with 120 additions and 93 deletions.
101 changes: 101 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,107 @@ repositories (changes that are automatically handled by the format upgrade tools
are not marked). Those prefixed with "(+)" are new command/option (since
2.1.0~alpha2).

2.2.0~alpha3:
* Add `x-env-path-rewrite` extensions field to specify the rewriting rules for
environment variables defined in `setenv` and `build-env`, useful for
platforms like Windows [#5636 @rjbou - fix #5602 #4690 #2927]
* The `environment` file now stores environment variable rewriting rules
[#5636 @rjbou]
* Reinstall a package if its `x-env-path-rewrite` is updated [#5636 @rjbou]
* (*) Sandbox: Make /tmp writable again to restore POSIX compliancy
[#5634 #5662 @kit-ty-kate - fixes #5462]
* (+) opam tree: Allow packages with a specific version, directories or local
opam files, as input [#5613 @kit-ty-kate]
* (+) opam tree: Add handling of `--recurse` and `--subpath` for directory
arguments [#5613 @kit-ty-kate]
* (+) opam admin: Add `add-extrafiles` command to add, check, and update
`extra-files:` field according files present in `files/` directory
[#5647 @rjbou]
* (+) Allow to mark a set of warnings as errors using a new syntax -W @1..9
[#5652 @kit-ty-kate @rjbou - fixes #5651]
* Create ppc64le and s390x binaries during releases [#5420 @kit-ty-kate]
* Fix incorrect error message when alternate C compiler is missing on Windows
[#5667 @dra27 - partial fix #5661]
* Fix `x-locked` error message [#5636 @rjbou]
* opam lint: Improve the debug log when checking extra-files [#5640 @rjbou]
* [BUG] Fix sporadic crash and segfault in shell detection (seen in native
containers) [#5714 @dra27]
* [BUG] Fix extra-files handling when linting packages from repositories
[#5639 @rjbou]
* [BUG] On install driven by `.install` file, track intermediate directories
too, in order to have them suppressed at package removal
[#5691 @rjbou - fix #5688]
* [BUG] With `--assume-built`, resolve variables in depends filter according
switch & global environment, not only depends predefined variables
[#5700 @rjbou - fix #5698]
* [BUG] Handle undefined variables defaults to false in dependencies formula
resolution for assume built [#5701 rjbou]
* [BUG] Fix `OPAMCURL` and `OPAMFETCH` handling [#5607 @rjbou - fix #5597]
* [BUG] Fix the `OPAMVERBOSE` setting, levels 0 and 1 were inverted: "no" gave
level 1, and "yes" gave level 0 [#5686 @smorimoto]
* [BUG] Fix "make cold" on Windows when gcc is available
[#5635 @kit-ty-kate - fixes #5600]
* Improve the documentation [#5636 #5706 #5708 @MisterDA @kit-ty-kate @rjbou]
* Improve and extend the tests [#5560 #5600 #5607 #5636 #5639 #5647 #5672 #5686
#5691 #5700 #5701 @kit-ty-kate @rjbou]
* Improve the test infrastructure [#5560 #5606 #5607 #5607 #5654 #5657 @rjbou]
* API changes:
* `OpamSystem.mk_temp_dir`: resolve real path with `OpamSystem.real_path`
before returning it [#5654 @rjbou]
* `OpamSystem.resolve_command`: in command resolution path, check that the
file is not a directory and that it is a regular file
[#5606 @rjbou - fix #5585 #5597 #5650 #5626]
* `OpamStd.Config.env_level`: fix level parsing, it was inverted (eg, "no"
gives level 1, and "yes" level 0) [#5686 @smorimoto]
* `OpamStd.Sys.chop_exe_suffix`: removes `.exe` from the end of a path, if
present [#5714 @dra27]
* `OpamSystem.get_cygpath_path_transform`: add labeled argument to specify
if path is a pathlist [#5636 @rjbou]
* `OpamSystem.apply_cygpath_path_transform`: fix cygpath call, use resolved
name [#5716 @rjbou]
* `OpamTreeCommand.run`: now takes an `atom` instead of `name`
[#5613 @kit-ty-kate]
* `OpamFilter`: add `expand_interpolations_in_file_full` which allows setting
the output file along with the input file [#5629 @rgrinberg]
* `OpamFilter`: expose `string_interp_regex` which allows clients to identify
variable interpolations in strings [#5633 @gridbugs]
* `OpamTypes.env_update`: change from tuple to a record [#5636 @rjbou]
* `OpamTypesBase`: add `env_update`, `env_update_resolved`, and
`env_update_unresolved` builders [#5636 @rjbou]
* `OpamTypes.env_update`: add a `rewrite` field, that contains environment
variable rewriting rules (formula to resolved, or already resolved, or no
rewriting) [#5636 @rjbou]
* `OpamPp.fallback`: add name concatenation and printing fallback too
[#5636 @rjbou]
* `OpamFormat`: add `formula_items` to permit definition of formulae pp not
only of the type `package-formula` [#5636 @rjbou]
* `OpamTypesBase`: add to_string function for `path_format` & `separator`
[#5636 @rjbou]
* `OpamFormat.V`: add `path_format` & `separator` value parser printer
[#5636 @rjbou]
* `OpamFile.OPAM`: add handling of `x-env-path-rewrite` extensions field,
that specifies rewrite rules [#5636 @rjbou]
* `OpamFile.Environment`: add parsing-printing of rewriting rules, keeping
backward compatibility [#5636 @rjbou]
* `OpamFile.OPAM`: `effective_part` keeps `x-env-path-rewrite`, affects also
`effectively_equal` [#5636 @rjbou]
* `OpamTypesBase`: add `env_update_resolved` and `env_update_unresolved`
builders [#5636 @rjbou]
* `OpamPp.fallback`: add name concatenation and printing fallback too
[#5636 @rjbou]
* `OpamFormat`: add `formula_items` to permit definition of formulae pp not
only of the type `package-formula` [#5636 @rjbou]
* `OpamTypesBase`: add to_string function for `path_format` & `separator`
[#5636 @rjbou]
* `OpamFormat.V`: add `path_format` & `separator` value parser printer
[#5636 @rjbou]
* `OpamFile.OPAM`: add handling of `x-env-path-rewrite` extensions field,
that specifies rewrite rules [#5636 @rjbou]
* `OpamFile.Environment`: add parsing-printing of rewriting rules, keeping
backward compatibility [#5636 @rjbou]
* `OpamFile.OPAM`: `effective_part` keeps `x-env-path-rewrite`, affects also
`effectively_equal` [#5636 @rjbou]

2.2.0~alpha2:
* Permit internal Cygwin install on Windows [#5545 @rjbou @dra27]
* Add `--no-cygwin-setup`, `--cygwin-internal-install`,
Expand Down
18 changes: 9 additions & 9 deletions configure

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dnl The line below must be formatted AC_INIT([opam],[VERSION]) with no extra spaces
AC_INIT([opam],[2.2.0~alpha3~dev])
AC_INIT([opam],[2.2.0~alpha3])
AC_COPYRIGHT(Copyright 2012-2019 OcamlPro SAS)

AC_CONFIG_MACRO_DIR([m4])
Expand Down
74 changes: 0 additions & 74 deletions master_changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@ moved, etc.), please update the _API updates_ part (it helps opam library
users)

## Version
* Bump to 2.2.0~alpha3~dev [#5615 @rjbou]

## Global CLI
* [BUG] Fix `OPAMVERBOSE` setting, 0 and 1 levels was inverted: eg, "no" gives level 1, and "yes" level 0 [#5686 @smorimoto]

## Plugins

Expand All @@ -25,10 +23,6 @@ users)
## Actions

## Install
* [BUG] On install driven by `.install` file, track intermediate directories too, in order to have them suppressed at package removal [#5691 @rjbou - fix #5688]
* [BUG] With `--assume-built`, resolve variables in depends filter according switch & global environment, not only depends predefined variables [#570 @rjbou - fix #5698]
* [BUG] Handle undefined variables defaults to false in dependencies formula resolution for assume built [#5701 rjbou]
* Reinstall if `x-env-path-rewrite` is updated [#5636 @rjbou]

## Remove

Expand All @@ -47,55 +41,38 @@ users)
## Update / Upgrade

## Tree
* Allow packages with a specific version, directories or local opam files, as input [#5613 @kit-ty-kate]
* Add handling of `--recurse` and `--subpath` for directory arguments [#5613 @kit-ty-kate]

## Exec

## Source

## Lint
* [BUG] Fix extra-files handling when linting packages from repositories, see #5068 [#5639 @rjbou]
* Allow to mark a set of warnings as errors using a new syntax -W @1..9 [#5652 @kit-ty-kate @rjbou - fixes #5651]

## Repository
* [BUG] Fix `OPAMCURL` and `OPAMFETCH` handling [#5607 @rjbou - fix #5597]

## Lock

## Clean

## Env
* When computing environment variables updates, use rewriting rules (defined in opam file, or default per variable) to split, join, quote, etc. [#5636 @rjbou - fix #5602 #4690 #2927]

## Opamfile
* Update populating extra-files fields log [#5640 @rjbou]
* Fix `x-locked` type error message [#5636 @rjbou]
* Add `x-env-path-rewrite` extensions field to permit specification of rewriting rules for variables defined in `setenv` and `build-env`: no rewrite; separator and path format formulae [#5636 @rjbou - fix #5602 #4690 #2927]

## External dependencies

## Format upgrade

## Sandbox
* Make /tmp writable again to restore POSIX compliancy [#5634 #5662 @kit-ty-kate - fixes #5462]

## VCS

## Build
* Remove `bigarray` dependency [#5612 @kit-ty-kate]
* Remove use of deprecated `Printf.kprintf" [#5612 @kit-ty-kate]
* [BUG] Fix "make cold" on Windows when gcc is available [#5635 @kit-ty-kate - fixes #5600]
* Fix incorrect error message when alternate C compiler is missing [#5667 @dra27 - partial fix #5661]

## Infrastructure
* Test OCaml 5.0 and 5.1 in CI [#5672 @kit-ty-kate]

## Release scripts
* Add ppc64le and s390x support [#5420 @kit-ty-kate]

## Admin
* Add `add-extrafiles` command to add, check, and update `extra-files:` field according files present in `files/` directory [#5647 @rjbou]

## Opam installer

Expand All @@ -110,49 +87,24 @@ users)
## Shell

## Internal
* `environment` file now stores environmnet variable rewriting rules [#5636 @rjbou]

## Internal: Windows
* Fix sporadic crash and segfault in shell detection (seen in native containers) [#5714 @dra27]

## Test

## Reftests
### Tests
* Lint: add test for W53, to test extra file with good hash [#5639 @rjbou]
* Add several checksum & cache validation checks for archive, extra-source section, and extra-file field [#5560 @rjbou]
* Move local-cache into archive-field-checks test [#5560 @rjbou]
* Admin: add `admin add-extrafiles` test cases [#5647 @rjbou]
* Add download test, to check `OPAMCURL/OPAMFETCH` handling [#5607 @rjbou]
* Add `core/opamSystem.ml` specific tests, to test command resolution [#5600 @rjbou]
* Add test for `OpamCoreConfig`, to check `OPAMVERBOSE` values [#5686 @rjbou]
* dot-install: generalise inner script & use less generic filenames [#5691 @rjbou]
* dot-install: add a test for removal of non specified in .install empty directories [#5701 @rjbou]
* Add test in assume-built for depends with switch variable filters [#5700 @rjbou]
* Add undefined variable handling in assume built test [#5701 @rjbou]
* Add `env.unix` & `env.win32` to test environment variables rewriting rules [#5636 @rjbou]

### Engine
* With real path resolved for all opam temp dir, remove `/private` from mac temp dir regexp [#5654 @rjbou]
* Reimplement `sed-cmd` command regexp, to handle prefixed commands with path not only in subprocess, but anywere in output [#5657 #5607 @rjbou]
* Add environment variables path addition [#5606 @rjbou]
* Remove duplicated environment variables in environmenet [#5606 @rjbou]
* Add `PATH` to replaceable variables [#5606 @rjbou]

## Github Actions
* Add coreutils install for cheksum validation tests [#5560 @rjbou]
* Add `wget` on Cygwin install [#5607 @rjbou]

## Doc
* Fix typos in readme [#5706 @MisterDA]
* Fix formatting in the Manual [#5708 @kit-ty-kate]
* Add `x-env-path-rewriting` documentation [#5636 @rjbou]

## Security fixes

# API updates
## opam-client
* `OpamTreeCommand.run`: now takes an `atom` instead of `name` [#5613 @kit-ty-kate]

## opam-repository

Expand All @@ -161,31 +113,5 @@ users)
## opam-solver

## opam-format
* `OpamFilter`: add `expand_interpolations_in_file_full` which allows setting the output file along with the input file [#5629 @rgrinberg]
* `OpamFilter`: expose `string_interp_regex` which allows clients to identify variable interpolations in strings [#5633 @gridbugs]
* `OpamTypes.env_update`: change from tuple to a record [#5636 @rjbou]
* `OpamTypesBase`: add `env_update`, `env_update_resolved`, and `env_update_unresolved` builders [#5636 @rjbou]
* `OpamTypes.env_update`: add a `rewrite` field, that contains environment variable rewriting rules (formula to resolved, or already resolved, or no rewriting) [#5636 @rjbou]
* `OpamPp.fallback`: add name concatenation and printing fallback too [#5636 @rjbou]
* `OpamFormat`: add `formula_items` to permit definition of formulae pp not only of the type `package-formula` [#5636 @rjbou]
* `OpamTypesBase`: add to_string function for `path_format` & `separator` [#5636 @rjbou]
* `OpamFormat.V`: add `path_format` & `separator` value parser printer [#5636 @rjbou]
* `OpamFile.OPAM`: add handling of `x-env-path-rewrite` extensions field, that specifies rewrite rules [#5636 @rjbou]
* `OpamFile.Environment`: add parsing-printing of rewriting rules, keeping backward compatibility [#5636 @rjbou]
* `OpamFile.OPAM`: `effective_part` keeps `x-env-path-rewrite`, affects also `effectively_equal` [#5636 @rjbou]
* `OpamTypesBase`: add `env_update_resolved` and `env_update_unresolved` builders [#5636 @rjbou]
* `OpamPp.fallback`: add name concatenation and printing fallback too [#5636 @rjbou]
* `OpamFormat`: add `formula_items` to permit definition of formulae pp not only of the type `package-formula` [#5636 @rjbou]
* `OpamTypesBase`: add to_string function for `path_format` & `separator` [#5636 @rjbou]
* `OpamFormat.V`: add `path_format` & `separator` value parser printer [#5636 @rjbou]
* `OpamFile.OPAM`: add handling of `x-env-path-rewrite` extensions field, that specifies rewrite rules [#5636 @rjbou]
* `OpamFile.Environment`: add parsing-printing of rewriting rules, keeping backward compatibility [#5636 @rjbou]
* `OpamFile.OPAM`: `effective_part` keeps `x-env-path-rewrite`, affects also `effectively_equal` [#5636 @rjbou]

## opam-core
* `OpamSystem.mk_temp_dir`: resolve real path with `OpamSystem.real_path` before returning it [#5654 @rjbou]
* `OpamSystem.resolve_command`: in command resolution path, check that the file is not a directory and that it is a regular file [#5606 @rjbou - fix #5585 #5597 #5650 #5626]
* `OpamStd.Config.env_level`: fix level parsing, it was inverted (eg, "no" gives level 1, and "yes" level 0) [#5686 @smorimoto]
* `OpamStd.Sys.chop_exe_suffix`: removes `.exe` from the end of a path, if present
* `OpamSystem.get_cygpath_path_transform`: add labeled argument to specify if path is a pathlist [#5636 @rjbou]
* `OpamSystem.apply_cygpath_path_transform`: fix cygpath call, use resolved name [#5716 @rjbou]
2 changes: 1 addition & 1 deletion opam-client.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
opam-version: "2.0"
version: "2.2.0~alpha3~dev"
version: "2.2.0~alpha3"
synopsis: "Client library for opam 2.2"
description: """
Actions on the opam root, switches, installations, and front-end.
Expand Down
2 changes: 1 addition & 1 deletion opam-core.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
opam-version: "2.0"
version: "2.2.0~alpha3~dev"
version: "2.2.0~alpha3"
synopsis: "Core library for opam 2.2"
description: """
Small standard library extensions, and generic system interaction modules used by opam.
Expand Down
2 changes: 1 addition & 1 deletion opam-devel.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
opam-version: "2.0"
version: "2.2.0~alpha3~dev"
version: "2.2.0~alpha3"
synopsis: "Bootstrapped development binary for opam 2.2"
description: """
This package compiles (bootstraps) opam. For consistency and safety of the installation, the binaries are not installed into the PATH, but into lib/opam-devel, from where the user can manually install them system-wide.
Expand Down
2 changes: 1 addition & 1 deletion opam-format.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
opam-version: "2.0"
version: "2.2.0~alpha3~dev"
version: "2.2.0~alpha3"
synopsis: "Format library for opam 2.2"
description: """
Definition of opam datastructures and its file interface.
Expand Down
2 changes: 1 addition & 1 deletion opam-installer.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
opam-version: "2.0"
version: "2.2.0~alpha3~dev"
version: "2.2.0~alpha3"
synopsis: "Installation of files to a prefix, following opam conventions"
description: """
opam-installer is a small tool that can read *.install files, as defined by opam [1], and execute them to install or remove package files without going through opam.
Expand Down
2 changes: 1 addition & 1 deletion opam-repository.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
opam-version: "2.0"
version: "2.2.0~alpha3~dev"
version: "2.2.0~alpha3"
synopsis: "Repository library for opam 2.2"
description: """
This library includes repository and remote sources handling, including curl/wget, rsync, git, mercurial, darcs backends.
Expand Down
2 changes: 1 addition & 1 deletion opam-solver.opam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
opam-version: "2.0"
version: "2.2.0~alpha3~dev"
version: "2.2.0~alpha3"
synopsis: "Solver library for opam 2.2"
description: """
Solver and Cudf interaction. This library is based on the Cudf and Dose libraries, and handles calls to the external solver from opam.
Expand Down
Loading

0 comments on commit f36c638

Please sign in to comment.