Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0.1 release: backported commits #3560

Merged
merged 45 commits into from
Oct 17, 2018
Merged

2.0.1 release: backported commits #3560

merged 45 commits into from
Oct 17, 2018

Conversation

rjbou
Copy link
Collaborator

@rjbou rjbou commented Sep 25, 2018

This PR contains commits to be backported to the release 2.0.1. We want to release it quickly (next week ?), to have these fixes into distribution packages.
I kept all fixes but we should just keep critical ones?
imho, most critical are:

  • opam, openssl & macos: fallback on internal implementation if option not found
  • opam show that don't return update 2.0 file
  • opam list --silent that reintroduce a return code if the list is empty

Note: I kept extract error enhancement because openbsd tar fix relies on it (conflict).

cc @AltGr @dra27 @samoht @avsm

@dra27
Copy link
Member

dra27 commented Sep 26, 2018

I'm not sure including #3522 is a good idea - when I (or someone) has a moment to complete that (so that ./configure && make && sudo make install really doesn't compile anything in the 2.0.0 stage) then it would be good for 2.0.

I was porting the build system to dune on the plane yesterday and noticed, for example, that the removal of ALWAYS in Makefile does mean at present that make does not always rebuild when it should.

@samoht
Copy link
Member

samoht commented Sep 26, 2018

Yea, I think it's probably a good idea to just cherry-pick the 3 patches really needed for 2.0.1 -- that would also make easier to review for external eyes :-)

@dra27
Copy link
Member

dra27 commented Sep 26, 2018

@samoht - that said, the other two (small) commits of mine in the list are worth including!

@samoht
Copy link
Member

samoht commented Sep 26, 2018

I went through the list of commits and I've tried to asses their impact / severity. Please check that I haven't done any mistake!

Should be included

commit issue description impacted platform severity
6c2fb96 #3480 fix coldboot macOX / CenOS / Alpine critical
29c1f4c #3516 fix checksum validation macOS critical
f5b065a detect available untar command all required by next patch
90d28c8 #3538 fix extraction of archive openBSD critical
5adc6d9 #3515 fix format upgrade of pinned packages all critical
9b49647 display correct error when a package cannot be installed all can help diagnosing more problems
6c9aebf #3536 fix opam show for pinned packages all improve scripting but not critical
db65176 #3523 git fetch by sha all-git<2.14 critical
a699b9e #3590 fix opam repo upgrade with compiler git url src all critical

Ease packaging

commit issue description impacted platform
71784ed - 3aa9272 - 0859ce1 - c6ca4f7 #3551 update configure tests macport/freebsd
e467f72 #3562 remove obsolete dev manual debian
80cfb31 NixOS/nixpkgs#45806 fix compilation of mccs on Darwin macOS+nix
b3778cd - 818efb0 - 427ecb3 src_ext sources all/full archive
b70822b #3574 remove gnu-sed option *BSD

Some of them are CI targeted commits.

Should be discussed

commit issue description
d645e39 #3519 could help debugging new issues
db22c2e #3525 Need ack from @avsm that this is actually fixing his problem
7ba616c #3530 fix upgrade of 1.2 comp files (variabls, etc.)
1d57d5c #3530 fix upgrade of 1.2 comp files (variabls, etc.)
8c5f17a ocaml/opam-repository#12729 lint error on absent descr and synopsis
8ebe84c #3580 lint warning if test or doc var used
359b1d9 - cf28868 config & update all

All the commits related to improving the install scripts should not be included IMHO, unless there is a strong argument in favour. There are a few other commits that I don't think we should include (especially the series of patch breaking and then fixig opam list --external), but appart than that I think the list is ok. What about the issues to compile mccs on OSX (can't find the references)

@dra27
Copy link
Member

dra27 commented Sep 26, 2018

The mccs issue is ocaml-opam/ocaml-mccs#15

@samoht
Copy link
Member

samoht commented Sep 26, 2018

Ok so ocaml-opam/ocaml-mccs#15 and #3529 have also to be somehow resolved before 2.0.1

Edit: I've added an entry about mccs in my table.

@dra27
Copy link
Member

dra27 commented Sep 30, 2018

#3572 should probably be added to this list (although they could be shelved for 2.0.2, given that they are essentially cosmetic)

@rjbou
Copy link
Collaborator Author

rjbou commented Oct 10, 2018

Updated the PR with new commits and also @samoht's comment to add them.
@samoht mccs added
@dra27 configure test added

@rjbou
Copy link
Collaborator Author

rjbou commented Oct 16, 2018

Last update!
Commits are fixes (critical and small ones), ease packaging, and source/script update.

All the commits related to improving the install scripts should not be included IMHO.

One of the way to install an new version of opam is to use the install script, that contains the archive url & cheksum. I wanted to redirect this time to the install.sh in branch 2.0 instead of putting version change on master branch (which should be at version 2.1.0).

Bronsa and others added 5 commits October 17, 2018 16:38
…caml#3516)

Don't continue with checksum check if openssl sha512 is unavailable
During the upgrade process, opam repo files are upgrades to 2.0, but not remaining switch opam files.
When pinning a package with opam1.2, an overlay opam file is stored internally. Then, when opam2.0.0 tries to install it, it takes it as is, and some check fail (the availability conditions error).
As the process of converting opam files from 1.2 to 2.0 is done at pin, repinning them with opam2.0 unblocks the situation.
If an opam pin --edit concerns an opam file not defining the field name, an error is raised

$ opam pin --edit opam-core --dev -n
Fatal error:
Field 'name:' is required
rjbou and others added 27 commits October 17, 2018 16:38
In order to split `print_depexts st set` into `print_depexts (get_depexts st set)`
    Uses OpamFile.Comp.to_package and apply a filter and var rewriting
- add usage OPAM_USER_PATH_RO environement variable for setting  unusual pathes in mount bind_ro list
- remove some unusual path from the script (/nix/store /rw/usrlocal)
Detection of C++ was skipped if --disable-checks was specified. C++ is
now checked unless --without-mccs is passed. If --disable-checks is
specified, then the lack of a C++ compiler is not considered a hard
error, since we should be assuming the presence of a compiled mccs
package.
This had apparently gone through too many iterations! opam will have an
internal solver if MCCS_ENABLED is true. If it's false, then configure
will have verified that no mccs package was installed and it will also
not be included in `make lib-ext`.
New target make -C src_ext has-archives which tests whether
src_ext/archives is populated. This test is used by configure and
suppresses the error if neither wget nor curl is found.
if variables test and doc are present in the opam file, advise to use with-test and with-doc if it was what user wanted first: opam2 format changed builti-in varibales test and doc to with-test and with-doc.
Output from `opam show` now includes quotes.
As it won't ever be updated!
Requires the addition of the seq compatibility library
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants