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

new releases of alcotest, cohttp, conduit, dns, tcpip #9824

Merged
merged 4 commits into from
Jul 25, 2017
Merged

new releases of alcotest, cohttp, conduit, dns, tcpip #9824

merged 4 commits into from
Jul 25, 2017

Conversation

avsm
Copy link
Member

@avsm avsm commented Jul 14, 2017

This PR represents a set of major releases which have a simpler,
depopt-free dependency chain that are easier to work with than
previous releases. A number of upper bounds have already been
placed in the repository in preparation for this, but there
will probably be some breakage.

Older packages will also need new releases to jump over the
constraint boundary, so this will need some effort for the
packages in mirage/ocaml-cohttp#558
to move over.

This cannot be merged until there is a post on discuss.ocaml.org
explaining the layout changes and the migration path. I'll do that
after seeing the results of testing on the CI.

@avsm
Copy link
Member Author

avsm commented Jul 14, 2017

closing to free up CI resources -- will reopen once the associated fixes linked here have been merged.

@avsm avsm reopened this Jul 14, 2017
@avsm avsm mentioned this pull request Jul 15, 2017
@avsm
Copy link
Member Author

avsm commented Jul 15, 2017

regression in conduit fixed in mirage/ocaml-conduit#229

@@ -0,0 +1,2 @@
archive: "https://github.com/mirage/ocaml-conduit/releases/download/v1.0.0/conduit-1.0.0.tbz"
checksum: "073ea06f539e0106b1d8a58eb3dd3a68"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That checksum is wrong, it shoud be b885ef5b3a503c9eda1b5c18bec859b6 like for other archives.

@samoht
Copy link
Member

samoht commented Jul 18, 2017

It would probably be less resource intensive to release alcotest in a separate PR.

@samoht
Copy link
Member

samoht commented Jul 18, 2017

New sets of revdeps errors:

