GNU bug report logs -
#24507
noinst_PYTHON breaks uninstall of Python files
Previous Next
Reported by: Akim Demaille <akim <at> lrde.epita.fr>
Date: Thu, 22 Sep 2016 09:49:01 UTC
Severity: normal
Tags: confirmed
Done: Karl Berry <karl <at> freefriends.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi Akim (hope all is well with you) and all,
Back on your report https://bugs.gnu.org/24507 from a mere seven years ago ...
> $ cat Makefile.am
> noinst_PYTHON = foo.py
> python_PYTHON = bar.py
...
> $ make uninstall-nodist_vcsn_tools_pythonPYTHON
> make: Entering directory `_build/36s'
> /bin/sh: command substitution: line 7: syntax error: unexpected end of file
Bogdan's patch (below) worked for me too, while not breaking any other
existing test, so I installed it.
bd> I don't fully understand the cause,
Me either.
but I guess that the "if %?INSTALL%" block gets ignored when
"noinst" is present,
I guess so. Just based on the names. If there is any real explanation of
those weird %?FOO% and ?FOO? conditionals, I haven't found it.
including the "?FIRST?" it contains, which
defines the missing "am__pep3147_tweak".
Thank you very much for analyzing it and finding the patch.
Closing. --karl
2023-07-01 Bogdan <bogdro_rep <at> gmx.us>
python: support noinst_PYTHON preceding foo_PYTHON.
This change fixes https://bugs.gnu.org/24507.
* lib/am/python.am (am__pep3147_tweak): remove conditional
on %?INSTALL%.
* t/python-pr10995.sh: test with make uninstall.
diff --git a/lib/am/python.am b/lib/am/python.am
index 98f95af1b..19f268efc 100644
--- a/lib/am/python.am
+++ b/lib/am/python.am
@@ -94,11 +94,11 @@ endif %?INSTALL%
## Uninstalling. ##
## -------------- ##
-if %?INSTALL%
-
?FIRST?am__pep3147_tweak = \
?FIRST? sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.pyc __pycache__/&.*.pyo|'
+if %?INSTALL%
+
.PHONY uninstall-am: uninstall-%DIR%PYTHON
uninstall-%DIR%PYTHON:
@$(NORMAL_UNINSTALL)
diff --git a/t/python-pr10995.sh b/t/python-pr10995.sh
index 324be916e..abeb8a124 100644
--- a/t/python-pr10995.sh
+++ b/t/python-pr10995.sh
@@ -17,6 +17,9 @@
# Test automake bug#10995: am__py_compile doesn't get correctly defined
# when there a 'noinst_PYTHON' declaration precedes a 'foo_PYTHON'
# declaration.
+# Test also automake bug#24507: am__pep3147_tweak doesn't get correctly
+# defined when there a 'noinst_PYTHON' declaration precedes a 'foo_PYTHON'
+# declaration and 'make uninstall' fails functionally (just shows errors).
required=python
. test-init.sh
@@ -53,4 +56,7 @@ py_installed --not inst/py/no.pyc
$MAKE disttest
+LC_ALL=C run_make -M uninstall
+grep 'command substitution' output && exit 1
+
:
compile finished at Wed Jul 5 08:59:29 2023
This bug report was last modified 2 years and 12 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.