Skip to content

Commit

Permalink
Merge pull request #44 from anaconda/script-paths
Browse files Browse the repository at this point in the history
fix script paths, and absorb exceptions
  • Loading branch information
mcg1969 authored Oct 10, 2023
2 parents f9b9e86 + b719b07 commit e036cc3
Show file tree
Hide file tree
Showing 10 changed files with 52 additions and 57 deletions.
29 changes: 5 additions & 24 deletions anaconda_anon_usage/install.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import sys
import sysconfig
from os.path import basename, dirname, exists, join, relpath
from traceback import format_exc

from . import __version__

Expand All @@ -36,6 +35,8 @@ def configure_parser():
"pre-unlink script. It is not useful in normal operation; to disable "
"the telemetry, use conda config --set anaconda_anon_usage false.",
)
# For testing only: exit with -1 if not enabled
g.add_argument("--expect", action="store_true", help=argparse.SUPPRESS)
g.add_argument(
"--status",
action="store_true",
Expand All @@ -54,29 +55,6 @@ def configure_parser():
verbose = True


def error(what, fatal=False, warn=False):
global success
print("ERROR:", what)
tb = format_exc()
if not tb.startswith("NoneType"):
print("-----")
print(tb.rstrip())
print("-----")
if fatal:
print("cannot proceed; exiting.")
sys.exit(-1)
if not warn:
success = False


def tryop(op, *args, **kwargs):
try:
op(*args, **kwargs)
return True
except Exception:
return False


PATCH_NAME = b"anaconda_anon_usage"
PATCH_TEXT = b"""
# %s %s
Expand Down Expand Up @@ -147,6 +125,9 @@ def _patch(args, pfile, patch_text, patch_name):
text, status = _read(pfile, patch_text, patch_name)
if verbose:
print(f"| status: {status}")
if args.expect and status != "ENABLED":
print("exiting due to unexpected status")
sys.exit(-1)
if status == "NOT PRESENT":
return
elif status == "NEEDS UPDATE":
Expand Down
18 changes: 9 additions & 9 deletions conda.recipe/bld.bat
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
echo on
setlocal EnableDelayedExpansion
%PREFIX%\python.exe -m pip install --no-deps --ignore-installed -vv .
if "%NEED_SCRIPTS%" neq "yes" del %SP_DIR%\anaconda_anon_usage\install.py
if "%NEED_SCRIPTS%" equ "yes" del %SP_DIR%\anaconda_anon_usage\plugin.py
if "%NEED_SCRIPTS%" neq "yes" exit
del %SP_DIR%\anaconda_anon_usage\plugin.py
if not exist %PREFIX%\etc\conda\activate.d mkdir %PREFIX%\etc\conda\activate.d
if not exist %PREFIX%\python-scripts mkdir %PREFIX%\python-scripts
copy scripts\activate.sh %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.sh
copy scripts\activate.bat %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.bat
copy scripts\post-link.sh %PREFIX%\python-scripts\.%PKG_NAME%-post-link.sh
copy scripts\post-link.bat %PREFIX%\python-scripts\.%PKG_NAME%-post-link.bat
copy scripts\pre-unlink.sh %PREFIX%\python-scripts\.%PKG_NAME%-pre-unlink.sh
copy scripts\pre-unlink.bat %PREFIX%\python-scripts\.%PKG_NAME%-pre-unlink.bat
copy scripts\activate.sh %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.sh
copy scripts\activate.bat %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.bat
if not exist %PREFIX%\Scripts mkdir %PREFIX%\Scripts
copy scripts\post-link.bat %PREFIX%\Scripts\.%PKG_NAME%-post-link.bat
copy scripts\pre-unlink.bat %PREFIX%\Scripts\.%PKG_NAME%-pre-unlink.bat
if not exist %PREFIX%\bin mkdir %PREFIX%\bin
copy scripts\post-link.sh %PREFIX%\bin\.%PKG_NAME%-post-link.sh
copy scripts\pre-unlink.sh %PREFIX%\bin\.%PKG_NAME%-pre-unlink.sh
22 changes: 12 additions & 10 deletions conda.recipe/build.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
#!/bin/bash
"${PREFIX}/bin/python" -m pip install --no-deps --ignore-installed -vv .
if [ "$NEED_SCRIPTS" != yes ]; then
rm ${SP_DIR}/anaconda_anon_usage/install.py
exit 0
else
rm ${SP_DIR}/anaconda_anon_usage/plugin.py
fi
mkdir -p "${PREFIX}/etc/conda/activate.d"
mkdir -p "${PREFIX}/python-scripts"
cp "scripts/activate.sh" "${PREFIX}/etc/conda/activate.d/${PKG_NAME}_activate.sh"
cp "scripts/activate.bat" "${PREFIX}/etc/conda/activate.d/${PKG_NAME}_activate.bat"
cp "scripts/post-link.sh" "${PREFIX}/python-scripts/.${PKG_NAME}-post-link.sh"
cp "scripts/pre-unlink.sh" "${PREFIX}/python-scripts/.${PKG_NAME}-pre-unlink.sh"
cp "scripts/post-link.bat" "${PREFIX}/python-scripts/.${PKG_NAME}-post-link.bat"
cp "scripts/pre-unlink.bat" "${PREFIX}/python-scripts/.${PKG_NAME}-pre-unlink.bat"
rm ${SP_DIR}/anaconda_anon_usage/plugin.py
if [ "$SUBDIR" = "noarch" ]; then sdir=python-scripts; else sdir=bin; fi
mkdir -p "${PREFIX}/etc/conda/activate.d" "${PREFIX}/${sdir}"
cp "scripts/activate.sh" "${PREFIX}/etc/conda/activate.d/${PKG_NAME}_activate.sh"
cp "scripts/post-link.sh" "${PREFIX}/${sdir}/.${PKG_NAME}-post-link.sh"
cp "scripts/pre-unlink.sh" "${PREFIX}/${sdir}/.${PKG_NAME}-pre-unlink.sh"
if [ "$SUBDIR" = "noarch" ]; then
cp "scripts/activate.bat" "${PREFIX}/etc/conda/activate.d/${PKG_NAME}_activate.bat"
cp "scripts/post-link.bat" "${PREFIX}/${sdir}/.${PKG_NAME}-post-link.bat"
cp "scripts/pre-unlink.bat" "${PREFIX}/${sdir}/.${PKG_NAME}-pre-unlink.bat"
fi
6 changes: 6 additions & 0 deletions conda.recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{% set data = load_setup_py_data() %}
{% set number = 0 %}

package:
name: anaconda-anon-usage
Expand All @@ -8,6 +9,11 @@ source:
path: ..

build:
# Use a build number difference to ensure that the plugin
# variant is slightly preferred by conda's solver.
number: {{ number + 100 }} # [variant=="plugin"]
number: {{ number }} # [variant=="patch"]
string: py_{{ PKG_BUILDNUM }}
noarch: python # [not win]
script_env:
- NEED_SCRIPTS=no # [variant=="plugin"]
Expand Down
2 changes: 1 addition & 1 deletion scripts/activate.bat
Original file line number Diff line number Diff line change
@@ -1 +1 @@
@python -m anaconda_anon_usage.install --enable --quiet
@"%CONDA_PREFIX%\python.exe" -m anaconda_anon_usage.install --enable --quiet
4 changes: 3 additions & 1 deletion scripts/activate.sh
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
python -m anaconda_anon_usage.install --enable --quiet
pbin="${CONDA_PREFIX}/python.exe"
[ -f "${pbin}" ] || pbin="${CONDA_PREFIX}/bin/python"
"${pbin}" -m anaconda_anon_usage.install --enable --quiet || :
4 changes: 2 additions & 2 deletions scripts/post-link.bat
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@echo off
if "%CONDA_PREFIX%"=="" (set "pfx=%PREFIX%") else (set "pfx=%CONDA_PREFIX%")
python -m anaconda_anon_usage.install --enable --quiet >>"%pfx%\.messages.txt" 2>&1 && if errorlevel 1 exit 1
if "%CONDA_PREFIX%"=="" (set pfx="%PREFIX%") else (set pfx="%CONDA_PREFIX%")
"%pfx%\python.exe" -m anaconda_anon_usage.install --enable --quiet >>"%pfx%\.messages.txt" 2>&1
10 changes: 6 additions & 4 deletions scripts/post-link.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
pfx=${CONDA_PREFIX:-${PREFIX:-}}
pbin=${pfx}/python.exe
[ -f ${pbin} ] || pbin=${pfx}/bin/python
${pbin} -m anaconda_anon_usage.install --enable --quiet >>"${pfx}/.messages.txt" 2>&1
#!/bin/sh

pfx="${CONDA_PREFIX:-${PREFIX:-}}"
pbin="${pfx}/python.exe"
[ -f "${pbin}" ] || pbin="${pfx}/bin/python"
"${pbin}" -m anaconda_anon_usage.install --enable --quiet >>"${pfx}/.messages.txt" 2>&1 || :
4 changes: 2 additions & 2 deletions scripts/pre-unlink.bat
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@echo off
if "%CONDA_PREFIX%"=="" (set "pfx=%PREFIX%") else (set "pfx=%CONDA_PREFIX%")
python -m anaconda_anon_usage.install --disable --quiet >>"%pfx%\.messages.txt" 2>&1 && if errorlevel 1 exit 1
if "%CONDA_PREFIX%"=="" (set pfx="%PREFIX%") else (set "pfx=%CONDA_PREFIX%")
"%pfx%\python.exe" -m anaconda_anon_usage.install --disable --quiet >>"%pfx%\.messages.txt" 2>&1
10 changes: 6 additions & 4 deletions scripts/pre-unlink.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
pfx=${CONDA_PREFIX:-${PREFIX:-}}
pbin=${pfx}/python.exe
[ -f ${pbin} ] || pbin=${pfx}/bin/python
${pbin} -m anaconda_anon_usage.install --disable --quiet >>"${pfx}/.messages.txt" 2>&1
#!/bin/sh

pfx="${CONDA_PREFIX:-${PREFIX:-}}"
pbin="${pfx}/python.exe"
[ -f "${pbin}" ] || pbin="${pfx}/bin/python"
"${pbin}" -m anaconda_anon_usage.install --disable --quiet >>"${pfx}/.messages.txt" 2>&1 || :

0 comments on commit e036cc3

Please sign in to comment.