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

Big new year cleanup #11194

Closed
wants to merge 1 commit into from
Closed

Big new year cleanup #11194

wants to merge 1 commit into from

Conversation

AltGr
Copy link
Member

@AltGr AltGr commented Jan 8, 2018

This is probably not to be merged as is, but may be useful to open some discussions, and make some benches and tests.

What this patch does is remove any package that

  • has a version in the form 'MAJOR.MINOR.PATCH'
  • is the non-latest patch revision of the non-latest minor revision

In other words, we keep only the latest patch revision of all versions but the current one.

For example, if you have 1.1.0, 1.2.1, 1.2.2, 1.3.0 and 1.3.1, only 1.2.1 will be removed.

This is probably not to be merged as is, but may be useful to open some discussions, and make some benches and tests.

What this patch does is remove any package that
- has a version in the form 'MAJOR.MINOR.PATCH'
- is the non-latest patch revision of the non-latest minor revision

In other words, we keep only the latest patch revision of all versions but the current one.

For example, if you have 1.1.0, 1.2.1, 1.2.2, 1.3.0 and 1.3.1, only 1.2.1 will be removed.
@camelus
Copy link
Contributor

camelus commented Jan 8, 2018

✅ No new or changed opam files daca426

❗ Installability check (8157 → 6439)
  • these releases are not installable anymore (418): 0install.2.12.1 async.109.15.00 async.109.17.00 async.109.19.00
    async.109.20.00 async.109.21.00 async.109.22.00 async.109.24.00 async.109.27.00 async.109.30.00 async.109.31.00
    async.109.32.00 async.109.33.00 async.109.34.00 async.109.35.00 async.109.38.00 async.109.42.00 async.111.11.00
    async.111.13.00 async.111.17.00 async.111.25.00 async_core.109.15.00 async_core.109.19.00 async_core.109.20.00
    async_core.109.22.00 async_core.109.24.00 async_core.109.27.00 async_core.109.28.00 async_core.109.30.00
    async_core.109.32.00 async_core.109.34.00 async_core.109.35.00 async_core.109.36.00 async_core.109.37.00
    async_core.109.38.00 async_core.109.40.00 async_core.109.41.00 async_core.109.42.00 async_core.109.45.00
    async_core.109.47.00 async_core.109.53.00 async_core.109.55.00 async_extended.111.17.00 async_extended.111.21.00
    async_extended.111.28.00 async_extra.109.15.00 async_extra.109.17.00 async_extra.109.19.00 async_extra.109.20.00
    async_extra.109.22.00 async_extra.109.24.00 async_extra.109.27.00 async_extra.109.28.00 async_extra.109.31.00
    async_extra.109.32.00 async_extra.109.33.00 async_extra.109.34.00 async_extra.109.35.00 async_extra.109.38.00
    async_extra.109.40.00 async_extra.109.41.00 async_extra.109.42.00 async_extra.109.45.00 async_extra.109.47.00
    async_extra.109.53.00 async_extra.111.08.00 async_extra.111.11.00 async_extra.111.13.00 async_extra.111.17.00
    async_extra.111.21.00 async_extra.111.25.00 async_extra.111.28.00 async_inotify.109.15.00 async_inotify.111.17.00
    async_kernel.111.08.00 async_kernel.111.11.00 async_kernel.111.17.00 async_kernel.111.25.00 async_kernel.111.28.00
    async_parallel.109.23.00 async_parallel.109.27.00 async_parallel.109.30.00 async_parallel.109.34.00
    async_parallel.109.35.00 async_parallel.109.40.00 async_parallel.109.41.00 async_parallel.109.47.00
    async_parallel.111.17.00 async_parallel.111.25.00 async_shell.109.15.00 async_shell.109.17.00 async_unix.109.15.00
    async_unix.109.17.00 async_unix.109.18.00 async_unix.109.19.00 async_unix.109.20.00 async_unix.109.21.00
    async_unix.109.24.00 async_unix.109.27.00 async_unix.109.30.00 async_unix.109.31.00 async_unix.109.32.00
    async_unix.109.34.00 async_unix.109.35.00 async_unix.109.36.00 async_unix.109.38.00 async_unix.109.40.00
    async_unix.109.41.00 async_unix.109.42.00 async_unix.109.45.00 async_unix.109.47.00 async_unix.109.53.00
    async_unix.111.08.00 async_unix.111.11.00 async_unix.111.13.00 async_unix.111.17.00 async_unix.111.21.00
    async_unix.111.25.00 async_unix.111.28.00 bignum.111.08.00 bignum.111.13.00 bignum.111.17.00 bignum.111.28.00
    biocaml.0.3.1 bt.0.1.2 bt.0.2 core.109.15.01 core.109.17.00 core.109.18.00 core.109.19.00 core.109.20.00
    core.109.21.00 core.109.22.00 core.109.23.00 core.109.24.00 core.109.27.00 core.109.28.00 core.109.30.00
    core.109.31.00 core.109.32.00 core.109.34.00 core.109.35.00 core.109.36.00 core.109.37.00 core.109.38.00
    core.109.40.00 core.109.41.00 core.109.42.00 core.109.45.00 core.109.47.00 core.109.53.01 core.111.08.00
    core.111.11.01 core.111.13.00 core.111.17.00 core.111.21.00 core.111.25.00 core.111.28.01 core_bench.109.24.00
    core_bench.109.27.00 core_bench.109.30.00 core_bench.109.32.00 core_bench.109.34.00 core_bench.109.35.00
    core_bench.109.36.00 core_bench.109.40.00 core_bench.109.41.00 core_bench.109.47.00 core_bench.109.53.00
    core_extended.109.15.00 core_extended.109.17.00 core_extended.109.19.00 core_extended.109.20.00
    core_extended.109.21.00 core_extended.109.23.00 core_extended.109.24.00 core_extended.109.27.00
    core_extended.109.28.00 core_extended.109.30.00 core_extended.109.31.00 core_extended.109.34.00
    core_extended.109.35.00 core_extended.109.36.00 core_extended.109.40.00 core_extended.109.41.00
    core_extended.109.42.00 core_extended.109.45.00 core_extended.109.47.00 core_extended.109.53.00
    core_extended.109.55.02 core_extended.109.58.00 core_extended.110.01.00 core_extended.111.11.00
    core_extended.111.13.00 core_extended.111.17.00 core_extended.111.25.00 core_extended.111.28.00 core_kernel.109.27.00
    core_kernel.109.28.00 core_kernel.109.30.00 core_kernel.109.31.00 core_kernel.109.32.00 core_kernel.109.33.00
    core_kernel.109.34.00 core_kernel.109.35.01 core_kernel.109.36.00 core_kernel.109.37.00 core_kernel.109.38.00
    core_kernel.109.40.00 core_kernel.109.41.00 core_kernel.109.42.00 core_kernel.109.45.00 core_kernel.109.47.00
    core_kernel.109.53.00 core_kernel.111.08.00 core_kernel.111.11.00 core_kernel.111.13.00 core_kernel.111.17.00
    core_kernel.111.21.00 core_kernel.111.25.00 core_kernel.111.28.00 dog.0.1.0 dog.0.2.0 electrumAnalyzer.0.3.4
    eliom.2.2.2 eliom.3.0.3 eliom.4.0.0 email_message.109.38.alpha1 expect.0.0.2 expect.0.0.3 flow.0.2
    getopts.0.3.2 github.0.3.3 github.0.4.3 github.0.5.0 github.0.6.1 github.0.7.1 google-drive-ocamlfuse.0.5
    google-drive-ocamlfuse.0.5.25 hydro.0.7.1 ibx.0.5.9 ibx.0.6.2 imaplet-lwt.0.1.2 imaplet-lwt.0.1.3
    imaplet-lwt.0.1.4 imaplet-lwt.0.1.8 imaplet-lwt.0.1.9 imaplet-lwt.0.1.10 imaplet-lwt.0.1.11 imaplet-lwt.0.1.12
    imaplet-lwt.0.1.13 imaplet-lwt.0.1.14 imaplet-lwt.0.1.15 immutable.0.0.1 immutable.0.0.3 iocaml.0.4.7
    irmin-indexeddb.0.1 jenga.109.15.00 jenga.109.17.00 jenga.109.18.00 jenga.109.19.00 jenga.109.20.00
    jenga.109.21.00 jenga.109.22.00 jenga.109.23.00 jenga.109.24.00 jenga.109.27.00 jenga.109.28.00 jenga.109.30.00
    jenga.109.31.00 jenga.109.32.00 jenga.109.33.00 jenga.109.34.00 jenga.109.35.00 jenga.109.36.00 jenga.109.37.00
    jenga.109.38.00 jenga.109.40.00 jenga.109.41.00 jenga.109.42.00 jenga.109.45.00 jenga.109.47.00 jenga.109.53.00
    jenga.109.55.03 jenga.109.58.00 jenga.111.08.01 jenga.111.17.00 jenga.111.21.00 jenga.111.25.00 jenga.111.28.00
    joolog.0.4 js-lz4.109.38.alpha1 krb5.109.38.alpha1 lambda-term.1.4 lambda-term.1.5 lemonade.0.3.0 libres3.0.1
    libres3.0.2 libres3.0.3 liquidsoap.1.0.1 litiom.2.1 litiom.3.0 mirage.0.9.8 mirage-http.2.0.0 mirage-http.2.1.0
    mirage-http.2.2.0 mirage-http-unix.1.0.0 mirage-net.0.9.4 mirage-net-direct.0.9.1 mirage-net-direct.0.9.2
    mirage-net-direct.0.9.3 mirage-net-direct.0.9.4 mirage-net-socket.0.9.1 mirage-net-socket.0.9.2
    mirage-net-socket.0.9.3 mirage-net-socket.0.9.4 mirage-www.0.3.0 mirage-www.0.4.0 mirage-www.1.0.0 mirage-www.1.1.0
    netamqp.1.0 oasis.0.2.0 obigstore.0.9.1 ocaml-markdown.0.1.0 ocaml-markdown.0.1.1 ocaml_plugin.109.15.00
    ocaml_plugin.109.17.00 ocaml_plugin.109.20.00 ocaml_plugin.109.22.00 ocaml_plugin.109.30.00 ocaml_plugin.109.31.00
    ocaml_plugin.109.32.00 ocaml_plugin.109.35.00 ocaml_plugin.109.38.00 ocaml_plugin.109.41.00 ocaml_plugin.109.45.00
    ocaml_plugin.111.11.00 ocaml_plugin.111.17.00 ocaml_plugin.111.21.00 ocaml_plugin.111.25.00 ocaml_plugin.111.28.00
    ocamldap.2.1.8 ocamltter.3.0.0 ocp-indent.1.2.2 ocp-indent.1.3.2 ocp-indent.1.4.2 ocp-indent.1.5 ocp-indent.1.5.3
    ocsigenserver.2.1 ocsigenserver.2.2.0 ocsigenserver.2.3.1 ocsigenserver.2.4.0 opam-publish.0.2.1 opam2web.1.2.0
    opam2web.1.4.0 opamfu.0.1.2 pa_test.109.34.00 pa_test.109.45.00 pa_test.109.47.00 patdiff.109.15.00
    patdiff.109.30.00 patdiff.109.34.00 patdiff.109.38.00 patdiff.109.40.00 patdiff.109.41.00 patdiff.109.45.00
    patdiff.109.47.00 patdiff.111.13.00 patdiff.111.17.00 patdiff.111.21.00 patdiff.111.25.00 patience_diff.111.13.00
    patience_diff.111.17.00 patience_diff.111.21.00 patience_diff.111.25.00 pgocaml.1.6 plasma.0.6.1
    protocol-9p-tool.0.11.3 re2.109.24.01 re2.109.28.00 re2.109.32.00 re2.109.40.00 re2.109.45.02 re2.109.53.00
    re2.109.55.04 sexplib.109.53.00 slap.0.0.0 slap.0.1.0 slap.0.2.3 slap.1.0.1 space-search.0.9 space-search.0.9.1
    textutils.109.24.00 textutils.109.35.00 textutils.109.36.00 textutils.111.25.00 textutils.111.28.00 tyxml.2.1
    utop.1.12 utop.1.14 utop.1.15 utop.1.16 utop.1.17 utop.1.18 vhd-tool.0.6.5 vpnkit.0.0.0 wdialog.2.1.3
    websocket.0.6 websocket.0.9.3 xen-api-client.0.9.3 xen-block-driver.0.2.0 xen-block-driver.0.2.2 zero.109.15.00
    zero.109.17.00 zero.109.19.00 zero.109.20.00 zero.109.21.00 zero.109.27.00
  • removed broken packages (17): async.108.00.01 async_core.108.00.01 async_extra.108.00.01 async_unix.108.00.01
    ocaml-top.1.0.0 ox.1.0.0 topkg-care.0.7.5 topkg-care.0.7.6 topkg-care.0.7.7 topkg-care.0.7.8 topkg-care.0.8.0
    vhd-format.0.7.0 vhd-tool.0.7.1 vhd-tool.0.7.2 vhd-tool.0.7.5 vhd-tool.0.7.6 xen-disk.1.0.2
  • removed installable packages (1300): aifad.2.0.7 alcotest.0.3.0 alcotest.0.3.1 alcotest.0.3.2 alcotest.0.4.0
    alcotest.0.4.1 alcotest.0.4.2 alcotest.0.4.3 alcotest.0.4.4 alcotest.0.4.5 alcotest.0.4.6 alcotest.0.4.7
    alcotest.0.4.8 alcotest.0.4.9 alcotest.0.4.10 alcotest.0.7.0 alcotest.0.7.1 amqp-client.1.0.0 amqp-client.1.0.1
    amqp-client.1.0.2 amqp-client.1.0.3 amqp-client.1.0.4 amqp-client.1.0.5 angstrom.0.1.0 angstrom.0.5.0
    arakoon.1.6.5 arakoon.1.6.6 arakoon.1.8.6 arakoon.1.8.7 arakoon.1.8.8 arakoon.1.8.10 arakoon.1.8.11
    asn1-combinators.0.1.0 asn1-combinators.0.1.1 asn1-combinators.0.1.2 async.108.07.00 async.109.53.00
    async_core.108.07.00 async_extra.108.07.00 async_extra.109.55.00 async_find.109.15.00 async_inotify.109.34.00
    async_inotify.109.58.00 async_parallel.109.53.00 async_parallel.109.58.00 async_shell.109.28.00 async_shell.109.28.02
    async_ssl.112.24.02 async_ssl.113.00.00 async_unix.108.07.00 async_unix.109.55.00 atd.1.0.2 atd.1.1.0 atd.1.1.1
    atd.1.2.0 atdgen.1.2.2 atdgen.1.2.3 atdgen.1.3.0 atdgen.1.4.0 atdgen.1.6.0 atdgen.1.7.1 atdgen.1.9.0
    atdgen.1.10.0 aws.0.0.2 bap.0.9.1 bap.0.9.2 bap.0.9.3 bap.0.9.4 bap.0.9.5 bap.0.9.6 bap.0.9.7 bap.0.9.8
    batteries.2.3.0 batteries.2.5.0 batteries.2.5.2 bddapron.2.2.3 bignum.112.06.00 bignum.112.24.00
    bin_prot.108.07.00 bin_prot.109.15.00 bin_prot.109.53.00 bin_prot.109.53.02 bin_prot.112.06.00 biniou.1.0.5
    biniou.1.0.6 biniou.1.0.9 biniou.1.0.12 biocaml.0.3.0 bisect_ppx.0.2.2 bisect_ppx.0.2.3 bisect_ppx.0.2.4
    bisect_ppx.0.2.5 bisect_ppx.1.0.0 bitstring.2.0.3 bos.0.1.0 bos.0.1.1 bos.0.1.2 bos.0.1.3 bos.0.1.4 bos.0.1.5
    brotli.1.2.0 brotli.1.2.1 cairo.0.4.1 camlimages.4.0.1 camlimages.4.1.0 camlimages.4.1.1 camlon.1.0.0
    camlon.1.0.1 camltc.0.8.1 camltc.0.8.2 capnp.1.0.0 capnp.2.1.0 cfg.2.0.1 cfg.2.0.3 cfstream.1.1.1
    clangml.0.5.1 cmdliner.0.9.2 cmdliner.0.9.4 cmdliner.0.9.5 cmdliner.0.9.6 cmdliner.0.9.7 codept.0.9.0
    cohttp.0.9.1 cohttp.0.9.2 cohttp.0.9.3 cohttp.0.9.4 cohttp.0.9.5 cohttp.0.9.6 cohttp.0.9.7 cohttp.0.9.8
    cohttp.0.9.9 cohttp.0.9.10 cohttp.0.9.11 cohttp.0.9.12 cohttp.0.9.13 cohttp.0.9.14 cohttp.0.9.15 cohttp.0.10.0
    cohttp.0.11.0 cohttp.0.11.1 cohttp.0.15.0 cohttp.0.15.1 cohttp.0.16.0 cohttp.0.17.0 cohttp.0.17.1 cohttp.0.18.0
    cohttp.0.18.1 cohttp.0.18.2 cohttp.0.19.0 cohttp.0.19.1 cohttp.0.19.2 cohttp.0.20.0 cohttp.0.20.1 cohttp.0.21.0
    comparelib.108.07.00 comparelib.109.27.00 conduit.0.5.0 conduit.0.6.0 conduit.0.7.0 conduit.0.7.1 conduit.0.8.0
    conduit.0.8.1 conduit.0.8.2 conduit.0.8.4 conduit.0.8.5 conduit.0.8.6 conduit.0.8.7 conduit.0.14.0
    conduit.0.14.1 conduit.0.14.2 conduit.0.14.3 conduit.0.14.4 conduit.0.15.0 conduit.0.15.1 conduit.0.15.2
    conduit.0.15.3 containers.0.3.3 coq.8.4.5 coq.8.5.0 coq.8.5.1 coq.8.5.2 coqide.8.4.5 coqide.8.5.0
    coqide.8.5.1 coqide.8.5.2 core.108.07.00 core.109.14.00 core.109.15.00 core.109.53.00 core.109.55.00
    core.111.11.00 core.111.28.00 core.112.01.00 core.112.06.00 core.112.06.01 core.112.24.00 core.112.35.00
    core.113.24.00 core.113.24.01 core_bench.109.55.00 core_bench.109.58.00 core_extended.108.00.01
    core_extended.108.07.00 core_extended.109.55.00 core_kernel.109.35.00 core_kernel.109.55.00 core_kernel.112.06.00
    core_profiler.112.19.00 cow.0.3.0 cow.0.3.1 cow.0.5.2 cow.0.5.3 cow.0.5.4 cow.0.6.0 cow.0.6.1 cow.0.8.0
    cow.0.9.0 cow.0.10.0 cow.1.2.0 cow.1.2.1 cow.2.0.0 cowabloga.0.0.1 cowabloga.0.0.2 cowabloga.0.0.3
    cowabloga.0.0.4 cowabloga.0.0.5 cowabloga.0.0.6 cowabloga.0.0.7 cowabloga.0.0.8 cowabloga.0.2.0 cowabloga.0.2.1
    cppo.0.9.3 cppo.1.0.0 cppo.1.1.0 cppo.1.1.1 cppo.1.3.0 cppo.1.3.1 cppo.1.4.0 crunch.1.0.0 crunch.1.1.0
    crunch.1.1.1 crunch.1.2.0 crunch.1.2.1 crunch.1.2.2 crunch.1.4.0 cstruct.0.4.0 cstruct.0.5.0 cstruct.0.5.1
    cstruct.0.5.2 cstruct.0.6.0 cstruct.0.6.1 cstruct.0.7.0 cstruct.0.8.0 cstruct.1.0.0 cstruct.1.3.0 cstruct.1.7.0
    cstruct.2.3.0 cstruct.2.3.1 cstruct.3.0.0 cstruct.3.0.1 cstruct.3.1.0 cstruct-async.3.0.0 cstruct-async.3.0.1
    cstruct-async.3.1.0 cstruct-lwt.3.0.0 cstruct-lwt.3.0.1 cstruct-lwt.3.1.0 cstruct-unix.3.0.0 cstruct-unix.3.0.1
    cstruct-unix.3.1.0 csv.1.2.2 csv.1.2.4 csv.1.3.0 csv.1.3.1 csv.1.3.2 csv.1.3.3 ctypes.0.4.0 ctypes.0.4.1
    ctypes.0.5.0 ctypes.0.6.0 ctypes.0.6.1 ctypes.0.6.2 ctypes.0.7.0 ctypes.0.7.1 ctypes.0.8.0 ctypes.0.8.1
    ctypes.0.9.0 ctypes.0.9.1 ctypes.0.9.2 ctypes.0.9.3 ctypes.0.9.4 ctypes.0.10.0 ctypes.0.10.1 ctypes.0.10.2
    ctypes.0.10.3 ctypes.0.10.4 ctypes.0.11.0 ctypes.0.11.1 ctypes.0.11.2 ctypes.0.11.3 ctypes.0.11.4 ctypes.0.12.0
    custom_printf.109.27.00 d3.0.2.0 d3.0.2.1 datakit.0.10.0 datakit-bridge-github.0.10.0
    datakit-bridge-local-git.0.10.0 datakit-ci.0.10.0 datakit-client.0.10.0 datakit-github.0.10.0 datakit-server.0.10.0
    depext.0.9.0 dlist.0.0.1 dlist.0.0.2 dns.0.5.0 dns.0.6.0 dns.0.6.1 dns.0.8.0 dns.0.9.0 dns.0.14.0
    dns.0.15.0 dns.0.15.1 dns.0.15.2 dns.0.18.0 dns.0.19.0 dns.0.20.0 doc-ock.1.1.0 doc-ock-html.1.1.0
    dockerfile.1.1.0 dockerfile.1.2.0 dockerfile.1.7.0 dockerfile.1.7.1 dockerfile.2.2.0 dockerfile.2.2.1
    dockerfile.2.2.2 duppy.0.5.0 duppy.0.6.0 dyntype.0.8.2 dyntype.0.8.3 dyntype.0.8.4 easy-format.1.0.1 efl.1.8.1
    efl.1.8.2 efl.1.8.3 efl.1.9.0 efl.1.9.1 efl.1.10.0 efl.1.11.0 eliom.3.0.0 eliom.3.0.1 eliom.3.0.2
    enumerators.0.1.0 extlib.1.5.2 extlib.1.5.3 extprot.1.1.1 ezjsonm.0.3.0 ezjsonm.0.4.0 ezjsonm.0.4.1
    ezjsonm.0.4.2 faillib.109.35.00 fat-filesystem.0.6.0 fat-filesystem.0.10.0 fat-filesystem.0.10.1
    fat-filesystem.0.10.2 fieldslib.108.07.00 fieldslib.109.20.00 fieldslib.109.20.02 flowtype.0.9.1 flowtype.0.19.0
    flowtype.0.20.0 flowtype.0.22.0 fmt.0.7.0 freetds.0.4.1 frenetic.1.0.1 functoria.1.1.0 functoria.2.0.0
    functoria.2.0.1 gapi-ocaml.0.2.1 gapi-ocaml.0.2.3 gapi-ocaml.0.2.4 gapi-ocaml.0.2.5 gapi-ocaml.0.2.6
    gapi-ocaml.0.2.7 gapi-ocaml.0.2.8 gapi-ocaml.0.2.9 gapi-ocaml.0.2.10 gapi-ocaml.0.2.13 gdal.0.1.0 gdal.0.6.0
    get_line.2.1.0 git.1.0.0 git.1.0.1 git.1.4.0 git.1.4.1 git.1.4.2 git.1.4.3 git.1.4.4 git.1.4.5 git.1.4.6
    git.1.4.7 git.1.4.8 git.1.4.9 git.1.4.10 git.1.5.0 git.1.5.1 git.1.5.2 git.1.6.0 git.1.6.1 git.1.7.0
    git.1.7.1 git.1.9.0 git.1.9.1 git.1.9.2 git-unix.1.10.0 github.0.3.0 github.0.3.1 github.0.3.2 github.0.4.0
    github.0.4.1 github.0.4.2 github.0.6.0 github.0.7.0 github.0.8.0 github.0.8.1 github.0.8.2 github.0.8.3
    github.0.8.4 github.0.8.5 github.0.9.0 github.0.9.1 github.0.9.2 github.0.9.3 github.2.0.0 github.2.0.1
    github.2.0.2 github-hooks.0.1.0 github-hooks.0.1.1 google-drive-ocamlfuse.0.3.1 google-drive-ocamlfuse.0.3.2
    google-drive-ocamlfuse.0.4.1 google-drive-ocamlfuse.0.4.2 google-drive-ocamlfuse.0.4.3 google-drive-ocamlfuse.0.4.4
    google-drive-ocamlfuse.0.4.6 google-drive-ocamlfuse.0.4.7 google-drive-ocamlfuse.0.5.1 google-drive-ocamlfuse.0.5.2
    google-drive-ocamlfuse.0.5.3 google-drive-ocamlfuse.0.5.4 google-drive-ocamlfuse.0.5.5 google-drive-ocamlfuse.0.5.6
    google-drive-ocamlfuse.0.5.8 google-drive-ocamlfuse.0.5.9 google-drive-ocamlfuse.0.5.10 google-drive-ocamlfuse.0.5.11
    google-drive-ocamlfuse.0.5.12 google-drive-ocamlfuse.0.5.13 google-drive-ocamlfuse.0.5.14 google-drive-ocamlfuse.0.5.15
    google-drive-ocamlfuse.0.5.16 google-drive-ocamlfuse.0.5.17 google-drive-ocamlfuse.0.5.18 google-drive-ocamlfuse.0.5.19
    google-drive-ocamlfuse.0.5.20 google-drive-ocamlfuse.0.5.21 google-drive-ocamlfuse.0.5.22 google-drive-ocamlfuse.0.5.23
    gpr.1.2.1 gpx.1.0.1 gsl.1.19.1 gsl.1.20.0 hardcaml.1.1.0 heptagon.1.03.00 heptagon.1.03.01 heptagon.1.03.02
    heptagon.1.03.03 herelib.109.35.00 hex.1.1.0 humane-re.0.0.1 humane-re.0.0.2 hvsock.0.11.0 ibx.0.5.0 ibx.0.5.1
    ibx.0.5.2 ibx.0.5.3 ibx.0.5.4 ibx.0.5.5 ibx.0.5.6 ibx.0.5.7 ibx.0.5.8 ibx.0.6.0 ibx.0.6.1 ibx.0.7.0
    ibx.0.7.1 ibx.0.7.2 ibx.0.7.3 io-page.1.1.0 io-page.1.5.0 io-page.1.6.0 ipaddr.0.2.0 ipaddr.0.2.1
    ipaddr.0.2.2 ipaddr.2.6.0 ipaddr.2.7.0 ipaddr.2.7.1 irc-client.0.1.1 irc-client.0.2.0 irc-client.0.3.0
    irc-client.0.3.1 irmin.0.8.0 irmin.0.8.1 irmin.0.8.2 irmin.0.9.0 irmin.0.9.1 irmin.0.9.2 irmin.0.9.3
    irmin.0.9.4 irmin.0.9.5 irmin.0.9.6 irmin.0.9.7 irmin.0.9.8 irmin.0.9.9 irmin.0.10.0 irmin.0.11.0 irmin.1.0.0
    irmin.1.0.1 irmin-unix.0.9.4 irmin-unix.1.0.0 irmin-unix.1.0.1 irmin-watcher.0.1.0 irmin-watcher.0.1.1
    irmin-watcher.0.1.2 irmin-watcher.0.1.3 jenga.109.55.00 jenga.109.55.02 jenga.111.08.00 jenga.113.24.00
    js_of_ocaml.1.3.1 js_of_ocaml.2.8.1 js_of_ocaml.2.8.2 js_of_ocaml.2.8.3 jupyter.1.0.0 jupyter.1.0.1 ketrew.1.1.0
    key-parsers.0.6.0 key-parsers.0.8.0 lacaml.7.2.1 lacaml.7.2.2 lacaml.8.0.4 lacaml.8.0.5 lacaml.8.0.6
    lacaml.9.1.0 lacaml.9.2.2 lacaml.9.3.1 lens.1.0.0 leveldb.1.0.2 liquidsoap.1.1.0 liquidsoap.1.2.0
    logs-syslog.0.0.1 lru.0.1.0 lwt.2.4.0 lwt.2.4.1 lwt.2.4.2 lwt.2.4.3 lwt.2.4.4 lwt.2.4.5 lwt.2.4.6 lwt.2.4.7
    lwt.2.5.0 lwt.2.5.1 lwt.2.7.0 lwt-zmq.2.0.0 lwt_glib.1.0.0 lwt_react.1.0.0 lwt_ssl.1.0.0 lymp.0.1.2 lz4.1.0.0
    magic-mime.1.0.0 mariadb.0.5.0 mariadb.0.8.0 mariadb.0.8.1 merlin.2.1.0 merlin.2.1.1 merlin.2.5.0 merlin.2.5.1
    merlin.2.5.2 merlin.2.5.3 merlin.2.5.4 mesh.0.7.4 mesh.0.7.5 mesh.0.8.1 mesh.0.8.2 mesh.0.8.3 mesh.0.8.4
    mesh.0.8.5 mesh.0.8.6 mesh.0.8.7 mesh.0.8.8 message-switch.0.10.3 mindstorm.0.5.3 mirage.0.4.0 mirage.0.6.0
    mirage.0.8.0 mirage.0.9.0 mirage.0.9.1 mirage.0.9.2 mirage.0.9.3 mirage.0.9.4 mirage.0.9.5 mirage.0.9.6
    mirage.0.9.7 mirage.1.0.0 mirage.1.0.1 mirage.1.0.2 mirage.1.0.3 mirage.1.1.0 mirage.1.1.1 mirage.1.1.2
    mirage.2.0.0 mirage.2.1.0 mirage.2.2.0 mirage.2.6.0 mirage.2.7.0 mirage.2.9.0 mirage-block-unix.1.2.0
    mirage-block-unix.1.2.1 mirage-block-unix.2.8.2 mirage-block-unix.2.8.3 mirage-block-xen.1.3.0
    mirage-bootvar-xen.0.3.1 mirage-conduit.2.3.0 mirage-console.2.1.0 mirage-console.2.1.1 mirage-console.2.1.2
    mirage-console-unix.2.2.0 mirage-console-xen.1.0.0 mirage-console-xen.1.0.1 mirage-dns.2.6.0 mirage-flow.1.0.0
    mirage-flow.1.0.1 mirage-flow.1.0.2 mirage-fs-unix.1.1.0 mirage-fs-unix.1.1.1 mirage-fs-unix.1.1.2
    mirage-fs-unix.1.1.3 mirage-fs-unix.1.2.0 mirage-http.2.5.0 mirage-http.2.5.1 mirage-http.2.5.2 mirage-net.0.3.0
    mirage-net.0.4.0 mirage-net.0.9.1 mirage-net.0.9.2 mirage-net.0.9.3 mirage-net-unix.1.1.0 mirage-net-unix.2.2.0
    mirage-net-unix.2.2.1 mirage-net-unix.2.2.2 mirage-net-xen.1.1.0 mirage-net-xen.1.1.1 mirage-net-xen.1.1.2
    mirage-net-xen.1.4.0 mirage-net-xen.1.4.1 mirage-net-xen.1.6.0 mirage-seal.0.3.0 mirage-tc.0.2.0 mirage-types.1.1.0
    mirage-types.1.1.1 mirage-types.1.1.2 mirage-types.2.0.0 mirage-types.2.1.0 mirage-types-lwt.2.0.0
    mirage-types-lwt.2.1.0 mirage-unix.0.9.1 mirage-unix.0.9.2 mirage-unix.0.9.3 mirage-unix.0.9.4 mirage-unix.0.9.5
    mirage-unix.0.9.6 mirage-unix.0.9.7 mirage-unix.0.9.8 mirage-unix.2.0.0 mirage-unix.2.1.0 mirage-unix.2.1.1
    mirage-unix.2.1.2 mirage-unix.2.2.0 mirage-unix.2.2.1 mirage-unix.2.2.2 mirage-unix.2.4.0 mirage-xen.0.9.1
    mirage-xen.0.9.2 mirage-xen.0.9.3 mirage-xen.0.9.4 mirage-xen.0.9.5 mirage-xen.0.9.6 mirage-xen.0.9.7
    mirage-xen.0.9.8 mirage-xen.1.1.0 mirage-xen.2.0.0 mirage-xen.2.1.0 mirage-xen.2.1.1 mirage-xen.2.1.2
    mirage-xen.2.2.0 mirage-xen.2.2.1 mirage-xen.2.3.0 mirage-xen.2.3.1 mirage-xen.2.3.2 mirage-xen.2.4.0
    mirage-xen-minios.0.4.1 mirage-xen-ocaml.2.3.0 mirage-xen-ocaml.2.3.1 mirage-xen-posix.2.3.0 mirage-xen-posix.2.3.1
    mirage-xen-posix.2.3.3 mixture.0.2.0 mm.0.2.0 mpp.0.1.0 mpp.0.1.1 mpp.0.1.2 mpp.0.1.3 mpp.0.1.4 mpp.0.1.5
    mpp.0.1.7 mpp.0.2.0 msgpack.1.1.0 msgpack.1.2.0 mstruct.1.3.0 mstruct.1.3.1 mstruct.1.3.2 mstruct.1.3.3
    mtime.0.8.0 mtime.0.8.1 mtime.0.8.2 mtime.0.8.3 mustache.0.0.1 mustache.1.0.0 mysql.1.1.1 mysql.1.1.2
    nbd.0.9.0 nbd.1.0.1 nbd.1.0.2 nbd.2.1.0 nbd.2.1.1 nocrypto.0.2.0 nocrypto.0.3.0 notty.0.1.0 oasis2opam.0.2.1
    oasis2opam.0.2.2 oasis2opam.0.2.3 oasis2opam.0.2.4 oasis2opam.0.2.5 oasis2opam.0.2.6 oasis2opam.0.3.0
    oasis2opam.0.3.1 oasis2opam.0.3.2 oasis2opam.0.3.3 oasis2opam.0.3.4 oasis2opam.0.3.5 oasis2opam.0.4.0
    oasis2opam.0.4.4 oasis2opam.0.5.0 obandit.0.1.38 obandit.0.1.41 obelisk.0.1.0 obuild.0.0.1 obuild.0.0.2
    obuild.0.0.3 obuild.0.0.4 obuild.0.0.5 obuild.0.0.6 obuild.0.0.7 obuild.0.0.8 ocal.0.1.1 ocal.0.1.2
    ocaml-monadic.0.1.0 ocaml-protoc.0.1.1 ocaml-protoc.0.1.2 ocaml-protoc.1.0.1 ocaml-protoc.1.0.3 ocaml-src.4.00.0
    ocaml-src.4.02.0 ocaml-src.4.02.1 ocaml-src.4.02.2 ocaml-src.4.04.0 ocaml-src.4.04.1 ocaml_plugin.109.53.00
    ocaml_plugin.113.24.00 ocamlbuild.0.9.0 ocamlbuild.0.9.1 ocamlbuild.0.9.2 ocamlfind.1.3.1 ocamlfind.1.3.2
    ocamlfind.1.4.0 ocamlfind.1.5.1 ocamlfind.1.5.2 ocamlfind.1.5.3 ocamlfind.1.5.4 ocamlfind.1.5.5 ocamlfind.1.6.1
    ocamlnet.3.6.0 ocamlnet.3.6.3 ocamlnet.3.7.3 ocamlnet.3.7.4 ocamlnet.3.7.5 ocamlnet.3.7.6 ocamlnet.4.0.1
    ocamlnet.4.0.2 ocamltter.2.0.0 ocamltter.2.1.0 ocamltter.2.1.1 ocamltter.4.0.0 ocamltter.4.0.1 ocb-stubblr.0.0.1
    ocephes.0.1.1 ocp-indent.0.6.0 ocp-indent.0.6.1 ocp-indent.0.9.0 ocp-indent.1.0.0 ocp-indent.1.0.1
    ocp-indent.1.2.0 ocp-indent.1.2.1 ocp-indent.1.3.0 ocp-indent.1.3.1 ocp-indent.1.4.0 ocp-indent.1.4.1
    ocp-indent.1.5.1 ocp-indent.1.5.2 ocp-index.1.0.0 ocp-index.1.0.1 ocp-index.1.0.2 ocp-index-top.0.4.1 ocurl.0.5.4
    ocurl.0.5.5 ocurl.0.6.0 ocurl.0.7.0 ocurl.0.7.1 ocurl.0.7.2 ocurl.0.7.5 ocurl.0.7.6 ocurl.0.7.7 ocurl.0.7.8
    ocurl.0.7.9 ocveralls.0.2.0 odoc.1.1.0 omd.0.5.4 omd.0.6.0 omd.0.6.1 omd.0.6.2 omd.0.6.3 omd.0.6.4
    omd.0.7.0 omd.0.7.1 omd.0.7.2 omd.0.7.3 omd.0.7.4 omd.0.8.0 omd.0.8.1 omd.0.9.0 omd.0.9.1 omd.0.9.3
    omd.0.9.4 omd.0.9.5 omd.0.9.6 omd.1.0.0 omd.1.1.0 omd.1.1.1 omd.1.1.2 omd.1.2.0 omd.1.2.1 omd.1.2.2
    omd.1.2.3 omd.1.2.4 omd.1.2.5 opam-lib.0.9.1 opam-lib.0.9.3 opam-lib.0.9.4 opam-lib.1.1.0 opam-lib.1.2.0
    opam-lib.1.2.1 opam-publish.0.2.0 opam2web.1.3.0 opamfind.1.1.0 opamfind.1.1.1 opamfind.1.1.2 opass.0.2.0
    opasswd.0.9.1 openflow.0.6.0 openflow.0.6.1 opium.0.6.0 opium.0.6.1 opium.0.6.2 opium.0.6.3 opium.0.8.0
    opium.0.8.1 opium.0.8.2 opium.0.9.0 opium.0.10.0 opium.0.13.0 opium.0.13.1 opium.0.13.2 opium.0.15.0
    orakuda.1.0.1 orakuda.1.1.0 orakuda.1.2.0 orakuda.1.2.1 orm.0.6.3 orocksdb.0.2.0 orocksdb.0.2.1 osbx.1.0.0
    osx-attr.0.1.0 osx-fsevents.0.1.0 osx-fsevents.0.1.1 owl.0.2.0 owl.0.2.1 owl.0.2.2 owl.0.2.3 owl.0.2.4
    owl.0.2.5 owl.0.2.6 pa_bench.109.55.00 pa_ounit.108.07.00 pa_ounit.109.53.00 pa_test.109.53.00 pa_test.111.08.00
    packet.0.2.0 packet.0.3.0 parany.1.0.0 parany.1.0.1 parany.1.0.2 parse-argv.0.0.1 parse-argv.0.0.2
    patdiff.109.53.00 patdiff.109.53.02 pcap-format.0.3.1 pcap-format.0.3.2 pcre.7.0.2 pcre.7.0.3 pcre.7.1.0
    pcre.7.1.1 pcre.7.1.2 pcre.7.1.3 pcre.7.1.5 pcre.7.2.2 pds.3.0.2 pipebang.108.07.00 pipebang.109.28.00
    piqi.0.6.0 pkcs11.0.7.0 pkcs11.0.7.1 pkcs11.0.7.2 planck.2.1.0 pomap.3.0.6 postgresql.4.0.0 postgresql.4.2.0
    ppx_bigarray.0.0.0 ppx_bin_prot.113.24.00 ppx_bitstring.1.0.0 ppx_bitstring.1.3.0 ppx_bitstring.1.3.1
    ppx_bitstring.1.3.2 ppx_cstruct.3.0.1 ppx_cstruct.3.1.0 ppx_jane.113.24.00 ppx_jsobject_conv.0.0.1
    ppx_jsobject_conv.0.0.2 ppx_jsobject_conv.0.0.3 ppx_jsobject_conv.0.0.5 ppx_jsobject_conv.0.1.0
    ppx_jsobject_conv.0.1.1 ppx_jsobject_conv.0.1.3 ppx_jsobject_conv.0.2.1 ppx_jsobject_conv.0.2.4
    ppx_jsobject_conv.0.2.5 ppx_jsobject_conv.0.2.6 ppx_jsobject_conv.0.2.7 ppx_jsobject_conv.0.3.0
    ppx_jsobject_conv.0.3.5 ppx_jsobject_conv.0.3.6 ppx_meta_conv.2.0.0 ppx_meta_conv.2.0.1 ppx_meta_conv.2.4.0
    ppx_meta_conv.2.5.0 ppx_monadic.1.0.0 ppx_monadic.1.0.1 ppx_monadic.1.0.2 ppx_monadic.1.0.3 ppx_monadic.1.0.4
    ppx_monadic.1.0.5 ppx_orakuda.3.0.0 ppx_orakuda.3.0.1 ppx_orakuda.3.0.2 ppx_orakuda.3.1.0 ppx_poly_record.1.0.0
    ppx_poly_record.1.1.0 ppx_poly_record.1.1.1 ppx_poly_record.1.1.2 ppx_test.1.2.0 ppx_test.1.3.0 ppx_test.1.4.0
    ppx_test.1.4.1 ppx_tools.0.99.1 ppx_tools.0.99.2 ppxx.1.2.0 ppxx.1.3.0 ppxx.1.3.1 protocol-9p.0.5.0
    protocol-9p.0.5.1 protocol-9p.0.7.2 protocol-9p.0.7.3 protocol-9p.0.11.0 protocol-9p.0.11.1 protocol-9p.0.11.2
    protocol-9p-tool.0.11.0 protocol-9p-tool.0.11.1 protocol-9p-tool.0.11.2 protocol-9p-unix.0.11.0
    protocol-9p-unix.0.11.1 protocol-9p-unix.0.11.2 qcheck.0.1.1 qcheck.0.1.2 qcow.0.9.0 qcow.0.9.4 qcow-format.0.4.1
    qtest.2.0.0 rdf.0.7.0 re.1.2.0 re.1.2.1 re.1.3.0 re.1.3.1 re.1.4.0 re.1.6.0 re2.109.24.00 re2.109.45.00
    re2.109.45.01 re2.109.55.00 re2.109.55.02 re2.109.55.03 re2.111.03.00 react.0.9.3 react.1.0.0 reason.1.13.0
    reason.1.13.2 reason.1.13.3 reason.1.13.4 reason.1.13.5 reason.1.13.6 reason-parser.1.13.0 reason-parser.1.13.2
    reason-parser.1.13.3 reason-parser.1.13.4 reason-parser.1.13.5 records.0.3.0 redis.0.2.0 redis.0.2.1 redis.0.2.2
    release.1.0.0 release.1.0.1 release.1.0.2 release.1.0.3 res.4.0.6 rml.1.08.04 rml.1.08.05 rpc.1.3.0 rpc.1.5.0
    rpc.1.5.1 rpc.1.5.3 rpc.1.9.51 sequence.0.3.1 sequence.0.3.2 sequence.0.3.3 sequence.0.3.4 sequence.0.3.5
    sequence.0.3.6 session.0.3.0 sexplib.108.07.00 sexplib.109.55.00 sexplib.112.06.00 sexplib.112.17.00
    sexplib.112.24.00 shared-memory-ring.0.3.0 shared-memory-ring.0.4.0 shared-memory-ring.0.4.1 shared-memory-ring.0.4.2
    shared-memory-ring.1.1.0 shared-memory-ring.2.0.0 shared-memory-ring-lwt.2.0.0 slacko.0.9.0 slap.0.2.0 slap.0.2.1
    slap.0.2.2 slap.1.0.0 slap.2.0.0 slap.2.0.1 slap.3.0.0 slap.4.0.0 smart-print.0.1.0 sodium.0.2.0
    spotinstall.1.0.0 spotinstall.1.1.0 spotlib.2.1.0 spotlib.2.1.1 spotlib.2.4.0 spotlib.2.5.0 spotlib.2.5.1
    spotlib.2.5.2 spotlib.3.1.0 sqlgg.0.2.4 sqlite3.4.0.0 sqlite3.4.0.1 sqlite3.4.0.2 sqlite3.4.0.3 sqlite3.4.0.4
    sqlite3.4.1.0 sqlite3.4.1.2 ssl.0.4.6 stdint.0.4.0 stdint.0.4.1 stog.0.11.0 stone.0.3.1 stone.0.3.2
    stone.0.3.3 stringext.1.3.0 stringext.1.4.0 stringext.1.4.1 stringext.1.4.2 tar-format.0.2.0 tar-format.0.4.0
    tar-format.0.4.1 tar-format.0.5.0 tar-format.0.6.0 tcpip.1.1.0 tcpip.1.1.1 tcpip.1.1.2 tcpip.1.1.3 tcpip.1.1.5
    tcpip.2.0.0 tcpip.2.0.1 tcpip.2.0.2 tcpip.2.2.0 tcpip.2.2.1 tcpip.2.2.2 tcpip.2.3.0 tcpip.2.4.0 tcpip.2.4.1
    tcpip.2.4.2 tcpip.2.5.0 tcpip.2.6.0 tcpip.2.8.0 tcpip.3.1.0 tcpip.3.1.1 tcpip.3.1.2 tcpip.3.1.3 tdk.0.1.0
    telegraml.2.1.0 telegraml.2.1.1 telegraml.2.1.2 telegraml.2.1.3 textutils.109.53.00 textutils.109.53.02
    tiny_json.1.0.0 tiny_json_conv.1.0.0 tls.0.7.0 toml.2.2.0 topkg.0.7.5 topkg.0.7.6 topkg.0.7.7 topkg.0.7.8
    topkg.0.8.0 touist.3.2.0 touist.3.4.0 treeprint.1.0.1 treeprint.1.0.2 tsdl.0.8.0 tsdl.0.8.1 tsdl-image.0.1.1
    tuareg.2.0.7 tuareg.2.0.8 tuareg.2.0.9 type_conv.108.07.00 type_conv.109.53.00 type_conv.109.60.00
    type_conv.112.01.00 type_conv.112.01.01 typehashlib.108.07.00 typerep.109.55.00 typpx.1.1.1 typpx.1.1.2
    typpx.1.2.0 typpx.1.2.1 tyxml.3.2.0 tyxml.4.0.0 tyxml-ppx.4.0.0 uint.1.0.2 uint.1.1.0 uint.1.1.1 uint.1.1.4
    unison.2.40.63 unix-errno.0.4.0 unix-errno.0.4.1 unix-sys-stat.0.3.0 unix-unistd.0.3.0 uri.1.3.0 uri.1.3.1
    uri.1.3.2 uri.1.3.3 uri.1.3.4 uri.1.3.5 uri.1.3.6 uri.1.3.8 uri.1.3.9 uri.1.3.10 uri.1.3.11 uri.1.3.12
    uri.1.7.0 uri.1.7.1 usbmux.1.1.0 utop.1.18.1 utop.1.19.1 utop.1.19.2 uucp.0.9.0 uunf.0.9.0 uunf.0.9.2
    uunf.2.0.0 uuseg.1.0.0 uutf.0.9.1 uutf.0.9.3 uwt.0.0.1 uwt.0.0.2 uwt.0.0.3 variantslib.108.07.00
    variantslib.109.15.00 variantslib.109.15.02 vchan.0.9.5 vchan.0.9.6 vchan.2.0.0 vchan.2.0.1 vchan.2.0.2
    vchan.2.3.0 vg.0.8.0 vg.0.8.1 vhd-format.0.6.0 vmnet.1.0.0 vmnet.1.0.1 vorbis.0.6.1 weberizer.0.6.2
    webmachine.0.1.0 webmachine.0.1.1 webmachine.0.2.0 webmachine.0.2.1 webmachine.0.2.2 webmachine.0.2.3
    webmachine.0.3.0 webmachine.0.3.1 websocket.0.9.1 websocket.0.9.2 webtest.1.0.0 why3.0.86.2 why3.0.87.0
    why3.0.87.1 why3.0.87.2 why3-base.0.86.2 why3-base.0.87.0 why3-base.0.87.1 why3-base.0.87.2 x509.0.2.0
    x509.0.3.0 x509.0.5.0 x509.0.5.1 x509.0.5.2 xen-evtchn.1.0.1 xen-evtchn.1.0.3 xen-evtchn.1.0.4 xen-evtchn.1.0.5
    xen-evtchn.1.0.6 xen-gnt.1.0.0 xen-gnt.1.0.1 xen-gnt.1.0.2 xen-gnt.2.2.0 xen-gnt.2.2.1 xenctrl.0.9.26
    xenctrl.0.9.29 xenctrl.0.9.30 xenctrl.0.9.31 xenstore.1.2.0 xenstore.1.2.1 xenstore.1.2.2 xenstore.1.2.3
    xenstore_transport.0.9.0 xenstore_transport.0.9.1 xenstore_transport.0.9.2 xenstore_transport.0.9.4 xmlm.1.1.0
    yojson.1.1.3 yojson.1.1.6 yojson.1.2.0 yojson.1.2.1 yojson.1.3.0 yojson.1.3.1 yojson.1.3.2

