From 6271df868cd38b0d0ff6f365fd57a66c86fb25a1 Mon Sep 17 00:00:00 2001 From: Doncho Gunchev Date: Mon, 15 Jul 2024 10:54:24 +0300 Subject: [PATCH] Fix python virtual environment support. This works with python 3.9, 3.10, 3.11 and 3.12 on MacOS. --- Makefile | 12 ++++++------ build.sh | 2 +- etc/profile.d/z-ps-twtty-7.sh | 4 ++-- gwebu-profile.spec.in | 6 +++++- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 5efc318..8da1508 100644 --- a/Makefile +++ b/Makefile @@ -11,11 +11,12 @@ help: @echo "▀▀▀▀▀▀" @echo @echo "Available targets:" - @echo " dist: create source distribution package in dist/" - @echo " rpm: create an RPM package" - @echo " changelog: Add a changelog entry to gwebu-profile.spec.in" + @echo " dist: Create source distribution package in dist/." + @echo " rpm: Create an RPM package." + @echo " podman_rpm Create an RPM package using podman on MacOS." + @echo " changelog: Add a changelog entry to gwebu-profile.spec.in." @echo - @echo " clean: clean all generated files" + @echo " clean: Clean all generated files." @echo @echo "Version $(ver), rpm_ver=$(rpm_ver), rpm_rev=$(rpm_rev)." .PHONY: help @@ -50,10 +51,9 @@ clean: .PHONY: podman_rpm -podman_rpm: +podman_rpm: dist podman buildx build -t podman_rpm_build -f Dockerfile-build . # --platform linux/amd64 # Extract the RPMs from the container to ./dist/ locally. - if ! test -d dist; then mkdir dist; fi podman run --rm -d --name=build localhost/podman_rpm_build /usr/bin/bash -c "trap : TERM INT; sleep infinity & wait" podman cp build:/tmp/RPMS/. ./dist/ podman stop build diff --git a/build.sh b/build.sh index 95379b3..b0d3b56 100755 --- a/build.sh +++ b/build.sh @@ -13,7 +13,7 @@ DIST_PRE="${PLATFORM_ID##*:}" # el8 DIST="${DIST:-${DIST_PRE%%[0-9]*}}" # el OUT_DIR="/tmp/RPMS" -export LANG='en_US.UTF-8' +export LANG='C.UTF-8' export LANGUAGE="${LANG}" export LC_ALL="${LANG}" export LC_MEASUREMENT="${LANG}" diff --git a/etc/profile.d/z-ps-twtty-7.sh b/etc/profile.d/z-ps-twtty-7.sh index 348ce08..6a06f0f 100755 --- a/etc/profile.d/z-ps-twtty-7.sh +++ b/etc/profile.d/z-ps-twtty-7.sh @@ -81,9 +81,9 @@ function prompt_command() { local prompt="--($my_D, Err ${my_P[*]}, $my_TTY)---($PWD)--" if [ -n "${VIRTUAL_ENV:-}" ] && [ -n "$_OLD_VIRTUAL_PS1" ]; then - my_VENV="${VIRTUAL_ENV_PROMPT}" + export my_VENV="${VIRTUAL_ENV##*/}" prompt="--($my_D, Err ${my_P[*]}, $my_TTY, $my_VENV)---($PWD)--" - if [ "${PS1:1:${#VIRTUAL_ENV_PROMPT}}" == "$VIRTUAL_ENV_PROMPT" ]; then + if [ "${PS1:0:${#my_VENV}+3}" == "($my_VENV) " ]; then # PS1 will be restored by virtual environment's deactivate script. # Yeah, that has to be done better, 172 is correct but magic number. export PS1="${_OLD_VIRTUAL_PS1:0:172}, ${my_VENV}${_OLD_VIRTUAL_PS1:172}" diff --git a/gwebu-profile.spec.in b/gwebu-profile.spec.in index 5d0acac..4611bad 100644 --- a/gwebu-profile.spec.in +++ b/gwebu-profile.spec.in @@ -1,6 +1,6 @@ Summary: Gwebu profile.d - cool date, prompt with history, aliases Name: gwebu-profile -Version: 1.0.3 +Version: 1.0.4 Release: 0 BuildArch: noarch License: GPLv2 @@ -41,6 +41,10 @@ install -m 0644 etc/profile.d/*.sh %{buildroot}%{_sysconfdir}/profile.d/ %changelog +* Mon Jul 15 2024 Doncho Gunchev - 1.0.4-0 +- Fix python virtual environment support. + This works on MacOS with python 3.9, 3.10, 3.11 and 3.12. + * Sun Jul 14 2024 Doncho Gunchev - 1.0.3-0 - Initial python virtual environment support.