#=== ERROR while compiling usbmux.1.3.2 =======================================#
# context              2.0.0~beta3 | linux/x86_64 | ocaml-base-compiler.4.04.2 | file:///home/opam/src
# path                 ~/.opam/ocaml-base-compiler.4.04.2/.opam-switch/build/usbmux.1.3.2
# command              ocaml setup.ml -build
# exit-code            1
# env-file             ~/.opam/log/usbmux-3744-84d898.env
# output-file          ~/.opam/log/usbmux-3744-84d898.out
### output ###
# ocamlfind ocamlopt unix.cmxa -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/ocamlbuild /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlfind ocamldep -package yojson -package threads -package ppx_deriving_yojson -package ppx_deriving -package plist -package lwt.unix -package lwt.preemptive -package lwt.ppx -package cohttp.lwt -package cohttp -modules src/lib/usbmux.mli > src/lib/usbmux.mli.depends
# + /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlfind ocamldep -package yojson -package threads -package ppx_deriving_yojson -package ppx_deriving -package plist -package lwt.unix -package lwt.preemptive -package lwt.ppx -package cohttp.lwt -package cohttp -modules src/lib/usbmux.mli > src/lib/usbmux.mli.depends
# ocamlfind: Package `cohttp-lwt-unix' not found - required by `cohttp.lwt'
# Command exited with code 2.
# E: Failure("Command ''/home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlbuild' src/lib/usbmux.cma src/lib/usbmux.cmxa src/lib/usbmux.a src/lib/usbmux.cmxs src/app/main.native -use-ocamlfind -tag debug' terminated with error code 10")
#=== ERROR while compiling cohttp.0.99.0 ======================================#
# context              2.0.0~beta3 | linux/x86_64 | ocaml-base-compiler.4.04.2 | file:///home/opam/src
# path                 ~/.opam/ocaml-base-compiler.4.04.2/.opam-switch/build/cohttp.0.99.0
# command              jbuilder build -p cohttp -j 1
# exit-code            1
# env-file             ~/.opam/log/cohttp-348-6e09d5.env
# output-file          ~/.opam/log/cohttp-348-6e09d5.out
### output ###
#     ocamllex cohttp/src/accept_lexer.ml
#    ocamlyacc cohttp/src/accept_parser.{ml,mli}
#     ocamldep cohttp/scripts/generate.depends.ocamldep-output
#     ocamlopt .ppx/ppx_fields_conv+ppx_sexp_conv/ppx.exe
#       ocamlc cohttp/src/cohttp.{cmi,cmo,cmt}
#       ocamlc cohttp/scripts/generate.{cmi,cmo,cmt}
#          ppx cohttp/src/accept.pp.ml
#          ppx cohttp/src/accept_types.pp.ml
#          ppx cohttp/src/auth.pp.ml
#          ppx cohttp/src/body.pp.ml
#          ppx cohttp/src/conf.pp.ml
#          ppx cohttp/src/connection.pp.ml
#          ppx cohttp/src/cookie.pp.ml
#          ppx cohttp/src/header.pp.ml
#          ppx cohttp/src/header_io.pp.ml
#          ppx cohttp/src/link.pp.ml
#          ppx cohttp/src/request.pp.ml
#          ppx cohttp/src/response.pp.ml
#          ppx cohttp/src/s.pp.ml
#          ppx cohttp/src/string_io.pp.ml
#          ppx cohttp/src/transfer.pp.ml
#          ppx cohttp/src/transfer_io.pp.ml
#          ppx cohttp/src/accept.pp.mli
#          ppx cohttp/src/auth.pp.mli
#          ppx cohttp/src/body.pp.mli
#          ppx cohttp/src/conf.pp.mli
#          ppx cohttp/src/connection.pp.mli
#          ppx cohttp/src/cookie.pp.mli
#          ppx cohttp/src/header.pp.mli
#          ppx cohttp/src/header_io.pp.mli
#          ppx cohttp/src/link.pp.mli
#          ppx cohttp/src/request.pp.mli
#          ppx cohttp/src/response.pp.mli
#          ppx cohttp/src/string_io.pp.mli
#          ppx cohttp/src/transfer.pp.mli
#          ppx cohttp/src/transfer_io.pp.mli
#          ppx cohttp/src/accept_lexer.pp.ml
#          ppx cohttp/src/accept_parser.pp.ml
#          ppx cohttp/src/accept_parser.pp.mli
#     ocamlopt cohttp/src/cohttp.{cmx,o}
#     ocamlopt cohttp/scripts/generate.{cmx,o}
#     ocamlopt cohttp/scripts/generate.exe
#     generate cohttp/src/code.{ml,mli}
#          ppx cohttp/src/code.pp.ml
#          ppx cohttp/src/code.pp.mli
#     ocamldep cohttp/src/cohttp.depends.ocamldep-output
#     ocamldep cohttp/src/cohttp.dependsi.ocamldep-output
#       ocamlc cohttp/src/cohttp__Accept_types.{cmi,cmo,cmt}
#       ocamlc cohttp/src/cohttp__Auth.{cmi,cmti}
#       ocamlc cohttp/src/cohttp__Code.{cmi,cmti}
#       ocamlc cohttp/src/cohttp__Conf.{cmi,cmti}
#       ocamlc cohttp/src/cohttp__Connection.{cmi,cmti}
#       ocamlc cohttp/src/cohttp__Link.{cmi,cmti}
#       ocamlc cohttp/src/cohttp__Transfer.{cmi,cmti}
#     ocamlopt cohttp/src/cohttp__Accept_types.{cmx,o}
#       ocamlc cohttp/src/cohttp__Accept.{cmi,cmti}
#       ocamlc cohttp/src/cohttp__Accept_parser.{cmi,cmti}
#       ocamlc cohttp/src/cohttp__Auth.{cmo,cmt}
#     ocamlopt cohttp/src/cohttp__Auth.{cmx,o}
#       ocamlc cohttp/src/cohttp__Code.{cmo,cmt}
#     ocamlopt cohttp/src/cohttp__Code.{cmx,o}
#       ocamlc cohttp/src/cohttp__Conf.{cmo,cmt}
#     ocamlopt cohttp/src/cohttp__Conf.{cmx,o}
#       ocamlc cohttp/src/cohttp__Connection.{cmo,cmt}
#     ocamlopt cohttp/src/cohttp__Connection.{cmx,o}
#       ocamlc cohttp/src/cohttp__Link.{cmo,cmt} (exit 2)
# (cd _build/default && /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlc.opt -w -40 -g -bin-annot -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/base64 -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/bytes -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/fieldslib -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/ocaml -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/re -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/sexplib -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/stringext -I /home/opam/.opam/ocaml-base-compiler.4.04.2/lib/uri -no-alias-deps -I cohttp/src -open Cohttp -o cohttp/src/cohttp__Link.cmo -c -impl cohttp/src/link.pp.ml)
# File "cohttp/src/link.ml", line 1:
# Error: The implementation cohttp/src/link.pp.ml
#        does not match the interface cohttp/src/cohttp__Link.cmi:
#        ...
#        In module Ext:
#        The value `value' is required but not provided
#        In module Ext:
#        The value `language' is required but not provided
#        In module Ext:
#        The value `charset' is required but not provided
#=== ERROR while compiling js_of_ocaml-compiler.3.0 ===========================#
# context              2.0.0~beta3 | linux/x86_64 | ocaml-base-compiler.4.04.2 | file:///home/opam/src
# path                 ~/.opam/ocaml-base-compiler.4.04.2/.opam-switch/build/js_of_ocaml-compiler.3.0
# command              jbuilder build -p js_of_ocaml-compiler -j 1
# exit-code            1
# env-file             ~/.opam/log/js_of_ocaml-compiler-710-706ca6.env
# output-file          ~/.opam/log/js_of_ocaml-compiler-710-706ca6.out
### output ###
# File "lib/tests/jbuild", line 20, characters 4-11:
# Error: Unknown field package