@AltGr
Copy link
Member Author

AltGr commented Jan 8, 2018

Interesting fact that this removed 17 packages that were already not installable :)
Seems that this doesn't work very well with Janestreet's versionning scheme though.

And this is very rough in many areas. For example, quick testing revealed like magic-mime broke compatibility with OCaml 4.02.3 in patch version 1.0.1, meaning that with the cleanup older compilers will get much older versions than necessary.

@kit-ty-kate
Copy link
Member

That sounds like a nice thing to do ! ❤️
One question I would have however is: how opam switch import is handled with OPAM 2.0 if it tries to install deleted packages ? Right now OPAM 1.2.2 just prints a warning which seems rather limited.

@avsm
Copy link
Member

avsm commented Jan 8, 2018

I definitely think these should not be deleted, but moved to another opam remote (with the git history) for archival. This way patch releases can be accessed if necessary for historical releases.

@hannesm
Copy link
Member

hannesm commented Jan 8, 2018

TBH I'm not sure which way is easier: (a) trying to figure out which bits and pieces to remove from the main opam-repository and leave everything in place (b) start a new repo from scratch with (1) opam 2.0 and (2) ocaml 4.06 and start an initially empty repository, pick only libraries which are requested (and have 4.06 support) in their latest release. at point X, switch X to opam-repository and archive opam-repository. certainly we can also move forward with removing patch releases, but since there is no common semantic versioning, some packages may introduce (as discovered by altgr) new dependencies / bump ocaml support / ...

