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 "[31mBad return code $rcode, should be 10[0m"; + 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)