@samoht
Copy link
Member

samoht commented Jul 18, 2017

Also:

#=== ERROR while installing ketrew.3.1.0 ======================================#
# context              2.0.0~beta3 | linux/x86_64 | ocaml-base-compiler.4.04.2 | file:///home/opam/src
# path                 ~/.opam/ocaml-base-compiler.4.04.2/.opam-switch/build/ketrew.3.1.0
# command              omake WITH_POSTGRESQL=false
# exit-code            2
# env-file             ~/.opam/log/ketrew-390-9e96d2.env
# output-file          ~/.opam/log/ketrew-390-9e96d2.out
### output ###
# *** omake: reading OMakefiles
# --- Checking for ocamlfind... (found /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlfind)
# --- Checking for ocamlc.opt... (found /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlc.opt)
# --- Checking for ocamlopt.opt... (found /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlopt.opt)
# --- Checking for ocamldep.opt... (found /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamldep.opt)
# --- Checking for ocamllex.opt... (found /home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamllex.opt)
# --- Checking whether ocamlc understands the "z" warnings... (yes)
# --- Checking whether ocamlopt can create cmxs plugins... (yes)
# Go!
# Not using Bisect:  
# Building without PostgreSQL support: false
# LIB ketrew_pure MODULES: monitored_script internal_pervasives host path target program protocol reactive metadata
#       CMX:  monitored_script.cmx internal_pervasives.cmx host.cmx path.cmx target.cmx program.cmx protocol.cmx reactive.cmx metadata.cmx
#       CMI:  monitored_script.cmi internal_pervasives.cmi host.cmi path.cmi target.cmi program.cmi protocol.cmi reactive.cmi metadata.cmi
#       DEPS: 
#       INCLUDES: . 
# APP ketrew-client-joo MODULES: target_table single_client protocol_client webapp pvem_js pvem_js target_page local_cache reactive_html5 single_client target_page target_table local_cache reactive_html5 protocol_client 
# APP ketrew-client-joo local_deps: ../pure/ketrew_pure.cmi          ../pure/ketrew_pure.cmo
# LIB ketrew MODULES: configuration user_initialization pbs lsf yarn eDSL error plugin server engine client unix_io host_io logging explorer document daemonize interaction persistent_data long_running_utilities unix_process command_line long_running authentication eval_condition client_html persistent_data
#       CMX:  configuration.cmx user_initialization.cmx pbs.cmx lsf.cmx yarn.cmx eDSL.cmx error.cmx plugin.cmx server.cmx engine.cmx client.cmx unix_io.cmx host_io.cmx logging.cmx explorer.cmx document.cmx daemonize.cmx interaction.cmx persistent_data.cmx long_running_utilities.cmx unix_process.cmx command_line.cmx long_running.cmx authentication.cmx eval_condition.cmx client_html.cmx persistent_data.cmx
#       CMI:  configuration.cmi user_initialization.cmi pbs.cmi lsf.cmi yarn.cmi eDSL.cmi error.cmi plugin.cmi server.cmi engine.cmi client.cmi unix_io.cmi host_io.cmi logging.cmi explorer.cmi document.cmi daemonize.cmi interaction.cmi persistent_data.cmi long_running_utilities.cmi unix_process.cmi command_line.cmi long_running.cmi authentication.cmi eval_condition.cmi client_html.cmi persistent_data.cmi
#       DEPS: ../pure/ketrew_pure.cmi
#       INCLUDES: . ../pure
# APP ketrew MODULES: cli_main 
# APP ketrew local_deps: ../pure/ketrew_pure.cmi ../lib/ketrew.cmi          ../pure/ketrew_pure.o ../lib/ketrew.o
# LIB dummy_plugin_test_lib MODULES: dummy_plugin 
#       CMX:  dummy_plugin.cmx
#       CMI:  dummy_plugin.cmi
#       DEPS: ../../pure/ketrew_pure.cmi ../../lib/ketrew.cmi
#       INCLUDES: . ../../pure ../../lib
# *** omake: finished reading OMakefiles (0.20 sec)
# --- Checking if ocamldep understands -modules... (yes)
# - build . _build/style.css
# + Shell.echo("'Building _build/style.css'")
# Building _build/style.css
# - build _build/src/lib authentication.cmi
# + ocamlfind ocamlc -package sosa,nonstd,docout,pvem,yojson,uri,cohttp,ppx_deriving_yojson,ppx_deriving.std,react,reactiveData,threads,pvem_lwt_unix,cmdliner,cohttp.lwt,conduit,dynlink,findlib,lwt.react -bin-annot -thread -short-paths -g -strict-formats -strict-sequence -w +9 -safe-string -bin-annot -for-pack Ketrew -g -I . -I ../pure -c authentication.mli
# File "authentication.mli", line 1:
# Error: Corrupted compiled interface
# ../pure/ketrew_pure.cmi
# *** omake: 259/395 targets are up to date
# *** omake: failed (4.95 sec, 77/77 scans, 44/61 rules, 234/263 digests)
# *** omake: targets were not rebuilt because of errors:
#    _build/src/lib/authentication.cmi

