From ba4db43f636d701411b10b44fbb77f02393b4e98 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Sat, 25 Jun 2022 06:30:45 +0200 Subject: setup: make 'clean' command compatible again with distutils After the switch of 'my_clean' to a simple Command, the 'clean' command has no more bits for options, resulting in distutils (either external or embedded in setuptools) complaining about it: distutils.errors.DistutilsClassError: command class must provide 'user_options' attribute (a list of tuples) To overcome that, provide all the standard bits from options, i.e. the 'user_options' list, and the 'initialize_options' & 'finalize_options' methods. In addition, add a dummy 'all' option, as distutils wants it: error: error in [...]/.pydistutils.cfg: command 'my_clean' has no such option 'all' Fixes commit a965c91c6fa1275613edbbef75c0422574eb9ff2 Signed-off-by: Pino Toscano --- setup.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/setup.py b/setup.py index af7db84..fc64399 100755 --- a/setup.py +++ b/setup.py @@ -313,6 +313,16 @@ class my_test(Command): subprocess.check_call([pytest]) class my_clean(Command): + user_options = [ + ('all', None, 'unused, compatibility with distutils') + ] + + def initialize_options(self): + self.all = False + + def finalize_options(self): + pass + def run(self): if os.path.exists("build"): shutil.rmtree("build", ignore_errors=True) -- cgit v1.2.1