Hello community,

here is the log from the commit of package opam for openSUSE:Factory checked in 
at 2020-01-24 13:11:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opam (Old)
 and      /work/SRC/openSUSE:Factory/.opam.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "opam"

Fri Jan 24 13:11:47 2020 rev:5 rq:766645 version:2.0.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/opam/opam.changes        2019-11-10 
22:56:23.494817423 +0100
+++ /work/SRC/openSUSE:Factory/.opam.new.26092/opam.changes     2020-01-24 
13:12:39.337469034 +0100
@@ -1,0 +2,6 @@
+Thu Jan 16 13:14:15 UTC 2020 - [email protected]
+
+- Update to 2.0.6, via _service file
+  See included CHANGES for details
+
+-------------------------------------------------------------------

Old:
----
  opam-2.0.5.tar.xz

New:
----
  opam-2.0.6.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ opam.spec ++++++
--- /var/tmp/diff_new_pack.NkLLhz/_old  2020-01-24 13:12:40.117469348 +0100
+++ /var/tmp/diff_new_pack.NkLLhz/_new  2020-01-24 13:12:40.117469348 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           opam
-Version:        2.0.5
+Version:        2.0.6
 Release:        0
 Summary:        Source-based package manager for OCaml
 License:        LGPL-2.1-only WITH OCaml-LGPL-linking-exception
@@ -89,7 +89,8 @@
 
 %build
 # wipe bogus FETCH
-sed -i~ '/FETCH/d;232,+7d' configure.ac
+grep -n FETCH configure.ac
+sed -i~ '/FETCH/d;246,+7d' configure.ac
 diff -u "$_"~ "$_" && exit 1
 export DUNE=$(type -P dune)
 export CPPO=$(type -P cppo)
@@ -108,6 +109,7 @@
 %files -f %{name}.files
 %doc CHANGES
 %{_bindir}/opam
+%{_mandir}/man*/*
 
 %files devel -f %{name}.files.devel
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.NkLLhz/_old  2020-01-24 13:12:40.137469356 +0100
+++ /var/tmp/diff_new_pack.NkLLhz/_new  2020-01-24 13:12:40.137469356 +0100
@@ -1,7 +1,7 @@
 <services>
   <service mode="disabled" name="tar_scm">
-    <!-- 2.0.5 -->
-    <param name="revision">2b2e2c6331dda761cc0c7d7632300281bf066ca6</param>
+    <!-- 2.0.6 -->
+    <param name="revision">4ec3c603db4653c974753651c0cfc143388bfcb1</param>
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="url">https://github.com/ocaml/opam.git</param>

++++++ opam-2.0.5.tar.xz -> opam-2.0.6.tar.xz ++++++
++++ 1674 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/.travis-ci.sh new/opam-2.0.6/.travis-ci.sh
--- old/opam-2.0.5/.travis-ci.sh        2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/.travis-ci.sh        2020-01-15 16:31:02.000000000 +0100
@@ -11,6 +11,34 @@
 OPAM_TEST=${OPAM_TEST:-0}
 EXTERNAL_SOLVER=${EXTERNAL_SOLVER:-}
 
+set +x
+echo "TRAVIS_COMMIT_RANGE=$TRAVIS_COMMIT_RANGE"
+echo "TRAVIS_COMMIT=$TRAVIS_COMMIT"
+if [[ $TRAVIS_EVENT_TYPE = 'pull_request' ]] ; then
+  FETCH_HEAD=$(git rev-parse FETCH_HEAD)
+  echo "FETCH_HEAD=$FETCH_HEAD"
+else
+  FETCH_HEAD=$TRAVIS_COMMIT
+fi
+
+if [[ $TRAVIS_EVENT_TYPE = 'push' ]] ; then
+  if ! git cat-file -e "$TRAVIS_COMMIT" 2> /dev/null ; then
+    echo 'TRAVIS_COMMIT does not exist - CI failure'
+    exit 1
+  fi
+else
+  if [[ $TRAVIS_COMMIT != $(git rev-parse FETCH_HEAD) ]] ; then
+    echo 'WARNING! Travis TRAVIS_COMMIT and FETCH_HEAD do not agree!'
+    if git cat-file -e "$TRAVIS_COMMIT" 2> /dev/null ; then
+      echo 'TRAVIS_COMMIT exists, so going with it'
+    else
+      echo 'TRAVIS_COMMIT does not exist; setting to FETCH_HEAD'
+      TRAVIS_COMMIT=$FETCH_HEAD
+    fi
+  fi
+fi
+set -x
+
 init-bootstrap () {
   export OPAMROOT=$OPAMBSROOT
   # The system compiler will be picked up
@@ -34,8 +62,38 @@
   rm -f "$OPAMBSROOT"/log/*
 }
 
+CheckConfigure () {
+  GIT_INDEX_FILE=tmp-index git read-tree --reset -i "$1"
+  git diff-tree --diff-filter=d --no-commit-id --name-only -r "$1" \
+    | (while IFS= read -r path
+  do
+    case "$path" in
+      configure|configure.ac|m4/*)
+        touch CHECK_CONFIGURE;;
+    esac
+  done)
+  rm -f tmp-index
+  if [[ -e CHECK_CONFIGURE ]] ; then
+    echo "configure generation altered in $1"
+    echo 'Verifying that configure.ac generates configure'
+    git clean -dfx
+    git checkout -f "$1"
+    mv configure configure.ref
+    make configure
+    if ! diff -q configure configure.ref >/dev/null ; then
+      echo -e "[\e[31mERROR\e[0m] configure.ac in $1 doesn't generate 
configure, \
+please run make configure and fixup the commit"
+      ERROR=1
+    fi
+  fi
+}
+
 case "$TARGET" in
   prepare)
+    if [ "$TRAVIS_BUILD_STAGE_NAME" = "Hygiene" ] ; then
+      exit 0
+    fi
+    make --version
     mkdir -p ~/local/bin
 
     # Git should be configured properly to run the tests
@@ -92,22 +150,33 @@
     exit 0
     ;;
   install)
+    if [ "$TRAVIS_BUILD_STAGE_NAME" = "Hygiene" ] ; then
+      exit 0
+    fi
     if [[ $COLD -eq 1 ]] ; then
       make compiler
       make lib-pkg
     else
       if [[ ! -x ~/local/bin/ocaml ]] ; then
         echo -en "travis_fold:start:ocaml\r"
-        wget 
http://caml.inria.fr/pub/distrib/ocaml-${OCAML_VERSION%.*}/ocaml-$OCAML_VERSION.tar.gz
-        tar -xzf ocaml-$OCAML_VERSION.tar.gz
-        cd ocaml-$OCAML_VERSION
+        wget 
"http://caml.inria.fr/pub/distrib/ocaml-${OCAML_VERSION%.*}/ocaml-$OCAML_VERSION.tar.gz";
+        tar -xzf "ocaml-$OCAML_VERSION.tar.gz"
+        cd "ocaml-$OCAML_VERSION"
         if [[ $OPAM_TEST -ne 1 ]] ; then
-          CONFIGURE_SWITCHES="-no-ocamldoc"
-          if [[ "$OCAML_VERSION" != "4.02.3" ]] ; then
-            CONFIGURE_SWITCHES="$CONFIGURE_SWITCHES -no-ocamlbuild"
+          if [[ -e configure.ac ]]; then
+            CONFIGURE_SWITCHES="--disable-debugger --disable-debug-runtime 
--disable-ocamldoc"
+            if [[ ${OCAML_VERSION%.*} = '4.08' ]]; then
+              CONFIGURE_SWITCHES="$CONFIGURE_SWITCHES --disable-graph-lib"
+            fi
+          else
+            CONFIGURE_SWITCHES="-no-graph -no-debugger -no-ocamldoc"
+            if [[ "$OCAML_VERSION" != "4.02.3" ]] ; then
+              CONFIGURE_SWITCHES="$CONFIGURE_SWITCHES -no-ocamlbuild"
+            fi
+
           fi
         fi
-        ./configure --prefix ~/local -no-graph -no-debugger 
${CONFIGURE_SWITCHES:-}
+        ./configure --prefix ~/local ${CONFIGURE_SWITCHES:-}
         if [[ $OPAM_TEST -eq 1 ]] ; then
           make -j 4 world.opt
         else
@@ -144,10 +213,67 @@
     echo "bad command $TARGET"; exit 1
 esac
 
+set +x
+if [ "$TRAVIS_BUILD_STAGE_NAME" = "Hygiene" ] ; then
+  ERROR=0
+  if [ "$TRAVIS_EVENT_TYPE" = "pull_request" ] ; then
+    TRAVIS_CUR_HEAD=${TRAVIS_COMMIT_RANGE%%...*}
+    TRAVIS_PR_HEAD=${TRAVIS_COMMIT_RANGE##*...}
+    DEEPEN=50
+    while ! git merge-base "$TRAVIS_CUR_HEAD" "$TRAVIS_PR_HEAD" >& /dev/null
+    do
+      echo "Deepening $TRAVIS_BRANCH by $DEEPEN commits"
+      git fetch origin --deepen=$DEEPEN "$TRAVIS_BRANCH"
+      ((DEEPEN*=2))
+    done
+    TRAVIS_MERGE_BASE=$(git merge-base "$TRAVIS_CUR_HEAD" "$TRAVIS_PR_HEAD")
+    if ! git diff "$TRAVIS_MERGE_BASE..$TRAVIS_PR_HEAD" --name-only 
--exit-code -- shell/install.sh > /dev/null ; then
+      echo "shell/install.sh updated - checking it"
+      eval $(grep '^\(VERSION\|TAG\|OPAM_BIN_URL_BASE\)=' shell/install.sh)
+      echo "TAG = $TAG"
+      echo "OPAM_BIN_URL_BASE=$OPAM_BIN_URL_BASE"
+      ARCHES=0
+      while read -r key sha
+      do
+        ARCHES=1
+        URL="$OPAM_BIN_URL_BASE$TAG/opam-$TAG-$key"
+        echo "Checking $URL"
+        check=$(curl -Ls "$URL" | sha512sum | cut -d' ' -f1)
+        if [ "$check" = "$sha" ] ; then
+          echo "Checksum as expected ($sha)"
+        else
+          echo -e "[\e[31mERROR\e[0m] Checksum downloaded: $check"
+          echo -e "[\e[31mERROR\e[0m] Checksum install.sh: $sha"
+          ERROR=1
+        fi
+      done < <(sed -ne 's/.*opam-\$TAG-\([^)]*\).*"\([^"]*\)".*/\1 \2/p' 
shell/install.sh)
+      if [ $ARCHES -eq 0 ] ; then
+        echo "[\e[31mERROR\e[0m] No sha512 checksums were detected in 
shell/install.sh"
+        echo "That can't be right..."
+        ERROR=1
+      fi
+    fi
+  fi
+  if [[ -z $TRAVIS_COMMIT_RANGE ]]
+  then CheckConfigure "$TRAVIS_COMMIT"
+  else
+    if [[ $TRAVIS_EVENT_TYPE = 'pull_request' ]]
+    then TRAVIS_COMMIT_RANGE=$TRAVIS_MERGE_BASE..$TRAVIS_PULL_REQUEST_SHA
+    fi
+    for commit in $(git rev-list "$TRAVIS_COMMIT_RANGE" --reverse)
+    do
+      CheckConfigure "$commit"
+    done
+  fi
+  exit $ERROR
+fi
+set -x
+
 export OPAMYES=1
 export OCAMLRUNPARAM=b
 
 ( # Run subshell in bootstrap root env to build
+  echo -en "travis_fold:start:build\r"
   if [[ $OPAM_TEST -eq 1 ]] ; then
     export OPAMROOT=$OPAMBSROOT
     eval $(opam env)
@@ -158,8 +284,11 @@
   if [[ $OPAM_TEST$COLD -eq 0 ]] ; then
     make lib-ext
   fi
+  if [ "$TRAVIS_BUILD_STAGE_NAME" = "Upgrade" ]; then
+    # unset git versionning to allow OPAMYES use for upgrade
+    sed -i  -e 's/\(.*with-stdout-to get-git-version.ml.*@@\).*/\1 \\"let 
version = None\\"")))/' src/client/dune
+  fi
   make all