and

#=== ERROR while compiling vchan.0.9.6 ========================================#
# context              2.0.0~beta3 | linux/x86_64 | ocaml-base-compiler.4.04.2 | file:///home/opam/src
# path                 ~/.opam/ocaml-base-compiler.4.04.2/.opam-switch/build/vchan.0.9.6
# command              make
# exit-code            2
# env-file             ~/.opam/log/vchan-363-ec169f.env
# output-file          ~/.opam/log/vchan-363-ec169f.out
### output ###
# File "setup.ml", line 247, characters 8-26:
# Warning 3: deprecated: String.set
# Use Bytes.set instead.
# File "setup.ml", line 320, characters 20-36:
# Warning 3: deprecated: String.lowercase
# Use String.lowercase_ascii instead.
# File "setup.ml", line 320, characters 42-58:
# Warning 3: deprecated: String.lowercase
# Use String.lowercase_ascii instead.
# File "setup.ml", line 329, characters 14-30:
# Warning 3: deprecated: String.lowercase
# Use String.lowercase_ascii instead.
# File "setup.ml", line 329, characters 38-54:
# Warning 3: deprecated: String.lowercase
# Use String.lowercase_ascii instead.
# File "setup.ml", line 332, characters 25-41:
# Warning 3: deprecated: String.lowercase
# Use String.lowercase_ascii instead.
# File "setup.ml", line 370, characters 10-26:
# Warning 3: deprecated: String.lowercase
# Use String.lowercase_ascii instead.
# File "setup.ml", line 476, characters 13-29:
# Warning 3: deprecated: String.lowercase
# Use String.lowercase_ascii instead.
# File "setup.ml", line 1820, characters 16-33:
# Warning 3: deprecated: String.capitalize
# Use String.capitalize_ascii instead.
# File "setup.ml", line 1826, characters 16-35:
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# File "setup.ml", line 2502, characters 6-24:
# Warning 3: deprecated: Lazy.lazy_from_fun
# Use Lazy.from_fun instead.
# File "setup.ml", line 5857, characters 31-50:
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# File "setup.ml", line 5858, characters 31-48:
# Warning 3: deprecated: String.capitalize
# Use String.capitalize_ascii instead.
# File "setup.ml", line 5859, characters 31-50:
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# File "setup.ml", line 5860, characters 31-48:
# Warning 3: deprecated: String.capitalize
# Use String.capitalize_ascii instead.
# File "setup.ml", line 5925, characters 31-50:
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# File "setup.ml", line 5926, characters 31-48:
# Warning 3: deprecated: String.capitalize
# Use String.capitalize_ascii instead.
# File "setup.ml", line 5927, characters 31-50:
# Warning 3: deprecated: String.uncapitalize
# Use String.uncapitalize_ascii instead.
# File "setup.ml", line 5928, characters 31-48:
# Warning 3: deprecated: String.capitalize
# Use String.capitalize_ascii instead.
# ocamlfind: Package `xen-evtchn.unix' not found
# W: Field 'pkg_xen_evtchn_unix' is not set: Command ''/home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlfind' query -format %d xen-evtchn.unix > '/tmp/oasis-7d5162.txt'' terminated with error code 2
# ocamlfind: Package `xen-evtchn.unix.activations' not found
# W: Field 'pkg_xen_evtchn_unix_activations' is not set: Command ''/home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlfind' query -format %d xen-evtchn.unix.activations > '/tmp/oasis-a487d3.txt'' terminated with error code 2
# ocamlfind: Package `xen-gnt.unix' not found
# W: Field 'pkg_xen_gnt_unix' is not set: Command ''/home/opam/.opam/ocaml-base-compiler.4.04.2/bin/ocamlfind' query -format %d xen-gnt.unix > '/tmp/oasis-1dfd0c.txt'' terminated with error code 2
# E: Cannot find findlib package xen-evtchn.unix
# E: Cannot find findlib package xen-evtchn.unix.activations
# E: Cannot find findlib package xen-gnt.unix
# E: Failure("3 configuration errors")
# Makefile:15: recipe for target 'setup.data' failed
# make: *** [setup.data] Error 1