maybe in the same effort of (b) we could formulate properties on how to get your package into that well-maintained repository (maybe code coverage? documentation has to exist? mirage/mirage-www#562 has a list of ideas from the mirage community). I'm still not sure whether (b) is a good goal, but certainly getting rid of releases is worthwhile in the long run.

i'm working on reviving the opam-signing effort and my plan for getting this up and running is to collect experience with a small repository, before scaling up to the main repository...

@mseri
Copy link
Member

mseri commented Jan 8, 2018

I like (b), it would provide a great deal of cleanup and start enforcing some minimal good practices.

In that case I'd also suggest to split the packages in alphabet sub-folder (packages/0/[packages_whose_name_starts_with_a_number], packages/a/[packages_whose_name_starts_with_a], packages/b/[packages_whose_name_starts_with_b], ...) to make it easier to navigate through github.

@AltGr
Copy link
Member Author

AltGr commented Jan 9, 2018

I am not against a separate curated repository, but I think the goals diverge, as it would take a very long time to replace the current repo.
Keeping the removed packages into a "legacy" repo is a very good idea: it's very easy for anyone to configure both repositories and get back all older patch releases when needed, while still removing all the noise the rest of the time.

As for the cleanup itself: yes, I didn't really expect the above approach to work, but wanted to see how it would fare. Another, more complicated way would be, instead of just looking at version numbers, to check package relationships.

For example, we may be able to define equivalent versions of a package (same dependencies, no dependent packages discriminate between the two versions), and keep only the max of every equivalence class.

Another, completely different approach would be to look at opam.ocaml.org's logs and kill any older version that hasn't been used in the past month or so. And any combination could work, like the semver approach, while keeping packages with enough liveness (and their dependencies).

@AltGr
Copy link
Member Author

AltGr commented Jan 9, 2018

One question I would have however is: how opam switch import is handled with OPAM 2.0 if it tries to install deleted packages ? Right now OPAM 1.2.2 just prints a warning which seems rather limited.

opam 2 has a few fallback strategies, including ditching the version constraints when they can't be satisfied. --best-effort may also be of great help there.

@avsm
Copy link
Member

avsm commented Jan 21, 2018

I'll close this PR until we reach consensus on the right way to handle this. It's overloading the CI.

@avsm avsm closed this Jan 21, 2018
@paurkedal
Copy link
Contributor

paurkedal commented Jan 26, 2018

Rather than splitting up the repository, maybe it would be better if opam supported masks? The idea is that any masked package versions would be filtered out before dependency analysis and CI testing, so they would not contribute to the complexity. Examples of masked would be

  • obsolete for package versions which should no longer be needed. A bot might submit a PR once in a while according to the logic of the PR, when there are sufficient number of changes to justify a review.
  • beta for beta versions. Developers may have this permanently unmasked to discover issues early.
  • insecure for package versions with known security issues, to be applied on discovery. Users gets a message on opam update if any installed packages is masked. Temporary selective unmasking may be okay depending on use.
  • unstable or testing for new packages where the authors don't want to commit fully to the API yet. Usage is okay if users are actively maintaining their code.

CI test could check that any package versions includes at least the masks of its dependencies. This would involve work on both opam and CI, though we might save work in moving packages between repos.

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.

7 participants