-  make man
 
   rm -f ~/local/bin/opam
   make install
@@ -179,13 +308,43 @@
 
     opam switch default
     opam switch remove $OPAMBSSWITCH --yes
-  else
+  elif [ "$TRAVIS_BUILD_STAGE_NAME" != "Upgrade" ]; then
     # Note: these tests require a "system" compiler and will use the one in 
$OPAMBSROOT
     OPAMEXTERNALSOLVER="$EXTERNAL_SOLVER" make tests ||
       (tail -n 2000 _build/default/tests/fulltest-*.log; echo "-- TESTS FAILED 
--"; exit 1)
   fi
+  echo -en "travis_fold:end:build\r"
 )
 
+if [ "$TRAVIS_BUILD_STAGE_NAME" = "Upgrade" ]; then
+  OPAM12DIR=~/opam1.2
+  CACHE=$OPAM12DIR/cache
+  export OPAMROOT=$CACHE/root20
+  echo -en "travis_fold:start:opam12\r"
+  if [[ ! -f $CACHE/bin/opam ]]; then
+    mkdir -p $CACHE/bin
+    wget 
https://github.com/ocaml/opam/releases/download/1.2.2/opam-1.2.2-x86_64-Linux 
-O $CACHE/bin/opam
+    chmod +x $CACHE/bin/opam
+  fi
+  export OPAMROOT=/tmp/opamroot
+  rm -rf $OPAMROOT
+  if [[ ! -d $CACHE/root ]]; then
+    $CACHE/bin/opam init
+    cp -r /tmp/opamroot/ $CACHE/root
+  else
+    cp -r $CACHE/root /tmp/opamroot
+  fi
+  echo -en "travis_fold:end:opam12\r"
+  set +e
+  opam update
+  rcode=$?
+  if [ $rcode -ne 10 ]; then
+    echo "Bad return code $rcode, should be 10";
+    exit $rcode
+  fi
+  exit 0
+fi
+
 ( # Finally run the tests, in a clean environment
   export OPAMKEEPLOGS=1
 
@@ -198,7 +357,7 @@
     fi
 
     # Test basic actions
-    opam init --bare
+    opam init --bare default 
git+https://github.com/ocaml/opam-repository#8be4290a
     opam switch create default ocaml-system
     eval $(opam env)
     opam install lwt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/.travis.yml new/opam-2.0.6/.travis.yml
--- old/opam-2.0.5/.travis.yml  2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/.travis.yml  2020-01-15 16:31:02.000000000 +0100
@@ -1,3 +1,4 @@
+dist: xenial
 language: c
 sudo: false
 
@@ -16,6 +17,7 @@
     directories:
     - $HOME/.opam.cached
     - $HOME/local
+    - $HOME/opam1.2/cache
 
 script:
     - bash -exu .travis-ci.sh build
@@ -28,6 +30,9 @@
     - os: linux
       env: OCAML_VERSION=4.03.0
       stage: Build
+    - os: osx
+      env: OCAML_VERSION=4.03.0
+      stage: Build
     - os: linux
       env: OCAML_VERSION=4.04.2
       stage: Build
@@ -40,12 +45,17 @@
     - os: linux
       env: OCAML_VERSION=4.07.1
       stage: Build
+    - os: linux
+      env: OCAML_VERSION=4.08.1
+      stage: Build
+    - os: linux
+      env: OCAML_VERSION=4.09.0
+      stage: Build
+    - os: linux
+      stage: Hygiene
     - os: osx
       env: OCAML_VERSION=4.07.1 OPAM_TEST=1
       stage: Test
-    - os: osx
-      env: OCAML_VERSION=4.03.0
-      stage: Test
     - os: linux
       env: OCAML_VERSION=4.07.1 OPAM_TEST=1
       stage: Test
@@ -55,6 +65,10 @@
     - os: linux
       env: COLD=1
       stage: Test
+    - os: linux
+      env: OCAML_VERSION=4.07.1
+      stage: Upgrade
+
 notifications:
   email:
     - [email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/CHANGES new/opam-2.0.6/CHANGES
--- old/opam-2.0.5/CHANGES      2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/CHANGES      2020-01-15 16:31:02.000000000 +0100
@@ -2,6 +2,25 @@
 repositories (changes that are automatically handled by the format upgrade 
tools
 are not marked).
 
+
+2.0.6:
+* Don't remove git cache objects that may be used [#3831 @AltGr]
+* Don't include .gitattributes in index.tar.gz [#3873 @dra27]
+* Update FAQ uri [#3941 @dra27]
+* Lock: add warning in case of missing locked file [#3939 @rjbou]
+* Directory tracking: fix cached entries retrieving with precise
+  tracking [#4038 @hannesm]
+* Build:
+  * Add sanity checks [#3934 @dra27]
+  * Build man pages using dune [#3902] #dra27]
+  * Add patch and bunzip check for make cold [#4006 @rjbou - fix #3842]
+* Shell:
+  * fish: add colon for fish manpath [#3886 @rjbou - fix #3878]
+* Sandbox:
+    * Add dune cache as rw [#4019 @rjbou - fix #4012]
+    * Do not fail if $HOME/.ccache is missing [#3957 @mseri]
+* opam-devel file: avoid copying extraneous files in opam-devel example [#3999 
@maroneze]
+
 2.0.5:
 * Bump src_ext Dune to 1.6.3, allows compilation with OCaml 4.08.0. [#3887 
@dra27]
 * Support Dune 1.7.0 and later [#3888 @dra27 - fix #3870]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/Makefile new/opam-2.0.6/Makefile
--- old/opam-2.0.5/Makefile     2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/Makefile     2020-01-15 16:31:02.000000000 +0100
@@ -21,7 +21,8 @@
 ALWAYS:
        @
 
-DUNE_DEP = ALWAYS $(DUNE_EXE)
+DUNE_PROMOTE_ARG := $(shell dune build --help=plain 2>/dev/null | sed -ne 
's/.*\(--promote-install-files\).*/ \1/p')
+DUNE_DEP = $(DUNE_EXE)
 JBUILDER_ARGS ?= 
 DUNE_ARGS ?= $(JBUILDER_ARGS)
 DUNE_PROFILE ?= release
@@ -35,7 +36,7 @@
 dune: $(DUNE_DEP)
        @$(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) @install
 
-opam: $(DUNE_DEP) opam.install
+opam: $(DUNE_DEP) build-opam processed-opam.install
        $(LN_S) -f _build/default/src/client/opamMain.exe $@$(EXE)
 ifneq ($(MANIFEST_ARCH),)
        @mkdir -p Opam.Runtime.$(MANIFEST_ARCH)
@@ -45,11 +46,10 @@
        @cd Opam.Runtime.$(MANIFEST_ARCH) && $(LN_S) -f 
../src/client/$(RUNTIME_GCC_S).dll .
 endif
 
-opam-installer: $(DUNE_DEP)
-       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) 
src/tools/opam_installer.exe
+opam-installer: $(DUNE_DEP) build-opam-installer 
processed-opam-installer.install
        $(LN_S) -f _build/default/src/tools/opam_installer.exe $@$(EXE)
 
-opam-admin.top: $(DUNE_DEP)
+opam-admin.top: ALWAYS $(DUNE_DEP)
        $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) 
src/tools/opam_admin_top.bc
        $(LN_S) -f _build/default/src/tools/opam_admin_top.bc $@$(EXE)
 
@@ -103,30 +103,25 @@
 opam-%.install: $(DUNE_DEP)
        $(DUNE) build $(DUNE_ARGS) -p opam-$* $@
 
-opam.install: ALWAYS $(DUNE_DEP)
-       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) 
opam-installer.install opam.install
-
-opam-actual.install: opam.install man
-       @echo 'bin: [' > $@
-       @grep -h 'bin/[^/]*' $< >> $@
-       @echo ']' >> $@
-       @echo 'man: [' >>$@
-       @$(patsubst %,echo '  "'%'"' >>$@;,$(wildcard doc/man/*.1))
-       @echo ']' >>$@
-       @echo 'doc: [' >>$@
-       @$(foreach x,$(wildcard doc/man-html/*.html),\
-         echo '  "$x" {"man/$(notdir $x)"}' >>$@;)
-       @$(foreach x,$(wildcard doc/pages/*.html),\
-         echo '  "$x" {"$(notdir $x)"}' >>$@;)
-       @echo ']' >>$@
+.PHONY: build-opam-installer
+build-opam-installer: $(DUNE_DEP) 
+       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS)$(DUNE_PROMOTE_ARG) 
opam-installer.install
+opam-installer.install: $(DUNE_DEP)
+       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS)$(DUNE_PROMOTE_ARG) 
opam-installer.install
+
+.PHONY: build-opam
+build-opam: $(DUNE_DEP)
+       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS)$(DUNE_PROMOTE_ARG) 
opam-installer.install opam.install
+opam.install: $(DUNE_DEP)
+       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS)$(DUNE_PROMOTE_ARG) 
opam-installer.install opam.install
 
 OPAMLIBS = core format solver repository state client
 
 opam-%: $(DUNE_DEP)
-       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) opam-$*.install
+       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS)$(DUNE_PROMOTE_ARG) 
opam-$*.install
 
 opam-lib: $(DUNE_DEP)
-       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) $(patsubst 
%,opam-%.install,$(OPAMLIBS))
+       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS)$(DUNE_PROMOTE_ARG) 
$(patsubst %,opam-%.install,$(OPAMLIBS))
 
 installlib-%: opam-installer opam-%.install
        $(if $(wildcard src_ext/lib/*),\
@@ -140,15 +135,19 @@
 libinstall: $(DUNE_DEP) opam-admin.top $(OPAMLIBS:%=installlib-%)
        @
 
-install: opam-actual.install
-       $(OPAMINSTALLER) $(OPAMINSTALLER_FLAGS) $<
-       $(OPAMINSTALLER) $(OPAMINSTALLER_FLAGS) opam-installer.install
+processed-%.install: %.install
+       sed -f process.sed $^ > $@
+
+install: processed-opam.install processed-opam-installer.install
+       $(OPAMINSTALLER) $(OPAMINSTALLER_FLAGS) processed-opam.install
+       $(OPAMINSTALLER) $(OPAMINSTALLER_FLAGS) processed-opam-installer.install
 
 libuninstall: $(OPAMLIBS:%=uninstalllib-%)
        @
 
-uninstall: opam-actual.install
+uninstall: opam.install
        $(OPAMINSTALLER) -u $(OPAMINSTALLER_FLAGS) $<
+       $(OPAMINSTALLER) -u $(OPAMINSTALLER_FLAGS) opam-installer.install
 
 checker:
        $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) 
src/tools/opam_check.exe
@@ -156,6 +155,7 @@
 .PHONY: tests tests-local tests-git
 tests: $(DUNE_DEP)
        $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) opam.install 
src/tools/opam_check.exe
+       $(DUNE) build --profile=$(DUNE_PROFILE) $(DUNE_ARGS) 
doc/man/opam-topics.inc doc/man/opam-admin-topics.inc
        $(DUNE) runtest --force --no-buffer --profile=$(DUNE_PROFILE) 
$(DUNE_ARGS) src/ tests/
 
 # tests-local, tests-git
@@ -166,8 +166,8 @@
 doc: all
        $(MAKE) -C doc
 
-.PHONY: man man-html
-man man-html: opam opam-installer
+.PHONY: man-html
+man-html: opam opam-installer
        $(MAKE) -C doc $@
 
 configure: configure.ac m4/*.m4
@@ -190,7 +190,7 @@
        env MAKE=$(MAKE) ./shell/bootstrap-ocaml.sh $(OCAML_PORT)
 
 cold: compiler
-       env PATH="`pwd`/bootstrap/ocaml/bin:$$PATH" ./configure 
$(CONFIGURE_ARGS)
+       env PATH="`pwd`/bootstrap/ocaml/bin:$$PATH" ./configure 
--enable-cold-check $(CONFIGURE_ARGS)
        env PATH="`pwd`/bootstrap/ocaml/bin:$$PATH" $(MAKE) lib-ext
        env PATH="`pwd`/bootstrap/ocaml/bin:$$PATH" $(MAKE)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/appveyor.patch new/opam-2.0.6/appveyor.patch
--- old/opam-2.0.5/appveyor.patch       2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/appveyor.patch       2020-01-15 16:31:02.000000000 +0100
@@ -1,16 +1,21 @@
-From 9ef1fc2a03a4a34067b3a7d4f70507cf9326387e Mon Sep 17 00:00:00 2001
+From c4d7bfa9bee7b62f6121a7993c6be2071d6bde34 Mon Sep 17 00:00:00 2001
 From: David Allsopp <[email protected]>
-Date: Fri, 19 Jan 2018 09:32:57 +0000
-Subject: [PATCH] Use dra27 jbuilder/ocaml-mccs/flexdll
+Date: Fri, 19 Jul 2019 13:14:44 +0100
+Subject: [PATCH] AppVeyor src_ext patches
 
- - Need unreleased flexdll 0.38 to build mccs on mingw.
+- Need unreleased flexdll 0.38 to build mccs on mingw.
+- Need unreleased cmdliner 1.0.5 to build man pages on Windows.
 ---
- src_ext/Makefile         | 4 ++--
- src_ext/Makefile.sources | 8 ++++----
- 2 files changed, 6 insertions(+), 6 deletions(-)
+ src_ext/Makefile                                  |   4 ++--
+ src_ext/Makefile.sources                          |   4 ++--
+ src_ext/dune-cmdliner-src                         |   5 -----
+ .../0001-Escape-default-values.patch              | Bin 0 -> 920 bytes
+ 4 files changed, 4 insertions(+), 9 deletions(-)
+ delete mode 100644 src_ext/dune-cmdliner-src
+ create mode 100644 
src_ext/patches/cmdliner.common/0001-Escape-default-values.patch
 
 diff --git a/src_ext/Makefile b/src_ext/Makefile
-index 1a350068..964a818c 100644
+index b83b9029..7154900b 100644
 --- a/src_ext/Makefile
 +++ b/src_ext/Makefile
 @@ -12,8 +12,8 @@ endif
@@ -24,6 +29,51 @@
  
  ifndef FETCH
    ifneq ($(shell command -v curl 2>/dev/null),)
+diff --git a/src_ext/Makefile.sources b/src_ext/Makefile.sources
+index f21ca4b3..e9830a7b 100644
+--- a/src_ext/Makefile.sources
++++ b/src_ext/Makefile.sources
+@@ -13,8 +13,8 @@ MD5_re = 765f6f8d3e6ab200866e719ed7e5178d
+ 
+ $(call PKG_SAME,re)
+ 
+-URL_cmdliner = 
http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.2.tbz
+-MD5_cmdliner = ab2f0130e88e8dcd723ac6154c98a881
++URL_cmdliner = 
http://erratique.ch/software/cmdliner/releases/cmdliner-1.0.4.tbz
++MD5_cmdliner = fe2213d0bc63b1e10a2d0aa66d2fc8d9
+ 
+ $(call PKG_SAME,cmdliner)
+ 
+diff --git a/src_ext/dune-cmdliner-src b/src_ext/dune-cmdliner-src
+deleted file mode 100644
+index 0bdeb4e4..00000000
+--- a/src_ext/dune-cmdliner-src
++++ /dev/null
+@@ -1,5 +0,0 @@
+-(library
+-  (name cmdliner)
+-  (public_name cmdliner)
+-  (libraries result)
+-  (wrapped false))
+diff --git a/src_ext/patches/cmdliner.common/0001-Escape-default-values.patch 
b/src_ext/patches/cmdliner.common/0001-Escape-default-values.patch
+new file mode 100644
+index 
0000000000000000000000000000000000000000..0f351f96db7f93511854788e960909fb578db9e7
+GIT binary patch
+literal 920
+zcmb7CU2EJh5Pa9K7!CqC96OS+or`HgLefx5OA9IOLn()>kBb^xIxN{~O1R%%`Eq$^
+z;3zdVW;Hv*&a7^F*P-OBqKiVD(y~}^UI?|2JTF*TEz0t=$XO}NMoWs1&f-?B!A?MF
+zy?v2W%E(QWsd3FmBXQZb-mTYoBd0Rs&*ep@0{4N7`%Jj*oLuvuYJ5}j2ziC~gN;J$
+z6l_t`vd$MsD5I3z4$V&`LXGdAFTY&9`+>J!@U?<enh$Nj$lF1ALT=5<Dw#U1)8_I2
+z21(PD!1v-<bh0&8^-Jl*O4+Py@q`>ngc-DH6~rC4t7&2eW4-EwarQ8oPqkF7+Lq~@
+z5NWhVnyyR$Ki(tV>;Z_eQvE{Q1gi?2WvXDDR}?XgswhaDcCRK$k_3BoFD{U>qB=T3
+z^8AYjac1y-wG3|Aal14@b=auB_t^NM@d2A=(BL>DKn&yRB_U(A%f9j!BhvE;o1Tsb
+zafc85_hY7AFH{5{Ot^c2pD>%nZurn^%ntkvhpt~LJ7TllVy$`W75JQ_&w5W=^<6)2
+zyt3i!z)!^SH8u3ZmYMvEd8oX=IN!&QbYrK1r(oPVjPb+S&e`AYr`RI8ypQ{e3B5Rd
+k9nz=RvQ?Rq+IiVs-e@LTi5msUvz%rudx%=@!Doz+KYk7!^#A|>
+
+literal 0
+HcmV?d00001
+
 -- 
-2.12.0.windows.1
+2.19.1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/configure.ac new/opam-2.0.6/configure.ac
--- old/opam-2.0.5/configure.ac 2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/configure.ac 2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 dnl The line below must be formatted AC_INIT(opam,VERSION) with no extra spaces
-AC_INIT(opam,2.0.5)
+AC_INIT(opam,2.0.6)
 AC_COPYRIGHT(Copyright 2012-2017 OcamlPro SAS)
 
 AC_CONFIG_MACRO_DIR([m4])
@@ -60,6 +60,11 @@
                  [For a mingw-w64 build, manifest the runtime DLLs locally in 
Opam.Runtime.arch]),,[with_private_runtime=no]
 )
 
+AC_ARG_ENABLE([cold_check],
+  AC_HELP_STRING([--enable-cold-check],
+                 [Fail on some check necessary for make 
cold]),[COLD_CHECK=yes],[]
+)
+
 AS_IF([test "x" != "x$LIB_PREFIX"], [
   CPATH=$CPATH:$LIB_PREFIX/include
   LIBRARY_PATH=$LIBRARY_PATH:$LIB_PREFIX/lib
@@ -219,6 +224,15 @@
 AC_CHECK_TOOL(PATCH,patch)
 AC_CHECK_TOOL(BUNZIP2,bunzip2)
 
+if test "x${COLD_CHECK}" = "xyes" ; then
+  if test "x$PATCH"  = "x" ; then
+    AC_MSG_ERROR([You must have patch installed.])
+  fi
+  if test "x$BUNZIP2"  = "x" ; then
+    AC_MSG_ERROR([You must have bunzip2 installed.])
+  fi
+fi
+
 AS_IF([test "${OCAML_OS_TYPE}" = "Win32"],[
   AC_MSG_CHECKING([for a workable solution for ln -s])
   ln -s configure conftestLink
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/doc/Makefile new/opam-2.0.6/doc/Makefile
--- old/opam-2.0.5/doc/Makefile 2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/doc/Makefile 2020-01-15 16:31:02.000000000 +0100
@@ -28,25 +28,12 @@
 endif
 
 .PHONY: man html pages
-all: man html pages
+all: html pages
 
-man:
-       rm -rf man
-       mkdir -p man
-       $(OPAM) $(HELPFMT) > man/opam.1 2> man/err
-       for i in $(TOPICS); do\
-         $(OPAM) $$i $(HELPFMT) > man/opam-$$i.1 2>> man/err ; \
-       done
-       $(OPAM) admin $(HELPFMT) > man/opam-admin.1 2>> man/err
-       for i in $(TOPICS_ADMIN); do\
-         $(OPAM) admin $$i $(HELPFMT) > man/opam-admin-$$i.1 2>> man/err ; \
-       done
-       $(OPAM_INSTALLER) $(HELPFMT) > man/opam-installer.1 2>> man/err
-# Dune doesn't (yet) support --no-print-directory
-       @sed -f man.sed man/err > man/err2
-       @if test -s man/err2 ; then cat man/err2 ; false ; fi
+MANDIR = ../_build/default/doc/man
 
-man-html: man
+.PHONY: man-html
+man-html:
        rm -rf man-html
        mkdir -p $@
        echo '<!DOCTYPE html>' >$@/index.html
@@ -55,7 +42,7 @@
        echo '</head><body>' >>$@/index.html
        echo '<h1>Opam $(version) man-pages index</h1>' >>$@/index.html
        echo '<ul>' >>$@/index.html
-       for f in man/*; do\
+       for f in ${MANDIR}/*; do\
          man2html -r $$f | sed 1,2d > $@/$$(basename $$f .1).html;\
          echo "  <li><a href=\"$$(basename $$f .1).html\">$$(basename $$f 
.1)</a></li>" >>$@/index.html;\
        done
@@ -81,4 +68,4 @@
 pages: $(PAGES:.md=.html)
 
 clean:
-       rm -rf dependencies.dot man html/ocamldoc man-html pages/*.html 
html/index.html
+       rm -rf dependencies.dot html/ocamldoc man-html pages/*.html 
html/index.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/doc/man/dune new/opam-2.0.6/doc/man/dune
--- old/opam-2.0.5/doc/man/dune 1970-01-01 01:00:00.000000000 +0100
+++ new/opam-2.0.6/doc/man/dune 2020-01-15 16:31:02.000000000 +0100
@@ -0,0 +1,37 @@
+(rule
+  (targets opam.1)
+  (deps opam-topics.inc opam-admin-topics.inc)
+  (action (with-stdout-to %{targets} (run %{bin:opam} --help=groff))))
+
+(install
+  (section man)
+  (package opam)
+  (files opam.1))
+
+(rule
+  (with-stdout-to opam-installer.1 (run %{bin:opam-installer} --help=groff)))
+
+(install
+  (section man)
+  (package opam-installer)
+  (files opam-installer.1))
+
+(executable
+  (name dune_man)
+  (libraries unix))
+
+(rule
+  (targets opam-topics.inc)
+  (deps %{bin:opam})
+  (mode promote)
+  (action (with-stdout-to %{targets} (run %{exe:dune_man.exe} opam))))
+
+(rule
+  (targets opam-admin-topics.inc)
+  (deps %{bin:opam})
+  (mode promote)
+  (action (with-stdout-to %{targets} (run %{exe:dune_man.exe} opam admin))))
+
+(include opam-topics.inc)
+
+(include opam-admin-topics.inc)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/doc/man/dune_man.ml new/opam-2.0.6/doc/man/dune_man.ml
--- old/opam-2.0.5/doc/man/dune_man.ml  1970-01-01 01:00:00.000000000 +0100
+++ new/opam-2.0.6/doc/man/dune_man.ml  2020-01-15 16:31:02.000000000 +0100
@@ -0,0 +1,40 @@
+let gen_topic target_basename dline t =
+  Printf.printf "\n\
+                 (rule\n\
+                \  (with-stdout-to %s-%s.0 (echo \"\")))\n\
+                 (rule\n\
+                \  (targets %s-%s.1 %s-%s.err)\n\
+                \  (action (progn (with-stderr-to %s-%s.err\n\
+                \                   (with-stdout-to %s-%s.1 (run %s %s 
--help=groff)))\n\
+                \                 (diff %s-%s.err %%{dep:%s-%s.0}))))\n\
+                "
+    target_basename t target_basename t target_basename t target_basename t 
target_basename t dline t target_basename t target_basename t
+
+let () =
+  let cmd,args = match Array.to_list Sys.argv with
+    | _::cmd::args -> cmd, args
+    | [] | [_]  -> invalid_arg "Missing command argument"
+  in
+  let cline = String.concat " " (cmd :: args) ^ " help topics" in
+  let topics =
+    let ic = Unix.open_process_in cline in
+    set_binary_mode_in ic false;
+    let rec aux () =
+      match input_line ic with
+      | "" -> aux ()
+      | s -> s :: aux ()
+      | exception _ -> close_in ic; []
+    in
+    aux ()
+  in
+  let target_basename = String.concat "-" ("opam" :: args) in
+  let dline = String.concat " " ("%{bin:opam}" :: args) in
+  print_string ";; Generated by dune_man\n";
+  List.iter (gen_topic target_basename dline) topics;
+  Printf.printf "\n\
+                 (install\n\
+                \  (section man)\n\
+                \  (package opam)\n\
+                \  (files%s))\n"
+    (String.concat " "
+       (List.map (Printf.sprintf "\n    %s-%s.1" target_basename) topics))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/doc/man/opam-admin-topics.inc 
new/opam-2.0.6/doc/man/opam-admin-topics.inc
--- old/opam-2.0.5/doc/man/opam-admin-topics.inc        1970-01-01 
01:00:00.000000000 +0100
+++ new/opam-2.0.6/doc/man/opam-admin-topics.inc        2020-01-15 
16:31:02.000000000 +0100
@@ -0,0 +1,105 @@
+;; Generated by dune_man
+
+(rule
+  (with-stdout-to opam-admin-help.0 (echo "")))
+(rule
+  (targets opam-admin-help.1 opam-admin-help.err)
+  (action (progn (with-stderr-to opam-admin-help.err
+                   (with-stdout-to opam-admin-help.1 (run %{bin:opam} admin 
help --help=groff)))
+                 (diff opam-admin-help.err %{dep:opam-admin-help.0}))))
+
+(rule
+  (with-stdout-to opam-admin-add-hashes.0 (echo "")))
+(rule
+  (targets opam-admin-add-hashes.1 opam-admin-add-hashes.err)
+  (action (progn (with-stderr-to opam-admin-add-hashes.err
+                   (with-stdout-to opam-admin-add-hashes.1 (run %{bin:opam} 
admin add-hashes --help=groff)))
+                 (diff opam-admin-add-hashes.err 
%{dep:opam-admin-add-hashes.0}))))
+
+(rule
+  (with-stdout-to opam-admin-add-constraint.0 (echo "")))
+(rule
+  (targets opam-admin-add-constraint.1 opam-admin-add-constraint.err)
+  (action (progn (with-stderr-to opam-admin-add-constraint.err
+                   (with-stdout-to opam-admin-add-constraint.1 (run 
%{bin:opam} admin add-constraint --help=groff)))
+                 (diff opam-admin-add-constraint.err 
%{dep:opam-admin-add-constraint.0}))))
+
+(rule
+  (with-stdout-to opam-admin-filter.0 (echo "")))
+(rule
+  (targets opam-admin-filter.1 opam-admin-filter.err)
+  (action (progn (with-stderr-to opam-admin-filter.err
+                   (with-stdout-to opam-admin-filter.1 (run %{bin:opam} admin 
filter --help=groff)))
+                 (diff opam-admin-filter.err %{dep:opam-admin-filter.0}))))
+
+(rule
+  (with-stdout-to opam-admin-list.0 (echo "")))
+(rule
+  (targets opam-admin-list.1 opam-admin-list.err)
+  (action (progn (with-stderr-to opam-admin-list.err
+                   (with-stdout-to opam-admin-list.1 (run %{bin:opam} admin 
list --help=groff)))
+                 (diff opam-admin-list.err %{dep:opam-admin-list.0}))))
+
+(rule
+  (with-stdout-to opam-admin-check.0 (echo "")))
+(rule
+  (targets opam-admin-check.1 opam-admin-check.err)
+  (action (progn (with-stderr-to opam-admin-check.err
+                   (with-stdout-to opam-admin-check.1 (run %{bin:opam} admin 
check --help=groff)))
+                 (diff opam-admin-check.err %{dep:opam-admin-check.0}))))
+
+(rule
+  (with-stdout-to opam-admin-lint.0 (echo "")))
+(rule
+  (targets opam-admin-lint.1 opam-admin-lint.err)
+  (action (progn (with-stderr-to opam-admin-lint.err
+                   (with-stdout-to opam-admin-lint.1 (run %{bin:opam} admin 
lint --help=groff)))
+                 (diff opam-admin-lint.err %{dep:opam-admin-lint.0}))))
+
+(rule
+  (with-stdout-to opam-admin-upgrade.0 (echo "")))
+(rule
+  (targets opam-admin-upgrade.1 opam-admin-upgrade.err)
+  (action (progn (with-stderr-to opam-admin-upgrade.err
+                   (with-stdout-to opam-admin-upgrade.1 (run %{bin:opam} admin 
upgrade --help=groff)))
+                 (diff opam-admin-upgrade.err %{dep:opam-admin-upgrade.0}))))
+
+(rule
+  (with-stdout-to opam-admin-cache.0 (echo "")))
+(rule
+  (targets opam-admin-cache.1 opam-admin-cache.err)
+  (action (progn (with-stderr-to opam-admin-cache.err
+                   (with-stdout-to opam-admin-cache.1 (run %{bin:opam} admin 
cache --help=groff)))
+                 (diff opam-admin-cache.err %{dep:opam-admin-cache.0}))))
+
+(rule
+  (with-stdout-to opam-admin-make.0 (echo "")))
+(rule
+  (targets opam-admin-make.1 opam-admin-make.err)
+  (action (progn (with-stderr-to opam-admin-make.err
+                   (with-stdout-to opam-admin-make.1 (run %{bin:opam} admin 
make --help=groff)))
+                 (diff opam-admin-make.err %{dep:opam-admin-make.0}))))
+
+(rule
+  (with-stdout-to opam-admin-index.0 (echo "")))
+(rule
+  (targets opam-admin-index.1 opam-admin-index.err)
+  (action (progn (with-stderr-to opam-admin-index.err
+                   (with-stdout-to opam-admin-index.1 (run %{bin:opam} admin 
index --help=groff)))
+                 (diff opam-admin-index.err %{dep:opam-admin-index.0}))))
+
+(install
+  (section man)
+  (package opam)
+  (files
+    opam-admin-help.1 
+    opam-admin-add-hashes.1 
+    opam-admin-add-constraint.1 
+    opam-admin-filter.1 
+    opam-admin-list.1 
+    opam-admin-check.1 
+    opam-admin-lint.1 
+    opam-admin-upgrade.1 
+    opam-admin-cache.1 
+    opam-admin-make.1 
+    opam-admin-index.1))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/doc/man/opam-topics.inc new/opam-2.0.6/doc/man/opam-topics.inc
--- old/opam-2.0.5/doc/man/opam-topics.inc      1970-01-01 01:00:00.000000000 
+0100
+++ new/opam-2.0.6/doc/man/opam-topics.inc      2020-01-15 16:31:02.000000000 
+0100
@@ -0,0 +1,231 @@
+;; Generated by dune_man
+
+(rule
+  (with-stdout-to opam-help.0 (echo "")))
+(rule
+  (targets opam-help.1 opam-help.err)
+  (action (progn (with-stderr-to opam-help.err
+                   (with-stdout-to opam-help.1 (run %{bin:opam} help 
--help=groff)))
+                 (diff opam-help.err %{dep:opam-help.0}))))
+
+(rule
+  (with-stdout-to opam-admin.0 (echo "")))
+(rule
+  (targets opam-admin.1 opam-admin.err)
+  (action (progn (with-stderr-to opam-admin.err
+                   (with-stdout-to opam-admin.1 (run %{bin:opam} admin 
--help=groff)))
+                 (diff opam-admin.err %{dep:opam-admin.0}))))
+
+(rule
+  (with-stdout-to opam-clean.0 (echo "")))
+(rule
+  (targets opam-clean.1 opam-clean.err)
+  (action (progn (with-stderr-to opam-clean.err
+                   (with-stdout-to opam-clean.1 (run %{bin:opam} clean 
--help=groff)))
+                 (diff opam-clean.err %{dep:opam-clean.0}))))
+
+(rule
+  (with-stdout-to opam-lint.0 (echo "")))
+(rule
+  (targets opam-lint.1 opam-lint.err)
+  (action (progn (with-stderr-to opam-lint.err
+                   (with-stdout-to opam-lint.1 (run %{bin:opam} lint 
--help=groff)))
+                 (diff opam-lint.err %{dep:opam-lint.0}))))
+
+(rule
+  (with-stdout-to opam-source.0 (echo "")))
+(rule
+  (targets opam-source.1 opam-source.err)
+  (action (progn (with-stderr-to opam-source.err
+                   (with-stdout-to opam-source.1 (run %{bin:opam} source 
--help=groff)))
+                 (diff opam-source.err %{dep:opam-source.0}))))
+
+(rule
+  (with-stdout-to opam-unpin.0 (echo "")))
+(rule
+  (targets opam-unpin.1 opam-unpin.err)
+  (action (progn (with-stderr-to opam-unpin.err
+                   (with-stdout-to opam-unpin.1 (run %{bin:opam} unpin 
--help=groff)))
+                 (diff opam-unpin.err %{dep:opam-unpin.0}))))
+
+(rule
+  (with-stdout-to opam-pin.0 (echo "")))
+(rule
+  (targets opam-pin.1 opam-pin.err)
+  (action (progn (with-stderr-to opam-pin.err
+                   (with-stdout-to opam-pin.1 (run %{bin:opam} pin 
--help=groff)))
+                 (diff opam-pin.err %{dep:opam-pin.0}))))
+
+(rule
+  (with-stdout-to opam-switch.0 (echo "")))
+(rule
+  (targets opam-switch.1 opam-switch.err)
+  (action (progn (with-stderr-to opam-switch.err
+                   (with-stdout-to opam-switch.1 (run %{bin:opam} switch 
--help=groff)))
+                 (diff opam-switch.err %{dep:opam-switch.0}))))
+
+(rule
+  (with-stdout-to opam-remote.0 (echo "")))
+(rule
+  (targets opam-remote.1 opam-remote.err)
+  (action (progn (with-stderr-to opam-remote.err
+                   (with-stdout-to opam-remote.1 (run %{bin:opam} remote 
--help=groff)))
+                 (diff opam-remote.err %{dep:opam-remote.0}))))
+
+(rule
+  (with-stdout-to opam-repository.0 (echo "")))
+(rule
+  (targets opam-repository.1 opam-repository.err)
+  (action (progn (with-stderr-to opam-repository.err
+                   (with-stdout-to opam-repository.1 (run %{bin:opam} 
repository --help=groff)))
+                 (diff opam-repository.err %{dep:opam-repository.0}))))
+
+(rule
+  (with-stdout-to opam-env.0 (echo "")))
+(rule
+  (targets opam-env.1 opam-env.err)
+  (action (progn (with-stderr-to opam-env.err
+                   (with-stdout-to opam-env.1 (run %{bin:opam} env 
--help=groff)))
+                 (diff opam-env.err %{dep:opam-env.0}))))
+
+(rule
+  (with-stdout-to opam-exec.0 (echo "")))
+(rule
+  (targets opam-exec.1 opam-exec.err)
+  (action (progn (with-stderr-to opam-exec.err
+                   (with-stdout-to opam-exec.1 (run %{bin:opam} exec 
--help=groff)))
+                 (diff opam-exec.err %{dep:opam-exec.0}))))
+
+(rule
+  (with-stdout-to opam-var.0 (echo "")))
+(rule
+  (targets opam-var.1 opam-var.err)
+  (action (progn (with-stderr-to opam-var.err
+                   (with-stdout-to opam-var.1 (run %{bin:opam} var 
--help=groff)))
+                 (diff opam-var.err %{dep:opam-var.0}))))
+
+(rule
+  (with-stdout-to opam-config.0 (echo "")))
+(rule
+  (targets opam-config.1 opam-config.err)
+  (action (progn (with-stderr-to opam-config.err
+                   (with-stdout-to opam-config.1 (run %{bin:opam} config 
--help=groff)))
+                 (diff opam-config.err %{dep:opam-config.0}))))
+
+(rule
+  (with-stdout-to opam-upgrade.0 (echo "")))
+(rule
+  (targets opam-upgrade.1 opam-upgrade.err)
+  (action (progn (with-stderr-to opam-upgrade.err
+                   (with-stdout-to opam-upgrade.1 (run %{bin:opam} upgrade 
--help=groff)))
+                 (diff opam-upgrade.err %{dep:opam-upgrade.0}))))
+
+(rule
+  (with-stdout-to opam-update.0 (echo "")))
+(rule
+  (targets opam-update.1 opam-update.err)
+  (action (progn (with-stderr-to opam-update.err
+                   (with-stdout-to opam-update.1 (run %{bin:opam} update 
--help=groff)))
+                 (diff opam-update.err %{dep:opam-update.0}))))
+
+(rule
+  (with-stdout-to opam-reinstall.0 (echo "")))
+(rule
+  (targets opam-reinstall.1 opam-reinstall.err)
+  (action (progn (with-stderr-to opam-reinstall.err
+                   (with-stdout-to opam-reinstall.1 (run %{bin:opam} reinstall 
--help=groff)))
+                 (diff opam-reinstall.err %{dep:opam-reinstall.0}))))
+
+(rule
+  (with-stdout-to opam-uninstall.0 (echo "")))
+(rule
+  (targets opam-uninstall.1 opam-uninstall.err)
+  (action (progn (with-stderr-to opam-uninstall.err
+                   (with-stdout-to opam-uninstall.1 (run %{bin:opam} uninstall 
--help=groff)))
+                 (diff opam-uninstall.err %{dep:opam-uninstall.0}))))
+
+(rule
+  (with-stdout-to opam-remove.0 (echo "")))
+(rule
+  (targets opam-remove.1 opam-remove.err)
+  (action (progn (with-stderr-to opam-remove.err
+                   (with-stdout-to opam-remove.1 (run %{bin:opam} remove 
--help=groff)))
+                 (diff opam-remove.err %{dep:opam-remove.0}))))
+
+(rule
+  (with-stdout-to opam-install.0 (echo "")))
+(rule
+  (targets opam-install.1 opam-install.err)
+  (action (progn (with-stderr-to opam-install.err
+                   (with-stdout-to opam-install.1 (run %{bin:opam} install 
--help=groff)))
+                 (diff opam-install.err %{dep:opam-install.0}))))
+
+(rule
+  (with-stdout-to opam-info.0 (echo "")))
+(rule
+  (targets opam-info.1 opam-info.err)
+  (action (progn (with-stderr-to opam-info.err
+                   (with-stdout-to opam-info.1 (run %{bin:opam} info 
--help=groff)))
+                 (diff opam-info.err %{dep:opam-info.0}))))
+
+(rule
+  (with-stdout-to opam-show.0 (echo "")))
+(rule
+  (targets opam-show.1 opam-show.err)
+  (action (progn (with-stderr-to opam-show.err
+                   (with-stdout-to opam-show.1 (run %{bin:opam} show 
--help=groff)))
+                 (diff opam-show.err %{dep:opam-show.0}))))
+
+(rule
+  (with-stdout-to opam-search.0 (echo "")))
+(rule
+  (targets opam-search.1 opam-search.err)
+  (action (progn (with-stderr-to opam-search.err
+                   (with-stdout-to opam-search.1 (run %{bin:opam} search 
--help=groff)))
+                 (diff opam-search.err %{dep:opam-search.0}))))
+
+(rule
+  (with-stdout-to opam-list.0 (echo "")))
+(rule
+  (targets opam-list.1 opam-list.err)
+  (action (progn (with-stderr-to opam-list.err
+                   (with-stdout-to opam-list.1 (run %{bin:opam} list 
--help=groff)))
+                 (diff opam-list.err %{dep:opam-list.0}))))
+
+(rule
+  (with-stdout-to opam-init.0 (echo "")))
+(rule
+  (targets opam-init.1 opam-init.err)
+  (action (progn (with-stderr-to opam-init.err
+                   (with-stdout-to opam-init.1 (run %{bin:opam} init 
--help=groff)))
+                 (diff opam-init.err %{dep:opam-init.0}))))
+
+(install
+  (section man)
+  (package opam)
+  (files
+    opam-help.1 
+    opam-admin.1 
+    opam-clean.1 
+    opam-lint.1 
+    opam-source.1 
+    opam-unpin.1 
+    opam-pin.1 
+    opam-switch.1 
+    opam-remote.1 
+    opam-repository.1 
+    opam-env.1 
+    opam-exec.1 
+    opam-var.1 
+    opam-config.1 
+    opam-upgrade.1 
+    opam-update.1 
+    opam-reinstall.1 
+    opam-uninstall.1 
+    opam-remove.1 
+    opam-install.1 
+    opam-info.1 
+    opam-show.1 
+    opam-search.1 
+    opam-list.1 
+    opam-init.1))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/doc/man.sed new/opam-2.0.6/doc/man.sed
--- old/opam-2.0.5/doc/man.sed  2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/doc/man.sed  1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-/^Entering directory '/d
-/^File .*jbuild", line 1, characters 0-0:/{
-  :a
-  N
-  /Note: You can use.*to dune/!ba
-}
-/Warning: jbuild files are deprecated/d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-client.opam new/opam-2.0.6/opam-client.opam
--- old/opam-2.0.5/opam-client.opam     2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-client.opam     2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
@@ -21,8 +21,8 @@
   [make "%{name}%.install"]
 ]
 depends: [
-  "opam-state" {= "2.0.5"}
-  "opam-solver" {= "2.0.5"}
+  "opam-state" {= "2.0.6"}
+  "opam-solver" {= "2.0.6"}
   "re" {>= "1.7.2"}
   "cmdliner" {>= "0.9.8"}
   "dune" {build & >= "1.2.1"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-core.opam new/opam-2.0.6/opam-core.opam
--- old/opam-2.0.5/opam-core.opam       2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-core.opam       2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-devel.opam new/opam-2.0.6/opam-devel.opam
--- old/opam-2.0.5/opam-devel.opam      2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-devel.opam      2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
@@ -22,13 +22,13 @@
 ]
 build-test: [make "tests"]
 depends: [
-  "opam-client" {= "2.0.5"}
+  "opam-client" {= "2.0.6"}
   "cmdliner" {>= "0.9.8"}
   "dune" {build & >= "1.2.1"}
 ]
 post-messages: [
 "The development version of opam has been successfully compiled into 
%{lib}%/%{name}%. You should not run it from there, please install the binaries 
to your PATH, e.g. with
-    sudo cp %{lib}%/%{name}%/* /usr/local/bin
+    sudo cp %{lib}%/%{name}%/opam /usr/local/bin
 
 If you just want to give it a try without altering your current installation, 
you could use instead:
     alias opam2=\"OPAMROOT=~/.opam2 %{lib}%/%{name}%/opam\""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-format.opam new/opam-2.0.6/opam-format.opam
--- old/opam-2.0.5/opam-format.opam     2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-format.opam     2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
@@ -21,7 +21,7 @@
   [make "%{name}%.install"]
 ]
 depends: [
-  "opam-core" {= "2.0.5"}
+  "opam-core" {= "2.0.6"}
   "opam-file-format" {>= "2.0.0~rc2"}
   "dune" {build & >= "1.2.1"}
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-installer.opam new/opam-2.0.6/opam-installer.opam
--- old/opam-2.0.5/opam-installer.opam  2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-installer.opam  2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
@@ -18,10 +18,10 @@
 dev-repo: "https://github.com/ocaml/opam.git";
 build: [
   ["./configure" "--disable-checks" "--prefix" prefix]
-  [make "%{name}%.install"]
+  [make "DUNE_ARGS=-p %{name}%" "%{name}%.install"]
 ]
 depends: [
-  "opam-format" {= "2.0.5"}
+  "opam-format" {= "2.0.6"}
   "cmdliner" {>= "0.9.8"}
   "dune" {build & >= "1.2.1"}
 ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-repository.opam new/opam-2.0.6/opam-repository.opam
--- old/opam-2.0.5/opam-repository.opam 2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-repository.opam 2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
@@ -21,7 +21,7 @@
   [make "%{name}%.install"]
 ]
 depends: [
-  "opam-format" {= "2.0.5"}
+  "opam-format" {= "2.0.6"}
   "dune" {build & >= "1.2.1"}
 ]
 available: ocaml-version >= "4.02.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-solver.opam new/opam-2.0.6/opam-solver.opam
--- old/opam-2.0.5/opam-solver.opam     2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-solver.opam     2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
@@ -21,7 +21,7 @@
   [make "%{name}%.install"]
 ]
 depends: [
-  "opam-format" {= "2.0.5"}
+  "opam-format" {= "2.0.6"}
   "mccs" {>= "1.1+9"}
   "dose3" {>= "5"}
   "cudf" {>= "0.7"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/opam-state.opam new/opam-2.0.6/opam-state.opam
--- old/opam-2.0.5/opam-state.opam      2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/opam-state.opam      2020-01-15 16:31:02.000000000 +0100
@@ -1,5 +1,5 @@
 opam-version: "1.2"
-version: "2.0.5"
+version: "2.0.6"
 maintainer: "[email protected]"
 authors: [
   "Vincent Bernardoff <[email protected]>"
@@ -21,7 +21,7 @@
   [make "%{name}%.install"]
 ]
 depends: [
-  "opam-repository" {= "2.0.5"}
+  "opam-repository" {= "2.0.6"}
   "dune" {build & >= "1.2.1"}
 ]
 available: ocaml-version >= "4.02.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/process.sed new/opam-2.0.6/process.sed
--- old/opam-2.0.5/process.sed  1970-01-01 01:00:00.000000000 +0100
+++ new/opam-2.0.6/process.sed  2020-01-15 16:31:02.000000000 +0100
@@ -0,0 +1,6 @@
+/^[ld][io][bc]:/{
+:a
+N
+/]/!ba
+}
+/[ld][io][bc]:/d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/shell/bundle.sh new/opam-2.0.6/shell/bundle.sh
--- old/opam-2.0.5/shell/bundle.sh      2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/shell/bundle.sh      2020-01-15 16:31:02.000000000 +0100
@@ -2,7 +2,7 @@
 set -ue
 
 OCAMLV=4.04.1
-OPAMV=2.0.5
+OPAMV=2.0.6
 OPAM_REPO=https://opam.ocaml.org/2.0
 DEBUG=
 MAKESELF=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/shell/install.sh new/opam-2.0.6/shell/install.sh
--- old/opam-2.0.5/shell/install.sh     2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/shell/install.sh     2020-01-15 16:31:02.000000000 +0100
@@ -9,6 +9,18 @@
 TAG=$(echo "$VERSION" | tr '~' '-')
 DEFAULT_BINDIR=/usr/local/bin
 
+bin_sha512() {
+  case "$OPAM_BIN" in
+    opam-$TAG-amd64-openbsd) echo 
"7313cd2c39dc28fa9c3de47ed2274ceee48865d74a4a9315dc120459cf57c9b3a5262b343412149cda5379b2ac2eb7cfb387764c8ca5b4e1e0831b275c4acf6f";;
+    opam-$TAG-arm64-linux) echo 
"589a8c1842c636caabf9108f95b5f288261f5e621b74b1afa731333f0d5010c10a967153f9c4ca5828ecd4e66326b0b1d679ccb8ad92d07aefc66ae85ea10971";;
+    opam-$TAG-armhf-linux) echo 
"0ebd8662b2d1972b12e38245d3625867fb173bf6939a8c728e0cc349867d5b31103488674665d77be9ad2dc881b3508a947640019b6b48c6821ccece481cf2bc";;
+    opam-$TAG-i686-linux) echo 
"18da8fb4ce5270e51becbde47e8b5b6a855a970820f85f01fcdca1a28cef1ad5b51f0c53f60f89f45192d0f310c4e441da267f2dbc3616e16f68128bb86af2ae";;
+    opam-$TAG-x86_64-darwin) echo 
"229c0623df54561285182570a72c7860f5398532fbfb33d7c90d345fba25fcd43f13e806aa232089da9303481f6c65535dedfff0077ba1d4b96f76b191ca24c6";;
+    opam-$TAG-x86_64-linux) echo 
"f479ec7dd891bb200376fd674a02ff5283c9ca812be5a83138739d39f9d7221ac920c530937573cf789d976b60c822efa49066cdf2b34f61e740835e6fb1a37c";;
+    *) echo "no sha";;
+  esac
+}
+
 usage() {
     echo "opam binary installer v.$VERSION"
     echo "Downloads and installs a pre-compiled binary of opam $VERSION to the 
system."
@@ -136,8 +148,9 @@
     *) OS=$(echo "$OS" | awk '{print tolower($0)}')
 esac
 
+OPAM_BIN_URL_BASE='https://github.com/ocaml/opam/releases/download/'
 OPAM_BIN="opam-${TAG}-${ARCH}-${OS}"
-OPAM_BIN_URL="https://github.com/ocaml/opam/releases/download/${TAG}/${OPAM_BIN}";
+OPAM_BIN_URL="${OPAM_BIN_URL_BASE}${TAG}/${OPAM_BIN}"
 
 download() {
     if command -v wget >/dev/null; then wget -q -O "$@"
@@ -145,18 +158,6 @@
     fi
 }
 
-bin_sha512() {
-  case "$OPAM_BIN" in
-    opam-2.0.0-rc3-amd64-openbsd) echo 
"7313cd2c39dc28fa9c3de47ed2274ceee48865d74a4a9315dc120459cf57c9b3a5262b343412149cda5379b2ac2eb7cfb387764c8ca5b4e1e0831b275c4acf6f";;
-    opam-2.0.0-rc3-arm64-linux) echo 
"589a8c1842c636caabf9108f95b5f288261f5e621b74b1afa731333f0d5010c10a967153f9c4ca5828ecd4e66326b0b1d679ccb8ad92d07aefc66ae85ea10971";;
-    opam-2.0.0-rc3-armhf-linux) echo 
"0ebd8662b2d1972b12e38245d3625867fb173bf6939a8c728e0cc349867d5b31103488674665d77be9ad2dc881b3508a947640019b6b48c6821ccece481cf2bc";;
-    opam-2.0.0-rc3-i686-linux) echo 
"18da8fb4ce5270e51becbde47e8b5b6a855a970820f85f01fcdca1a28cef1ad5b51f0c53f60f89f45192d0f310c4e441da267f2dbc3616e16f68128bb86af2ae";;
-    opam-2.0.0-rc3-x86_64-darwin) echo 
"229c0623df54561285182570a72c7860f5398532fbfb33d7c90d345fba25fcd43f13e806aa232089da9303481f6c65535dedfff0077ba1d4b96f76b191ca24c6";;
-    opam-2.0.0-rc3-x86_64-linux) echo 
"f479ec7dd891bb200376fd674a02ff5283c9ca812be5a83138739d39f9d7221ac920c530937573cf789d976b60c822efa49066cdf2b34f61e740835e6fb1a37c";;
-    *) echo "no sha";;
-  esac
-}
-
 check_sha512() {
   if command -v openssl > /dev/null && [ "$(openssl sha512 2>&1 < /dev/null)" 
= 
"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
 ]; then
     sha512=`openssl sha512 "$TMP/$OPAM_BIN" 2> /dev/null | cut -f 2 -d ' '`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/client/opamAdminCommand.ml 
new/opam-2.0.6/src/client/opamAdminCommand.ml
--- old/opam-2.0.5/src/client/opamAdminCommand.ml       2019-07-10 
15:58:28.000000000 +0200
+++ new/opam-2.0.6/src/client/opamAdminCommand.ml       2020-01-15 
16:31:02.000000000 +0100
@@ -264,7 +264,7 @@
           "This command scans through package definitions, and add hashes as \
            requested (fetching the archives if required). A cache is generated 
\
            in %s for subsequent runs."
-          (OpamFilename.Dir.to_string cache_dir));
+          (OpamFilename.Dir.to_string cache_dir |> Cmdliner.Manpage.escape));
   ]
   in
   let hash_kinds = [`MD5; `SHA256; `SHA512] in
@@ -990,6 +990,31 @@
   Term.(pure cmd $ OpamArg.global_options $ force_arg $ atom_arg),
   OpamArg.term_info command ~doc ~man
 
+(* HELP *)
+let help =
+  let doc = "Display help about opam admin and opam admin subcommands." in
+  let man = [
+    `S "DESCRIPTION";
+    `P "Prints help about opam admin commands.";
+    `P "Use `$(mname) help topics' to get the full list of help topics.";
+  ] in
+  let topic =
+    let doc = Arg.info [] ~docv:"TOPIC" ~doc:"The topic to get help on." in
+    Arg.(value & pos 0 (some string) None & doc )
+  in
+  let help man_format cmds topic = match topic with
+    | None       -> `Help (`Pager, None)
+    | Some topic ->
+      let topics = "topics" :: cmds in
+      let conv, _ = Cmdliner.Arg.enum (List.rev_map (fun s -> (s, s)) topics) 
in
+      match conv topic with
+      | `Error e -> `Error (false, e)
+      | `Ok t when t = "topics" ->
+          List.iter (OpamConsole.msg "%s\n") cmds; `Ok ()
+      | `Ok t -> `Help (man_format, Some t) in
+
+  Term.(ret (const help $Term.man_format $Term.choice_names $topic)),
+  Term.info "help" ~doc ~man
 
 let admin_subcommands = [
   index_command; OpamArg.make_command_alias index_command "make";
@@ -1001,6 +1026,7 @@
   filter_command;
   add_constraint_command;
   add_hashes_command;
+  help;
 ]
 
 let default_subcommand =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/client/opamCommands.ml 
new/opam-2.0.6/src/client/opamCommands.ml
--- old/opam-2.0.5/src/client/opamCommands.ml   2019-07-10 15:58:28.000000000 
+0200
+++ new/opam-2.0.6/src/client/opamCommands.ml   2020-01-15 16:31:02.000000000 
+0100
@@ -3022,7 +3022,14 @@
     if download_cache then
       (OpamConsole.msg "Clearing cache of downloaded files\n";
        rmdir (OpamPath.archives_dir root);
-       cleandir (OpamRepositoryPath.download_cache root));
+       List.iter (fun dir ->
+           match OpamFilename.(Base.to_string (basename_dir dir)) with
+           | "git" ->
+             (try OpamFilename.exec dir ~name:"git gc" [["git"; "gc"]]
+              with e -> OpamStd.Exn.fatal e)
+           | _ -> cleandir dir
+         )
+         (OpamFilename.dirs (OpamRepositoryPath.download_cache root)));
     if logs then
       (OpamConsole.msg "Clearing logs\n";
        cleandir (OpamPath.log root))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/client/opamConfigCommand.ml 
new/opam-2.0.6/src/client/opamConfigCommand.ml
--- old/opam-2.0.5/src/client/opamConfigCommand.ml      2019-07-10 
15:58:28.000000000 +0200
+++ new/opam-2.0.6/src/client/opamConfigCommand.ml      2020-01-15 
16:31:02.000000000 +0100
@@ -166,7 +166,12 @@
 
 let rec print_fish_env env =
   let set_arr_cmd k v =
-    let v = OpamStd.String.split v ':' in
+    let v =
+      OpamStd.String.split v ':'
+      |> function
+      | x::v' -> (":"^x)::v'
+      | v -> v
+    in
     OpamConsole.msg "set -gx %s %s;\n" k
       (OpamStd.List.concat_map " "
          (fun v ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/client/opamInitDefaults.ml 
new/opam-2.0.6/src/client/opamInitDefaults.ml
--- old/opam-2.0.5/src/client/opamInitDefaults.ml       2019-07-10 
15:58:28.000000000 +0200
+++ new/opam-2.0.6/src/client/opamInitDefaults.ml       2020-01-15 
16:31:02.000000000 +0100
@@ -66,7 +66,7 @@
 let bwrap_filter = linux_filter
 let bwrap_string () = Printf.sprintf
     "Sandboxing tool %s was not found. You should install 'bubblewrap'. \
-     See 
http://opam.ocaml.org/doc/2.0/FAQ.html#Why-opam-asks-me-to-install-bwrap.";
+     See https://opam.ocaml.org/doc/FAQ.html#Why-does-opam-require-bwrap.";
     bwrap_cmd
 
 let fetch_cmd_user () =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/core/opamDirTrack.ml new/opam-2.0.6/src/core/opamDirTrack.ml
--- old/opam-2.0.5/src/core/opamDirTrack.ml     2019-07-10 15:58:28.000000000 
+0200
+++ new/opam-2.0.6/src/core/opamDirTrack.ml     2020-01-15 16:31:02.000000000 
+0100
@@ -60,7 +60,7 @@
   fun f size mtime ->
     try
       let csize, cmtime, digest = Hashtbl.find item_cache f in
-      if csize = size || mtime = cmtime then Digest.to_hex digest
+      if csize = size && mtime = cmtime then Digest.to_hex digest
       else raise Not_found
     with Not_found ->
       let digest = Digest.file f in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/repository/opamHTTP.ml 
new/opam-2.0.6/src/repository/opamHTTP.ml
--- old/opam-2.0.5/src/repository/opamHTTP.ml   2019-07-10 15:58:28.000000000 
+0200
+++ new/opam-2.0.6/src/repository/opamHTTP.ml   2020-01-15 16:31:02.000000000 
+0100
@@ -100,5 +100,5 @@
     let to_include = [ "version"; "packages"; "repo" ] in
     match List.filter Sys.file_exists to_include with
     | [] -> ()
-    | d  -> OpamSystem.command ("tar" :: "czhf" :: "index.tar.gz" :: d)
+    | d  -> OpamSystem.command ("tar" :: "czhf" :: "index.tar.gz" :: 
"--exclude=.git*" :: d)
   )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/state/opamPinned.ml new/opam-2.0.6/src/state/opamPinned.ml
--- old/opam-2.0.5/src/state/opamPinned.ml      2019-07-10 15:58:28.000000000 
+0200
+++ new/opam-2.0.6/src/state/opamPinned.ml      2020-01-15 16:31:02.000000000 
+0100
@@ -128,7 +128,11 @@
                       consistent)
               else "")));
        fl)
-    else default
+    else
+      (OpamConsole.warning "Lock-file %s doesn't exist, using %s instead."
+         (OpamConsole.colorise `underline (OpamFilename.to_string fl))
+         (OpamFilename.to_string default);
+       default)
 
 let find_opam_file_in_source name dir =
   let opt =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/state/shellscripts/bwrap.sh 
new/opam-2.0.6/src/state/shellscripts/bwrap.sh
--- old/opam-2.0.5/src/state/shellscripts/bwrap.sh      2019-07-10 
15:58:28.000000000 +0200
+++ new/opam-2.0.6/src/state/shellscripts/bwrap.sh      2020-01-15 
16:31:02.000000000 +0100
@@ -7,7 +7,7 @@
     echo "disable sandboxing in ${OPAMROOT:-~/.opam}/config at your own risk." 
>&2
     echo "See https://github.com/projectatomic/bubblewrap for bwrap details." 
>&2
     echo "For 'bwrap' use in opam, see the FAQ:" >&2
-    echo "  
https://opam.ocaml.org/doc/2.0/FAQ.html#Why-does-opam-require-bwrap"; >&2
+    echo "  https://opam.ocaml.org/doc/FAQ.html#Why-does-opam-require-bwrap"; 
>&2
     exit 10
 fi
 
@@ -73,6 +73,12 @@
   fi
 }
 
+add_dune_cache_mount() {
+  DUNE_CACHE=${XDG_CACHE_HOME:-$HOME/.cache}/dune
+  mkdir -p ${DUNE_CACHE}
+  add_mounts rw $DUNE_CACHE
+ }
+
 # This case-switch should remain identical between the different sandbox 
implems
 COMMAND="$1"; shift
 case "$COMMAND" in
@@ -84,6 +90,7 @@
         add_mounts ro "$OPAM_SWITCH_PREFIX"
         add_mounts rw "$PWD"
         add_ccache_mount
+        add_dune_cache_mount
         ;;
     install)
         # mount unusual path in ro
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src/state/shellscripts/sandbox_exec.sh 
new/opam-2.0.6/src/state/shellscripts/sandbox_exec.sh
--- old/opam-2.0.5/src/state/shellscripts/sandbox_exec.sh       2019-07-10 
15:58:28.000000000 +0200
+++ new/opam-2.0.6/src/state/shellscripts/sandbox_exec.sh       2020-01-15 
16:31:02.000000000 +0100
@@ -6,11 +6,13 @@
 POL="$POL"'(allow file-write* (literal "/dev/null") (literal 
"/dev/dtracehelper"))'
 
 add_mounts() {
-    local DIR="$(cd "$2" && pwd -P)"
-    case "$1" in
-        ro) POL="$POL"'(deny file-write* (subpath "'"$DIR"'"))';;
-        rw) POL="$POL"'(allow file-write* (subpath "'"$DIR"'"))';;
-    esac
+    if [ -d "$2" ]; then
+      local DIR="$(cd "$2" && pwd -P)"
+      case "$1" in
+          ro) POL="$POL"'(deny file-write* (subpath "'"$DIR"'"))';;
+          rw) POL="$POL"'(allow file-write* (subpath "'"$DIR"'"))';;
+      esac
+    fi
 }
 
 if [ -z ${TMPDIR+x} ]; then
@@ -44,6 +46,12 @@
   fi
 }
 
+add_dune_cache_mount() {
+  DUNE_CACHE=${XDG_CACHE_HOME:-$HOME/.cache}/dune
+  mkdir -p ${DUNE_CACHE}
+  add_mounts rw $DUNE_CACHE
+ }
+
 # This case-switch should remain identical between the different sandbox 
implems
 COMMAND="$1"; shift
 case "$COMMAND" in
@@ -51,6 +59,7 @@
         add_mounts ro "$OPAM_SWITCH_PREFIX"
         add_mounts rw "$PWD"
         add_ccache_mount
+        add_dune_cache_mount
         ;;
     install)
         add_mounts rw "$OPAM_SWITCH_PREFIX"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src_ext/Makefile new/opam-2.0.6/src_ext/Makefile
--- old/opam-2.0.5/src_ext/Makefile     2019-07-10 15:58:28.000000000 +0200
+++ new/opam-2.0.6/src_ext/Makefile     2020-01-15 16:31:02.000000000 +0100
@@ -73,6 +73,7 @@
 .PHONY: lib-pkg-urls
 lib-pkg-urls:
        @$(foreach i,$(PKG_EXTS),$(info $i $(URL_PKG_$i)))
+       @find patches -type f | grep '\.\(pkg\|common\)/' | xargs sha1sum
 
 reset-lib-pkg:
        @rm -f ../bootstrap/ocaml/bin/ocamlbuild* 
../bootstrap/ocaml/bin/ocamlfind* `ls ../bootstrap/ocaml/bin/* | grep -v 
"flexlink\|\/ocaml[^\/]*$$"` ../bootstrap/ocaml/lib/topfind
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/opam-2.0.5/src_ext/Makefile.sources new/opam-2.0.6/src_ext/Makefile.sources
--- old/opam-2.0.5/src_ext/Makefile.sources     2019-07-10 15:58:28.000000000 
+0200
+++ new/opam-2.0.6/src_ext/Makefile.sources     2020-01-15 16:31:02.000000000 
+0100
@@ -33,8 +33,8 @@
 
 $(call PKG_SAME,dose3)
 
-URL_mccs = https://github.com/AltGr/ocaml-mccs/archive/1.1+10.tar.gz
-MD5_mccs = 21fa1652179d47baebd2e3f3cfdbf1d7
+URL_mccs = https://github.com/AltGr/ocaml-mccs/archive/1.1+11.tar.gz
+MD5_mccs = 9c0038d0e945f742b9320a662566288b
 
 $(call PKG_SAME,mccs)
 


Reply via email to