@avsm
Copy link
Member Author

avsm commented Jul 18, 2017

Yay usbmux finally got past the linking errors -- that was due to a debian-stable base image that hadnt updated to the latest version, so the depext -u was upgrading the entire base system per build.

@samoht
Copy link
Member

samoht commented Jul 20, 2017

There is one weird error related to stringext in the revdeps, that I've fixed with: mirage/ocaml-conduit#230 (but would need a new tag in conduit).

Old version of tcpip (1.1.6) and vchan (0.9.6) have incomplete constraints, I am looking into these.

avsm added 4 commits July 23, 2017 17:59
This PR represents a set of major releases which have a simpler,
depopt-free dependency chain that are easier to work with than
previous releases.  A number of upper bounds have already been
placed in the repository in preparation for this, but there
will probably be some breakage.

Older packages will also need new releases to jump over the
constraint boundary, so this will need some effort for the
packages in mirage/ocaml-cohttp#558
to move over.
@avsm
Copy link
Member Author

avsm commented Jul 24, 2017

Final push hopefully, before this is mergeable. Also the new merge will test the latest jbuilder.

@avsm avsm merged commit e6ad8ef into ocaml:master Jul 25, 2017
@avsm avsm deleted the mirage-dev-releases branch July 25, 2017 10:00
@avsm
Copy link
Member Author

avsm commented Jul 25, 2017

In it goes! Now to fix all the older packages to the newer constraints @samoht :-)

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.

2 participants